При разработке в 1С часто возникает ситуация: мы создали документ, настроили его движения по регистру накопления или сведений, но в интерфейсе, в форме документа, команда для перехода к этим движениям не появляется. Это распространенная проблема, которая может завести в тупик, особенно если все основные настройки, на первый взгляд, выполнены верно. Давайте разберем по шагам все возможные причины и найдем решение.
Проанализируем типичный случай: у документа есть движения по регистру, что подтверждается в соответствующей вкладке в конфигураторе, но в панели навигации формы (меню «Перейти») ссылка на этот регистр отсутствует. Разберемся, почему так происходит и как это исправить.
Это первая и самая главная причина, по которой платформа может не отображать навигационные ссылки. Платформа 1С умеет автоматически генерировать команды для перехода к связанным данным (регистрам, журналам и т.д.). За это отвечает свойство «Использовать стандартные команды».
Важно понимать, что эту настройку нужно проверить у самого объекта метаданных, а не у его формы.
Кроме того, проверьте аналогичное свойство и у самого регистра, движения по которому должны отображаться. Хотя это менее критично, для полноты картины стоит убедиться, что и там эта опция включена.
Чаще всего установка этого флага решает проблему. Но что делать, если он уже стоит, а ссылки все равно нет?
Это самая частая неочевидная причина. Конфигуратор 1С, как и платформа в режиме «Предприятие», активно использует кэширование для ускорения работы. Иногда после изменения свойств метаданных (например, установки флага «Использовать стандартные команды») конфигуратор не успевает обновить кэш командного интерфейса и продолжает отображать старую структуру. В результате вы видите, что галка стоит, но в интерфейсе ничего не меняется.
Рассмотрим несколько способов «заставить» платформу обновить свое состояние:
%APPDATA%, нажмите Enter. Вы попадете в папку C:\Users\<ИмяПользователя>\AppData\Roaming.1C и внутри нее папку 1cv8. В ней будут каталоги с длинными буквенно-цифровыми именами — это и есть кэш баз.%LOCALAPPDATA% (папка AppData\Local), где также находится папка 1C.В большинстве случаев после выполнения этих действий долгожданная ссылка на регистр в меню «Перейти» появится.
Даже если стандартные команды генерируются, они могут быть принудительно скрыты в настройках командного интерфейса. Это может произойти как на уровне всей конфигурации, так и на уровне конкретной подсистемы.
Давайте проверим эти настройки:
Таким образом можно вручную управлять видимостью автоматически сгенерированных команд.
Система безопасности 1С автоматически скрывает элементы интерфейса, к которым у текущего пользователя нет доступа. Если у роли, под которой вы тестируете функционал, нет права на чтение (или просмотр) нужного регистра, платформа никогда не покажет команду для перехода к нему, даже если все технические настройки верны. Для этой задачи можно использовать обработку для быстрой проверки прав доступа к объектам метаданных.
Проанализируем права:
Если ваша конфигурация разработана с использованием БСП, всё может быть еще интереснее. В БСП существует механизм функциональных опций, который позволяет включать и выключать целые блоки функциональности. Часто видимость объектов метаданных (и команд для них) привязана к таким опциям.
Выясним, не в этом ли причина:
Подводя итог, можно составить следующий чек-лист для решения проблемы:
Использовать стандартные команды у объекта-документа.Следуя этим шагам, вы гарантированно найдете причину и восстановите нужную навигационную ссылку в форме вашего документа.