09.11.2022 Ярослав Копытов 9377
Работа с датами в 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С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

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

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

- Управление складами;
- Управление заказами поставщиков;
- Управление зак...

ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"
ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"

Отрасль:
Деятельность больничных организаций

Внедренное типовое решение:
БИТ:Управление медицинским центром 8

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

Внедрение блока расчета себестоимости РАУЗ в 1С:УПП 8
ООО «Пелигрин Матен»

Отрасль:
Производство

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

– Оформление заказов покупателей;
– Взаиморасчеты с покупателями;
– О...

ООО "ОМЗ"
ООО "ОМЗ"

Отрасль:
Металлургическая промышленность, металлообработка

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

Автоматизация бизнес-процессов...

ООО «Вистеон Автоприбор Электроникс»
ООО «Вистеон Автоприбор Электроникс»

Отрасль:

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

- Управленческий учет; - Расчет зарплаты; - Логистика адресного склада; - Учет ...

Группа компаний ТМ «Дружба народов»
Группа компаний ТМ «Дружба народов»

Отрасль:
Пищевая промышленность

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

- Переход на новый релиз 2.1 программы «1С:ERP Управление предприятием»
- Разра...

Группа компаний АО «Киномакс»
Группа компаний АО «Киномакс»

Отрасль:
Культура, шоу-бизнес

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

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

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

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

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

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

ПЭК
ПЭК

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

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

- Внедрение функционала управления НСИ;
- Рефакторинг;
- Оптимизация общег...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление...

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

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

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

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

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

Отрасль:
Производство промышленных газов

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

- Расчеты с контрагентами;
- Производственные операции;
- Управление скла...

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

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

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

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