Обратился клиент с просьбой оказать помощь в 1С. Проблема: перестал работать обмен ут10.2 – бп 3.0. Ошибка указана выше. Обмен не работает, данные накапливаются, надо что-то делать.
Посмотрел конфигурацию БП3.0, действительно в ней нет данных “Перечисление.СтатусОплатыСчетаПокупателю.НеОплачен”.
Т.е. главная задача убрать из правил это предопределенное свойство.
С корректировкой правил обмена дел особо не имел. Поэтому потратил некоторое время на выгрузку правил из БП3.0.
Обработка из конвертации данных “Выгрузка правил синхронизации.epf” в этой конфигурации не работает.
Как я и думал “добрые” разработчики 1с спрятали выгрузку правил обмена в файл вот тут:
В итоге сохранил их в файл zip.
В zip архиве у нас 3 файла
Причем при попытке загрузить их обратно в конфигурацию через кнопку “Загрузить правила” получил тут же ошибку “Неправильно указаны реквизиты шапки объекта “Валюты”. Реквизит “ПараметрыПрописиНаРусском” не существует.“
Придется еще и эту ошибку исправлять. С конвертацией данных я еще довольно поверхностно знаком, но причину этой ошибки узнал. В конфигурации БП нет такого реквизита. Видимо эти правила были загружены когда этот реквизит еще был, а потом при обновлении конфигурации его разработчики убрали.
Решил редактировать файлы блокнотом.
Итак исправляем ошибку “Неправильно указаны реквизиты шапки объекта “Валюты”. Реквизит “ПараметрыПрописиНаРусском” не существует.“
Открываем блокнотом файл ExchangeRules.xml и ищем “ПараметрыПрописиНаРусском”.
Видим, что правило очень хочет чтобы приемником тоже был “ПараметрыПрописиНаРусском”, которого у нас нет. Поэтому этот фрагмент мы удаляем.
Пакуем наши 3 файла в zip и пытаемся загрузить – все грузится без ошибок.
При загрузке правил еще возникала ошибка “Конфликт блокировок при выполнении транзакции“.
Решил так. Выгнал всех, запустил конфигуратор. Из конфигуратора 1с-предприятие и сразу грузить правила. Ошибка не появлялась.
Теперь исправим ошибку “Предопределенное значение “Перечисление.СтатусОплатыСчетаПокупателю.НеОплачен” не найдено“.
В конвертации данных нашел что вот в этом месте возникает ошибка
Но править решил через любимый блокнот.
Вот это место, я его просто закомментировал.
Вначале пытался просто сделать Перечисление.СтатусОплатыСчета, но БП начало при обмене падать с ошибкой что нет метода установитьСтатусДокумента.
Сохранил изменения, загрузил эти 3 файла в архив zip
и загрузил в БП
После этого обмен заработал без ошибок.
Исправленные правила также необходимо загрузить в УТ10.3
p.s. Понял, что необходимо срочно начать изучение КД.
Как исправить правила обмена? |
Я |
28.01.14 – 17:50
Обновил типовую, с типовыми правилами, но источник правил был указа “Из файла”, теперь ругается объект, которой с “Удалить” впереди.
Как обновить правила?
1 – 28.01.14 – 17:57
Читаем мануал по конвертации данных.
Выгрузить метаданные, загрузить правила в кд, обновить метаданные в кд, обновить правила.
2 – 28.01.14 – 18:00
Выгрузил метаданные из обновленной конфы, загрузил правила из этой же конфы из планов обмена(сохранил макет в txt) в КД
“Обновить метаданные в кд”, “обновить правила” – это не понял
3 – 28.01.14 – 18:03
берешь правила из твоего указанного файла, загружаешь в кд. У тебя появляются правила, метаданные, свойства и т.п. Выгружаешь метаданные из источника и приемника. Обновляешь метаданные в кд, смотришь на новые объекты с УдалитьЧоТоТам…Редактируешь правила, пихаешь обратно в базу
4 – 28.01.14 – 18:05
Конвертация поможет Вам
5 – 28.01.14 – 18:06
(4) Спасибо, Кэп!
6 – 28.01.14 – 18:15
а обновить с типовой никак?
7 – 28.01.14 – 18:17
(6) Что значит обновить с типовой?
8 – 28.01.14 – 18:21
загрузить и исправить правила стандартным обновлением
9 – 28.01.14 – 18:22
“Товарищ не панимаит…”
10 – 28.01.14 – 18:24
(8) Попробуй, потом расскажешь 🙂
11 – 28.01.14 – 18:28
(9) Не понимаю.
Есть обновление, оно в том числе обновляет и правила, почему я сейчас не могу поставить источник правил “типовые”, загрузить и использовать их?
12 – 28.01.14 – 18:28
(10) не получилось
13 – 28.01.14 – 18:29
(8) у тебя типовые правила же не изменились так как файл правил обмена является внешним. Ты их и не трогаешь. Меняешь только внешний файл в КД.
14 – 28.01.14 – 18:30
(13) если я не хочу пользоваться больше внешним файлом, а хочу типовыми правилами?
15 – 28.01.14 – 18:36
(3) правила из какого указанного файла? если я загружу из новой конфигурации правила у меня только они и появятся.
16 – 28.01.14 – 18:42
(14) так в РС.ПравилаОбмена…. открываешь нужную запись, переключаешь на типовые потом кнопку “Загрузить”. Все
17 – 28.01.14 – 18:43
как обновить метаданные в КД?
нажимаю Загрузить структуру метаданных конфигурации, указываю выгрузку м.д. из новой конфы, выбираю “Модифицировать существующую конфигурацию”, указываю старую, так?
18 – 28.01.14 – 18:46
(16) если бы было так просто…
19 – 28.01.14 – 18:46
(16) непомогает
20 – 28.01.14 – 19:00
(1) а где бы почитать такой мануал?
Gluk
21 – 30.01.14 – 20:22
В общем разобрался: в поставке обновленной конфы были новые файлы регистрации и конвертации. Нужно было просто загрузить их в конфу источник.
В случае если между базами данных 1с настроен обмен с использованием правил обмена. То в результате доработки конфигураций или обновления на более актуальный релиз возникает задача актуализации правил обмена.
Оглавление
ВВЕДЕНИЕ
Создание и обновление объектов метаданных конвертации
Редактирование правил обмена
Сохранение правил обмена и их загрузка в БД
ВВЕДЕНИЕ
В случае если между базами данных 1с настроен обмен с использованием правил обмена. То в результате доработки конфигураций или обновления на более актуальный релиз возникает задача актуализации правил обмена.
Схематический процесс актуализации правил представлен далее:
Схема 1.
Обращаю внимание, что первый пункт в данной схеме не актуален, если у вас в базе конвертация данных уже находятся правила обмена.
Создание и обновление объектов метаданных конвертации
Выгрузка правил обмена из базы в XML файл (для новой конвертации)
Для того что выгрузить привила обмена, в типовых конфигурациях нужно зайти в справочник настройки обмена данными а нажать кнопку «Сохранить правила обмена
Рис. 1. Форма элемента справочника Настройки обмена данными
Загрузка правил обмена, в конфигурацию КД 2.0 (для новой конвертации)
После запуска Конвертации данных нужно открыть форму загрузки правил обмена, и указать файл с правилами обмена данными.
Рис. 2. Вызов формы загрузки правил обмена
Выгрузка изменений конфигурации в файл XML (MD81Exp.epf, MD82Exp.epf)
Выгрузка конфигурации осуществляется обработкой MD81Exp.epf, MD82Exp.epf соответственно для версий 1с 8.1 и 8.2 .Данная обработка расположена в каталоге шаблона конфигурации КД (например C:UsersRudakovDVAppDataRoaming1C1Cv82tmplts1cConversion2_1_7_1 ).
Осуществим выгрузку конфигурации БП 3.0.
Открываем обработку MD82Exp.epf, в ней отмечаем выгружать движения документов без проведения и нажем выгрузить (Рис. 3.)
Рис. 3. Форма обработки MD82Exp.epf
Замена изменённой конфигурации в правилах обмена.
Откроем список правил обмена (Рис. 4.)
Рис. 4. Открытие формы списка правил обмена
Вызываем форму элемента правил обмена (Рис.5). Далее взываем форму конфигурации заменимой конфигурации.
Рис. 5. Форма правил обмена
Появится форма элемента справочника конфигурации (Рис. 6.), в ней нужно заменить старую конфигурацию, на актуальную конфигурацию которую мы получили на втором шаге.
Рис. 6. Формы конфигурации
В форме загрузки метаданных конфигурации, следует обратить внимание, что вы действительно заменяете (а не дополняете и не создаете) нужную конфигурацию.
Рис. 7. Форма конфигурации и форма загрузки структуры метаданных конфигурации
Редактирование правил обмена
Актуализация ПКС и ПКО
При редактировании правил обмена следует обратить внимание на списки правил конвертации объектов и списки правил конвертации свойств. Если объект или свойство удалены (возможно, переименованы) в новой версии конфигурации, то строка с данным полем будет выделена красным. Подобный пример приведен на Рис. 8, в результате обновления к новой конфигурации была удалена табличная часть «Пересортица» и реквизит «ПолученИзАстор», следовательно, данные строки выделены красным.
Рис. 8. Участки, на которые следует обратить внимание при корректировании правил обмена
Для исправления данных недостатков, нужно изменить источник и приемник конвертируемого свойства. Для этого нужно кликнуть по выделенной строке дважды, и в появившейся форме правиле конвертации свойств (Рис. 9.), просмотреть свойства источника и свойства приемника. Если в конфигурации были удалены реквизиты или табличные части, то в конвертации данных при загрузке, эти свойства будут помечены на удаление. Следовательно, нужно переназначить свойства, помеченные на удаление на новые появившиеся свойства, или может быть удалить данную конвертацию свойства из ПКО.
Рис. 9.Актуализация конвертации свойств.
Аналогичным образом нужно актуализировать правила конвертации объектов.
Актуализация кода обработчиков
Для актуализации кода обработчиков на данный момент нет средств, для выявления синтаксических ошибок.
Сохранение правил обмена и их загрузка в БД
Правила обмена нужно сохранить в файл на диске, для этого нажмите «Сохранить правила» в форме настройки правил обмена.
Рис. 10. Сохранение правил обмена
Появится форма сохранения правил, в которой указывается файл сохранения правил обмена.
Рис. 11. Форма сохранения правил обмена
Теперь в форме элемента справочника настройки обмена данными, загружаем правила обмена в БД. Теперь можно провести обмен.
Так же нужно обратить внимание, что при замене правил обмена в конфигурации конвертация данных новой версией правилами обмена, не всегда новые правила загружаются корректно. В частности если в вашей конфигурации конвертация данных имеются правила обмена, в которых галочка «Работа с параметрами версии 2.1» отключена, а в загружаемых правилах обмена включена, то ожидаемого результата что галочка будет включена не подтвердится, т .е. нужно будет вручную зайти и проставить данную галочку (Рис. 12.).
Рис. 12. Форма Правил обмена, вкладка параметры
В файлах размещенных к скачиваю, последовательно рассказано как сохранить новую конфигурацию, заменить её в правилах обмена и доработать их в соответствии с новыми изменениями. Попытался обратить внимание на важные пункты при решении данной задачи.
Буду рад дополнениям и замечаниям в комментариях.
Статья будет полезна начинающим разработчикам в Конвертации данных 2.1.
Ошибка «Номер сообщения меньше либо равен ранее принятому», наверное, знакома каждому, кто когда-либо связывался с обменами в программах 1С. Рассмотрим, почему возникает такая ошибка, и предложим скачать обработку для исправления ситуации.
Когда происходит обмен данными, система обычно делает специальные пометки в базе данных о том, происходила выгрузка или нет. Узлы планов обменов имеют два специальных стандартных реквизита — Номер принятого и Номер отправленного сообщения (подробно — ). Именно в этих реквизитах 1С хранит информацию о загруженных/выгруженных пакетах.
Для корректного обмена данными номера сообщений должны попарно совпадать в обменивающихся базах. Т.е. если в базе источник номер отправленного сообщения равен 300, то номер полученного сообщения в базе приемнике должен быть равен 300.
Получите 267 видеоуроков по 1С бесплатно:
Обработка Регистрация изменений для обмена 1С
Но случаются ситуации, когда номера сообщений начинают расходиться. Это может случится в различных случаях. Например, если одна из баз была восстановлена из архива. В таком случае необходимо выравнять коды сообщений узлов обмена.
Для изменения номера сообщений проще всего воспользоваться типовой обработкой — «Регистрация изменений для обмена».
Обработка существует как для обычного приложения:
Так и для управляемого:
Для исправления ошибки необходимо нажать на гиперссылку с номерами сообщений (или кнопку Изменить номера сообщений).
В открывшимся окне следует установить сообщения, равные нулю, и нажать кнопку «Записать»:
Внимание! При установки нулевых значений Вы потеряете регистрацию изменений для обмена, т.е. система не выгрузит последний пакет изменений.
Описанные выше обработки обычно в составе типовых конфигураций.
В этой статье мы рассмотрим, как пользоваться обработкой , которая присутствует в большинстве типовых конфигураций и значительно упрощает устранение различных ошибок, связанных с обменом данных в 1С.
Для начала скажем пару слов о том, как происходит обмен данными в 1С.
Для описания процедуры обмена в конфигурации существует объект ПланОбмена . Для каждого варианта обмена данными создается свой план. Например, план обмена между конфигурациями Бухгалтерия предприятия и Управление торговлей.
Каждый план обмена данными содержит элементы (узлы). В этих узлах регистрируются объекты, которые должны быть переданы при следующем обмене данными. Передавать при каждом обмене все объекты (справочники, документы) нецелесообразно, т.к., во-первых, их может быть слишком много, и обмен затянется на сутки, а во-вторых, не все объекты изменялись пользователями, поэтому большинство из них уже есть в базе-приемнике в нужном виде.
Кроме того, узлы плана обмена имеют два специальных реквизита: и Номер принятого сообщения. Каждый раз, когда выгружается пакет данных для обмена, ему присваивается порядковый номер. Он записывается в реквизит Номер отправленного сообщения . Аналогично, когда загружается пакет данных из другой информационной базы, он тоже имеет порядковый номер. В случае успешной загрузки данных этот номер записывается в реквизит Номер принятого сообщения .
Номера нужны для того, чтобы не возникло путаницы в передаваемых пакетах данных. Если в базу приходит пакет с номером, например, 152, а в базе уже зарегистрирован Номер принятого сообщения 169, то такой пакет будет проигнорирован. При этом будет показана ошибка:
Номер сообщения меньше либо равен ранее принятому
А если придет пакет с номером 170 или больше, то он будет загружен в базу и реквизиту Номер принятого сообщения будет присвоен его номер.
В ходе работы с обменом данными в 1С могут возникать и другие нестандартные ситуации, требующие работы с номерами сообщений, регистрацией или отменой регистрации объектов в узлах и т.д.
Итак, обработка Регистрация изменений для обмена позволяет вносить изменения в узлы обмена, т.е. принудительно регистрировать объекты и снимать их регистрацию, изменять номера принятых и отправленных сообщений, просматривать зарегистрированные объекты.
Примеры случаев, когда это может понадобиться:
- Сбилась нумерация сообщений обмена. Это может случиться, например, когда одну из баз восстановили из резервной копии.
- Необходимо заново передать уже переданные объекты. Например, если изменились правила обмена.
- Нужно отменить передачу отдельных объектов и т.д.
Порядок использования обработки Регистрация изменений для обмена :
- В верхнем поле выбрать узел обмена, для которого будут производиться действия. При этом большое поле внизу будет заполнено объектами, включенными в План обмена . В колонке Авторегистрация показано состояние авторегистрации изменений и количество зарегистрированных в данный момент объектов.
- Кнопка Зарегистрировать все… включает все предусмотренные планом обмена объекты в узел.
- Кнопка Удалить всю регистрацию… очищает регистрацию узла плана обмена. Внимание! Действие необратимо.
- Кнопка Зарегистрировать поодному… удаляет всю существующую регистрацию и региструет по одному объекту каждого типа. Внимание! Действие необратимо.
- Кнопка Изменить номера сообщений… позволяет установить произвольные значения реквизитов Номер отправленного сообщения и Номер принятого сообщения.
- Кнопка с крестом позволяет удалить регистрацию произвольного объекта информационной базы. При этом можно составить запрос и удалить регистрацию всех объектов, полученных в результате его выполнения.
- Кнопка с плюсом позволяет добавить регистрацию произвольного объекта информационной базы. При этом можно составить запрос и добавить регистрацию всех объектов, полученных в результате его выполнения.
- Кнопка Показать изменения, зарегистрированные для данного типа показывает объекты информационной базы, зарегистрированные в узле обмена. Перед нажатием кнопки нужно выделить интересующий тип объектов.
- Кнопка Результат стандартной выгрузки показывает, как будет выглядеть объект информационной базы при выгрузке для обмена в формате XML. Перед нажатием нужно выделить интересующий объект.
Если у Вас возникли проблемы с обменом между информационными базами 1С и решить ее своими силами не получается, наши специалисты с радостью и в кратчайшие сроки помогут Вам в этом.
как исправить номера сообщений синхронизации
Предполагаемая аудитория – специалисты по сопровождению программ 1С и пользователи.
как исправить номера сообщений синхронизации
Бывает так, что после незначительных изменений в настройках синхронизации она перестает работать.
Что сломалось? Возможно – ничего, просто в результате неправильной последовательности действий перестали совпадать номера принятого/отправленного сообщений у Источника и Приемника.
Привести в порядок синхронизацию очень просто, надо принудительно установить нужные номера сообщений.
Найдите обработку «Регистрация изменений для обмена данными». Находится она, например, через меню «все функции».
Еще это можно сделать это с помощью п. меню Администрирование-Обслуживание-Корректировка данных- Групповое изменения реквизитов.
Если помните, у какой программы запускалась синхронизация последней – установите у нее № отправленного на 1 больше чем № принятого у другой, а № полученного – такой же как номер отправленного у другой.
Если не помните — установите одинаковые номера. При первом запуске программа выдаст предупреждение о том, что данные были получены ранее, а в следующих сеансах обмен пойдет без ошибок.
Сообщение обмена было принято ранее
Ошибка «Номер сообщения меньше либо равен ранее принятому», наверное, знакома каждому, кто когда-либо связывался с обменами в программах 1С. Рассмотрим, почему возникает такая ошибка, и предложим скачать обработку для исправления ситуации.
Когда происходит обмен данными, система обычно делает специальные пометки в базе данных о том, происходила выгрузка или нет. Узлы планов обменов имеют два специальных стандартных реквизита — Номер принятого и Номер отправленного сообщения (подробно — планы обмена). Именно в этих реквизитах 1С хранит информацию о загруженных/выгруженных пакетах.
Для корректного обмена данными номера сообщений должны попарно совпадать в обменивающихся базах. Т.е. если в базе источник номер отправленного сообщения равен 300, то номер полученного сообщения в базе приемнике должен быть равен 300.
Получите 267 видеоуроков по 1С бесплатно:
Обработка Регистрация изменений для обмена 1С
Но случаются ситуации, когда номера сообщений начинают расходиться. Это может случится в различных случаях. Например, если одна из баз была восстановлена из архива. В таком случае необходимо выравнять коды сообщений узлов обмена.
Для изменения номера сообщений проще всего воспользоваться типовой обработкой — «Регистрация изменений для обмена».
Обработка существует как для обычного приложения:
Так и для управляемого:
Для исправления ошибки необходимо нажать на гиперссылку с номерами сообщений (или кнопку Изменить номера сообщений).
В открывшимся окне следует установить сообщения, равные нулю, и нажать кнопку «Записать»:
Внимание! При установки нулевых значений Вы потеряете регистрацию изменений для обмена, т.е. система не выгрузит последний пакет изменений.
Описанные выше обработки обычно в составе типовых конфигураций.
Другие статьи по 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Пользователи 1С, используя обмены, иногда сталкиваются с проблемой возникновения ошибки «Номер сообщения меньше либо равен ранее принятому». Что же обозначает эта ошибка: в базе, с которой воспроизводится обмен, зафиксирован прием пакета с номером больше или равным тому пакету, который готовится на отправку, тогда программа выдаст подобную ошибку. А в случае, если базы не восстанавливались, и возникла ошибка, то нужно найти ее причину.
Разберемся сначала с причиной ошибки. В процессе обмена данными, в системе делаются специальные пометки в базе данных. Узлы планов обмена содержат специальные реквизиты (для принятого и для отправленного сообщения). Благодаря этим двум реквизитам 1С хранит информацию о загруженных и выгруженных пакетах. Чтобы корректно воспроизвести обмен, номера сообщений в обменивающихся базах должны попарно совпадать.
Существует два способа устранения ошибки. Первый способ, можно применить в том случае, когда обмен воспроизводится с подчиненной базой. Тогда нужно создать новую выгрузку для узла. И вы можете не переживать о потере данных на удаленном узле. Проще говоря, удалить файлы обмена.
Если номера сообщений расходятся, то можно реализовать второй вариант — выровнять коды сообщений в узлах обмена. Чтобы изменить номер сообщения, следует перейти к типовой обработке и выбрать «Регистрация изменений для обмена». Далее, чтобы исправить ошибку, нужно нажать на гиперссылку с номерами сообщений или на кнопку «Изменить номера сообщений». После чего появится окно, где нужно выбрать «Установить сообщения равны нулю» или «Записать». Обратите внимание, что если нулевые данные отсутствуют, будет потеряна регистрация изменений для обмена.
Платформа:
Конфигурация:
пт, 07/02/2014 – 01:05
пт, 07/02/2014 – 09:30
пт, 07/02/2014 – 20:35
сб, 08/02/2014 – 01:28
ср, 26/02/2014 – 17:30
Необходимо обратить внимание на следующие параметры:
- номера релизов конфигурации-источника и конфигурации-приемника для которых предназначены правила;
- дата создания правил.
При дальнейшем описании будем называть перечисленные параметры – контролируемые параметры.
Контроль производится по следующим правилам.
- Определяется значение контролируемых параметров, которые загружены в конфигурацию-источник.
- Определяется значение контролируемых параметров, которые загружены в конфигурацию-приемник.
- Определяется значение контролируемых параметров, которые включены в поставку конфигурации-источника.
- Определяется значение контролируемых параметров, которые включены в поставку конфигурации-приемника.
После анализа всех этих правил выбираются те правила, дата создания которых является наиболее актуальной. При анализе правил необходимо обратить внимание на номера релизов конфигураций. Номера релизов конфигураций, указанные в правилах, должны обязательно соответствовать тем релизам конфигураций, между которыми настраивается обмен.
СМОТРЮ ПРАВИЛА конвертации нашего рабочего обмена:
Правила конвертации в БП 2.0 (2.0.49.15) – УТ-БП (11.1.2, 2.0.49, v.1) 2013-06-11T12:25:58
Правила конвертации УТ 11.1 (11.1.2.9) – БП-УТ (2.0.49, 11.1.2, v.1) 2013-06-19T09:29:55
Получаеться они соответсвуют друг другу поэтому и есть обмен.
Но судя по обновлениям следующих релизов идет разнобой
Правила конвертации УТ 11.1.4.11 БП-УТ (2.0.55.7, 11.1.4.11, v.2) 2014-02-10T10:37:17
Правила конвертации БП 2.0.55.7 УТ-БП (11.1.2.28, 2.0.55.1, v.1) 2014-01-22T12:25:29
КАк настраивать обмен.
Еще один крик души. ставлю обновления Ут 1.1.4.10 правила подходят для последней конфигурации БП. Не хочет ставиться хочет 1.1.4.9 которго нет на сайте обновлений. :(((