1C-CodeОшибки 1С → Ошибки обмена данными

Ошибки обмена данными в 1С: объект не найден, конфликт версий

Сообщение платформы: Ошибки обмена данными

Обмен между базами ломается не там, где кажется. Сообщения бывают разные, а причин у них немного, и они повторяются из проекта в проект.

Отчего это бывает

1. Объект ссылается на то, чего в приёмнике ещё нет

// документ приехал раньше контрагента, на которого ссылается

Порядок выгрузки важен: сначала то, на что ссылаются, потом ссылающееся. В типовых механизмах это решается составом плана обмена и правилами регистрации.

2. В обработчиках не проверяется ОбменДанными.Загрузка

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	Если ОбменДанными.Загрузка Тогда
		Возврат;      // без этого пересчёт затрёт присланное
	КонецЕсли;

Самая частая и самая коварная: базы расходятся молча, и обнаруживается это через месяц по несходящимся отчётам.

3. Номера сообщений разъехались

// приёмник подтвердил приём, а источник этого не увидел

Тогда изменения либо шлются повторно, либо теряются. Номера отправленного и принятого сообщения смотрят в самом узле плана обмена.

Что сделать

Начните с журнала регистрации в ПРИЁМНИКЕ: там записано, что именно не легло. Дальше проверьте обработчики на ОбменДанными.Загрузка — это одна строка в начале каждого, и её отсутствие объясняет большую часть расхождений.

Проверить себя на практике. В тренажёре те же ошибки возникают на настоящем интерпретаторе языка 1С: сообщения дословно те же, что у платформы, но исправить их можно сразу в браузере, без установки и без риска для рабочей базы.

Открыть тренажёр

Разобраться глубже

Другие частые ошибки

Поле объекта не обнаружено Значение не является значением объектного типа Переменная не определена Метод объекта не обнаружен Индекс находится за границами массива Деление на ноль