03.11.2022 Юлия Романяк 55984
Функция 1С РАЗНОСТЬДАТ

Содержание:

1. Как использовать функцию РАЗНОСТЬДАТ?

2. Как использовать функцию ДОБАВИТЬКДАТЕ?  

   

1.      Как использовать функцию РАЗНОСТЬДАТ?


В отличие от встроенного языка 1С, который позволяет производить операции вычитания и сложения дат при помощи математических функций, при написании запросов 1С требуется другой подход. В запросе 1С для того, чтобы определить отрезок времени между двумя датами в запросе 1С, необходимо использовать функцию РАЗНОСТЬДАТ(<Дата1>, <Дата2>, <Тип>).


Дата1 – вычитаемая дата

Дата2 – исходная дата


Тип (периодичность) – тип периода, для которого вычисляется значение функции. Может принимать значения СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, МЕСЯЦ, ГОД.


Таким образом, если в запросе 1С нужно вычислить сколько дней между двумя датами 01.01.2021 и 15.01.2021 нужно использовать функцию РАЗНОСТЬДАТ следующим образом:

РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2021, 1, 1, 0, 0, 0), ДАТАВРЕМЯ(2021, 1, 15, 0, 0, 0), ДЕНЬ).

Запрос выдаст результат -14 дней.


В примере выше у нас обе даты указаны с временем начала дня (0:00:00).

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

РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2021, 1, 1, 14, 0, 0), ДАТАВРЕМЯ(2021, 1, 15, 23, 59, 59), ДЕНЬ)

Результат получим тот же – 14 дней.


Таким образом, нужно помнить, что при вычитании дат рассматриваемая функция отбрасывает все значения после значения для указанной периодичности. В нашем примере – часы, минуты и секунды. Другими словами, при выбранной периодичности ДЕНЬ функция автоматически поместит обе даты в начало дня (если указать периодичность МЕСЯЦ – в начало месяца и т.д.).   


2.      Как использовать функцию ДОБАВИТЬКДАТЕ?


Иногда нужно вычислить разность между двумя датами, определив не количество полных дней, а рассчитав общее количество полных и неполных дней. В этом случае нужно предварительно обработать исходные даты с тем, чтобы привести вычитаемую дату к началу предыдущего периода. Для этого нужно сначала проверить совпадает ли вычитаемая дата с началом дня, и если не совпадает – переместить ее в начало предыдущего периода при помощи функции ДОБАВИТЬКДАТЕ():


ВЫБРАТЬ

            РАЗНОСТЬДАТ(&Дата1, &Дата2, ДЕНЬ) КАК Количество Полных Периодов,

            РАЗНОСТЬДАТ(ВЫБОР

                                    КОГДА НАЧАЛОПЕРИОДА(&Дата1, ДЕНЬ) = &Дата1

                                               ТОГДА &Дата1

                                    ИНАЧЕ ДОБАВИТЬКДАТЕ(&Дата1, ДЕНЬ, -1)

                        КОНЕЦ, &Дата2, ДЕНЬ) КАК Количество Неполных Периодов


Зададим значения &Дата1 - 01.01.2021 14:00:00, &Дата2 - 15.01.2021 0:00:00.

Получим в результате выполнения запроса:

КоличествоПолныхПериодов – 14

КоличествоНеполныхПериодов – 15

 

Теперь зададим в параметре &Дата1 - 01.01.2021 0:00:00

Получим результат:

КоличествоПолныхПериодов – 14

КоличествоНеполныхПериодов – 14


Синтаксис: ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>).

Дата – обрабатываемая дата

Тип (периодичность) - тип периода, для которого вычисляется значение функции. Может принимать значения СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, МЕСЯЦ, ГОД.


Количество – количество периодов, на которые нужно «сдвинуть» дату.


Данную функцию можно использовать как для сложения, так и для вычитания. Для того, чтобы уменьшить дату на нужное количество периодов, указывается отрицательное значение в параметре <Количество>.


Следует также помнить, что система обрабатывает значение параметра <Количество> как целое число, отбрасывая дробную часть. И несмотря на то, что система не выдаст ошибку при задании такой формулы в вычисляемом поле:


ДОБАВИТЬКДАТЕ(&Дата1, ДЕНЬ, 1.5),


Дата1 будет увеличена ровно на один день.


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

Юлия Романяк


Наши проекты

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

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

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

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

Внедрение «1С:Бухгалтерия 8 ПРОФ» в компании «Мостехника»
ООО «Мостехника»

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

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

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

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

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад ...

Внедрение «1С:Зарплата и управление персоналом 8 КОРП» в компании «ПБК»
ООО «Партнер Бухгалтер Консультант»

Отрасль:
Бухгалтерские услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Интеграция продукта с базой данных оперативного учета Axapta;
- Доработка фу...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО Фирма «Бисер»
ООО фирма «Бисер»

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

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

Финансы, управленческий учет, мониторинг показателей:
- Налоговый учет...

ООО ХДМ Рус
ООО ХДМ Рус

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

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

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

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

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

Внедренное типовое решение:
1С:Зарплата и управление персоналом

Управление персоналом и кадровый учет (HRM) Кадровый учет Расчет зарплаты Рег...

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

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

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

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

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

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

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

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

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

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

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

- Финансово-бухгалтерский блок
- Казначейство ...

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

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

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

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов; ...

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

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

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

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