09.11.2022 Ярослав Копытов 9625
Работа с датами в 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С:CRM+1С:Комплексная автоматизация

Управление отношениями с клиентами (CRM) ...

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

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

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

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

АО «Вертолетная сервисная компания»
АО «Вертолетная сервисная компания»

Отрасль:
МТО эксплуатации вертолетной техники

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

- Консультации по сложным вопросам налогового и бухгалтерского учета;
- Ра...

АО «Аэроклуб»
АО «Аэроклуб»

Отрасль:
Услуги в области делового туризма

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

Проведение серии интервью с руководством и ключевыми специалистами Разраб...

Оптимизация производительности системы
ЗАО ИД «Комсомольская правда»

Отрасль:
Медиа

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

- Оптимизация производительности системы, в том числе сервера Postgre. ...

ПЭК
ПЭК

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

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

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

Автоматизация кадрового учета на базе «1С:ERP Управление предприятием 2.0»
Автопредприятие ПАО «Газпром»

Отрасль:
Транспорт

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

- Настройка подсистемы кадрового учета;
- Перенос персональных данных;
- З...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

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

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор ...

Установка программного продукта БИТ.Финанс для 1С:Бухгалтерия 8
ООО «Джи Эй Си Шиппинг энд Лоджистикс»

Отрасль:
Транспорт

Внедренное типовое решение:
БИТ.Финанс

Построение единого информационного пространства финансовой службы;
Учет ...

ЗАО «Инвестгеосервис»
ЗАО «Инвестгеосервис»

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

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

Объемно-календарное планирование производства Автоматизация бизнес-проце...

Внедрение системы финансового учета БИТ:Финанс
ООО «Алькор и Ко» (Л’Этуаль)

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

Внедренное типовое решение:
БИТ.Финанс

- Финансовый учет;
- Поддержка проекта внедрения МСФО;
- Регламентные рабо...

ООО "ТК "Сытый Дом-НН"
ООО "ТК "Сытый Дом-НН"

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

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

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

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

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

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

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