Почему в 1С:ЗУП 8.3 при выборе подразделения список оказывается пустым?

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

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

1. Проанализируем дату документа и историю подразделения

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

Что нужно сделать:

  1. Откройте карточку подразделения, которое вы ожидаете увидеть в списке.
  2. Проверьте поле «Сформировано». Если дата в этом поле позже даты вашего Кадрового перевода, подразделение не отобразится.
  3. Попробуйте в документе временно установить заведомо большую дату (например, конец текущего года) и проверьте, появился ли список. Если появился — проблема в датах.
  4. Также проверьте флажок «Подразделение расформировано и не используется в программе». Если он установлен, подразделение будет скрыто, если в форме выбора не включен специальный режим отображения.

2. Влияние штатного расписания и его утверждения

Это одна из самых частых причин в конфигурациях, где ведется строгий учет штатных единиц. Рассмотрим ситуацию: если в настройках программы (раздел «Настройка» — «Кадровый учет») включена опция «Использовать штатное расписание», то система начинает фильтровать список подразделений по наличию в них открытых и утвержденных штатных позиций.

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

  1. Для данного подразделения не создан или не проведен документ Утверждение штатного расписания или Изменение штатного расписания.
  2. В штатном расписании на дату документа нет свободных или хотя бы существующих ставок в этом подразделении.
  3. Документ штатного расписания имеет дату позже, чем ваш кадровый документ.

Решение: Проверьте актуальность штатного расписания по конкретной организации. Убедитесь, что позиции в нужном подразделении утверждены и введены в действие до даты планируемого перевода сотрудника.

3. Проблема фильтрации по полю «Филиал» (Организация)

Выясним причину, связанную со спецификой версии КОРП и работой с обособленными подразделениями. В документах ЗУП часто используется скрытый или автоматический отбор по реквизиту Организация. Однако в форме выбора подразделения фильтр может накладываться не на основную организацию, а на так называемый «Филиал» (обособленное подразделение, выделенное на отдельный баланс).

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

Разберем по шагам:

  1. Проверьте, является ли организация, по которой вы делаете перевод, головной и есть ли у нее обособленные подразделения (филиалы).
  2. Если вы переводите сотрудника внутри филиала, убедитесь, что в форме документа выбрана именно нужная карточка организации (филиала).
  3. Проанализируйте, не включена ли в настройках управленческая структура предприятия, которая может конфликтовать с регламентированной структурой организаций в версии КОРП.

4. Использование флагов в форме выбора

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

Посмотрим на важные элементы:

5. Технический анализ: Связи параметров выбора и RLS

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

Обычно связь выглядит так: Отбор.Владелец(Организация). Если в коде формы или при обновлении конфигурации путь к полю Организация был нарушен, система передает в форму выбора Неопределено или Пустую ссылку. Из-за этого фильтр срабатывает по пустоте.

Также не стоит забывать про RLS (Record Level Security) — ограничение доступа на уровне записей. Если у пользователя настроены права так, что он видит документ организации «А», но не имеет прав на чтение справочника подразделений этой же организации (или конкретной группы подразделений), список будет пуст.

Пример того, как программно может выглядеть установка отбора при начале выбора (для диагностики в отладчике):


&НаКлиенте
Процедура ПодразделениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    ПараметрыВыбора = Новый Структура;
    // Проверяем, что передается в качестве владельца
    ПараметрыВыбора.Вставить("Отбор", Новый Структура("Владелец", Объект.Организация));
    ПараметрыВыбора.Вставить("ТекущаяДата", Объект.Дата);
    
    // Если Объект.Организация пустая, список будет пустым
КонецПроцедуры

Резюме по решению проблемы

Чтобы быстро найти причину, выполните следующие действия:

  1. Проверьте дату: поставьте в документе 31.12.текущего года. Если подразделения появились — правьте даты создания подразделений или штатного расписания.
  2. Проверьте штатное расписание: если оно ведется, убедитесь, что есть документ Утверждение штатного расписания с нужными позициями.
  3. Проверьте права: зайдите под пользователем с полными правами. Если под ним список заполнен — дело в настройках доступа (RLS).
  4. Проверьте структуру: не является ли подразделение филиалом (обособленным) и правильно ли указана организация-владелец в карточке подразделения.
← На главную