Дата по календарю. Возвращает дату, которая отличается указанной даты ДатаОт на количество дней,
// Возвращает дату, которая отличается указанной даты ДатаОт на количество дней,
// входящих в указанный график или производственный календарь ГрафикРаботы.
//
// Параметры:
// ГрафикРаботы - СправочникСсылка.Календари, СправочникСсылка.ПроизводственныеКалендари - график или
// производственный календарь, который необходимо использовать для расчета даты.
// ДатаОт - Дата - дата, от которой нужно рассчитать количество дней.
// КоличествоДней - Число - количество дней, на которые нужно увеличить дату начала.
// ВызыватьИсключение - Булево - если Истина, вызвать исключение в случае незаполненного графика.
//
// Возвращаемое значение:
// Дата, Неопределено - дата, увеличенная на количество дней, входящих в график.
// Если выбранный график не заполнен, и ВызыватьИсключение = Ложь, возвращается Неопределено.
//
Функция ДатаПоКалендарю(Знач ГрафикРаботы, Знач ДатаОт, Знач КоличествоДней, ВызыватьИсключение = Истина) Экспорт
Если Не ЗначениеЗаполнено(ГрафикРаботы) Тогда
Если ВызыватьИсключение Тогда
ВызватьИсключение НСтр("ru = 'Не указан график работы или производственный календарь.'");
КонецЕсли;
Возврат Неопределено;
КонецЕсли;
ДатаОт = НачалоДня(ДатаОт);
Если КоличествоДней = 0 Тогда
Возврат ДатаОт;
КонецЕсли;
МассивДней = Новый Массив;
МассивДней.Добавить(КоличествоДней);
МассивДат = ДатыПоКалендарю(ГрафикРаботы, ДатаОт, МассивДней, , ВызыватьИсключение);
Возврат ?(МассивДат <> Неопределено, МассивДат[0], Неопределено);
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
Прибавить рабочие дни к дате (Запрос)
ПриОбновленииПроизводственныхКалендарей (БСП)
ОсновнойПроизводственныйКалендарь (БСП)
РаспространитьИзмененияДанныхПроизводственныхКалендарей (БСП)