Как добавить 3 рабочих дня к любой дате?

1. inf012 30.01.24 12:18 Сейчас в теме
Здравствуйте.
ЗУП. Есть любая дата, надо к ней добавить 3 дня и вывести конечную дату в отчет.
Но 3 дня только рабочих, с учетом выходных (их пропускаем)

Есть в ЗУП в общих модулях какая-то функция?
По теме из базы знаний
Найденные решения
11. laperuz 47 30.01.24 15:03 Сейчас в теме
КалендарныеГрафики.ДатаПоКалендарю(КалендарныеГрафики.ОсновнойПроизводственныйКалендарь(), <ДатаОтсчета>, 3)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 30.01.24 13:33 Сейчас в теме
(1) Через соединение с производственным календарем
6. ActionBlog 30.01.24 14:41 Сейчас в теме
(1)КалендарныеГрафики.ДатаПоКалендарю

В модуле еще много процедур-функций для работы с датами по графикам
7. ActionBlog 30.01.24 14:42 Сейчас в теме
(1)КалендарныеГрафики.ДатаПоКалендарю
9. ActionBlog 30.01.24 14:43 Сейчас в теме
(1)
КалендарныеГрафики.ДатаПоКалендарю
3. Ferth 30.01.24 14:22 Сейчас в теме
КалендарныеГрафики.ДатаПоКалендарю
8. ActionBlog 30.01.24 14:43 Сейчас в теме
КалендарныеГрафики.ДатаПоКалендарю
10. Romeo_1c_programmer 32 30.01.24 14:46 Сейчас в теме
если есть БСП, то можно попробовать
// Возвращает дату, которая отличается указанной даты ДатаОт на количество дней
КалендарныеГрафики.ДатаПоКалендарю(ГрафикРаботы, ДатаОт, КоличествоДней);


или

ГрафикиРаботы.ДатаПоГрафику(ГрафикРаботы, ДатаОт, КоличествоДней);
 
11. laperuz 47 30.01.24 15:03 Сейчас в теме
КалендарныеГрафики.ДатаПоКалендарю(КалендарныеГрафики.ОсновнойПроизводственныйКалендарь(), <ДатаОтсчета>, 3)
12. BackinSoda 30.01.24 15:14 Сейчас в теме
(0) Мб поможет
КалендарныеГрафики.ДатыБлижайшихРабочихДней(График, НачальныеДаты, ПолучатьПредшествующие = Ложь, ВызыватьИсключение = Истина, ИгнорироватьНезаполненностьГрафика = Ложь)
13. user1278383 5 30.01.24 15:14 Сейчас в теме
Посмотреть в общих модулях КалендарныеГрафики или ГрафикиРаботы, наверняка что-то есть
14. VZyryanov 30.01.24 15:25 Сейчас в теме
Функция ЭтоРабочийДень(ГрафикРаботы,ТекДата) Экспорт
	Если ГрафикРаботы=Неопределено Тогда
		СведенияНаДень=РегистрыСведений.ДанныеПроизводственногоКалендаря.Получить(Новый Структура("Дата",ТекДата));
		Возврат СведенияНаДень.ВидДня=Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий 
			ИЛИ СведенияНаДень.ВидДня=Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный;		
	Иначе
		//СведенияНаДень=РегистрыСведений.ГрафикиРаботыПоВидамВремени.Получить(Новый Структура("ГрафикРаботы,ВидУчетаВремени,Дата",
		//	ГрафикСотрудника,Справочники.ВидыИспользованияРабочегоВремени.Явка,ТекДата));
		//Возврат СведенияНаДень.ОсновноеЗначени>0; //Т.е. в указанный день есть "Явка"
		Запрос=Новый Запрос;
		Запрос.Текст=
			"ВЫБРАТЬ
			|	ГрафикиРаботыПоВидамВремени.ОсновноеЗначение КАК ОсновноеЗначение
			|ИЗ
			|	РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
			|ГДЕ
			|	ГрафикиРаботыПоВидамВремени.ГрафикРаботы = &ГрафикРаботы
			|	И ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = &ВидУчетаВремени
			|	И ГрафикиРаботыПоВидамВремени.Дата = &Дата";
		Запрос.УстановитьПараметр("ГрафикРаботы",ГрафикРаботы);
		Запрос.УстановитьПараметр("ВидУчетаВремени",Справочники.ВидыИспользованияРабочегоВремени.Явка);
		Запрос.УстановитьПараметр("Дата",ТекДата);
		Результат=Запрос.Выполнить();
		Возврат Не Результат.Пустой();
	КонецЕсли;	
КонецФункции
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот