1С 8.3 Добавить к дате - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Добавить к дате

Данные > Примеры кода 1С > 1С 8.3 Дата и время
Перейти в основной раздел:
Добавить к дате как в запросе в 1С 8.3 от Сергей (ildarovich):
// Как в языке запросов
Функция ДобавитьКДате(ДатаНач, Количество, Период) Экспорт

  Шаг = Новый Структура("Год, Квартал, Месяц, Неделя, День, Час, Минута, Секунда", 12, 3, 1, -604800, -86400, -3600, -60, -1);

   Возврат ?(Шаг[Период] > 0, ДобавитьМесяц(ДатаНач, Количество * Шаг[Период]), ДатаНач - Количество * Шаг[Период])

КонецФункции

Функция добавляет период к дате в формате перечисления - "периодичности": в 1С 8.3 (типовая):
Функция ДобавитьПериод(Дата, Периодичность, КоличествоПериодов = 1) Экспорт

   День = 24 * 60 * 60; // Количество секунд в дне

   Если Периодичность = ПредопределенноеЗначение("Перечисление.Периодичность.Год") Тогда
       Возврат ДобавитьМесяц(Дата, 12 * КоличествоПериодов);
   ИначеЕсли Периодичность =
       ПредопределенноеЗначение("Перечисление.Периодичность.Полугодие") Тогда
       Возврат ДобавитьМесяц(Дата, 6 * КоличествоПериодов);
   ИначеЕсли Периодичность =
       ПредопределенноеЗначение("Перечисление.Периодичность.Квартал") Тогда
       Возврат ДобавитьМесяц(Дата, 3 * КоличествоПериодов);
   ИначеЕсли Периодичность =
       ПредопределенноеЗначение("Перечисление.Периодичность.Месяц") Тогда
       Возврат ДобавитьМесяц(Дата, 1 * КоличествоПериодов);
   ИначеЕсли Периодичность =
       ПредопределенноеЗначение("Перечисление.Периодичность.Неделя") Тогда
       Возврат Дата + 7 * День * КоличествоПериодов;
   ИначеЕсли Периодичность =
       ПредопределенноеЗначение("Перечисление.Периодичность.Декада") Тогда
       Возврат Дата + 10 * День * КоличествоПериодов;
   ИначеЕсли Периодичность = ПредопределенноеЗначение("Перечисление.Периодичность.День")
       Тогда
       Возврат Дата + 1 * День * КоличествоПериодов;
   Иначе
       Возврат Дата;
   КонецЕсли;

КонецФункции
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 05.04.2023
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому