Архив рубрики: Работа с Датами (Временем)

Работа с Датами (Временем)

Как посчитать разницу между двумя датами?

Код уникален и сработает везде.

Синхронизация времени рабочей станции с сервером

В процедуре ПриНачалеРаботыСистемы() на рабочей станции можно вставить вызов команды NET TIME для синхронизации с сервером или другим компьютеров, выглядеть это будет примерно так:

или запуск 1C сделать из батника и там сначала установить время с помощью NET TIME, а потом и 1с-ку стартануть.

Синхронизация системного Времени по запросу

Реализовано для защиты от "умных" пользователей, которые делают то что не нужно делать (ручное изменение даты и времени). В рабочей конфигурации используется при синхронизации времени в ЭККА (кассовый аппарат) при закрытии рабочей смены.

Перевод, преобразование Даты в Строку и Обратно

Как получить текущую (системную) дату на сервере 1С:Предприятия?

В общем модуле выполняющемся на сервере пишем:

Как получить количество ЛЕТ, МЕСЯЦЕВ, ДНЕЙ между датами?

Нужно получить разницу между датами 31.12.2009 и 10.01.2005 и отобразить ее как: 4 года 11 месяцев 21 день

Как вычислить разницу между двумя датами в днях

Как получить текущее время с милисекундами?

В Платформе 8.2.17 реализована возможность получения числа миллисекунд, прошедших с 1 января 0001 года, 0:00:00 UTC с помощью функции


Функция преобразует строку вида 04/30/09 в дату

Функция ПредставлениеПериода() аналог 7-ной функции ПериодСтр()

Функция позволяет формировать описание периода, заданного датами начала и окончания на одном из языков, поддерживаемых платформой. Например, в результате выполнения следующего кода:

будет получено представление периода на английском или русском языках!


Функция глобального контекста ПредставлениеПериода() позволяет получить строковое представление периода, заданного датами начала и окончания.

Например:

Кроме стандартных периодов эта функция позволяет получать представления так называемых финансовых периодов: первых девяти месяцев года и первого полугодия. Для этого используется форматная строка с указанием признака ФП:

Кроме этого форматная строка позволяет получать представление периода на языке, отличном от используемого по-умолчанию:

Перебор дат, заполнение списка, массива дат по порядку

Момент Времени и Граница, назначение, примеры использования

Момент времени:
Фирма 1С описывает так:
Предназначен для получения и хранения момента времени для объекта в базе данных. Содержит дату и время, а также ссылку на объект базы данных. Используется в качестве значений свойств и параметров методов других объектов, имеющих тип МоментВремени.
Момент времени используется в тех случаях, когда важно различать моменты времени для объектов, имеющих одинаковую дату и время, например для сравнения положений документов на временной оси.

А своими словами:
Момент времени — комбинация даты и ссылки на документ. Позволяет разделить и упорядочить документы в пределах одной секунды, выстраивая все документы в однозначную последовательность. Получение данных при проведении на момент времени гарантирует, что будут учтены движения сделанные в ту же секунду что и проводимый документ, но находящиеся перед ним.
Но есть особенность — документы проведенные в одну и ту же секунду располагаются в произвольном порядке, а не в порядке их физического создания (как было в 7.7).

МоментВремени() — это момент непосредственно ПЕРЕД позицией документа (аналог РассчитатьРегистрыНа(ТекущийДокумент() в 7-рке), а если необходимо получить момент непосредственно после позиции документа, то используйте объект Граница

При получение остатков:
"Момент времени" — виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя ДАТУ и ССЫЛКУ НА ДОКУМЕНТ)
<Виртуальная> таблица остатков не хранится в БД, а строится в момент обращения к ней.
1. подбирается больший или равный значению ПАРАМЕТР момент времени, на который РАССЧИТАНЫ остатки
2. на этот момент получаются остатки из таблицы итогов
3. если момент времени, на который считаются остатки, не совпадает с моментом времени итогов, то остатки ДОСЧИТЫВАЮТСЯ по движениям.

Граница:
Предназначен для получения и хранения границы некоторого интервала значений. Содержит граничное значение интервала, а также признак включения или исключения граничного значения в интервал.
Используется в качестве значений свойств и параметров методов других объектов, имеющих тип Граница.
Граница используется в тех случаях, когда важно указание включения или исключения граничного значения, например при получении остатков и оборотов регистров накопления, срезов и значений регистров сведений, для задания интервалов запросов.

ВидГраницы — Определяет набор видов границ по отношению к граничному значению:
ВидГраницы.Включая — Граница включает граничное значение.
ВидГраницы.Исключая — Граница исключает граничное значение.

Пример получения остатков на дату документа, включая его движения

Пример получения остатков на дату документа, но до его движений

Функция дата прописью

Функция вычисляет даты начала/конца периодов за интервал в виде таблицы значений

Как показать период времени в формате hh:mm:ss

Функции для работы с датами через запрос (Разность, Добавление, Граница)

Функция проверяет является ли передаваемое значение датой или нет

Передаем в функцию дату, например 13.08.2009 11:13:54, получаем 13 августа 2009 г.

Функция Дата прописью

При помощи приведенных ниже функций можно вывести дату прописью, например:
03.08.2009 — третье августа две тысячи девятого года

Ввести дату, ввод даты