09.11.2022 Ярослав Копытов 10071
Работа с датами в 1С: ввод даты

Содержание:

1.      Работа с датами в 1С: ввод даты в режиме конфигуратора. Виды даты

2.      Операции с переменной типа «Дата»

3.      Системные функции для работы с переменной типа «Дата»  

 

1. Работа с датами в 1С: ввод даты в режиме конфигуратора. Виды даты


В этой статье я хочу рассказать о дате, как об одном из примитивных типов данных в 1С. Все данные делятся на два вида. Первый – это данные создаваемые в конкретном прикладном решении. Примером этого вида данных могут служить справочники, перечисления или документы. Вторым видом данных являются данные, определенные на уровне системы, к которым относятся примитивные типы данных, такие как строка, число, дата или булево. Универсальные коллекции значений, такие как массив, структура, таблица значений или список значений, также могут быть определены на уровне системы.


Для демонстрации работы с датами в 1С: ввод даты будет использоваться учебная версия 1С.

1.      Пустая дата.

2.      Полный и краткий литерал даты.

3.      Операции с переменной типа «Дата».

 

В режиме конфигуратора 1С я открою модуль приложения, в котором и буду рассматривать различные способы работы с этим типом данных.



Свойства



Конфигурация


Инициализируем пустое значение даты константой и выведем его для пользователя с помощью метода «Сообщить».


Сразу хотелось бы отметить, что тип дата 1С, в отличие от 1С типа строка, ограничен одинарными кавычками и, несмотря на название, содержит в своем составе не только дату, но и время с точностью до секунды.



Конфигурация



Конфигурация 1С: Предприятие учебная версия


Как можно заметить, в качестве пустого значения даты выбрана точка отсчета, являющаяся первым днем первого месяца первого года, со временем 00 часов 00 минут 00 секунд. Отсчет идет по григорианскому календарю с точностью до 0,1 миллисекунды. Это значит, что кроме явно прописываемых года, месяца, дня, часа, минуты и секунды, с точки зрения хранения данных дата содержит в себе еще 4 знака. Характерной особенностью даты является то, что ни в рамках литерала, ни в рамках представления алгоритма, точность выше секунды увидеть невозможно, так как стандартных механизмов для ее отображения нет. То есть несмотря на довольно высокую точность хранения даты, при работе с ней обычно точность не превышает секунды. Так как основным ограничением системы является скорость работы пользователя, то и такой точности в большинстве случаев хватает с избытком.

Введем другую дату.



Конфигурация 1С: Предприятие учебная версия


В режиме конфигуратора 1С она будет выглядеть так:



Конфигурация Модуль приложения


Несмотря на сложность в чтении, для системы все выглядит довольно логично. Слева располагается наиболее значимое значение – год (первые четыре цифры), а за ним все остальные по убыванию степени значимости, вплоть до секунды. Таким образом дата принимает вид традиционной позиционной системы, где более старшие разряды располагаются левее. Разница между двумя датами хранится в количестве секунд. Так как сам литерал даты довольно длинный и сложно читаемый, его написание было упрощено. Основным критерием правильности написания литерала является количество цифр. Оно должно быть правильным. Одним из способов написания литерала даты является полный литерал. Он выглядит так: ‘2017/10/25 13:48:19’. Несмотря на наличие посторонних символов, такой литерал будет принят системой и обработан без каких-либо проблем.



Конфигурация Модуль приложения



Конфигурация 1С: Предприятие учебная версия


Краткий литерал отличается от полного тем, что в нем не указывается время: ‘2017/10/25’ и он тоже без проблем читается системой.



Конфигурация Модуль приложения



Текущие вызовы


Несмотря на то, что время указано не было, оно всегда подразумевается. Это можно заметить по нулям в позициях времени.   


2. Операции с переменной типа «Дата»


Для переменной типа «Дата» можно выполнить несколько операций. Для начала рассмотрим операцию сложения. Прибавим к нашей дате любое число. Пусть это будет число 70.



Конфигурация Модуль приложения



Текущие вызовы


По результату можно заметить, что 70 – это количество прибавляемых секунд, а так как в одной минуте 60 секунд, то прибавилась 1 минута и 10 секунд. Абсолютно аналогичным способом к дате можно прибавлять или отнимать любые значения вплоть до тысяч лет, но в пределах ограничений, наложенных системой. То есть, отнимать можно только до значения ‘01.01.0001 00:00:00’, а прибавлять до значения ’31.12.3999 23:59:59’. Без одной секунды четыре тысячи лет в Вашем полном распоряжении. Допустим, к указанной дате нужно прибавить час. Сделать это просто. Нужно всего лишь посчитать сколько секунд будет в часе.



Конфигурация Модуль приложения



Текущие вызовы


При возникновении такой необходимости даты можно вычитать, получая разницу между ними в секундах. Операция сложения между двумя датами недопустима.   


3. Системные функции для работы с переменной типа «Дата»


Для работы с переменной типа «Дата» можно использовать системные функции. Рассмотрим некоторые из них:

Функция Дата();


Обязательными для этой функции являются год, месяц и день. Время можно указывать только полностью. Возвращает тип значения «Дата». С ее помощью появляется возможность интерактивно изменять значения даты с помощью заранее заданных переменных.



Конфигурация Модуль приложения



Текущие вызовы


Функция ТекущаяДата();

Возвращает текущее время операционной системы с точностью до секунды. Вводится без входных параметров.



Конфигурация Модуль приложения



Текущие данные


Функция ДеньГода();

Определяет каким по порядку является день года на указанную дату. Возвращает тип число.



Конфигурация Модуль приложения



Текущие вызовы


Функция ДеньНедели();

Действует аналогично функции ДеньГода(). Отсчет каждую неделю начинается заново.



Конфигурация Модуль приложения



Текущие данные


Полный список функций и возможных операций с типом Дата 1С можно найти в синтаксис помощнике в разделе «Глобальный контекст» «Функции работы со значениями типа Дата».



Глобальный контекст


Специалист компании "Кодерлайн"

 Ярослав Копытов

Наши проекты

Внедрение блоков в 1С:Комплексная автоматизация 8
ООО «Больцен Рус»

Отрасль:
Оптовая торговля

Внедренное типовое решение:
1С:Комплексная автоматизация

- Оперативный учет...

Автоматизация интеграции с информсистемами клиентов на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

Внедренное типовое решение:
«1С:Предприятие 8. WMS Логистика. Управление складом»

– Управление складскими запасами;
– Оформление заказов покупателей;
– ...

ООО "АСК ИНЖИНИРИНГ"
ООО "АСК ИНЖИНИРИНГ"

Отрасль:
Машиностроение, приборостроение

Внедренное типовое решение:
1С:Документооборот ПРОФ

Делопроизводство
Учет и хранение документов
Ведение номенклатуры дел
...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
«1С: Управление торговлей»

- Создание прототипа SRM-системы на базе «1С: Управление торговлей»
- Автомат...

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламенти...

ООО "РУКАРД-АУРА"
ООО "РУКАРД-АУРА"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Комплексная автоматизация

- Налоговый учет;...

Автоматизация производственного планирования нефтесервисной компании на базе 1С:ЕРП 2.0
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Блок планирования проектов (процессы объемно-календарного планирования пр...

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

Отрасль:
Авиаперевозки

Внедренное типовое решение:
1С:Бухгалтерия КОРП

Бухгалтерский учет Производственные операции Регламентированная отчетнос...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

Внедренное типовое решение:
«1С:ERP Управление предприятием 2.1».

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

ООО "СЖД"
ООО "СЖД"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

ХИТЕК-ГРУП
ХИТЕК-ГРУП

Отрасль:
Продажа парикмахерского инструмента и аксессуаров

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Документооборот (ECM)
• Делопроизводство
Управление бизнес-процессами и И...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение