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