|   |   | 
| 
 | К текущей дате прибавить 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) речь о производственном календаре.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |