Регистрация Правила Главная форума Поиск |
0
- 13.02.2015 - 21:37
|
где Значение = "Пр0113в0льная Стр0ка" ваши предложения? ЗЫ Код: Если НЕ(Дата(Значение) = Дата(0)) Тогда | |
1
- 13.02.2015 - 21:38
| ПустоеЗначение ? | |
2
- 13.02.2015 - 21:40
| С датой вообще интересные дела - можно через нее получить любой объект конфигурации, а можно дату рождения Христа. | |
3
- 13.02.2015 - 21:43
|
(1) это о чем?) (2) не зря тему завел... | |
4
- 13.02.2015 - 22:55
|
ТипЗначенияСтр() - не устраивает? Или надо узнать, является ли строка текстовым представлением даты? В последнем случае решение зависит от того, кто породил эту строку. Если Умная Маша, то паснингом, проверяя все возможные заскоки ;) | |
5
- 13.02.2015 - 23:38
|
(4) :)) ТипЗначенияСтр("Пр0113в0льная Стр0ка") = Строка надо узнать, что значение - всегда действительное строковое представление даты, без "паснингом, проверяя все возможные заскоки", проще) так и каждый ду.... ЗЫ никогда не доводилось сталкиваться с такими чудесами Дата() и попытками с ней))) | |
6
- 13.02.2015 - 23:47
|
(0) "Если НЕ(Дата(Значение) = Дата(0)) Тогда не всегда работает))" - а можно примеры этого "не всегда"? | |
7
- 13.02.2015 - 23:51
|
(6) верный вопрос, пожалуйста - "3011 03809" | |
8
- 13.02.2015 - 23:55
|
а вот такой изврат не поможет? Попытка Если Дата(Значение) = РабочаяДата() Тогда КонецЕсли; Исключение Сообщить("!"); КонецПопытки; | |
9
- 13.02.2015 - 23:57
| ну т.е. если попытка сравнения не вызвало ошибку, то Значение - строковое представление даты | |
10
- 14.02.2015 - 00:01
|
(9) просто попробуй с (7) )) | |
11
- 14.02.2015 - 00:07
| 10-user1C > мда... вот так бы и не знал, сколько вокруг опасностей)) | |
12
- 14.02.2015 - 00:10
|
(11) встретил и еще одно Значение сразу)) ужасть... | |
13
- 14.02.2015 - 00:23
|
12-user1C > Ты формат (представление) покажи, который на входе. Тогда можно и функцию нарисовать. И информация о том, чем/кем генерится, откуда берется это самое "на входе", тоже не помешает. | |
14
- 14.02.2015 - 00:24
| Формат(Х,"ДДДММММГГГГ") ? | |
15
- 14.02.2015 - 00:25
| Формат(Х,"ДДДММГГГГ") | |
16
- 14.02.2015 - 00:26
|
(13) на входе: Значение = см. (7) на выходе: это дата? = 1/0 | |
17
- 14.02.2015 - 00:28
|
(14,15) см (16) | |
18
- 14.02.2015 - 00:48
|
16-user1C > Зачем тебе на выходе булево? Лучше сразу получить дату. Потом сможешь как угодно преобразовать. А такое, как в (7), "3011 03809", или "301103809" никак не дата: ни YYYYMMDD, ни DDMMYYYY, ни DDMMYY. Первый не катит - год из далекого будущего (и пробел ни к селу, ни к городу), второй тоже никак (четыре цифры года не выбрать), третий (если выбросить дурацкий пробел), похоже на дату, если три последних символа выбросить. А можно окарнывать до 6-ти символов, так и не понятно, ибо неизвестен источник. Еще раз: если источником является Умная Маша, то пусть сама правит то, что автоматически не распозналось. Ибо потом на тебя же и визжать будет, что ты хрень всякую записал. Данные испортил. | |
19
- 14.02.2015 - 00:53
|
(18) мдя... в патетике нет необходимости, читаем сабж весь до (17) надо... смоги) | |
20
- 14.02.2015 - 00:56
| кстати, в (7) было ДВА пробела, там другая Дата() будет)) | |
21
- 14.02.2015 - 01:09
|
Хм, похоже, что движок 1С весьма интересно парсит строку при ее преобразовании в дату: 1. Символы в 3-й и 6-й позициях считаются разделителями день-месяц-год, какие это символы - игнорируется 2. Пробел в позициях дня, месяца, года (1,2,4,5,7-10) интепретируется как "0", буквы - сразу отлуп "не дата!" 3. "Лишние" (после 10-й позиции) символы игнорируются. Исходя их этого и надо писать код проверки да "датость", одной строчкой тут не обойдешься. И экспериментировать - глядишь, и еще что-то выплывет. | |
22
- 14.02.2015 - 01:32
|
Если НЕ(Дата(Значение) = Дата(0)) Тогда уволить программера ЗЫ и поумней кого-нить взять | |
23
- 14.02.2015 - 07:24
|
22+ это я чего, вслух сказал? Если ТипДата()=0 Тогда | |
24
- 14.02.2015 - 11:07
|
13-VZ > та на входе может быть все просто - предположим "назначение платежа" в платежке. Я тоже как то раз давненько уже попыталась парсить эти назначения платежей. сломалась на строчке (именно вот так, без пробелов) "оплата по сч.00035 от31янв.15г." :) | |
25
- 14.02.2015 - 13:11
| никуа ты сломалась в 2015 году, а че ты раньше в 95-м тогда делала? | |
26
- 14.02.2015 - 13:49
|
где Значение = "Пр0113в0льная Стр0ка" - там дату надо поискать в реквизитах дока, а не программеров будить ЗЫ в 7.7 проведенных доков без даты не бывает - это фантастика | |
27
- 15.02.2015 - 00:30
|
(21) хороший изыск провел, молодца! верно глаголишь... кто бы смог без "одной строчкой тут не обойдешься." ;) зы с одной строкой чудеса творятся, бывает "строка_как_дата" <> "та_же_строка_как_дата") (vah1) по теме, пожалуйста | |
28
- 15.02.2015 - 00:40
| 27-user1C > по теме в понедельник заходи - не видишь люди бухают? | |
29
- 15.02.2015 - 00:43
|
(24) тут еще проще, есть за что зацепиться) "номер и дата счет-фактуры", местами перепутанные бывают... | |
30
- 15.02.2015 - 00:45
|
(28) тебе это мешает? мне нет, сам сюда лучше не заходи)) см. (27) | |
31
- 15.02.2015 - 00:50
| 2(30) +1 +1 +1 +100 +1000 В общем меня можно понять. | |
32
- 15.02.2015 - 01:13
| По-моему, не взлетит. К примеру, на основании (21): "1 а1 б2 3вг" - кто-нибудь в здравом уме может решить таким образом ввести дату 10.10.2003? А именно ее система "видит" в такой строке. | |
33
- 15.02.2015 - 01:20
|
(32) пытался долбиться от обратного, см зы (27) мистика...) | |
34
- 15.02.2015 - 08:46
|
После подобных "хитрожопых" решений появляются "НОУ-ХАУ", которые работают через раз, И найти ошибку в них практически невозможно....... | |
35
- 17.02.2015 - 10:14
|
Сообщить(""+НачГода(ДДД)); где ДДД абсолютно ЛЮБОЙ объект ... и посмотри чо выдаст | |
36
- 17.02.2015 - 10:35
|
(35) фигню выдаст, периодически... мимо) | |
37
- 17.02.2015 - 10:37
| (36) что значит фигню ? простите вы хотели ДАТУ ? вот и при ДАТЕ выдаст дату ... | |
38
- 17.02.2015 - 10:39
| + а если подсовывать фигзнает что то собсно даты и не будет ... | |
39
- 17.02.2015 - 10:45
|
(37,38) хех, ты ветку то внимательно читал?? держи "абсолютно ЛЮБОЙ объект = "2010443632965", для начала, поиграйся...)) | |
| Интернет-форум Краснодарского края и Краснодара |