Не типовой обмен настроенный через план обмена не работает
Есть две конфигурации на платформе 8.2 ОФ и 8.3 УФ.
Нужно настроить обмен в одну сторону из 8.3 в 8.2.
Создал план обмена в каждой конфигурации копированием. Назвал одинаково.
Написал правила в КД2.
8.3 1 справочник в 8.2 3 справочника плюс для 2 из 3 справочников потом переносятся регистры сведений.
При использовании обработки V8Exchan83 и V8Exchan82.
Все легло как надо!
Но затем начались проблемы при пененосе через план обмена.
Проблемы:
1.) Была в том, что не одинаково назвал планы обмена, это исправил.
2.) Была в том, что обмен из 8.2 дописывает передачу еще фоновым обменом, а в 8.3. такого нет. Это тоже исправил дописал код в 8.3 на обработку такого.
3.) Перестала переноситься информация в 8.2 РегистрСведенийЗапись.КонтактнаяИнформация и РегистрСведенийЗапись.КатегорииОбъектов.
4.) Не удаляется регистрация после успешного обмена в 8.3. Проходит выгрузка из 8.3, затем загрузка в 8.2. После успешных действий идет загрузка полученной информации в 8.3 и ничего не происходит. Грешу на код плана обмена в 8.2. Там некие правила сопоставления используются.
Как решить 3 и 4 проблему?
4 могу устранить удалением после выгрузки, что не есть хорошо, но зато симптом устранит.
Но что делать с 3 не знаю.
Нужно настроить обмен в одну сторону из 8.3 в 8.2.
Создал план обмена в каждой конфигурации копированием. Назвал одинаково.
Написал правила в КД2.
8.3 1 справочник в 8.2 3 справочника плюс для 2 из 3 справочников потом переносятся регистры сведений.
При использовании обработки V8Exchan83 и V8Exchan82.
Все легло как надо!
Но затем начались проблемы при пененосе через план обмена.
Проблемы:
1.) Была в том, что не одинаково назвал планы обмена, это исправил.
2.) Была в том, что обмен из 8.2 дописывает передачу еще фоновым обменом, а в 8.3. такого нет. Это тоже исправил дописал код в 8.3 на обработку такого.
3.) Перестала переноситься информация в 8.2 РегистрСведенийЗапись.КонтактнаяИнформация и РегистрСведенийЗапись.КатегорииОбъектов.
4.) Не удаляется регистрация после успешного обмена в 8.3. Проходит выгрузка из 8.3, затем загрузка в 8.2. После успешных действий идет загрузка полученной информации в 8.3 и ничего не происходит. Грешу на код плана обмена в 8.2. Там некие правила сопоставления используются.
Как решить 3 и 4 проблему?
4 могу устранить удалением после выгрузки, что не есть хорошо, но зато симптом устранит.
Но что делать с 3 не знаю.
По теме из базы знаний
- Обмен через универсальный формат. Пример нестандартной конвертации данных
- Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С (Часть 2)
- "Обновление через копию" - как это использовать?
- Получение/отправка сообщений RabbitMQ через REST API
- Интеграции с маркетплейсами из одного окна: Озон, ВБ, Яндекс, Сбер, Али, ЛаМода для 1С:УНФ, УТ, КА, ERP
Найденные решения
Вот о чем я говорил "v8: Инкрементальный экспорт с ипользованием Конвертации Данных v8":
http://kb.mista.ru/article.php?id=356
Применил второй метод.
Регистрация удалилась после выгрузки.
Если нет варианта как решить 4 проблему по типовому обмену, то буду использовать данный код.
Решение приложил!
Применил второй метод.
Регистрация удалилась после выгрузки.
Если нет варианта как решить 4 проблему по типовому обмену, то буду использовать данный код.
Решение приложил!
Прикрепленные файлы:
ПравилаОбменаДанными.zip
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) это и так понятно! Что это не решение, а устранение симптома!
Что по 3 проблеме можете ответить?
Правила на текущий момент такие:
Что по 3 проблеме можете ответить?
Правила на текущий момент такие:
Прикрепленные файлы:
ПравилаОбменаДанными.zip
Метаданные конфигураций.rar
В ПКО = Контрагенты обработчик = После выгрузки:
Выдает мне вот такие ошибки:
ИсходящиеДанные = Новый Структура;
ИсходящиеДанные.Вставить("Объект", Источник);
ИсходящиеДанные.Вставить("Тип", "Телефон");
ИсходящиеДанные.Вставить("Представление", Источник.ЮЛ_Телефон);
ВыгрузитьПоПравилу(Источник, , , ИсходящиеДанные, "КонтактнаяИнформацияКонтрагента");
Выдает мне вот такие ошибки:
Ошибка.
Ошибка получения свойства объекта из входящих данных
ПКО = КонтактнаяИнформацияКонтрагента ( --> РегистрСведенийЗапись.КонтактнаяИнформация)
ПКС = 1 (--> Объект)
Объект = Договор №2000683 от 12.04.2017 (Справочник объект: Договоры)
СвойствоПриемника = Объект ()
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10722)
КСообщенияОбОшибках = 68
Ошибка.
Ошибка в обработчике события ПослеВыгрузкиОбъекта
ПКО = Контрагенты (Справочник: Договоры)
Объект = Договор №2000683 от 12.04.2017 (Справочник объект: Договоры)
Обработчик = ПослеВыгрузкиОбъекта
ОписаниеОшибки = Ошибка получения свойства объекта из входящих данных
ПКО = КонтактнаяИнформацияКонтрагента ( --> РегистрСведенийЗапись.КонтактнаяИнформация)
ПКС = 1 (--> Объект)
Объект = Договор №2000683 от 12.04.2017 (Справочник объект: Договоры)
СвойствоПриемника = Объект ()
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10722)
КСообщенияОбОшибках = 68
ПозицияМодуля = Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(4272)
КСообщенияОбОшибках = 43
Показать
(11) т.е. (9) перекинуть в ПВД = Контрагенты обработчик = После выгрузки?
Примерно так:
Ага спасибо все получилось!
Примерно так:
Источник = Объект.Ссылка;
ВыгрузитьПоПравилу(Источник, , , , "КонтактныеЛица");
ВыгрузитьПоПравилу(Источник, , , , "КонтактныеЛицаКонтрагентов");
ВыгрузитьПоПравилу(Источник, , , , "КатегорииОбъектовКонтрагентов");
Если ЗначениеЗаполнено(Источник.ЮЛ_Телефон) Тогда
ВыгрузитьПоПравилу(Источник, , , , "КонтактнаяИнформацияКонтрагента");
КонецЕсли;
Если ЗначениеЗаполнено(Источник.ТелефонПредставителя) Тогда
ВыгрузитьПоПравилу(Источник, , , , "КонтактнаяИнформацияКЛКТелефон");
КонецЕсли;
Если ЗначениеЗаполнено(Источник.emailПредставителя) Тогда
ВыгрузитьПоПравилу(Источник, , , , "КонтактнаяИнформацияКЛКАдресЭлектроннойПочты");
КонецЕсли;
ПоказатьАга спасибо все получилось!
(19) делал когда то нетиповую выгрузку с использованием пло ут10.2 -> бп2 через com , там регистрацию очищалась при успешной загрузке в приемнике , использовал обработки УниверсальнаяВызрузкаXML в обеих базах слегка измененные. Стандартное поведение насколько помню , очищать регистрацию стразу после успешной выгрузки
Немного пораскинув о том, что ты написал, я переписал правила без входящих данных
Заодно разделил правила для телефонов и почты у КЛК, чтобы работало.
Такой код стал работать без ошибок. Но стало дублировать контрагентов.
Возможно стоит поставить, где-то галочку?
Заодно разделил правила для телефонов и почты у КЛК, чтобы работало.
ВыгрузитьПоПравилу(Источник, , , , "КонтактныеЛица");
ВыгрузитьПоПравилу(Источник, , , , "КонтактныеЛицаКонтрагентов");
ВыгрузитьПоПравилу(Источник, , , , "КатегорииОбъектовКонтрагентов");
Если ЗначениеЗаполнено(Источник.ЮЛ_Телефон) Тогда
ВыгрузитьПоПравилу(Источник, , , , "КонтактнаяИнформацияКонтрагента");
КонецЕсли;
Если ЗначениеЗаполнено(Источник.ТелефонПредставителя) Тогда
ВыгрузитьПоПравилу(Источник, , , , "КонтактнаяИнформацияКЛКТелефон");
КонецЕсли;
Если ЗначениеЗаполнено(Источник.emailПредставителя) Тогда
ВыгрузитьПоПравилу(Источник, , , , "КонтактнаяИнформацияКЛКАдресЭлектроннойПочты");
КонецЕсли;
ПоказатьТакой код стал работать без ошибок. Но стало дублировать контрагентов.
Возможно стоит поставить, где-то галочку?
Вот о чем я говорил "v8: Инкрементальный экспорт с ипользованием Конвертации Данных v8":
http://kb.mista.ru/article.php?id=356
Применил второй метод.
Регистрация удалилась после выгрузки.
Если нет варианта как решить 4 проблему по типовому обмену, то буду использовать данный код.
Решение приложил!
Применил второй метод.
Регистрация удалилась после выгрузки.
Если нет варианта как решить 4 проблему по типовому обмену, то буду использовать данный код.
Решение приложил!
Прикрепленные файлы:
ПравилаОбменаДанными.zip
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот