В этой статье мы рассмотрим, как пользоваться обработкой , которая присутствует в большинстве типовых конфигураций и значительно упрощает устранение различных ошибок, связанных с обменом данных в 1С.
Для начала скажем пару слов о том, как происходит обмен данными в 1С.
Для описания процедуры обмена в конфигурации существует объект ПланОбмена . Для каждого варианта обмена данными создается свой план. Например, план обмена между конфигурациями Бухгалтерия предприятия и Управление торговлей.
Каждый план обмена данными содержит элементы (узлы). В этих узлах регистрируются объекты, которые должны быть переданы при следующем обмене данными. Передавать при каждом обмене все объекты (справочники, документы) нецелесообразно, т.к., во-первых, их может быть слишком много, и обмен затянется на сутки, а во-вторых, не все объекты изменялись пользователями, поэтому большинство из них уже есть в базе-приемнике в нужном виде.
Кроме того, узлы плана обмена имеют два специальных реквизита: и Номер принятого сообщения. Каждый раз, когда выгружается пакет данных для обмена, ему присваивается порядковый номер. Он записывается в реквизит Номер отправленного сообщения . Аналогично, когда загружается пакет данных из другой информационной базы, он тоже имеет порядковый номер. В случае успешной загрузки данных этот номер записывается в реквизит Номер принятого сообщения .
Номера нужны для того, чтобы не возникло путаницы в передаваемых пакетах данных. Если в базу приходит пакет с номером, например, 152, а в базе уже зарегистрирован Номер принятого сообщения 169, то такой пакет будет проигнорирован. При этом будет показана ошибка:
Номер сообщения меньше либо равен ранее принятому
А если придет пакет с номером 170 или больше, то он будет загружен в базу и реквизиту Номер принятого сообщения будет присвоен его номер.
В ходе работы с обменом данными в 1С могут возникать и другие нестандартные ситуации, требующие работы с номерами сообщений, регистрацией или отменой регистрации объектов в узлах и т.д.
Итак, обработка Регистрация изменений для обмена позволяет вносить изменения в узлы обмена, т.е. принудительно регистрировать объекты и снимать их регистрацию, изменять номера принятых и отправленных сообщений, просматривать зарегистрированные объекты.
Примеры случаев, когда это может понадобиться:
Порядок использования обработки Регистрация изменений для обмена :
Если у Вас возникли проблемы с обменом между информационными базами 1С и решить ее своими силами не получается, наши специалисты с радостью и в кратчайшие сроки помогут Вам в этом.
Ошибка «Номер сообщения меньше либо равен ранее принятому», наверное, знакома каждому, кто когда-либо связывался с обменами в программах 1С. Рассмотрим, почему возникает такая ошибка, и предложим скачать обработку для исправления ситуации.
Когда происходит обмен данными, система обычно делает специальные пометки в базе данных о том, происходила выгрузка или нет. Узлы планов обменов имеют два специальных стандартных реквизита — Номер принятого и Номер отправленного сообщения (подробно — ). Именно в этих реквизитах 1С хранит информацию о загруженных/выгруженных пакетах.
Для корректного обмена данными номера сообщений должны попарно совпадать в обменивающихся базах. Т.е. если в базе источник номер отправленного сообщения равен 300, то номер полученного сообщения в базе приемнике должен быть равен 300.
Получите 267 видеоуроков по 1С бесплатно:
Но случаются ситуации, когда номера сообщений начинают расходиться. Это может случится в различных случаях. Например, если одна из баз была восстановлена из архива. В таком случае необходимо выравнять коды сообщений узлов обмена.
Для изменения номера сообщений проще всего воспользоваться типовой обработкой — «Регистрация изменений для обмена».
Обработка существует как для обычного приложения:
Так и для управляемого:
Для исправления ошибки необходимо нажать на гиперссылку с номерами сообщений (или кнопку Изменить номера сообщений).
В открывшимся окне следует установить сообщения, равные нулю, и нажать кнопку «Записать»:
Внимание! При установки нулевых значений Вы потеряете регистрацию изменений для обмена, т.е. система не выгрузит последний пакет изменений.
Описанные выше обработки обычно в составе типовых конфигураций.