Почему в печатной форме Т-5 не заполняется «Основание перевода» из документа перемещения в другое подразделение?

Пользователь 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом
← На главную

При работе в программе 1С:Зарплата и управление персоналом 3.1 (ЗУП) пользователи часто сталкиваются с досадной ситуацией: в документе Перемещение в другое подразделение на вкладке «Дополнительно» присутствует поле «Основание перевода», но при выводе на печать унифицированной формы Т-5 эта графа остается пустой. В то же время в аналогичном документе Кадровый перевод всё работает корректно.

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

Выясним причину проблемы: технический и логический аспекты

Давайте разберем, почему стандартное редактирование макета печатной формы в пользовательском режиме (через раздел «Администрирование») не приносит результата. Многие пользователи пытаются добавить параметр РаботаОснованиеПеревода в макет Т-5, надеясь, что программа автоматически «подхватит» данные. Однако этого не происходит.

Проанализируем техническую сторону: в 1С:ЗУП за формирование печатных форм отвечает сложный программный механизм, использующий общие модули управления печатью. Для документа Кадровый перевод в программном коде (в модуле менеджера документа) явно прописан запрос к базе данных, который извлекает текст из поля «Основание» и передает его в макет. Для документа Перемещение в другое подразделение разработчики фирмы 1С такой запрос не реализовали. Программа просто «не видит» это поле в момент формирования печатной формы, поэтому, какой бы параметр вы ни прописали в макете, он останется пустым — в него нечего «вкладывать».

Рассмотрим логику разработчиков: документ Перемещение в другое подразделение изначально задумывался как упрощенный инструмент. Согласно Трудовому кодексу РФ (ст. 72.1), перемещение у того же работодателя в другое структурное подразделение, если оно не влечет за собой изменения условий трудового договора, не требует согласия работника и технически может не оформляться как полноценный перевод. Именно поэтому полная поддержка всех реквизитов формы Т-5 в этом документе ограничена.

Решение №1: Использование документа «Кадровый перевод»

Это самый простой и правильный путь с точки зрения методологии 1С. Если вам критически важно, чтобы форма Т-5 заполнялась автоматически и в полном объеме, рекомендуем отказаться от использования документа Перемещение в другое подразделение в пользу документа Кадровый перевод.

Выполним следующие действия:

  1. Перейдем в раздел «Кадры» — «Приемы, переводы, увольнения».
  2. Создадим новый документ Кадровый перевод.
  3. На вкладке «Главное» укажем новое подразделение.
  4. На вкладке «Дополнительно» заполним поле «Причина» или «Основание (документ, номер, дата)».
  5. Сформируем печатную форму Т-5. В данном случае все данные будут выведены корректно, так как связь между полем и макетом в этом документе жестко прописана в коде.

Решение №2: Использование внешних печатных форм

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

Проанализируем, как это работает: программист создает обработку (файл .epf), которая содержит исправленный запрос к базе данных. В этом запросе указывается, что нужно брать данные из реквизита ОснованиеПеревода документа ПеремещениеВДругоеПодразделение.

Инструкция по подключению:

  1. Скачайте или закажите у специалиста внешнюю форму Т-5 для документа «Перемещение».
  2. Зайдите в раздел «Администрирование» — «Печатные формы, отчеты и обработки».
  3. Перейдите по ссылке «Дополнительные отчеты и обработки».
  4. Нажмите «Добавить из файла» и выберите подготовленный файл.
  5. В поле «Размещение» укажите документ Перемещение в другое подразделение.

Теперь в кнопке «Печать» документа появится новый пункт, который будет корректно заполнять основание.

Решение №3: Доработка через расширение конфигурации (для программистов)

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

Основная задача — перехватить процедуру сбора данных для печати. Обычно это делается в модуле менеджера документа. Нам нужно добавить реквизит ОснованиеПеревода в структуру данных, которая передается в макет.

Посмотрим на пример кода, который может быть использован в расширении:


&После("СформироватьДанныеДляПечатиТ5")
Процедура ИсправитьОснованиеДляПеремещения(ПараметрыПечати, ДанныеДляПечати)
    Для Каждого СтрокаДанных Из ДанныеДляПечати Цикл
        // Проверяем, если это наше перемещение, и поле пустое
        Если ТипЗнч(СтрокаДанных.Ссылка) = Тип("ДокументСсылка.ПеремещениеВДругоеПодразделение") Тогда
            СтрокаДанных.РаботаОснованиеПеревода = СтрокаДанных.Ссылка.ОснованиеПеревода;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Использование &После или &Вместо в расширении позволяет точечно добавить недостающие данные в структуру ДанныеДляПечати, которую затем успешно обработает стандартный макет.

Решение №4: Редактирование макета (только для «Кадрового перевода»)

Если же проблема наблюдается и в Кадровом переводе (как отмечали некоторые пользователи в обсуждении), то здесь действительно может помочь работа с макетом в пользовательском режиме. Выясним, как проверить настройки макета.

Пройдем по шагам:

  1. Откройте Администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм.
  2. Найдите в списке «Приказ о переводе (Т-5)».
  3. Нажмите «Изменить».
  4. Найдите ячейку, где должно выводиться основание. Проверьте, что в ней написано. Там должен быть параметр {РаботаОснованиеПеревода}.
  5. Если параметр указан неверно или отсутствует, впишите его вручную в свойствах ячейки (тип должен быть «Параметр»).

Важное уточнение: этот метод поможет только для Кадрового перевода. Для Перемещения он бесполезен без правок кода, описанных выше.

Подведем итоги

Мы выяснили, что отсутствие «Основания перевода» в печатной форме документа Перемещение в другое подразделение — это не случайная ошибка в макете, а архитектурная особенность программы 1С:ЗУП 3.1. Данные просто не передаются программным кодом в печатную форму.

Проанализировав ситуацию, мы можем дать следующие рекомендации:

Выбор метода зависит от ваших технических возможностей и объема вводимых данных. Надеемся, что этот разбор помог вам разобраться в тонкостях работы с формами Т-5!

← На главную