В практике администрирования и сопровождения конфигураций на базе 1С:Предприятие 8.3, в частности "1С:Бухгалтерия предприятия 3.0", встречается ситуация, когда из карточки организации внезапно исчезают адреса (юридический, почтовый). При этом, если попытаться нажать на гиперссылку "История" рядом с полем адреса, программа выдает ошибку. Часто визуально адрес может отображаться в других местах (например, в печатных формах или внизу формы), но само поле ввода пустое.
Разберем детально причины этого поведения и пошаговый алгоритм восстановления корректной работы справочника.
Прежде чем приступать к "лечению" базы, проанализируем симптомы. Ошибка, возникающая при нажатии на "Историю", и пустое поле адреса обычно указывают на нарушение ссылочной целостности или дублирование данных в служебных справочниках.
В конфигурации адреса хранятся не как простые строки в справочнике Организации, а в табличной части или регистре сведений с привязкой к справочнику ВидыКонтактнойИнформации. Ключевым моментом здесь является то, что виды адресов (например, "Юридический адрес организации") являются предопределенными элементами.
Если в базе данных по какой-то причине (сбой обновления, некорректная синхронизация, динамическое обновление) теряется связь с предопределенным элементом, система может создать его дубль. В итоге мы получаем ситуацию:
Как выяснилось в ходе обсуждения проблемы, дубли в справочнике ВидыКонтактнойИнформации могут быть не видны в пользовательском режиме сразу. Часто они проявляются только после процедуры тестирования базы. Поэтому начнем с проверки целостности.
Важно: Перед выполнением любых операций обязательно сделайте резервную копию информационной базы!
Выполним следующие действия в режиме Конфигуратора:
После завершения процедуры зайдем в режим 1С:Предприятие. Теперь, если в базе были скрытые нарушения ссылок, в справочнике ВидыКонтактнойИнформации появятся явные дублирующие записи (например, два элемента "Юридический адрес организации").
Теперь, когда проблема локализована, нам необходимо объединить дублирующиеся записи, чтобы перенести адреса со "старых" (ошибочных) ссылок на правильные предопределенные элементы.
Воспользуемся стандартной обработкой "Поиск и удаление дублей".
ВидыКонтактнойИнформации.Система проанализирует справочник и покажет группы задвоенных элементов. Внимательно изучим результаты поиска.
Нам необходимо определить, какой из элементов является "Оригиналом" (правильным), а какой — дублем, подлежащим удалению.
Выберем правильный элемент как "Оригинал" и нажмем кнопку Удалить дубли.
В этот момент произойдет самое важное действие: обработка найдет все места использования "плохого" дубля (в данном случае — записи в регистрах с адресами организаций) и заменит в них ссылку на "правильный" оригинал.
После завершения удаления дублей вернемся в карточку организации.
Сценарий А: Адрес появился автоматически
В большинстве случаев, если вы правильно выполнили замену ссылок на этапе удаления дублей, адрес в карточке организации должен отобразиться автоматически. Это происходит потому, что запись регистра теперь ссылается на корректный Вид Контактной Информации, который и ожидает увидеть форма элемента.
Сценарий Б: Адрес все еще пуст
Если после удаления дублей поле все еще пустое, это может означать, что:
ИмяПредопределенныхДанных.В этом случае, как показывает практика, необходимо удалить оставшиеся некорректные записи (если они есть) через "Удаление помеченных объектов" и заполнить адрес в карточке организации заново. Поскольку дублей видов контактной информации больше нет, новый ввод адреса запишется по верному пути и сохранится корректно.
Почему обычная подмена ссылок вручную не всегда работает? Дело в том, что справочник ВидыКонтактнойИнформации имеет реквизит ИмяПредопределенныхДанных. Если в базе возникают два элемента с одинаковым именем предопределенных данных (один реальный предопределенный, второй — обычный, созданный ошибочно), платформа может вести себя непредсказуемо при обращении к метаданным.
Именно поэтому последовательность действий "Тестирование и исправление" -> "Поиск и удаление дублей" является наиболее надежной. ТиИ восстанавливает структуру, делая дубли видимыми, а штатная обработка корректно переносит ссылки, сохраняя исторические данные адресов.
Для решения проблемы:
Виды контактной информации.