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

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

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

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

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

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

  2. Добрый день. Кэш почистила, попробовала сохранить 2 позиции, результат тот же.

  3. Уточните, пожалуйста, у Вас штатное расписание ведется с историей изменений или без?

  4. Как это можно узнать? Изменения вводятся через документы Изменения штатного расписания

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Добрый день,
    я так понимаю, что обработка эта разовая в помощь пользователям для автоматического заполнения данных трудовой функции. И выполнять ее желательно Администратору с Полными правами, а поскольку она еще и не для всех случаев работает, то это точно должен быть человек, который понимает что происходит при выполнении этой обработки с базой.
    По тому, кто будет работать с этой обработкой… Поскольку писали ее не мы, то адресовать вопросы корректнее было бы ее авторам. 🙂

    Но вы совершенно правы в том, что на изменение регистра «История использования штатного расписания» право есть только у пользователя с Полными правами.

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

    Поскольку регистраторами для формирования записей этого документа являются указанные в скрине документы, которые могут меняться без Полных прав, например, при наличии права ДобавлениеИзменениеШтатногоРасписания, то удобнее было бы сделать обработку на запись изменений в указанные документы, а уже Администратор или пользователь с полными правами сможет их перепровести — в результате сформируются нужные записи в указанном регистре.

    Мне думается, что это мнее травматичный путь, тем более, что у вас есть программист в штате.

Комментарии закрыты.