Часть данных потерялась после сбоя приёмника в обмене на плане обмена
Обмен между двумя базами 1С построен на плане обмена. В процедуре выгрузки разработчик снимает регистрацию изменений сразу после того, как файл сообщения сформирован и отправлен.
Однажды приёмник упал в середине загрузки: часть объектов из файла записалась, часть — нет. Следующая выгрузка ушла уже без потерянных объектов, и в приёмнике они так и не появились.
Как нужно было построить процесс?
- Выгружать полный состав справочников при каждой выгрузке, чтобы не зависеть от регистрации изменений
- Снимать регистрацию изменений только после подтверждения приёма — для этого в плане обмена есть механизм нумерации сообщений
- Ошибка целиком на стороне приёмника: он обязан загружать сообщение одной транзакцией, тогда потери данных не было бы вовсе
- Увеличить частоту выгрузок, чтобы сообщения были мельче и успевали обрабатываться целиком
