Дата в 1С один из примитивных типов данных в системе. Дата всегда имеет формат год, месяц, день, час, минута, секунда. Таким образом, переменная типа дата содержит не только дату, но и время.
Очевидно, что очень часто программистам приходится работать с датой и временем и естественно, по мере работы возникают вопросы, ответы на которые приходится где то искать. Я накидал для себя небольшую шпаргалку по работе с датами.
Хранение дат в системе
В базе данных даты хранятся с точностью до секунд. Для реквизитов типа “дата” можно установить вариант хранения “дата и время”, “только дата”, “только время”.
Переменные типа “дата” всегда представляют дату с секундами. Отсчет дат ведется с Рождества Христова (наша эра), т.е. с 01.01.0001 00:00:00 по Григорианскому календарю. Начальная дата – это не совсем дата. Это значение в системе используется для представления “пустой даты” (аналог пустой ссылки для ссылочных типов или пустой строки “” для строкового типа).
Максимальная дата – 31.12.3999 23:59:59
Как изменить рабочую дату в 1C?
Как получить текущую дату и время?
Дата = ТекущаяДата();
Как явно указать нужную дату?
- Литералом встроенного языка вида ‘ГГГГММДДччммсс’ :
‘20201103160457’ // вернет значение 03.11.2020 16:04:57 ‘2021.05.09:11:00:05’ // получим 09.05.2021 11:00:05
- Функцией глобального контекста Дата():
Дата(2020, 06, 4, 18,45, 23) // вернет значение 04.06.2020 18:45:23 Дата(2021, 2, 16) // вернет значение 16.02.2021 0:00:00
- Если нам необходимо в тексте запроса указать конкретную дату — тогда используем литерал ДАТАВРЕМЯ():
ДАТАВРЕМЯ(2019, 10, 04)
Пустая дата в 1С
В текстах модулей
Дата
Запрос Запрос
Источник: codernote.ru
Есть ли в 1с8 такое понятие как рабочая дата?
natalytali 15.07.2012
Модуль 11 пройден.Это я сдаю свою задолженность.Вопросов по уч. примерам нет.Но есть следующие вопросы.
1.Закладка .»НУ» при УСН .Можем ли выбирать «принимается»,если нет еще оплаты?влияет ли заполнение этой закладки на дату принятия НМА к НУ.Или дополнительный контроль по строке оплаты все уладит?
2.Когда мы принимаем к учету НМА нужно заполнять только выбором из подменю «Принятие НМА к учету» или можно это сделать из верней строчки-подменю»Документы по НМА»Для того,чтобы сразу видеть то,что можно ввести копированием? Это принципиально важно?
3.Есть ли в 1с8 такое понятие как рабочая дата?Это я к тому,что при обработке большого кол-ва д-в я привыкла ставить последнее число месяца,чтобы исключить ошибки в дате проведения хотя бы месяца.?
Елена Бобкова 16.07.2012
Наталья, внимательно прочитайте стр.219 Рабочей тетради. Это теория по учету НМА.
1. Без оплаты вы принять не можете к учету НМА! Поэтому расходы (а это именно НУ НМА) могут начинать признаваться ТОЛЬКО после оплаты.
Как сделать установку даты и времени в документе в 1С?
2. Можно, это один из вариантов. Но если вы собрались копировать, то только документы Принятие НМА к учету будут у вас в подменю Принятие НМА к учету. Другие документы по НМА не будут рассеивать ваше внимание))).
3. Есть. Меню Сервис – в самом низу Параменты – закладка Общие.
Источник: profbuh8.ru
Тип дата 1с. Примеры кода.
Тип дата в 1с относится к примитивным типам данных. Он используется постоянно, например как реквизит даты Документа.
Другими словами типа дата в 1с содержит точную (с точностью до 0,1 миллисекунды) дату григорианского календаря.
Типовой порядок частей даты принятый в 1С — год, месяц, день, час, минута, секунда.
Самый простой способ задания даты представлен ниже:
ДатаРождения=’20220102145555′;//1 февраля 2022 года 14 часов 55 минут 55 секунд
Дата приравнивается к переменной строки цифр в одинарных кавычках.
В данной записи вида ‘ГГГГММДДччммсс’ где:
- ГГГГ — четыре цифры года (включая тысячелетие и век);
- ММ — две цифры месяца;
- ДД — две цифры даты;
- чч — две цифры часа (в 24-х часовом формате);
- мм — две цифры минут;
- сс — две цифры секунд.
Часы, минуты и секунды можно не указывать, при этом они приравниваются к нулю.
Также перечень всех функций работы с датами можно посмотреть в синтакс-помощнике:
Увеличение даты на 1 день
Значение типа данных дата определено с точностью до секунды. При прибавлении к дате числа 1 увеличивается время на 1 секунду. Поэтому увеличить дату на 1 день можно так:
ДатаВременная=Дата+60*60*24;
пустая дата в 1с
Для того чтобы проверить дату на “пустое” значение, нужно сравнить имеющееся значение со значением типа “Дата” по умолчанию. Например:
Функция ДатаНеЗаполнена(ПереданноеЗначение) Если ПереданноеЗначение = Дата(‘00010101’) Тогда Возврат Истина; Иначе Возврат Ложь; КонецЕсли; КонецФункции
Функция ДеньНедели()
Пример подсчета рабочих и выходных дней
раб=0;вых=0; ДатаТ=Объект.ДатаНач; пока ДатаТФункция ТекущаяДата()
Выводит текущую дату.
Перем Дата; Дата=ТекущаяДата(); Сообщить(Дата);
Функция ДобавитьМесяц ()
Функция добавляет указанное количество месяцев к заданной дате. Синтаксис:
ДобавитьМесяц(, )
Добавляет (или вычитает) к указанной дате заданное число месяцев.
ТекущаяУниверсальнаяДатаВМиллисекундах
Функция ТекущаяУниверсальнаяДатаВМиллисекундах() позволяет узнать дату в миллисекундах. Она доступна начиная с версии платформы 8.2.17.
//63 628 364 816 246 КонецПроцедуры
Дата
Функция Дата() служит для создания значения типа “Дата”. Использовать ее можно двумя способами:
- Дата(x) — где параметр “x” это строка вида “ГГГГММДДччммсс”, часы, минуты и секунды можно опустить, т.е. преобразуем строку в дату;
- Дата(x, y, z, w, v, c) — в этом случае параметры “x”, “y”, “z”, “w”, “v” и “c” являются числами и означают год, месяц, день, час, минуту и секунду соответственно. Как и в предыдущем случае час, минуту и секунду можно опустить.
МоментВремени
МоментВремени это объект который является совокупностью даты и ссылки на какой-либо объект информационной базы. Он используется в качестве значения свойств или параметров методов других объектов, имеющих тип МоментВремени. Применяться этот объект может при программном создании документов. Разные документы создаются в разные моменты времени. МоментВремени необходим для того, чтобы различать моменты времени для объектов имеющих одинаковую дату создания.
Количество дней в месяце в 1с: Предприятие
Пример нахождения Количество дней в месяце в 1с: Предприятие
КоличествоДней=День(КонецМесяца(Дата)); Сообщить(«КоличествоДней wp-block-heading»>Функция преобразования Даты из числового формата Excel Функция преобзавованиеДаты(Строка.ДатаРождения) СтрокаДата=Сред(строка.ДатаРождения,7,4)+сред(строка.ДатаРождения,4,2)+лев(строка.ДатаРождения,2); ДатаРождения=Дата(СтрокаДата); Возврат ДатаРождения; Конецфункции
Функция 1с Получить Дату из Строки
Получение Даты из строки популярная операция в программировании на 1с. Пример такой функции представлен ниже. При написании функции использовались только стандартные функции работы со строками и с Датой.
00010101000000″); Если ПустаяСтрока(Стр) Тогда Возврат ДТ; КонецЕсли; Если Найти(Стр,».») > 0 Тогда М = СтрРазделить(Стр,».»); ИначеЕсли Найти(Стр,»/»)>0 Тогда М = СтрРазделить(Стр,»/»); ИначеЕсли Найти(Стр,»,»)>0 Тогда М = СтрРазделить(Стр,»,»); ИначеЕсли Найти(Стр,»-«)>0 Тогда М = СтрРазделить(Стр,»-«); КонецЕсли; Попытка Если М.Количество() = 3 Тогда //»01.02.13» или «01.02.2013» Год = ?(СтрДлина(М[2]) = 2,2000 + М[2],М[2]); ДТ = Дата(Год,М[1],М[0]); ИначеЕсли М.Количество() = 2 Тогда //»02.13″ или «02.2013»; Год = ?(СтрДлина(М[1]) = 2,2000 + М[1],М[1]); ДТ = Дата(Год,М[0],1); КонецЕсли; Исключение КонецПопытки; Возврат ДТ; КонецФункции
Функция перевода данных типа даты при экспорте из файла электронной таблицы Excel.
Изучен тип дата в 1с и его основные функции.
Источник: ithelpyou.ru