Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   [Помнящим 7.7] Как определить !точно!, что Тип(Значение)=Дата? (http://forums.kuban.ru/f1040/%5Bpomnyashim_7_7%5D_kak_opredelit-_tochno_chto_tip_znachenie_%3Ddata-6511078.html)

101 17.02.2015 11:20

хе ;))) ну я так тожа умею - тогда вариант распарсивать строку через функцию или условие через вхождение символов - и длину строки проверять - только так , раз уж ты пихаешь такое ...
из серии длина строки и вхождение ("1234567890") и разделителя точку

sinegurochka 17.02.2015 11:26

если интересует ТОЧНЫЙ способ, то мудрый Султонбек просил передать, что для решения подобной задачи можно сначала проверить строковое представление объекта на входе на предмет наличия в нем (т.е. в строковом представлении входного объекта) - ДВУХ ТОЧЕК (разделителей день/месяц/год), да еще дополнительно можно проверить наличие символов "точка" в нужных позициях
подобный алгоритм может даже Ягель написать, так что Султонбек уверен, что с практической реализацией трудностей не возникнет

user1C 17.02.2015 11:26

(41)
около так уже давно написана функция ЭтоДата(), эта ветка на интерес, вдруг кто смогет ;)

user1C 17.02.2015 11:28

(42)
тоже не читатель? ах, да, само собой))

Ткачик 17.02.2015 11:31

(43) "[em]уже давно написана функция ЭтоДата(), эта ветка на интерес, вдруг кто смогет ;)[/em]" - в таком случает ты чудак на букву "М".

qweqwe123123 17.02.2015 11:36

просто как
Если СтрЗаменить(Значение," ","") <> Значение Тогда
//не дата
Иначе
Ц1 = Число(Сред(Значение,1,1));
Ц2 = Число(Сред(Значение,2,1));
Ц3 = Число(Сред(Значение,4,1));
Ц4 = Число(Сред(Значение,5,1));
Ц5 = Число(Сред(Значение,7,1));
Ц6 = Число(Сред(Значение,8,1));
Ц7 = Число(Сред(Значение,9,1));
Ц8 = Число(Сред(Значение,10,1));

Точка1 = Сред(Значение,3,1);
Точка2 = Сред(Значение,6,1);

Если (Точка1 <> ".") или (Точка2 <> ".") Тогда
// не дата
КонецЕсли;
Если (Ц3>1) Тогда
// не дата
КонецЕсли;
Если (Ц4 > 2) Тогда
//не дата
КонецЕсли;

ну и число осталось проверить, чтобы влазило в количество дней месяца года
топорно, но без вариантов - или дата или нет

user1C 17.02.2015 11:37

(45)
стесняюсь спросить, чЁйта? добро пожаловать науй я тоже умею писать...
(всем)
по теме пожалуйста, через Дата() и ее производные

qweqwe123123 17.02.2015 11:40

47-user1C > а, так вам шашечки...

user1C 17.02.2015 11:45

(48)
мне "без парсинга", быстро и надежно)
ну и "бывалым" наука будет все же...

Ткачик 17.02.2015 11:48

(47) Непонятно? Ладно, тогда анекдот, старый и несмешной, зато в тему: под конец рабочего дня к венерологу вваливается небритый мужик, молча расстегивает штаны и вываливает свой здоровенный причиндал на стол. Доктор усталым голосом: "Жалуетесь?" Мужик: "Хвастаюсь!"

Или, может, я чего-то не так понял?

user1C 17.02.2015 11:53

(50)
см (49), 2-ю строку ты познал - интересно ж было?))
"[em]Или, может, я чего-то не так понял?[/em]" - все может быть...

Ткачик 17.02.2015 11:57

(51) "[em]интересно ж было?))[/em]" - "Интересно за углом, как пойдещь - налево" (с )

А вот [b]вы[/b] мне больше не интересны. Бывайте.

user1C 17.02.2015 12:10

(52)
мне хамло не интересно изначально, ни больше ни меньше...
"А с виду приличный человек..." (с)

Ткачик 17.02.2015 12:22

Странное какое-то "изначально": в 11:37, видимо, оно еще не наступило. Да и в 11:53 - тоже. Впрочем, странно ждать логики от человека, создавшего ветку лишь для того, чтобы похвастаться своей крЮтостью.

user1C 17.02.2015 12:38

(54)
странно видеть человека, который сперва "в теме", потом внезапно "не в теме"... действительно, странно
"[em]Или, может, я чего-то не так понял?[/em]" - теперь становится абсолютной истиной))


Текущее время: 07:03. Часовой пояс GMT +3.