При работе с управляемыми формами платформы 1С:Предприятие часто возникает задача вывода подчиненного регистра сведений в командную панель навигации (группа «Перейти») формы объекта. Рассмотрим подробнее, по каким причинам ссылка на регистр сведений может не появляться в форме справочника и как правильно настроить связь метаданных.
Чтобы платформа 1С автоматически сформировала команду перехода к списку записей регистра сведений из формы справочника, необходимо соблюдение нескольких ключевых требований в конфигураторе:
СправочникСсылка.Контрагенты), должно иметь установленное свойство «Ведущее». Именно этот флаг указывает платформе, что записи регистра неразрывно связаны с объектом справочника и должны отображаться в его панели навигации.Использовать стандартные команды (а также Автоматическое размещение стандартных команд). Если авторазмещение отключено, платформа не станет автоматически добавлять системные ссылки перехода.Выясним первую и самую частую причину отсутствия команды перехода. Проанализируем структуру регистра сведений:
РегистрСведений в дереве метаданных конфигуратора.Контрагент с типом СправочникСсылка.Контрагенты).Важное ограничение: Если ссылка на справочник находится в реквизите или ресурсе регистра сведений, сделать поле ведущим технически невозможно. Автоматическая связь в панели навигации работает только для измерений.
Даже после установки свойства «Ведущее» команда перехода может не отображаться в уже существующей управляемой форме. Рассмотрим, как принудительно обновить интерфейс формы в конфигураторе:
ФормаЭлемента).Если в конфигураторе все настроено верно, но в режиме клиентского приложения ссылка «Перейти» не отображается, проверим дополнительные факторы:
1С:Предприятие пользователь мог сохранить индивидуальную настройку формы. Для проверки откроем форму элемента справочника, зайдем в меню «Еще» и выберем пункт «Установить стандартные настройки».Чтение и Просмотр на данный РегистрСведений. При отсутствии прав платформа скрывает команду перехода автоматически.Истина.Если автоматическая связь не подходит или требуется реализовать сложную логику отбора, мы можем добавить пользовательскую команду на форму справочника вручную. Для этого создадим команду формы и вызовем форму списка регистра сведений программно:
ПараметрыОткрытия = Новый Структура("Отбор", Новый Структура("Контрагент", Объект.Ссылка));
ОткрытьФорму("РегистрСведений.ИмяРегистра.ФормаСписка", ПараметрыОткрытия, ЭтаФорма);
Созданную команду можно перетащить в командном интерфейсе формы непосредственно в группу «Панель навигации.Перейти», что позволит полностью воспроизвести стандартное поведение платформы.