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

04.08.12

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

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

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

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

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

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

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

 

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

 

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

 

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

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

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

См. также

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

Расчет себестоимости в типовых конфигурациях 1С – для многих «черный ящик», работающий по жестко зашитым в него алгоритмам. Реализация этого «черного ящика» может меняться в зависимости от конкретной конфигурации – УПП, БП 3.0, ERP. Но принцип работы везде одинаковый. Расскажем о том, как устроен расчет себестоимости, как его дорабатывать, и какие методы могут быть эффективны и без доработок.

27.12.2024    11172    Begemoth80    32    

84

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

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    2363    PROSTO-1C    0    

21

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

Эта ошибка была обнаружена мной в типовой конфигурации 1С:Комплексная автоматизация 2 (2.5.16.115), БСП версия 3.1.9.302. Возникает она после того, как вы добавляете в расширение бизнес-процесс или задачу, выполняете обновление идентификаторов метаданных расширений, но ошибка при записи любого элемента справочника "Профили групп доступа" всё равно остаётся.

01.07.2024    2471    Vidz    0    

12

Механизмы типовых конфигураций Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

Очень часто в написании кода требуется обращаться к предопределённым значениям. Если идёт обращение к типовым предопределённым значениям, то проблем не возникает.

24.06.2024    1397    olja-ljaaa    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 Сейчас в теме
спасибо. полезная статья
Оставьте свое сообщение