Синхронизация данных между конфигурациями «1С:Зарплата и Управление Персоналом» (ЗУП) и «1С:Бухгалтерия предприятия» (БП) — это рутинный процесс, который, однако, может преподнести неприятные сюрпризы после очередного обновления платформы или релизов конфигураций. Одной из распространенных проблем, возникающих при загрузке данных в Бухгалтерию, является ошибка, связанная с неопределенным типом данных.
В этой статье мы подробно разберем ситуацию, когда при попытке синхронизации (а именно на этапе загрузки данных в БП) программа выдает критическую ошибку с указанием на справочник банковских счетов. Мы проанализируем текст ошибки, поймем техническую суть конфликта метаданных и рассмотрим пошаговые алгоритмы решения проблемы.
Первым делом давайте обратимся к технической информации, которую предоставляет платформа. Часто пользователи видят лишь общее сообщение: «Возникла непредвиденная ситуация». Чтобы понять суть, необходимо развернуть подробный текст ошибки (обычно по ссылке «Подробно» или «Журнал регистрации»).
В рассматриваемом случае текст ошибки выглядит следующим образом:
Тип не определен (СправочникСсылка.БанковскиеСчетаКонтрагентов)
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(6718)}: НоваяСтрока.ОбъектВыборки = Тип(ОбъектВыборки);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(6784)}: ЗагрузитьПВД(ПравилаОбмена);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(15984)}: ЗагрузитьПравилаВыгрузки(ПравилаОбмена);
...
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
Давайте разберем, что нам сообщает система:
Тип не определен. Это означает, что исполняемый код пытается обратиться к типу данных (объекту конфигурации), которого не существует в текущей базе данных.СправочникСсылка.БанковскиеСчетаКонтрагентов.КонвертацияОбъектовИнформационныхБаз при попытке загрузить правила обмена (метод ЗагрузитьПВД).Здесь кроется ключевое противоречие. В конфигурации «1С:Зарплата и Управление Персоналом» действительно существует справочник БанковскиеСчетаКонтрагентов. Он используется, например, для учета счетов третьих лиц (получателей алиментов и т.д.). Однако в конфигурации «1С:Бухгалтерия предприятия» структура данных иная. В БП используется единый справочник БанковскиеСчета, где владельцем выступает контрагент или организация.
Вывод диагностики: Правила обмена, которые пытается использовать Бухгалтерия для загрузки данных, содержат ссылку на объект из ЗУП (БанковскиеСчетаКонтрагентов), но сама Бухгалтерия "не знает" такого типа данных, так как в ее метаданных такого справочника нет. Это классическая проблема рассинхронизации версий правил обмена и конфигураций.
Такая ситуация часто возникает в следующих сценариях:
Разработчики 1С оперативно реагируют на подобные коллизии, выпуская патчи (расширения конфигурации). Это наиболее вероятный и простой способ решения проблемы.
Давайте выполним следующие действия в базе 1С:Бухгалтерия:
Если у вас настроена интернет-поддержка, программа автоматически скачает и установит необходимые исправления. Ищите патчи с описанием, похожим на "Исправление ошибки загрузки правил обмена при синхронизации с ЗУП" или "Ошибка Тип не определен при обмене".
После установки патчей обязательно перезапустите программу и повторите попытку синхронизации.
Если патчи не помогли или уже установлены, проблема может крыться в том, что БП пытается использовать некорректный файл правил. Часто пользователи, пытаясь "починить" обмен, выгружают правила из ЗУП в файл (.xml) и принудительно загружают его в настройки синхронизации в Бухгалтерии. Это ошибочное действие, если версии конфигураций имеют различия в метаданных.
Давайте вернем настройки к типовым значениям:
Важно: Выберите пункт "Использовать типовые правила из состава конфигурации" (формулировка может незначительно отличаться в зависимости от версии, например, "Из конфигурации").
Этим действием мы заставляем Бухгалтерию использовать те правила конвертации, которые "зашили" в неё разработчики именно для этого релиза БП. Они адаптированы под текущую структуру метаданных БП и знают, как интерпретировать данные, приходящие из ЗУП, не вызывая ошибки Тип не определен.
В редких случаях, когда релиз БП немного отстает от релиза ЗУП (или наоборот), встроенные правила могут не подходить. В этом случае необходимо взять эталонный файл правил с официального сайта поддержки пользователей.
Рассмотрим алгоритм действий:
.xml или архив с правилами).Такой файл гарантированно содержит корректные сопоставления типов данных для указанных версий. Если в интерфейсе заблокирована загрузка пользовательских правил, подойдёт расширение для загрузки комплекта правил обмена XML.
Если вы уверены, что релизы актуальны и правила типовые, но ошибка сохраняется, возможно, проблема в кэше платформы 1С, который сохранил старую структуру объектов.
Попробуйте выполнить следующие сервисные процедуры:
Современные версии 1С используют формат обмена EnterpriseData (Универсальный формат). Ошибка Тип не определен в модуле КонвертацияОбъектовИнформационныхБаз свидетельствует о том, что система все еще пытается использовать механизм конвертации данных (КД 2.0 или гибридный), либо происходит инициализация контекста обмена.
Если вы настраиваете синхронизацию "с нуля", рекомендуется использовать именно Универсальный формат (EnterpriseData), так как он менее чувствителен к различиям в версиях конфигураций и отсутствию специфических справочников, просто игнорируя неизвестные поля, а не вызывая критические ошибки. В качестве альтернативного варианта при сбоях типового механизма можно применить обработку для односторонней синхронизации ЗУП и БП через файл.
Ошибка с отсутствующим типом СправочникСсылка.БанковскиеСчетаКонтрагентов в Бухгалтерии при обмене с ЗУП возникает из-за попытки системы интерпретировать данные ЗУП через призму правил, не соответствующих текущей структуре БП.
Для исправления:
Вмешательство программиста и доработка кода в данном случае не требуются — проблема решается штатными средствами администрирования.