| Регистрация Правила Главная форума Поиск | 
|     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", для начала, поиграйся...))  |    |  
 Интернет-форум Краснодарского края и Краснодара |