Как сравнить правила обмена 1с
Имеется хорошо дописанная УТ и типовая БП. Стояли типовые (!) правила обмена. БП обновил до последней версии и теперь правила обмена необходимо корректировать, т.к. типовыми теперь обмен не проходит — разница в релизах конфигураций уже большая. Так подозреваю, что проще всего отладить правила с помощью конвертации данных через сравнение и объединение правил обмена.
Подскажите, пожалуйста, где и что почитать на эту тему чтобы закрыть пробел в данной области.
Да и обновлять УТ пока не вариант — самое оптимальное настроить правила обмена
Кто что читал — поделитесь, пожалуйста!
(3) Спасибо за ссылки. Материал изучил, но совершенно непонятен порядок действий при создании своих правил обмена и регистрации так, чтобы потом правильно происходил обмен.
Имеются типовые правила, выгруженные из конфигураций:
1) Правила из текущей УТ (11.1.7.57)
2) Правила из БП до обновления (3.0.36.1)
3) Правила из БП после обновления (3.0.39.60)
Правила 1-2 спокойно обменивались, т.к. разница конфигураций позволяла это делать, а вот 1-3 отваливается с ошибками.
Если я правильно понимаю, то необходимо сравнить и объединить правила 2 и 3. Так? Или в том числе и правила 1 необходимо сравнивать и объединять с правилами, которые созданы для обмена с более новой версией БП?
Кто разбирается — ответьте, пожалуйста.
И так же стоит вопрос по литературе в данном вопросе.
Курсы по конвертации http://курсы-по-1с.рф/data-conv/
(5) Да, я видел эти курсы — куплю! Но сейчас нет возможности потратить 32 часа на изучение, к сожалению. Необходимо оперативно разобраться — поэтому и взываю к помощи.
(5) Возможно есть какая-то литература по работе с конвертацией (последние версии — начиная с 2.1.7.1)?
Дело гиблое с документацией.
Есть 2 часовой курс от специалиста по обмену, в свободном доступе. В нем по тихой — работа с конвертацией.
(4) Конечно, можно сравнивать типовые правила 2 и 3. Цель — понять, какие изменения были внесены разработчиками.
Но обработка сравнения, объединения правил предназначена не только для того, чтобы выявить эти изменения, но и выполнить слияние СОБСТВЕННЫХ (модифицированных) правил с новыми правилами поставщика.
Поэтому, берем правила ДО обновления (Ваши модифицированные) и сравниваем их с НОВЫМИ правилами поставщика. Цель — перенести изменения разработчика в свои рабочие правила.
Если изменения вносились и в правила регистрации, то для слияния правил типовая конфигурация «1С:Конвертация данных» инструментов не содержит. Обработка сравнения, слияния правил регистрации здесь — http://o-systems.ru/software/soft/UnionRegistrationRules/
(9) (8) Ребята, благодарю за ответы.
У меня правила типовые и не измененные — мне в итоге в любом случае, чтобы получить результат нужно пользоваться сравнением и объединение правил обмена, правильно? Или это только необходимо при слиянии собственных правил с новыми правилами поставщика?
Если да, то как мне их сравнивать и объединять — последовательно релиз за релизом или сразу можно не смотря на большую разницу в релизах сравнивать и объединять то что было до обновления и текущий последний релиз правил?
Прочитал «Конвертация данных. Обмен данными между прикладными решениями — Бояркин В.Э, Филатов А.И», но ответа на свои вопросы не получил.
Мои наблюдения — обработка «Сравнение, объединение правил обмена» в конфигурации «Конвертация данных 2.1.8.2» работает очень КРИВО — как можно, сравнивая две только что загруженные одинаковые конвертации из одного файла в целях эксперимента, находить различия.
Да и сама конфигурация работает криво — приходится править некоторые моменты — один из них: при копировании элемента справочника конвертации — обрезает названия ПКО, ПВД в правилах до 45 символов. Сами 1С-ники создают правила с такими длинными названиями и сами же режут при копировании. Ну ладно не суть — это правится очень быстро.
Вопрос в другом — я так не нашел никакой информации по работе с обработкой «Сравнение и объединение правил обмена». Пробовал разобраться сам, но вопросов возникает больше, чем ответов.
1) Как проверить корректность созданных правил?
2) Как будучи в Конвертации данных понять, есть ли ошибки в правилах, а именно в сопоставлении реквизитов, свойств, значений?
3) Как все эти манипуляции делали раньше — без обработки «Сравнение, объединение правил обмена». Мне ведь всего то необходимо изменить типовые правила, т.к. пришлось обновить одну из конфигураций.
Люди, подскажите что знаете — можете?
P.S. может быть есть ресурсы, где люди обсуждают только «Конвертацию данных»?
Пробовал:
1) сравнивать и объединять старые правила с новыми правилами поставщика. получается каша, учитывая, что обработка сравнения работает криво. при загрузке этой каши в конфигурацию — понятное дело ругается на отсутствие реквизитов в шапке документов, либо в табличных частях. Не получилось. Понимаю, что делаю что-то неправильно.
2) пробовал брать новые правила обмена из последней конфигурации и изменять конфигурацию в них, с последующим закрытием ошибок на которые ругается 1С, когда пытаешься загрузить правила в 1С-ку (ошибки регистрируются в журнале регистраций). Но даже если закрыть все ошибки (поправить в правилах), где гарантия, что правильно работают запросы и прочее в правилах? ведь если на текущий момент нет документа к обмену, то и не запускается ПКО. А значит проверить сразу правила обмена в полном объеме не представляется возможным.
Какая должна быть процедура по корректировке типовых правил обмена под типовые конфигурации при обновлении одной из конфигураций?
1. Форма настройки правил обмена — Сервис — Проверка
2. См. п.1
3. Сравнивали XML, было очень неудобно. Первый раз тему сравнение, объединение правил обмена я поднял летом 2008 года https://partners.v8.1c.ru/forum/topic/598798. Через некоторое время появилась первая версия обработки сравнения.
Не совсем понятно, что означает «работает очень КРИВО». Да, в ней есть ошибки, но не настолько критичные. Различия могут быть например в кодах ПКС (для этого в настройке обработки можно выбрать способ сопоставления ПКС). Может отличаться порядок выполнения и другие свойства, которые автоматически назначаются при записи элементов правил (чтобы не выявлялись различия, нужно отключить эти реквизиты сравнения).
Да и вообще, вопросы по КД логичнее задавать на партнерском форуме https://partners.v8.1c.ru/forum/
(13) Спасибо за ответ!
Хорошо, что мне ответил сам разработчик. По поводу «работает очень КРИВО» — действительно, я погорячился, скорее всего по причине непонимания как работать с ней правильно.
Первая проблема с которой я столкнулся — это сравнивание копий одних и тех же правил. Обработка находила постоянные различия и даже после объединения — это повторялось. Но тут я понял, что частично проблема была в копировании обработки средствами конфигурации «Конвертация данных».
После того, как проблему исправил — всё равно путаница была при объединении ПКС (это видимо то о чем вы написали), но я пробовал переключать режим с «по коду» на «по наименованию» и обратно. Всё так же каждый раз находились различия для объединения. Я понимаю, что я что-то делаю неправильно.
Ещё момент — после объединения правил большая часть объектов в правилах красные и в том числе часть свойств красные и часть значений. При этом если вручную у этих свойств назначать реквизиты, то они перестают быть красными.
По поводу проверки правил в КД. Совершенно не могу понять, как ей пользоваться — данная проверка даже на типовые правила ругается.
Владислав, подскажите, пожалуйста, порядок работы с обработкой и вообще в каком порядке что делать. Я сейчас напишу, как я вижу, а Вы подкорректируйте, если есть возможность.
1)Загрузка правил из текущей УТ (необновленная, старая)
2)Загрузка правил из обновленной БП
3)Сравнение и объединение правил УТ (как на этом этапе понять, какие реквизиты удалились, изменились, что конкретно необходимо менять в правилах?)
4)Сравнение и объединение правил БП (аналогичный вопрос)
5)Как быть с правилами регистраций? Правила регистраций остаются те же, что и должны быть для данных версий конфигураций?
6)Проверка правил. Какая процедура правильная?
7)Сохранение правил обмена для УТ и БП и последующая загрузка
Правильно ли я размышляю? (только нет ответов на эти важные вопросы)
Благодарю ещё раз за ответ, Владислав!
(14) WinMerge и прочие сравнилки не предлагать?
(15) Сравнивал правила в текстовых редакторах, но это неудобно и непонятно как правильно это делать, т.к. ранее опыта работы с правилами не было. Опять же остаются те же самые вопросы, что и в (14) даже если и изменить правила в WinMerge или KDiff
Обработка, которая входит в состав 1С:Конвертации данных содержит ошибки, в т.ч. и ошибки объединения. К сожалению, разработчики фирмы 1С их пока не исправили, поэтому пользоваться объединением нужно осторожно. Сравнение вполне себе работает (с небольшими замечаниями).
Я бы делал так:
1. Загрузил типовые правила текущей конфигурации.
2. Загрузил измененные правила текущей конфигурации
3. Загрузил типовые правила новой конфигурации
4. Еще раз загрузил типовые правила новой конфигурации
5. Сравнил типовые и измененные правила текущего релиза, выявил различия
6. Сравнил типовые правила текущего и нового релиза, выявил различия
7. Перенес в копию новых правил изменения из текущего релиза ИЗМЕНЕННЫХ ПРАВИЛ.
8. Сравнил новые типовые правила с измененными.
9. Выгрузил новые измененные правила и встроил в макет плана обмена или загрузил в настройку обмена.
(17) Т.к. у меня нет измененных правил текущей конфигурации — получается, что я должен пропустить пункты 2 и 5. Верно?
Остались вот эти вопросы:
1) По пункту 7 у меня вопрос — каким образом переносить изменения? Вручную получается, если не объединением через обработку?
2) Как быть с правилами регистраций? Правила регистраций остаются те же, что и должны быть для данных версий конфигураций?
3) Проверка правил. Как правильно проверять правила, если даже на типовые проверка ругается? Особые настройки при проверке?
(17) Спасибо за подробную инструкцию в этом сообщении — насколько я понял это порядок действий при наличии изменений в текущих правилах обмена.
Сравнение правил обмена
В версию 2.1.7.1 «Добавлена обработка «Сравнение и объединение правил обмена». Обработка предназначена для выполнения сравнения правил обмена между собой и объединения их как в целом друг с другом, так и их отдельных элементов (справочников, составляющих правила обмена).»
Обработка через меню Операции-Обработки не запускается, падает с ошибкой.
Подскажите, как ее правильно штатно запускать?
А то приходится в типовых конфигурациях обмены подправлять, я так понимаю, ота обработка должна быть полезной штукой.
По теме из базы знаний
- Секреты профессионалов: поддержка и сопровождение правил обмена — сложное становится простым!
- [ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена
- Настройка автоматического обмена между конфигурациями Управление торговлей 10.3 и Управление торговлей 11. 3 при помощи механизмов планов обмена и правил обмена
- Повышаем эффективность разработки правил обмена
- Как контролировать качество внешних обработок, отчетов, правил обмена, расширений 1С и поставить это на поток
- Дата
- Дата
- Рейтинг всех уровней
- Рейтинг 1-го уровня
- Древо развёрнутое
- Древо свернутое
Как сравнить правила обмена 1с
Загрузка. Пожалуйста, подождите.

Сообщение сайта
(Сообщение закроется через 2 секунды)
python —>
python
![]()

Просмотр профиля

Найти сообщения пользователя
03.06.14, 12:55
Дано: Конфигурация «Конвертация данных» последней версии.
В ней два правила конвертации, на базе типовых правил для конфигурации «УТП» 1.2.20.8. Типовые правила пытаюсь сравнить с немного доработанными. Доработка заключается в переопределении модулей, и отключением большинства правил выгрузки данных.
При сравнении правил выдается следующая ошибка:
: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
Если ИндексКартинки >= 0 ТогдаОбработка.СравнениеИОбъединениеПравилОбмена.Форма.Форма.Форма(2754)>
Может быть кто сталкивался, знает как бороться?
logist —>
logist
![]()

Просмотр профиля

Найти сообщения пользователя
03.06.14, 13:51
А что тут бороться? У Вас ИндексКартинки не число и не приравнивается к нулю, смотрите что там в этом значении и почему оно там (вероятно там какое-то неопределено или NULL)
Личные бесплатные консультации не даю, для этого есть форум!
python —>
python
![]()

Просмотр профиля

Найти сообщения пользователя
03.06.14, 14:18
Ну это не у совсем у меня.
При попытке сравнить два типовых правила обмена (идентичны) выдается та же ошибка.
Читать сообщение об ошибке я умею. Смотреть с отладчиком — что там буду долго, потому и спросил — может, кто сталкивался уже, и знает — в каком направлении копать.
python —>
python
![]()

Просмотр профиля

Найти сообщения пользователя
03.06.14, 15:41
Прочесывание кода обработки сравнения показало, что в соответствии «СоответствияИндексов» не были указаны значения индексов картинок для таких типов объектов обмена как «БизнесПроцесс», «ТочкаМаршрутаБизнесПроцесса», «Задача», что и приводило к ошибке при выполнении обработки.
Конвертация данных в 1С 8.3 Предприятие

Гарантируем стабильный обмен без ошибок между программами 1С. Гарантии фиксируем в договоре.
от 5 600 руб.

Перенос данных 1С
Перенос любых данных 1С. Готовые механизмы переносов. Один звонок и мы решаем вопрос.
от 2 800 руб.

Консультации по 1С
Протестируйте качество нашей работы — получите первую консультацию в подарок.
от 800 руб.
Эффективная работа программ 1С Предприятие 8.3 обусловлена правильностью настройки обмена данными между ними, то есть выгрузки и загрузки справочников, а также другой информации. В некоторых ситуациях для настройки обмена в 1С достаточно воспользоваться обработкой «Универсальный обмен данными XML» или имеющимися типовыми правилами переноса, к примеру, при переходе с одной редакции программ на другую. Они могут быть встроены в программу с определенным списком правил обмена или находиться в папке установленного обновления. Например, AccountingBase («Бухгалтерия», базовая версия) и там находится папка «Обмен данными».

Но когда нужен обмен между совершенно разными конфигурациями, а значит и правила переноса для нетиповых версий, для чего будет нужна настройка правил обмена и сопоставление объектов для переноса, следует прибегнуть к внешней программе, предназначенной для создания правил конвертации между любыми конфигурациями вне зависимости от их структуры и сложности.
Правила конвертации данных в 1С 8.3
Для описания метаданных используется внешняя обработка MD83Exp.epf – для продуктов на платформе «1С:Предприятие 8.3» (управляемое приложение), MD82Exp.epf – для обычного приложения, в формате XML-файла. Обычно файл обработки располагаются в каталоге шаблонов, куда установлена конфигурация. К примеру, C:\Program Files\1Сv8\tmplts\1С\Conversion\3_0_5_3\. В нашем примере используется «1С:Конвертация данных, ред. 3.0» (релиз 3.0.5.3).

Подготовка файла конвертации заключается в формировании XML-файла правил обмена. Рассмотрим на небольшом примере ход его создания.
Шаг 1. Программу можно скачать с сайта ИТС или установить с диска ИТС (доступ и диск предоставляется в рамках абонентского сопровождения 1С для версий КОРП и ПРОФ). Предположим, нам необходимо выгрузить справочник «Контрагенты» из «Бухгалтерии» в «УТ 8.3». Первая программа у нас – «База-источник», а вторая – «База приемник». Отметим, что обмен настраивается не только между базами 8.3, но и между 7.7 и 8.3 и другими.
Шаг 2. Выгружаем в файл XML структуру метаданных баз, задействованных в обмене, с помощью обработки MD83Exp.epf. Для этого в «Базе-источнике» и «Базе-приемнике» в режиме «1С Предприятие» открываем указанную обработку и выгружаем с ее помощью структуру конфигураций, указав имя формируемого файла. Для примера, так и назовем файлы – «База источник» и «База приемник».


По окончании выгрузки у нас получилось два файла с описанной структурой двух конфигураций.

Шаг 3. Выполняем экспорт xml-схемы формата обмена. Это файл с расширением «xsd». Получить его можно и из «Источника», и из «Приемника». Для этого откроем информационную базу в режиме «Конфигуратор» («Открыть конфигурацию»), в дереве метаданных раздел «Общие» и подраздел XDTO-пакеты.

Найдем строки с именем «EnterpriseData» (разные цифры – это разные версии формата) и, нажав правой кнопкой мышки, выберем команду «Экспорт XML-схемы».

Укажем путь выгрузки и выгрузим.


Шаг 4. Добавляем структуру базы выгруженных конфигураций (источника и приемника) в базу «1С:Конвертация данных». Для этого в пункте меню «Конфигурация» для каждого сформированного файла (источник и приемник) выполняем «Загрузку структуры конфигурации».

Указываем путь к нашему файлу, способ загрузки выбираем – «В новую версию конфигурации», и нажимаем кнопку «Выполнить загрузку».


После загрузки файлов, если мы зайдем в раздел меню «Конфигурации», мы увидим две наших загруженных конфигурации.


Шаг 5. Загружаем структуры формата обмена. В пункте меню «Формат данных» выбираем команду «Загрузка структуры формата».

Указываем ранее выгруженный файл и нажимаем кнопку «Выполнить загрузку».

После окончания загрузки проверим результат. Зайдем в меню «Формат данных» — «Дерево объектов формата». Выбрав загруженный нами формат, мы видим его структуру.

Шаг 6. Создание конвертации. Для выполнения поставленной нами задачи, создаем две конвертации. Первая – для выгрузки справочников «Сотрудники» и «Контрагенты» из «Бухгалтерии», а вторая – для загрузки в «УТ». Перейдем в меню «Конвертации».

Для каждой операции указываем наименование, например – «Выгрузка из БП», «Загрузка в УТ», название – БухгалтерияПредприятия, УправлениеТорговлей и версию формата (который мы загрузили, в нашем примере 1.6).


Шаг 7. Для создания правил в том же пункте меню найдем пункт настроек.

Открыв отдельно каждую операцию, настроим ее. На закладке «Правила конвертации объектов» нажимаем кнопку «Создать».

На закладке «Основные сведения» указываем идентификатор нашего правила (например, Справочник_Контрагенты_Выгрузка), объект конфигурации и объект формата. Область применения – «Для отправки».


Жмем «Автосопоставление», а нажатием кнопки «Создать правила конвертации свойств» сохраняем результат.



При необходимости другие поля настраиваются для конвертации вручную.
Шаг 8. Аналогично настраивается правило конвертации для загрузки, в нашем примере в «Управление торговлей». Обращаем внимание, что область применения – «Для получения».

На закладке «Правила конвертации свойств» выполняем автосопоставление и, нажав кнопку «Создать правила конвертации свойств», сохраняем результат.

Шаг 9. В обоих созданных правилах конвертации создаем правило конвертации предопределенных данных, перейдя на одноименную закладку, нажав кнопку «Создать», при этом сопоставив значения в таблице из конфигурации и формата. Область применения – «Для получения и отправки».


Аналогично выполняем действия для правила «Загрузка в УТ».

Указываем новое правило конвертации свойства «ЮридическоеФизиескоеЛицо» для нашего справочника. Откроем правило конвертации объекта «Справочник_Контрагенты_Выгрузка».

На закладке «Правила конвертации свойств» добавим правило конвертации свойства, указав в нем «Перечисление_ЮридическоеФизическоеЛицо».


Действие аналогично и для второго правила «Справочник_Контрагнеты_Загрузка».

Шаг 10. Создаем правило обработки данных. Действия одинаковы для обоих созданных нами правил. Перейдя в правило конвертации, нажимаем кнопку «Создать на основании» — «Правило обработки данных».

Данные в него попадают автоматически.

Аналогично формируем правило для загрузки.


Шаг 11. Выгрузить модуль менеджера обмена, или в правиле конвертации, нажав «Сохранить модуль менеджера обмена», или через пункт «Конвертация» — «Выгрузка модуля».


Аналогично поступаем с правилом конвертации для загрузки справочника.

Далее открываем конфигурацию, для которой предназначается наш модуль, и в дереве метаданных ищем «МенеджерОменаЧерезУниверсальныФормат», открываем его и вставляем туда свой скопированный в буфер обмена модуль.

При настройке обмена рассматриваемая программа имеет пока единственную функцию – формирование текстов общих модулей МенеджерОбменаЧерезУниверсальныйФормат для каждой из баз, используя структуру метаданных конфигураций, участвующих в обмене, и схемы универсального формата. Эти модули лучше сформировать и применять на исходном этапе настройки обмена, а продолжать их доработку стоит прямо в тексте модуля конфигуратора.
Редакция конфигурации «Конвертация данных 3.0» – новая, но прогрессивная технология упрощения обмена между конфигурациями, которая, используя универсальный формат обмена EnterpriseData, позволяет эффективно ответить на вопрос «Как перенести данные из одной 1С в другую?».