1С 8.3 Программно получить первый рабочий день месяца - Программист 1С Минск. Автоматизация бизнеса.

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

1С 8.3 Программно получить первый рабочий день месяца

Данные > Примеры кода 1С > 1С 8.3 Типовые (БП3, ЗУП, УТ)
Перейти в раздел примеры кода 1С 8.3:
Возвращает истину, если текущая дата или произвольная -- переданная в параметре, является первым рабочим днем месяца. Работает в семействе УТ.
Программно получить первый рабочий день месяца в 1С 8.3 семейства УТ
// Функция - Это первый рабочий день месяца
//
// Параметры:
//  Дата - Дата - Дата, которую необходимо проверить, если не заполнено, тогда функция проверяет текущую дату
//
// Возвращаемое значение:
//  Булево - Фукнция возвращает истину, если дата -- первый рабочий день месяца
//
Функция ЭтоПервыйРабочийДеньМесяца(Дата = Неопределено)

   Если Дата = Неопределено Тогда
       Дата = ТекущаяДатаСеанса();
   КонецЕсли;

   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    СУММА(ВЫБОР
       |            КОГДА ДанныеПроизводственногоКалендаря.ВидДня =                 
       ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
       |                ТОГДА 1
       |            ИНАЧЕ 0
       |        КОНЕЦ) КАК ВидДня
       |ИЗ
       |    РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
       |ГДЕ
       |    ДанныеПроизводственногоКалендаря.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ТекущаяДата, МЕСЯЦ)
И НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ)";

   Запрос.УстановитьПараметр("ТекущаяДата", Дата);
   РезультатЗапроса = Запрос.Выполнить();
   Выборка = РезультатЗапроса.Выбрать();
   Выборка.Следующий();

   Возврат Выборка.ВидДня = 1;

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

0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 16.02.2023
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому