Как добавить 3 рабочих дня к любой дате?
По теме из базы знаний
- Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке
- Как перевести сотрудников на "удаленку". Алгоритм экстренного перехода, примеры регламента и отчетности
- Как добавить гибкость в «жесткие» проекты?
- Как я прогулялся из 1С в Java и захотел обратно
- Как мы начали работать на 1С:Предприятие.Элемент, набили шишки и запихнули весь документооборот в телефон каждого сотрудника ДНС
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
если есть БСП, то можно попробовать
// Возвращает дату, которая отличается указанной даты ДатаОт на количество дней
или
// Возвращает дату, которая отличается указанной даты ДатаОт на количество дней
КалендарныеГрафики.ДатаПоКалендарю(ГрафикРаботы, ДатаОт, КоличествоДней);
или
ГрафикиРаботы.ДатаПоГрафику(ГрафикРаботы, ДатаОт, КоличествоДней);
КалендарныеГрафики.ДатаПоКалендарю(КалендарныеГрафики.ОсновнойПроизводственныйКалендарь(), <ДатаОтсчета>, 3)
Функция ЭтоРабочийДень(ГрафикРаботы,ТекДата) Экспорт
Если ГрафикРаботы=Неопределено Тогда
СведенияНаДень=РегистрыСведений.ДанныеПроизводственногоКалендаря.Получить(Новый Структура("Дата",ТекДата));
Возврат СведенияНаДень.ВидДня=Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий
ИЛИ СведенияНаДень.ВидДня=Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный;
Иначе
//СведенияНаДень=РегистрыСведений.ГрафикиРаботыПоВидамВремени.Получить(Новый Структура("ГрафикРаботы,ВидУчетаВремени,Дата",
// ГрафикСотрудника,Справочники.ВидыИспользованияРабочегоВремени.Явка,ТекДата));
//Возврат СведенияНаДень.ОсновноеЗначени>0; //Т.е. в указанный день есть "Явка"
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| ГрафикиРаботыПоВидамВремени.ОсновноеЗначение КАК ОсновноеЗначение
|ИЗ
| РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
|ГДЕ
| ГрафикиРаботыПоВидамВремени.ГрафикРаботы = &ГрафикРаботы
| И ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = &ВидУчетаВремени
| И ГрафикиРаботыПоВидамВремени.Дата = &Дата";
Запрос.УстановитьПараметр("ГрафикРаботы",ГрафикРаботы);
Запрос.УстановитьПараметр("ВидУчетаВремени",Справочники.ВидыИспользованияРабочегоВремени.Явка);
Запрос.УстановитьПараметр("Дата",ТекДата);
Результат=Запрос.Выполнить();
Возврат Не Результат.Пустой();
КонецЕсли;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
