|
К текущей дате прибавить 10 рабочих дней | ☑ | ||
---|---|---|---|---|
0
Миюки
22.06.23
✎
11:52
|
Добрый день!
Подскажите пожалуйста, мне надо к текущей (да в принципе к любой дате) прибавить например 10 рабочих дней. Необходимо исключить праздники и выходные. Предполагаю, что нужно как-то использовать производственный календарь, но никогда не сталкивалась. Т.е. сегодня 22.06.2023 и я хочу прибавить 10 рабочих дней. Должно получится 6 июля. Как это сделать подскажите пожалуйста? |
|||
1
Garykom
гуру
22.06.23
✎
11:53
|
кнопочка Я справа от темы
|
|||
2
KJlag
22.06.23
✎
11:56
|
(0) из календаря вытаскиваешь все даты за исключением выходных и праздников больше твоей даты.
сортируешь по возрастанию и берешь первые 10, помещаешь во временную таблицу, а дальше сортируешь её в обратном порядке и берешь первые 1. |
|||
3
Масянька
22.06.23
✎
11:59
|
(0) Рабочие дни (текст не мой, автор выкладывал в общий доступ ь(за что ему спасибо))
Запрос.Текст = "ВЫБРАТЬ | НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ДЕНЬ) КАК ДатаКалендаря |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаМесяца, МЕСЯЦ) И КОНЕЦПЕРИОДА(&ДатаМесяца, МЕСЯЦ) | И РегламентированныйПроизводственныйКалендарь.ВидДня В (ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий), ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный)) | |УПОРЯДОЧИТЬ ПО | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря УБЫВ"; |
|||
4
dali
22.06.23
✎
13:13
|
Если бузгалтерия КалендарныеГрафики.ДатаПоКалендарю можно попробовать.
|
|||
5
dali
22.06.23
✎
13:13
|
*бухгалтерия )
|
|||
6
Волшебник
22.06.23
✎
13:14
|
(3) а если надо по графику работы конкретного сотрудника? Ваш автор добрая душа не выкладывал такое?
|
|||
7
Donkey_hot
22.06.23
✎
13:17
|
(0) Не верю, что нет метода в БСП под эту задачу.
|
|||
8
Donkey_hot
22.06.23
✎
13:20
|
(7) Да вот хотя бы:
// Возвращает дату, которая отличается указанной даты ДатаОт на количество дней, // входящих в указанный график или производственный календарь ГрафикРаботы. // // Параметры: // ГрафикРаботы - СправочникСсылка.Календари // - СправочникСсылка.ПроизводственныеКалендари - график или // производственный календарь, который необходимо использовать для расчета даты. // ДатаОт - Дата - дата, от которой нужно рассчитать количество дней. // КоличествоДней - Число - количество дней, на которые нужно увеличить дату начала. // ВызыватьИсключение - Булево - если Истина, вызвать исключение в случае незаполненного графика. // // Возвращаемое значение: // Дата, Неопределено - дата, увеличенная на количество дней, входящих в график. // Если выбранный график не заполнен, и ВызыватьИсключение = Ложь, возвращается Неопределено. // Функция ДатаПоКалендарю(Знач ГрафикРаботы, Знач ДатаОт, Знач КоличествоДней, ВызыватьИсключение = Истина) Экспорт |
|||
9
Волшебник
22.06.23
✎
13:22
|
(8) Вы скучный
|
|||
10
Миюки
22.06.23
✎
13:25
|
(8) интересно, спасибо!
|
|||
11
Donkey_hot
22.06.23
✎
13:30
|
(9) Грешен...
|
|||
12
dali
22.06.23
✎
13:34
|
(10) Э! а мне спасибо, я это еще в (4) написал
|
|||
13
Миюки
22.06.23
✎
13:45
|
(4) и Вам огромное спасибо! ))
|
|||
14
Масянька
22.06.23
✎
14:33
|
(6) В задании (0) речь о производственном календаре.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |