В процессе работы с конфигурацией «1С:Бухгалтерия предприятия» (на платформе «1С:Предприятие 8.3») пользователи могут столкнуться со сбоем, когда из карточки контрагента полностью исчезает реквизит «Юридический адрес» или вся группа контактной информации. При этом базовое обновление конфигурации или процедура «Тестирование и исправление» далеко не всегда помогают вернуть поле на форму.
Рассмотрим подробно причины возникновения этой проблемы и разберем практические способы восстановления корректного отображения адреса.
Вывод контактной информации на форму контрагента выполняется программно с помощью механизмов Библиотеки стандартных подсистем (БСП). Механизм опирается на предопределенные элементы справочника ВидыКонтактнойИнформации. Выясним основные причины, по которым система перестает показывать юридический адрес:
ИмяПредопределенныхДанных. Элемент становится обычным (пользовательским), и программный код БСП перестает идентифицировать его как системный адрес.Используется или снят флаг «Отображать всегда», незаполненные строки адреса перестают отображаться на форме контрагента.ВидыКонтактнойИнформации. Если данные привязались к «обычному» элементу вместо предопределенного, на форме они не отобразятся.Проанализируем базовые варианты проверки, не требующие написания кода.
В первую очередь проверим настройки отображения на самой форме контрагента:
Если в настройках формы элементы отсутствуют, проверим настройки самого справочника видов контактной информации:
ВидыКонтактнойИнформации).Проанализируем состояние видов контактной информации с помощью запроса. Выполним следующий запрос в консоли запросов, чтобы найти все деактивированные виды КИ:
ВЫБРАТЬ
ВидыКонтактнойИнформации.Ссылка КАК Ссылка,
ВидыКонтактнойИнформации.Наименование КАК Наименование,
ВидыКонтактнойИнформации.Используется КАК Используется
ИЗ
Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
ГДЕ
НЕ ВидыКонтактнойИнформации.Используется
Если нужный вид контактной информации найден среди неиспользуемых, его признак активности можно восстановить программно с помощью вызова служебного метода БСП:
УправлениеКонтактнойИнформациейСлужебный.УстановитьЗначениеПризнакаИспользуется(СсылкаНаВидКИ, Истина);
Если связь между элементом базы данных и метаданными конфигуратора была утеряна, обычное обновление конфигурации (файлом .cf или .cfu) не исправит запись в таблице базы. В этом случае требуется принудительно запустить процедуру обновления предопределенных данных БСП.
Разберем, как выполнить привязку элементов через внешнюю обработку или вызов кода в контексте сервера:
ОбновлениеИнформационнойБазы.ОбновитьПредопределенныеЭлементы(Метаданные.Справочники.ВидыКонтактнойИнформации);
Эта команда сопоставит элементы из конфигуратора с элементами в режиме «1С:Предприятие» по их идентификаторам и восстановит значение реквизита ИмяПредопределенныхДанных (для юридического адреса контрагентов это значение ЮридическийАдресКонтрагента, а для группы — СправочникКонтрагенты).
Посмотрим на ситуацию, когда в базе образовалось несколько элементов с наименованием «Юридический адрес». В таком случае исторические ссылки могли остаться на одном элементе, а предопределенным является другой.
Для исправления выполним следующие шаги:
Виды контактной информации.После выполнения указанных шагов и перезапуска сеанса строка «Юридический адрес» снова станет доступна для просмотра и редактирования в карточках контрагентов.