09.11.2022 Ярослав Копытов 9770
Работа с датами в 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С:ERP Управление предприятием 2.0

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение...

ООО "Смена"
ООО "Смена"

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

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

Банк и касса
Расчеты с контрагентами
Торговые операции
Взаиморасчеты с...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:ТОИР Управление ремонтами и обслуживанием оборудования

Мониторинг и анализ ключевых показателей деятельности предприятия Управле...

Автоматизация учета на базе ПП "1С:Комплексная автоматизация 8" в ЗАО "Крюгер-Гранд"
ЗАО «Крюгер-Гранд»

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

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

- Создание интерфейсов и наборов прав пользователей;
- Отражению временных ...

ООО «Экслтрейд»
ООО «Экслтрейд»

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

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

Оформление заказов поставщикам Оптовая торговля Торговые операции ...

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

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

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

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

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

Внедренное типовое решение:
1С:Управление холдингом 1.3.

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

Разработка функциональных требований к информсистеме на базе «1С:Управление холдингом 8»
ФГУП «СВЯЗЬ-безопасность»

Отрасль:
Охранные услуги

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

- Зафиксировали процессы по блокам бухгалтерского, налогового учета, казнач...

ОАО «Интер РАО – Электрогенерация»
ОАО «Интер РАО – Электрогенерация»

Отрасль:
Электрогенерация

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

Для работы 2500 пользователей в 9 часовых поясах организована территориально-...

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

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

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

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

ООО "Эскорт-Центр"
ООО "Эскорт-Центр"

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

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

- Сквозной учет затрат по объектам
- Бухгалтерский учет
- Расчет зарплаты...

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

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

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

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