Исправление расчета остатков отпусков в рабочих днях в ЗУП 2.5.54.1

04.08.12

Разработка - Механизмы типовых конфигураций

Если на вашем предприятии ведется учет отпусков не только в календарных днях, но и в рабочих, то Вам сюда

В одном из релизов ЗУП 8.2 господа программисты фирмы 1С поменяли модуль расчета остатков отпусков, возможно это не плохо и грамотно, но как обычно наделали кучу ошибок. В итоге при расчете остатков программа попусту перестала замечать дополнительные отпуска в рабочих днях, это можно проверить выведя например справку по отпуску.

Для временного решения пришлось покопаться в общем модуле ОстаткиОтпусков и внести кое какие изменения, а проще говоря закомментировать.

Ищем Функция ОстаткиОтпусков(ТаблицаДанных) в общем модуле ОстаткиОтпусков, в этой функции есть запрос

со строки 871 комментируем так :

    |ПОМЕСТИТЬ ВТВидыЕжегодныхОтпусков
    |ИЗ
    |    ВТТаблицаСотрудников КАК ТаблицаСотрудников
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВидыЕжегодныхОтпусков КАК ВидыЕжегодныхОтпусков
    |        ПО (НЕ ВидыЕжегодныхОтпусков.ПометкаУдаления)
    //|            И (ВЫБОР
    //|                КОГДА ТаблицаСотрудников.ВидОсновногоОтпуска = ЗНАЧЕНИЕ(Справочник.ВидыЕжегодныхОтпусков.ПустаяСсылка)
    //|                        И ТаблицаСотрудников.ВидДополнительногоОтпуска = ЗНАЧЕНИЕ(Справочник.ВидыЕжегодныхОтпусков.ПустаяСсылка)
    //|                    ТОГДА ВЫБОР
    //|                            КОГДА ТаблицаСотрудников.ВидЕжегодногоОтпуска = ЗНАЧЕНИЕ(Справочник.ВидыЕжегодныхОтпусков.ПустаяСсылка)
    //|                                ТОГДА ТаблицаСотрудников.СпособРасчетаОтпусков = ВидыЕжегодныхОтпусков.СпособРасчетаОстаткаОтпуска
    //|                            ИНАЧЕ ТаблицаСотрудников.ВидЕжегодногоОтпуска = ВидыЕжегодныхОтпусков.Ссылка
    //|                        КОНЕЦ
    //|                ИНАЧЕ ТаблицаСотрудников.ВидОсновногоОтпуска = ВидыЕжегодныхОтпусков.Ссылка
    //|                            И НЕ ТаблицаСотрудников.ИсключитьОсновнойОтпуск
    //|                        ИЛИ ТаблицаСотрудников.ВидДополнительногоОтпуска = ВидыЕжегодныхОтпусков.Ссылка
    //|            КОНЕЦ)
    |        ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК НачисленияОсновногоОтпуска
    |        ПО (ВЫБОР
    |                КОГДА ТаблицаСотрудников.ПорядокРасчетаОсновногоОтпуска = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетаОтпуска.ПоШестидневке)
    |                    ТОГДА НачисленияОсновногоОтпуска.Ссылка = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпШестидневка)
    |                ИНАЧЕ НачисленияОсновногоОтпуска.Ссылка = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпКалендарныеДни)
    |            КОНЕЦ)

 

а также со строки 953 комментируем так :

 

    |            ПО ОстаткиОтпусков.Ссылка.Сотрудник = ОстаткиОтпусковСрез.Сотрудник
    |                И ОстаткиОтпусков.ВидЕжегодногоОтпуска = ОстаткиОтпусковСрез.ВидЕжегодногоОтпуска
    |                И ОстаткиОтпусков.Ссылка = ОстаткиОтпусковСрез.Ссылка
    |        ПО ТаблицаСотрудников.Сотрудник = ОстаткиОтпусков.Ссылка.Сотрудник
    //|            И (ВЫБОР
    //|                КОГДА ТаблицаСотрудников.ВидОсновногоОтпуска = ЗНАЧЕНИЕ(Справочник.ВидыЕжегодныхОтпусков.ПустаяСсылка)
    //|                        И ТаблицаСотрудников.ВидДополнительногоОтпуска = ЗНАЧЕНИЕ(Справочник.ВидыЕжегодныхОтпусков.ПустаяСсылка)
    //|                    ТОГДА ВЫБОР
    //|                            КОГДА ТаблицаСотрудников.ВидЕжегодногоОтпуска = ЗНАЧЕНИЕ(Справочник.ВидыЕжегодныхОтпусков.ПустаяСсылка)
    //|                                ТОГДА ТаблицаСотрудников.СпособРасчетаОтпусков = ОстаткиОтпусков.ВидЕжегодногоОтпуска.СпособРасчетаОстаткаОтпуска
    //|                            ИНАЧЕ ТаблицаСотрудников.ВидЕжегодногоОтпуска = ОстаткиОтпусков.ВидЕжегодногоОтпуска.Ссылка
    //|                        КОНЕЦ
    //|                ИНАЧЕ ТаблицаСотрудников.ВидОсновногоОтпуска = ОстаткиОтпусков.ВидЕжегодногоОтпуска
    //|                            И НЕ ТаблицаСотрудников.ИсключитьОсновнойОтпуск
    //|                        ИЛИ ТаблицаСотрудников.ВидДополнительногоОтпуска = ОстаткиОтпусков.ВидЕжегодногоОтпуска
    //|            КОНЕЦ)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Сотрудник,

 

После этих действий сохраняем конфигурацию и проверяем остатки отпусков в рабочих днях.

Надеюсь в будущих релизах 1С исправит эту ошибку, а пока жду ваших предложений по решению данного вопроса, может кто лучше сделает?

Важно: В Справочнике Виды ежегодных отпусков должен быть только 1 вид отпуска с флажком Предоставлять отпуск всем сотрудникам

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С 8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Данное расширение — это механизм, сделанный при помощи двух модулей из БСП (3.1.11.415), который позволяет динамически добавлять команды (кнопки и не только при желании) на формы управляемого приложения без изменения конфигурации. На примере данного механизма удобно рассмотреть некоторые возможности для расширения функционала объектов, которые подключены к механизму библиотеки стандартных подсистем.

1 стартмани

20.03.2026    2569    InFlach    0    

5

Механизмы типовых конфигураций Программист Стажер 1С 8.3 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Интервальные регистры в 1С:ЗУП 3.1 заменяют тяжелые срезы последних, ускоряя отчеты по кадровым данным через интервалы ДатаНачала–ДатаОкончания. Разбираем отличия, примеры кода, плюсы и способы синхронизации.

12.03.2026    4274    AlexeyPROSTO_1C    4    

20

Механизмы типовых конфигураций Программист Стажер 1С 8.3 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Как в ЗУП работает механизм расстановки времени в регистрах сведений с помощью подписки на события?Рассматривается логика сдвигов для разных типов документов (прием, увольнение, отпуск) и дается инструкция по подключению нового регистра к этому механизму.

03.03.2026    2470    YA_1100893639    1    

8

Механизмы типовых конфигураций Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

В статье рассматривается подход к программной модификации параметров команды внешней обработки заполнения объекта так, чтобы в момент вызова из формы объекта (табличной части документа) она использовалась для открытия вспомогательной формы диалога, а после закрытия вспомогательной формы диалога она использовалась для заполнения объекта (табличной части документа) уже на сервере с контекстом формы документа с использованием введенных данных во вспомогательной форме диалога.

11.08.2025    10008    user1988284    0    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. NPMar 08.08.12 09:02 Сейчас в теме
2. Cristal725 12.09.12 11:12 Сейчас в теме
Спасибо большое,что обратили внимание на эту ситуацию. Очень мало информации в интеренте по этому поводу.
4. Alex Star 10 12.09.12 21:02 Сейчас в теме
(2) Cristal725, Обратишь тут, когда на всём заводе остатки отпусков поменялись, а уж расчет резерва отпусков что показывал... Самое интересное 1Сники сами на это не отреагировали, прошло обновление, а всё так-же глючно осталось, пришлось опять комментить...
3. Cristal725 12.09.12 11:21 Сейчас в теме
И еще чем грозит то, что решение временное. Ну кроме того, что при обновлениях конфу придется постоянно подправлять.
5. Cristal725 13.09.12 08:50 Сейчас в теме
А у нас беда: в Справочнике Виды ежегодных отпусков 2 вида отпуска с флажком Предоставлять отпуск всем сотрудникам. Как допилить?
6. Alex Star 10 13.09.12 18:07 Сейчас в теме
(5) Cristal725, Я просто убрал один флажок, этот вид добавился с каким то обновлением, и у нас нет на предприятии этого вида отпуска. А что касается допила, то по этому это решение и является временным, потому что разбираться времени нет, как только 1С исправит косяки так сразу эту галочку можно и поставить, только это в корне не правильно, т.к. у нас только основной отпуск всем дается. Жаль что больше никто не предложил решения, а так хотелось посмотреть :(
7. Эсти 8 16.03.15 07:59 Сейчас в теме
спасибо. полезная статья
Для отправки сообщения требуется регистрация/авторизация