Имя: Пароль:
1C
 
Почему строка в дату не преобразовывается?
0 AlexSandra
 
28.12.24
11:21
Добрый день форумчане) с наступающими)
Почему ошибка прилетает в строке "ДатаЗаселения = Дата(Гость.arrives); "?
1 Умный Слоненок
 
28.12.24
11:25
У 1С не такой формат даты в текстовом виде, следовательно конвертация не удается.
2 Волшебник
 
28.12.24
11:28
(0) уберите чёрточки из строки
3 Волшебник
 
28.12.24
11:28
Бронирование 2024 года, а прибывает в 2020. Путешественники во времени...
4 AlexSandra
 
28.12.24
11:31
Спасибо огромное)
5 Волшебник
 
28.12.24
11:46
Синтакс-помощник про функцию Дата() говорит следующее:
Строка должна содержать дату в локальном формате даты или в каноническом виде YYYYMMDDHHMMSS.


Канонический вариант надёжнее. В нём время необязательно.

Локальный формат даты может быть такой "28.12.2024 11:31:08" (тут время обязательно)

Ещё есть прикольная функция XMLЗначение для дат в формате ISO (это как раз Ваш случай)
д = XMLЗначение(Тип("Дата"), "2024-12-15");
д = XMLЗначение(Тип("Дата"), "2024-12-15T12:00:00");
6 Климов Сергей
 
28.12.24
11:49
В каком-то из модулей БСП есть функция преобразования строки в дату. Она там много чего может прожевать. Точного названия не помню, увы.
7 программистище
 
28.12.24
11:53
(6) СтроковыеФункцииКлиентСервер.СтрокаВДату(Значение, ЧастьДаты
8 Климов Сергей
 
28.12.24
11:56
ОбщегоНазначенияКлиентСервер.СтрокаВДату()
9 Волшебник
 
28.12.24
12:02
(7)(8) и какая лучше?
10 Климов Сергей
 
28.12.24
13:35
(9) СтроковыеФункцииКлиентСервер.СтрокаВДату по числу строк кода раза в два больше, чем ОбщегоНазначенияКлиентСервер.СтрокаВДату(). Значит, в два раза лучше! :-)
А так-то - забавно. И пусть левая рука твоя не ведает, что творит правая (с)
Программист всегда исправляет последнюю ошибку.