При работе в конфигурации 1С:Управление нашей фирмой (УНФ) версии 1.6 пользователи часто сталкиваются с досадной ситуацией: при попытке изменить любые данные в карточке контрагента (даже не связанные с налогами) система выдает критическую ошибку: «Обновление ИНН подчиненного контрагента завершилось с ошибкой». При этом поле ИНН в самой карточке может быть заблокировано для редактирования (отображается серым цветом), что ставит пользователя в тупик.
В данной статье мы подробно разберем, почему возникает эта проблема, как работает механизм связи головных организаций и филиалов в 1С, и какими техническими средствами можно восстановить работоспособность базы данных.
Для начала проанализируем, почему 1С блокирует редактирование ИНН и пытается что-то обновить в фоновом режиме. В конфигурации Управление нашей фирмой реализована строгая логика ведения учета по обособленным подразделениям. Согласно законодательству и правилам структуры справочника, у головной организации и её филиалов ИНН должен быть идентичным, а различаться могут только КПП.
Когда в карточке контрагента заполнен реквизит ГоловнойКонтрагент, система применяет следующие правила:
ИНН в карточке филиала становится недоступным для ручного редактирования. Оно автоматически синхронизируется с ИНН головной организации.Ошибка, которую мы рассматриваем, означает, что в процессе этого автоматического обновления произошел сбой. Система не смогла записать изменения в одну из подчиненных карточек, из-за чего откатила запись основной карточки.
Рассмотрим подробнее основные технические факторы, которые приводят к прерыванию транзакции:
ГоловнойКонтрагент одного из филиалов может быть указан объект, который был физически удален из базы (отображается как «Объект не найден»).Поскольку реквизит ГоловнойКонтрагент часто скрыт с формы, нам необходимо проанализировать структуру данных «изнутри». Для этого воспользуемся инструментом Консоль запросов. Нам нужно найти всех контрагентов, которые считают наш «проблемный» объект своим головным офисом.
Рассмотрим пример запроса, который поможет выявить скрытые связи:
ВЫБРАТЬ
Контрагенты.Ссылка КАК Филиал,
Контрагенты.Наименование КАК Наименование,
Контрагенты.ИНН КАК ИНН,
Контрагенты.КПП КАК КПП,
Контрагенты.ПометкаУдаления КАК Удален
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.ГоловнойКонтрагент = &ПроблемнаяСсылка
В параметре &ПроблемнаяСсылка укажите того контрагента, которого вы не можете сохранить. Проанализируем результат запроса. Если список не пуст, значит, у вас есть филиалы. Особое внимание обратите на записи с ПометкаУдаления = Истина. Именно они чаще всего блокируют обновление.
Если консоль запросов подтвердила наличие подчиненных элементов, проанализируем ситуацию с помощью Инструментов разработчика (ИР) или встроенной обработки «Групповое изменение реквизитов». Это позволит нам увидеть данные, которые не выводятся в обычном интерфейсе пользователя.
Посмотрим на алгоритм действий через групповое изменение:
Головной контрагент.Головной контрагент и попробуем его временно очистить у всех найденных филиалов.Важный совет: Перед массовым изменением данных обязательно создайте резервную копию информационной базы!
Проанализируем ситуацию, если мы не хотим разрывать связь между головной организацией и филиалами. В этом случае нам нужно сделать следующее:
Головной контрагент.Если проблема в версии 1.6.17.174, обратите внимание на заполнение КПП. В этой версии существовал баг: если у подчиненного контрагента поле КПП не заполнено, система при попытке записи «головы» могла ошибочно считать, что происходит попытка создания дубля, и блокировала транзакцию. Убедитесь, что у всех обособленных подразделений КПП заполнен корректно.
Часто проблема решается стандартной процедурой поиска и удаления дублей. Выясним, нет ли в системе двух карточек с одинаковым ИНН, одна из которых является «битой» или некорректно заполненной.
Используйте обработку Поиск и удаление дублей, выбрав поиск по ИНН. Если система найдет похожие записи, объедините их, назначив «правильную» карточку оригиналом. Это автоматически переподтянет все ссылки в документах и очистит некорректные связи в реквизите ГоловнойКонтрагент.
Ошибка «Обновление ИНН подчиненного контрагента» — это всегда следствие нарушения целостности иерархических связей в справочнике. Для её решения мы:
После очистки некорректных связей или исправления данных в подчиненных карточках, запись основного контрагента пройдет успешно, и ошибка исчезнет.