Внешняя обработка по заполнению трудовой функции

Вопрос задал Ольга М. (Тольятти)

Ответственный за ответ: Елена Пьянкова (★9.85/10)

Добрый день. Зарплата и управление персоналом (базовая), редакция 3.1 (3.1.18.46) . Установила рекомендованную вами внешнюю обработку по заполнению трудовых функций, заполнила, все галки взведены, но документ не сохраняется. В позициях штатного расписания ничего не появляется. Файл прилагаю.

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Пароль будет выслан на указанный email

Все комментарии (16)

  1. Добрый день! Протестировала обработку на ЗУП базовая 3.1.18.46 в разных вариантах, ошибка не появляется. Можно попробовать почистить кеш —  Очистка кэш 1С 8.3   или попробовать сохранять позиции по частям.

  2. Приложение

    Здравствуйте, Ольга!
    У вас штатное расписание ведется, судя по всему, с историей изменений. Это легко проверить: в разделе Настройка — Кадровый учет — Настройка штатного расписания нужно проверить позицию Ведется история изменений штатного расписания.
    У вас там стоит флаг, проверьте.

    В этом случае автоматически при проведении документов Утверждение штатного расписания, Изменение штатного расписания, Индексация штатного расписания, Утверждение тарифного плана, Перенос данных — заполняются данные в в специальном регшистре сведений История использования штатного расписания.

    Этот регистр легко посмотреть через кнопку Главного меню — Функции для технического специалиста — История использования штатного расписания.

  3. Приложение

    Если история изменений не ведется, то флажок в настройке штатного расписания в указанном месте не стоит и регистр не содержит записей.

  4. Приложение

    Немного об обработке. Она выполняется в два этапа:
    1. Записвывается трудовая функция в справочник Штатное расписание
    2. Для тех, кто ведет учет с использованием истории штатного расписания:
    — отыскивается регистратор, т.е. документ, который сформировал записи в регистр История использования штатного расписания, в его табличной части Позиции находится нужное поле Позиция и устанавливается по нему значение Трудовой функции из обработки. После этого изменения по документу-регистратору записываются.
    — в регистре сведений История использования штатного расписания делается отбор записей по найденному регистратору и по нужной позиции устанавливается Трудовая функция из обработки.

    У тех пользователей, кто работает без истории штатного расписания выполняется только первое действие и никаких ошибок не происходит. Там просто невозможно получить ошибку: справочник- это не периодический элемент, он безропотно запишет любые данные в указанный реквизит, если только он нужного типа. А с этим в обработке все в порядке.

    Сложности начинаются именно во второй части у пользователенй, которые используют историю штатного расписания.

    И ваш случай — именно этот. Потому что согласно присланной ошибке в строке 256 программа не смогла записать данные именно при работе с документом-регистратором. Поскольку регистр сведений — непериодический и наложение дат и измерений не должно давать ошибку, то нужно разбираться в документах регистраторах регистра сведений.

  5. Приложение

    Согласно программному коду, найдя регистратор, программа идет в табличную часть документа «Позиции» и ищет реквизит Трудовая функция». Потом присваивает указаной штатной позиции трудовую функцию.

    Но это работает только для документов Изменение штатного расписания и Утверждение штатного расписания. У них действительно есть табличные части «Позиции» и элементы табличной части «Позиция» и «Трудовая функция».

    Если вы используете еще другие документы вроде индексации, утвекрждения тарифной сетки, перенос данных — то программа не найдет реквизита «Позиция» и выдаст ошибку.

    Обработка отлично сработает в двух случаях:
    — не ведется история штатного расписания
    — в регистре История использования штатного расписания — только документы регистраторы Утверждение и Изменение штатного расписания.

    (!) Поскольку изменения записываются в документ-регистратор, то обратите внимание, чтобы не была установления Дата запрета резактирования для последних изменений штатного расписания.

    Это то, что я могу сказать проанализировав программный код. Хотя, конечно, не видя базы сложно давать рекомендации, но попробуйте:
    — на копии базы снять флаг использования истории штатного расписания, чтобы посмотреть появится ли ошибка в этом случае.
    — откройте указанный регистр и посмотрите последние изменения штатного расписания — за какие даты? Снимите запрет на этот период даты изменения, чтобы программа смогла записать изменения в документ-регистратор штатного расписания.
    — если не помогло проанализируйте документы-регистраторы в регистре: есть ли там документы-регистраторы помимо тех, что не дают ошибки? Попробуйте в копии распровести их и выполнить обработку.
    Скорее всего, в копии при этих условиях все получится.

    Обработка не на все случаи, как выяснилось. Чтобы она работала у всех ее нужно дорабатывать.

  6. Если хотите более точной информации по вашей базе, можете выгрузить базу на Яндекс-Диск, например, и прислать ссылку на нее (я удалю после скачивания). Тогда я посмотрю ситуацию в Отладчике и уже дам абсолютно точный диагноз именно для вашего случая.)

  7. Тут недоработка в коде обработки, поэтому обновление ЗУП не поможет. Только если тот, кто писал эту обработку, ее доработает.

  8. По Истории использования штатного расписания, у нас последнее изменение внесено документом Индексация штатного расписания. Наш программист сказал, что причина также может быть в том, что внутри документа Индексация написано просто «Позиция», вместо «Позиция штатного расписания». Подождем немного, в принципе справочнике «Должности» Трудовые функции сохранились.

  9. Это то, о чем я писала выше. Я выделила в тексте своего ответа эти строки.
    Вот еще мой ответ на вопрос, посмотрите, там более развернуто:
    Заполнение трудовой функции в штатном расписании

    Запись трудовых функций в справочник Штатное расписание работает всегда — это первый этап.

    У вас не запишется трудовая функция в документы и регистр, а данные в отчеты, как правило, берутся именно из регистров, а не справочников.
    Поэтому вопрос остается открытым по доработке обработки.

  10. Добрый день! Обработка работает только у пользователя с полными правами. В типовой конфигурации для регистра сведений «История использования штатного расписания» право «Изменение» есть только у роли «Полные права».
    Предполагается, что с обработкой «плотно» работать будут кадровики или отдел мотивации, то для успешной работы обработки потребуется добавить новую роль.

Добавить комментарий