Как настроить автоматический отбор по виду субконто в 1С:БГУ 2.0 при выборе значения из справочника Субконто

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет Финансы и профессиональные услуги
← На главную

Переход с конфигурации «Бухгалтерия государственного учреждения» редакции 1.0 на редакцию 2.0 часто сопровождается вопросами, связанными с изменением логики работы интерфейса. Одной из таких проблем является отсутствие автоматического отбора в справочнике Субконто при заполнении документов через механизм типовых операций. В этой статье мы подробно разберем, почему при выборе значения открывается весь список элементов и как заставить систему фильтровать данные по конкретному виду субконто.

Разберем архитектурные различия между БГУ 1.0 и БГУ 2.0

Для начала проанализируем ситуацию: в БГУ 1.0, построенной на «обычных» формах, многие механизмы фильтрации были жестко прописаны в программном коде самих форм. Платформа 1С:Предприятие 8.2/8.3 в режиме управляемого приложения (на котором базируется БГУ 2.0) требует более явной настройки связей между объектами. Рассмотрим, как устроена связь субконто в системе:

  1. План видов характеристик (ПВХ) ВидыСубконто: это перечень категорий, таких как «Договоры», «Номенклатура», «Прочие доходы и расходы».
  2. Справочник Субконто: это универсальное хранилище данных, которое является подчиненным объектом по отношению к вышеуказанному ПВХ. Это значит, что у каждого элемента в этом справочнике есть обязательный реквизит Владелец.

Проблема пользователя заключается в том, что при выборе значения система «не видит» связи с владельцем и открывает справочник целиком. Чтобы это исправить, нам нужно настроить Связи параметров выбора.

Настройка отбора в справочнике Типовые операции

Если вы столкнулись с этой проблемой при работе в конструкторе типовых операций, нам необходимо проверить настройки реквизитов операции. Рассмотрим по шагам, как установить корректную фильтрацию:

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

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

Как обойти ограничение составного типа данных

Составной тип данных означает, что реквизит может принимать значения из разных справочников (например, Контрагенты, Номенклатура или Субконто). Платформа не может применить фильтр по владельцу к справочнику Контрагенты, так как у него нет такого владельца, как у Субконто.

Рассмотрим способы решения этой коллизии:

Способ 1: Ограничение типа данных

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

Способ 2: Использование фиксированных макетов

В настройках реквизита типовой операции можно задать фиксированное значение владельца. Если проводка всегда выполняется по виду субконто «Расходы», мы можем напрямую указать этот элемент ПВХ в параметрах выбора. В этом случае при открытии формы выбора платформа автоматически применит фильтр Отбор.Владелец = [НашВидСубконто].

Анализ ситуации со счетом 401.10

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

Для счета 401.10 часто используются разные виды субконто. Если в качестве вида субконто выбран объект, типом которого является не универсальный справочник Субконто, а, например, справочник Номенклатура, то никакой автоматической связи со справочником Субконто не будет. Проанализируйте, какой именно тип значения назначен виду субконто на данном счете в Плане счетов.

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


// Пример установки связи параметров выбора программно
ЭлементОтбора = Новый ПараметрВыбора("Отбор.Владелец", НужныйВидСубконто);
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(ЭлементОтбора);
НовыеПараметры = Новый ФиксированныйМассив(МассивПараметров);

Элементы.СубконтоЗначение.ПараметрыВыбора = НовыеПараметры;

В типовых операциях БГУ 2.0 аналогичная настройка выполняется в окне редактирования реквизита. Убедитесь, что в поле Связи параметров выбора указано: Отбор.Владелец(СубконтоВид). Это говорит системе: «Возьми значение из поля СубконтоВид и используй его как фильтр для владельца в справочнике Субконто».

Резюме и рекомендации

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

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

← На главную