Важно помнить, что во встроенном языке 1С:Предприятие 8 строка будет восприниматься как дата только в том случае, если она удовлетворяет следующей схеме:
20200101103000 (дата + время) ГГГГ----------- номер года ММ--------- номер месяца ДД------- номер дня месяца чч----- час мм--- минута сс- секунда
Часть даты, описывающую время (в нашем случае это "103000"
), можно опустить. Платформа будет понимать, что подразумевается время 00:00:00
20200101 (только дата) ГГГГ----- номер года ММ--- номер месяца ДД- номер дня месяца
Любой переменной или реквизиту типа Дата можно присвоить значение несколькими способами:
- Используя строковые литералы:
НоваяДата = '20200101'; Сообщить(НоваяДата); //Результат: // 01.01.2020 0:00:00
- Используя преобразование строкового значения с помощью встроенной функции Дата():
НоваяДата = Дата('20200101'); Сообщить(НоваяДата); //Результат: // 01.01.2020 0:00:00
- Используя преобразование составных частей даты с помощью встроенной функции Дата():
ДатаСтрокой = "01012020"; Год = Число(Сред(ДатаСтрокой, 5, 4)); Месяц = Число(Сред(ДатаСтрокой, 3, 2)); День = Число(Сред(ДатаСтрокой, 1, 2)); НоваяДата = Дата(Год, Месяц, День); Сообщить(НоваяДата); //Результат: // 01.01.2020 0:00:00
Обратите внимание, что в последнем примере переменная ДатаСтрокой
содержит строковое представление даты другого формата, отличного от принятого на платформе 1С:Предприятие 8