1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена)
























Что такое КД3? Как начать использовать? Полезные дополнения к документации. Что нужно исправить в типовых обработках и конфигурации. Как изменить правила обмена не снимая конфигурацию с поддержки. Как отлаживать правила обмена?

Цель данной статьи — ответить на первые вопросы по КД3 и на простом примере показать как доработать типовые правила. Информация полезна начинающим и тем, кто уже приступил к освоению и появились новые вопросы.

Принятые сокращения в этой публикации

КД2 — конфигурация Конвертация данных, редакция 2.0.
КД3 — конфигурация Конвертация данных, редакция 3.0, конфигурация 3.0.5.3.
ED — универсальный формат обмена EnterpriseData.

 

Ответы на вопросы после поверхностного знакомства с КД3. Если Вы знаете зачем нужна КД3 можно не читать этот абзац 😉 

Принятые сокращения далее

БСП — Библиотека стандартных подсистем.
ПОД — правило обработки данных.
ПКО — правило конвертации объекта.
ПКПД — правило конвертации предопределенных данных.
ПКС — правило конвертации свойства.

Рассмотрим пример — необходимо изменить типовые правила обмена БП 3.0 и УТ 11.3

На желтом фоне указаны шаги из инструкции, которая открывается в КД3. Предложенная в этой статье последовательность шагов другая, чтобы не запутаться и сразу логически завершить начатое действие.

Как изменить правила ED?
  1. Доработать модуль с правилами обмена прямо в конфигурации. Этот вариант пока не рассматриваем, т.к. для понимания что и где нужно менять, необходимо хотя бы один раз сделать это в КД3. В этом случае будет проще в будущем оперативно решать проблемы, отлаживать в модуле  и переносить в  КД3 при необходимости.
  2. Воспользоваться КД3.
    Как это делается в КД2? Выгружаем метаданные обеих конфигураций и загружаем в КД2.
    Шаг 1. Для  КД3 делаем аналогично – в каждой конфигурации в режиме предприятия обработкой mplts1cConversion3_0_5_3MD83Exp.epf выгружаем метаданные конфигураций,
    например, в папку «D:Правила БП3БП 3.0.54.15», имя файла «МД.xml». 
 

 Рекомендуемые доработки "MD83Exp.epf"

Шаг 3. Загружаем ранее созданный файл «МД.xml»  в КД3,  раздел «Конфигурации» — «Загрузка структуры конфигурации»  флаг «В новую версию конфигурации».  
Загрузка МД

Т.к. в КД3 для обмена используется «промежуточная конфигурация» (ED), загружаем и её «метаданные», которые представляют собой XML  схему, файл с расширением «xsd». Шаг 2.  Взять её можно из конфигурации УТ 11 или БП 3.0. Они одинаковы. Открываем конфигурацию, в строке поиска вводим «enter», видим в дереве Общие — XDTO-пакеты примерно такие пакеты: EnterpriseData_1_3_8, EnterpriseData_1_4_4 и подобные..  Это версии формата 1.3 и 1.4 соответственно и 1.2, 1.1, 1.0 если есть.  Правая кнопка мыши на пакете, в контекстном меню выбираем «Экспорт XML-схемы».
Экспорт XML-схемы

Шаг 4. В КД3 раздел Формат данных – «Загрузка структуры формата», выбираем ранее выгруженные файлы с расширением «xsd». Нужно выбирать один файл! Множественный выбор совместно с ExchangeMessage не нужен! Это предлагалось в старых инструкциях КД3 предыдущих версий. В последних КД3 этого не требуется.
Загрузка структуры формата

После загрузки формата в разделе Формат данных – Дерево объектов формата, выберите версию формата. Если там есть документы и справочники, значит Вы загрузили правильный  файл. Если нет, начните всё сначала с новой пустой КД3 и первым делом загрузите формат и проверьте дерево.
Дерево объектов формата

 Этап 2. После загрузки метаданных в КД3 приступаем к загрузке типовых правил обмена.
Как это делается в КД2? Правила загружаются в конвертацию.
В КД3 почти так же. Выгружаем правила из типовой, создаём конвертацию, а потом загружаем в неё правила. 

Выгрузка типовых правил из конфигурации для загрузки в КД3

Конфигурации обмениваются на максимальной общей версии формата обмена. Например, одна конфигурация имеет максимальный формат 1.5, другая 1.6, значит они будут между собой обмениваться в формате 1.5. Поэтому достаточно выгрузить из обеих конфигураций формат 1.5 и загрузить в правила.

Открываем конфигурацию БП 3.0 или УТ 11.3 в режиме конфигуратора, в строке поиска можно ввести  «мен уни», открываем общий модуль  МенеджерОбменаЧерезУниверсальныйФормат. Если это БП 3.0, то открываем МенеджерОбменаЧерезУниверсальныйФормат13. В открытом модуле переходим в меню Файл – Сохранить копию, сохраняем файл с произвольным именем, например,  «D:Правила БП3БП 3.0.54.15Общий модуль МенеджерОбменаЧерезУниверсальныйФормат_ Модуль».
Открываем конфигурацию БП 3.0 или УТ 11.3 в режиме предприятия, открываем обработку   mplts1cConversion3_0_5_3Выгрузка правил синхронизации.epf

 

 Рекомендуемые доработки "Выгрузка правил синхронизации.epf"

  • Выбираем «Номер версии формата», например, «1.3»,  
  • «Каталог обмена» — создадим папку, например, «D:Правила БП3БП 3.0.54.151.3»
  • Нажимаем кнопку «Выгрузить».

Повторяем эти действия для других версий формата и сохраняем в соответствующие папки "1.4", "1.5" и т.п.. Для БП 3.0 достаточно выгрузить все форматы от 1.3 и выше. Для других конфигураций от 1.2 и выше.

Правила выгружены, теперь нужно загрузить их в КД3. В КД2 правила загружаются одновременно с созданием конвертации. В КД3 нужно создать конвертацию и загрузить в неё правила.
В КД3 Раздел Конвертации – Конвертации – Создать.  Заполняем поля новой конвертации. Выбираем конфигурацию. Для удобства можно изменить наименование  конфигурации, перейдя в режим редактирования элемента. Например, вместо  БухгалтерияПредприятия указать «БП 3.0.54.15». Реквизит Имя не нужно менять! Наименование конвертации можно указать таким же, например, «БП 3.0.54.15». В табличную часть выбираем поддерживаемые версии формата.  Версии формата те, которые мы выгрузили из базы выше. Сохраняем конвертацию.

Переходим в раздел Конвертация – Загрузка правил синхронизации из файлов.
Пример заполнения полей обработки:

  • Место загрузки : «В существующую конвертацию»

  • Каталог обмена:  «D:Правила БП3БП 3.0.54.151.3»

  • Файл с модулем обмена: «D:Правила БП3БП 3.0.54.15Общий модуль МенеджерОбменаЧерезУниверсальныйФормат13_ Модуль.txt»
  • Конвертация:  «БП 3.0.54.15»
 

 Рекомендуемые доработки КД3 для исправления ошибок

Нажимаем кнопку «Загрузить». На сообщение «Обработчики предназначены для другой конвертации: БП 3.0.44 (формат 1.4). Продолжить загрузку?»  Нажимаем «Да».
Не закрывая форму выбираем другой  «Каталог обмена» и нажимаем кнопку «Загрузить». Повторяем несколько раз загрузку правил для каждого формата в текущую конвертацию.
После успешной загрузки переходим в раздел «Конвертации» – «Настройка правил конвертации», открываем нашу конвертацию из формы списка.
Если видим заполненные ПКО, ПОД и т.п., значит загрузка в КД3 удалась. 

Проверка корректности загрузки правил

Это не обязательная операция! Если Вы будете использовать одну версию формата в правилах, добиваться идентичности текста модуля не требуется.

  • Открываем конфигуратор БП, создаём новую внешнюю обработку,  например, Имя «СинхронизацияEDБП», синоним «Синхронизация ED БП 3.0». 
  • В КД3 в форме «Настройка правил обмена» нажимаем кнопку  «Сохранить модуль менеджера обмена» и вставляем этот код из буфера обмена в нашу новую обработку.
  • В конфигураторе БП проверяем модуль на синтаксические ошибки. Сохраняем обработку.
  • создаём в БП ещё одну пустую обработку,  например, Имя «СинхронизацияEDБПтиповая», синоним «Синхронизация ED БП 3.0 типовая». Копируем текст общего модуля БП МенеджерОбменаЧерезУниверсальныйФормат13 в модуль обработки и сохраняем её.

Сравниваем обе обработки. Меню Файл — Сравнить файлы.

Сравнить файлы

Сравниваем модули.

Если в типовом модуле есть процедуры, отсутствующие в наших правилах, значит не  для всех форматов данных Вы загрузили правила в конвертацию. При необходимости загружаем в конвертацию правила в недостающем формате и повторяем сравнение наших правил с типовыми.  Когда добились идентичности можно смело приступать к доработкам правил. Полной идентичности добиваться не обязательно если Вы знаете какой из форматов обмена не будет использоваться при синхронизации.

Аналогичным способом создаём в КД3 конвертацию для УТ 11.3.

 

 Рекомендуемые исправления в конвертации после загрузки типовых правил


Рассмотрим пример доработки

Основная цель примера — показать возможности доработок для переноса дополнительных данных, которые не укладываются в формат обмена.

Необходимо перенести реквизит "ВидНоменклатуры" справочника "Номенклатура", тип реквизита  "Справочник.ВидыНоменклатуры". Этот вид справочника не переносится типовыми правилами КД3 и не поддерживается форматом ED версии ниже 1.6.

Есть несколько вариантов решения подобной задачи

  • Доработка XDTO пакета, добавление в формат объекта "Справочник.ВидыНоменклатуры". В результате теряется основное преимущество универсального формата – он перестаёт быть универсальным. Доработка XDTO пакета  потребуется во всех базах, участвующих в обмене.
  • Использовать свойство формата "ДополнительныеРеквизиты", которое есть во многих объектах. Этот вариант рассматривать в данной статье не будем ввиду некоторой сложности. Примем к сведению что есть такой способ.
  • Реквизит AdditionalInfo.  Он присутствует в шапке всех объектов формата. Тип anyType. Предназначен для подобных случаев. Воспользуемся им как самым простым способом.

Перед тем как приступить к доработке типовых правил, создадим в группе правил две группы «Добавлено», «Изменено». Это делается в "Конвертации — Группы правил".
Новые ПОД, ПКО, Алгоритмы и т.п. будем создавать в группе «Добавлено», типовые объекты, в которые вносим изменения, переносим в группу «Изменено». Это облегчит последующую поддержку изменённых правил.

Итак, приступим.

Изменения правил в УТ 11.3

В КД3 в форме «УТ 11.3.4.12 Настройка правил обмена» на вкладке Алгоритмы создаём новый алгоритм

  • Имя алгоритма «AdditionalInfoВставить»
  • Группа: "Добавлено"

Параметры: «ДанныеXDTO, Имя, ДопЗначение»

 

 Код алгоритма

Сохраняем алгоритм и переходим на вкладку «Правила конвертации объектов»

По кнопке «Найти» ищем «Номенклатура», открываем ПКО «Справочник_Номенклатура_Отправка».  Переходим на вкладку «При отправке». Там видим поле «Имя обработчика:» «ПКО_Справочник_Номенклатура_Отправка_ПриОтправкеДанных».  Можно прямо туда внести изменения.
Более сложный код, требующий отладки можно писать в конфигурации. Ищем в модуле обмена в УТ 11.3 процедуру с именем «ПКО_Справочник_Номенклатура_Отправка_ПриОтправкеДанных» и дорабатываем там.
Для переноса изменений из УТ 11.3 в КД3 копируем всю процедуру в буфер обмена, в КД3 в форме «Настройка правил обмена» нажимаем кнопку «Загрузка обработчиков».

 

 Для нашего примера код такой

После переноса изменений в КД3 нажимаем кнопку "Сохранить модуль менеджера обмена" и переносим код из буфера в модуль УТ 11.3.

Изменения правил в БП 3.0

Вносим изменения в ПКО "Справочник_Номенклатура_Получение", на вкладке "При конвертации данных XDTO", имя процедуры "ПКО_Справочник_Номенклатура_Получение_ПриКонвертацииДанныхXDTO".

 

 Код, добавляемый в модуль "ПКО_Справочник_Номенклатура_Получение_ПриКонвертацииДанныхXDTO"

Одного кода недостаточно. Необходимо на вкладке "Правила конвертации свойств" добавить ПКС со свойством конфигурации "ВидНоменклатуры" и флажком "Используется алгоритм конвертации".

Переносим модуль менеджера обмена в модуль конфигурации БП 3 или во внешнюю обработку.

Как загрузить доработанные правила КД3 в базу?

В конфигурациях, обменивающихся правилами на КД2 это делается в настройках узла. Для правил, созданных в КД3 мы там увидим только возможность поменять правила регистрации.

Правила, подготовленные в КД3 можно установить в конфигурацию тремя способами

  1. Снять конфигурацию с поддержки и внести изменения в общий модуль МенеджерОбменаЧерезУниверсальныйФормат;
  2. На конфигурациях, работающих в режиме совместимости с платформой 8.3.10 и выше можно вносить исправления в общий модуль с помощью расширения.
  3. Подключить расширение, которое полностью подменяет общий модуль с правилами.
  4. Не снимая конфигурацию с поддержки подключить к узлу внешнюю обработку с правилами;

С первым вариантом всё понятно, он описан в документации, недостаток — нужно снимать конфигурацию с поддержки. Второй вариант — исправление выбранной процедуры расширением тоже не составит труда для программиста 1С — необходимо сравнить две обработки с типовыми правилами и с доработанными так, как описано выше в этой статье, и внести изменение в нужную процедуру.

Третий вариант — использование расширения с правилами обмена в универсальном формате в настоящее время самый оптимальный. Недостаток пока один — необходимо снимать флаг "Безопасный режим" при подключении данного расширения. Это ограничивает его использование в облачных сервисах. Ждём решения от 1С о порядке замены правил обмена в универсальном формате в 1С фреш.

Суть в том, что необходимо найти в конфигурации участок кода, который отвечает за выбор общего модуля в зависимости от версии формата обмена и заменить выбор модуля на свой модуль. Пример для БП 3.0.67:

 

 Рекомендуемые доработки с использованием расширения для подмены типовых правил на свои

Рассмотрим 4-й вариант, который не описан в документации, т.к. в БСП нет такой возможности. Данный вариант уже устарел. Внешняя обработка с правилами применялась в первых версиях с универсальным форматом обмена. Сейчас 1С постепенно избавляется от этого функционала.

В режиме предприятия, в разделе администрирования переходим по ссылке Синхронизация данных — Настройки синхронизации данных, нажимаем кнопку "Настроить…" если настройка одна или "Изменить", если настроек несколько. Переходим в режим редактирования формы через меню "Ещё — Изменить форму", Разворачиваем "Группа", там включаем скрытый элемент формы "Служебная информация", "ОК".
На вкладке "Служебная информация" выбираем "Путь к менеджеру обмена", подставляем туда нашу обработку с правилами.

Вкладка Служебная информация

 

 Подключение внешней обработки с правилами к БП 3.0.52 и выше

Как выполнять отладку правил во внешней обработке

  • В конфигураторе "Сервис -> Параметры -> Запуск 1С:Предприятия -> Параметр запуска", указать параметр "РежимОтладки".

  • Ниже приведён код для расширения, для УТ 11.4, КА 2.4, ERP 2.4. Код для БП 3.0 приведён выше. Модуль менеджера плана обмена СинхронизацияДанныхЧерезУниверсальныйФормат.
 

 Код расширения EDОтладка

Отладку проще всего вести в файловой базе. Точку останова ставим в обработке с правилами. Чтобы найти нужную процедуру, используем КД3. Находим ПКО, ПОД или Алгоритм, смотрим "Имя обработчика" или "Имя алгоритма", ищем эту процедуру в модуле правил. После правки модуля не забываем скопировать процедуру в буфер и в КД3 нажать кнопку "Загрузка обработчиков". Будьте внимательны, должна быть открыта эта же конвертация.

На этом пока всё. Данной информации для программиста 1С уже достаточно чтобы самостоятельно освоить КД3 и поддерживать в рабочем состоянии современный способ синхронизации между базами 1С. Если остались белые пятна, спрашивайте, статья будет дополняться и Вы можете вернуться к ней если что-то забыли.


Общеизвестные ссылки на документацию по КД3:
Курсы по КД3
  • Курсы-по-1с. "КОНВЕРТАЦИЯ ДАННЫХ 3.0"  Насипов Фарит и Евгений Гилев, ООО "ОдинКурс"  — /1c-v8/dataconv-3/
  • 1С-Учебный центр №3, "Конвертация данных 3.0" — http://www.1c-uc3.ru/konvert30.html
Расширить сферу применения КД3 Вы можете используя эти публикации:
Сэкономить время и воспользоваться готовыми правилами для последних версий конфигураций можно здесь

99 Comments

  1. sansys

    Очень хорошая статья. Автору огромное спасибо. Возьму на вооружение, однозначно плюс!

    Reply
  2. amazonka

    Поставлю закладочку….. полезно для прочтения…

    Reply
  3. rozer

    Есть два варианта решения подобной задачи

    Гилевский курс подсказывает еще вариант и еще более универсальный: использовать свойство формата ДополнительныеРеквизиты в номенклатуре да и во всех др справочниках тоже оно есть в EnterpriseData_1_4_4

    Reply
  4. MaxS

    (3) Да, это как вариант.

    Информация полезна начинающим

    Просто не стал углубляться, чтобы не запутать на начале пути. ))

    Курс я проходил, информации там конечно же больше и рассчитано это примерно на пару недель неторопливого изучения.

    Так уж и быть поправлю, что есть несколько вариантов решения. Подробно описывать всё, наверное нецелесообразно.

    Пока думаю нужно ли усложнять, т.к. после старта специалист может сам во всём разобраться.

    Как вариант, можно в здесь комментариях описать подробности.

    Reply
  5. o.nikolaev

    С глубоким уважением отношусь к огромному труду по разработке ED и КД 3. Но, возникает смутное чувство — «переконвертация» и «недошина».

    Reply
  6. rozer

    (5) все же плюсы есть — например в крайней ут11.4 при переносе из БП3 не конвертируются группы статей ДДС так все исправление сводится с созданию расширения на ОМ МенеджерОбменаЧерезУниверсальныйФормат и правка ОДНОЙ строчки в ДобавитьПКО_Справочник_СтатьиДДС. Да и ошибка быстро локализуется с помощью отладчика.

    Reply
  7. RailMen

    Только только набил руку на КД 2.1, настроил обмены между 5 базами, написал пару статей тут , и пошел в УЦ 3 на курс по КД 3.0. Ломка сознания идёт сейчас. Мозг привык к логике КД 2.1 , ее мощи и некоторой универсальности. То, что в КД 2.1 я делал бы 30 минут , в КД 3.0 уходит день. Понятно, что пока идёт привыкание. Но некоторые вещи в КД 3.0 бесят: зависимость от свойств XDTO, необходимость переливать код общего модуля, местами сырость интерфейса КД 3.0 и пр. Нервы наряжены….

    Reply
  8. MaxS

    Писать загрузку в современные типовые — тот ещё квест. 😉 Сотни функциональных опций, реквизитов, зависимостей…

    То ли дело в КД3. Написал выгрузку в простой формат ED и пусть конечная база сама разбирает ))

    Саму КД3 мне пришлось допилить — генерирует готовую обработку.

    Можно выделить несколько элементов ПКО и т.п. и включить в другие конвертации. Исправляешь код в одной конвертации, автоматом изменения распространяются на другие аналогичные.

    Reply
  9. glek

    Да, просидевшему … много лет на КД2 — статья полезная. Спасибо.

    Reply
  10. zarazax

    Статья — огонь. Сам думал что-то подобное написать, но так изложить бы не смог.

    А вот КД3 — это дно. У меня была задача чуть-чуть поменять логику обмена реализациями между УТ и БП. Вот тогда мне стало ясно, что даже маленькое изменение скорее всего затронет код модуля МенеджерОбменаЧерезУниверсальныйФормат в обоих конфигурациях, и тут профит универсальности растворяется.

    При этом правил обмена между УТ и БП для КД2 уже нет и по-человечески сделать доработку не получится. Ох, как же у меня бомбило тогда.

    Reply
  11. SinglCOOLer
    Рассмотрим основной плюс КД3 на примере часто встречающейся задачи. Есть конфигурация УТ 11.3, которая не обновляется по каким либо причинам. Необходимо организовать обмен с БП 3.0, которая постоянно обновляется до актуального релиза.

    Нет проблем.

    Тут автор лукавит, либо не до конца разобрался. У нас именно такой пример как и описано, только не все так радостно, после очередного обновления БП 3 из нее убрали поддержку формата 1.1 и БП при загрузке ругается что формат обмена данными 1.1 не поддерживается и на этом весь обмен и заканчивается.

    Reply
  12. MaxS

    (11) Не до конца разобрался говорите? Ну ну ))

    В примере УТ 11.3 не случайно. Проблема с поддержкой формата в УТ 11.1 решаема, чем собственно я и занимаюсь.

    ок. Укажу в статье один из подобных минусов. Несколько лет можно быть спокойным, а потом обновить формат в базе на последний и ещё на несколько лет успокоиться. ))

    1С декларировали что поддержка младших форматов будет и в этом основной плюс КД3. Но сами же против этого принципа пошли.

    Reply
  13. SinglCOOLer

    (12) Просто я начал читать статью, смотрю, ого пример такой как у нас прям и фраза «Нет проблем» меня прям в ступор вогнала. Проблемы есть, и не зная КД 3 на данный момент я пока не знаю как ее решить. А вы оставили за кулисами такой важный подводный камень, сколько на форумах тем по этому поводу. Да и не в обиду я вам писал, а просто сам сейчас пока не понимаю что с этим сделать, а фраза эта удивила.

    Reply
  14. MaxS

    (13) Буду иметь ввиду, что проблема есть.

    Если судить по обращениям ко мне, этой проблемы не видно совершенно. У меня есть продукт для УТ 11.1. После того как в БП 3 сделали такую засаду, никто не обращался. Видимо все как-то сами справляются.

    Спасибо за информацию. Задавайте вопросы, глядишь ещё на пол страницы наберётся о чём написать. Ответы у меня есть, вопросы собираются.

    Reply
  15. RailMen

    Вопрос следующий.

    Используя КД2 вместе с обработкой УниверсальныйОбменДанными я мог делать выгрузку напрямую через СОМ. Выгрузка занимала времени = время выгрузки/загрузки данных + время СОМ подключения. Выгрузка данных шла по расписанию.

    Теперь в КД 3 мне приходится писать 2 правила: 1) источник — объектный слой EnterpriseData и 2) объектный слой — Приемник.

    Вопросы:

    1) не увеличивается ли время общей выгрузки данных при КД 3?

    2) поскольку пакеты xdto могут содержать довольно неожиданный состав свойств , то приходится при написании правил не только хорошо разбираться в метаданных источника и приемника , но волей не волей курить содержание xdto, а главное писать дополнительно конвертации из метаданных в этот объектный слой. Почему 1C не сделала конструктора или книги с описанием назначения свойств пакетов xdto ? Или описание есть?

    Пока КД 3 местами вызывает у меня недоумение своей недоделанностью.

    У меня стойкое ощущение, что 1С пытается через разные редакции ED нащупать путь к полноценной шине. Только как обычно ставит опыты на нас.

    Reply
  16. KapasMordorov
  17. RailMen

    (16) ок

    Reply
  18. MaxS

    (15)

    В КД2 тоже пишутся 2 правила — чтобы выгрузить из базы источника чтобы загрузить.в базу приемника. Одно правило на пару баз. И бесчисленное количество комбинаций правил на каждый вид конфигурации и релиз.

    В КД3 одно правило на одну базу.

    1) Даже если com обмен, всё равно нужно, выполнить те же операции, например, выгрузить данные запросом из документа в каком-то виде и загрузить их. Большой разницы нет. Специально не сравнивал, но по ощущениям выгрузка из УПП идёт быстрее штатной выгрузки. Вероятно это не от формата зависит, а от замудрённости типовых алгоритмов подготовки данных для выгрузки.

    2) Есть описание. Есть сравнение разных форматов. В КД3 смотрим на дерево формата, там есть вся информация по типам.

    В типовых правилах появилась функция ЗначениеВИнструкциюПКО — помогает быстро подобрать нужную инструкцию по типу данных. Конструктор бы не помешал. Если его пока нет это не недостаток формата, это пока недостаток инструмента для работы с форматом ED.

    Мне пока не понравилась сортировка строк ПКС в ПКО. Сидишь, раскладываешь ПКС в том же порядке как они в дереве формата, при выгрузке в правила они как попало расположены. Загружаешь обратно из правил в КД3, порядок не тот.

    Reply
  19. MaxS

    (13) Если кратко, что чтобы восстановить обмен УТ 11.1 с БП 3.0.53 и выше, нужно в УТ 11.1 добавить XDTO пакет(ы) с форматом посвежее 1.3, 1.4, 1.5. Можно добавить один. Заменить ExchangeMessage на посвежее из БП.

    Где-то в коде указать что есть такой-то формат 1.3, 1.4, 1.5, например.

    Загрузить правила из УТ 11.1 в КД3, проанализировать изменения в формате и доработать правила для совместимости с новым форматом. Готовые правила вернуть обратно. В некоторых местах нужно будет поправить БСП — исправить критические ошибки. И всё, делов-то 😉 Кое что скоро опишу в статье. ))

    Reply
  20. RailMen

    (18)https://forum.infostart.ru/redirect.php?url=aHR0cDovL2l0cy4xYy5ydS9kYi9tZXRvZDhkZXYjY29udGVudDo1OTM0­Omhkb2M=

    Читаю описание. Не могу оторваться. Многое становится понятно. Буду тренироваться и пробовать. Мне нужно прочувствовать все. Пока начинает все больше нравится.

    Reply
  21. MaxS

    (20) Давно не заглядывал. Не видел ещё этой информации про пакеты xdto «Гарантированный срок поддержки». Полезно. Примерно так я и думал. Минимум на год формата хватит, фактически больше. Это для примера выше — обновили формат в УТ 11.1 и можно на год успокоиться с обменом.

    Reply
  22. RailMen

    (21) на курсах в УЦ (прямо сейчас сижу в УЦ номер 3) не говорят про гарантированный срок поддержки. А ведь это крайне важно. Для стабильности бизнесс процессов. Так что курсы это хорошо, но описание на ИТС никто не отменял ))))

    Reply
  23. RailMen

    В последних версиях КД3.0 уже реализовали создание «правил регистрации объектов»???

    А то в версии 3.0.2.1 «ПРО» приходится писать в КД 2.1. Т.е. интеграцию делаем через КД 3.0 , а ПРО в КД 2.1.

    Reply
  24. MaxS

    (23) Сейчас так же. ПРО в КД2.

    Reply
  25. grinder

    (5)Смутное чувство тебя вас не обманывает, к сожалению…. «Универсальный формат» только на словах, КД20 универсальнее в 100500 раз, проходил курс, менял типовые правила, муть неописуемая.

    Reply
  26. grinder

    (7)Не переживайте, это совершенно разные вещи КД30 и КД20, даже на учебе их позиционируют как 2 параллельных продукта, даже правила регистрации для универсального формата в КД20 изменяются.

    Reply
  27. RailMen

    Загрузка правил конвертации в пустую КД 3.0 это то ещё шаманство, которое описано в справке к КД 3.0. Например, чтобы доработать типовые правила.

    Опять же в КД 2.1 все как то проще.

    Но это дело привычки. Опять же возникает вопрос : почему нельзя было сделать конструктор для КД 3.0 загрузки ?

    Reply
  28. MaxS

    (27) А что за конструктор? В ПКО есть кнопка для автосопоставления реквизитов.

    А для загрузки правил в КД3 наверное когда-нибудь сделают одну кнопку. Себе сделал такую )) Подключается к базе, вытаскивает модуль, метаданные конфигурации, правила всех форматов и загружает всё в КД3.

    Если конфигурация (КД3) неудобная это не значит что идея с ED плохая. Просто инструмент не готов.

    Reply
  29. Dementor
    Правила хранятся в xml файле. Быстрое исправление ошибки недоступно. Необходимо загрузить правила в КД2, исправить и выгрузить обратно.

    Не все так грустно 🙂

    У меня несколько раз так было, что делал тяжелую выгрузку, а при попытке загрузить в базу-приемник оказалось, что там с последним обновлением что-то ломалось. Тогда можно открыть файл выгрузки, исправить в коде ошибку и при повторной попытке успешно загрузить информацию в базу-приемник. И не нужно было в КД2 делать повторную выгрузку исправленных правил и повторно тратить время на выгрузку одних и тех же данных из базы-источника. Так что «Быстрое исправление ошибки» вполне даже доступно. А если пользоваться средствами работы с XML-файлами (я предпочитаю FirstObject XML Editor), то можно даже данные по быстрому исправить 🙂

    Reply
  30. MaxS

    (28)

    можно открыть файл выгрузки, исправить в коде ошибку

    Сколько стоит специалист, который «знает куда ударить молотком» и у которого в кармане есть осциллограф? 😉 И не будет же пользователь каждый день править файл выгрузки? Нужно же решить проблему на корню.

    А исправить код КД3 в отладчике может любой. Даже не зная КД3 можно отладить участок с ошибкой и она не будет повторяться.

    Reply
  31. RailMen

    На ИТС написано:

    Ivan Panteleev:

    Формат используется для синхронизации данных между программными продуктами самой фирмы «1С». На настоящий момент этот формат поддерживают следующие продукты:

    «1C:ERP Управление предприятием 2.0»,«Бухгалтерия предприятия», редакция 3.0,«Бухгалтерия предприятия КОРП», редакция 3.0,«Розница», редакция 2.0,«Управление торговлей базовая», редакция 11,«Управление торговлей», редакция 11,«Зарплата и управление персоналом КОРП», редакция 3.

    А «1C : Управляние холдингом» то поддерживает объектный слой EnterpriseData ???

    Reply
  32. MaxS

    (31) Глянуть в дистрибутиве информацию есть ли там БСП. Или в конфигураторе в строку поиска вводим «мен уни» и смотрим наличие модуля с правилами.

    Reply
  33. o.nikolaev

    Выскажу свое мнение. Следовало все же смотреть в сторону некоей шины обмена данными (ШОД). Соответственно не было бы такой зависимости от БСП и платформы и многие вещи, касающиеся активного поведения, можно было бы упаковать в код шины.

    Повышение абстракции до бизнес-сущностей — направление правильное, но увы, любая абстракция «потечет» рано или поздно. Как с этим справляется КД 3 мне пока не очень понятно. В то время как в шине — построенной на базе КД2 — можно было бы легко повышать уровни: до бизнес-сущностей, до связанных кластеров бизнес-сущностей, до чего угодно! Также становились доступными распределенные транзакции и т.п.

    Причем, вещь-то очевидная. Но у Сами Знаете Кого есть принцип «Изучать чужой опыт, но думать своей головой», да.

    Принцип отличный, но, увы, первая часть его, зачастую, игнорируется наглухо.

    Reply
  34. Dementor

    (30) Максим, а вы уверены, что вашу статью о КД2 и КД3 читают специалисты без осциллографов? Не согласен, что исправление ошибки кода в общем модуле намного легче, чем исправление ошибки в файле выгрузки. На крайний случай и с КД2 можно аналогично сделать режим отладки и искать трассировкой ошибки в алгоритмах правил.

    P.S. Очевидно, что править файл выгрузки можно, но для закрытия вопроса в будущем нужно исправить ошибку в правилах обмена.

    Reply
  35. MaxS

    (34) В начале статьи не случайно указал «Информация полезна начинающим» 😉 И сравнения с КД2 осторожно приводил, т.к. если копать глубоко и разбирать на цитаты специалистом, можно много чего попытаться подвергнуть сомнению.

    Поэтому можно считать мнение автора статьи его личным мнением. Можно не соглашаться, у автора такое видение ситуации. 😉

    Каждый случай уникальный кто-то 10500 раз правил файл выгрузки КД2 и уверен что это намного проще, чем связываться с КД3.

    Любой программист первым делом ставит в конфигураторе остановку по ошибке, запускает в предприятие обмен и попадает на строку с ошибкой. Исправить ошибку в этой ситуации мне кажется проще прямо в коде конфигуратора. Опытный же программист может вспомнить, что это исправляется правкой файла выгрузки. Гуру не запуская конфигуратор по строке ошибки открывает файл и моментально позиционируется на проблемное место. )) В этом случае согласен с Вами…

    Reply
  36. Yashazz

    (19) Особенно прекрасны советы «где-то в коде указать», «в некоторых местах поправить БСП» и «доработать правила для совместимости». Ау, автор! Где поправить, что поправить? Как узнать, как сделать совместимо с новым форматом, описания где-то разве есть? Или надо всю xsd выкурить, чтобы найти нужное место?

    Вообще имхо эта КД3 бред и изврат чудовищный. Если ради крошечной правки обмена надо курочить типовые, исправлять баги БСП и внешек, то какая уж к чертям универсальность. Почитал про всякие копипасты модулей туда-сюда. Ваще зашибись.

    Совершенно не понимаю, как делать код, отрабатывающий на загружающей стороне. В КД2 это события стороны загрузки, а тут что, менять модуль загружающей конфы?

    Спасибо за труд, но авторов сего «изделия» хочется приложить чем-нито тяжёленьким. Себе они жизнь облегчили, на остальных наплевали.

    Reply
  37. Yashazz

    Множество вопросов совершенно непонятно. Где и как это логируется, может ли принудительно вызываться, возможна ли индикация пользователю на клиенте, итд. Обмен и раньше-то был погребён под кучей насадок и интерфейсов, но всё-таки это было вменяемое правило обмена и универсальная обработка, и их можно было дёргать. Что сейчас — хз. Ну и конечно, безумно «удобный» инструментарий работы конфигуратора с xdto, не менявшийся со времён 8.0, прям ооочень радует…

    Reply
  38. MaxS

    (36) Не всё сразу. Мне как-то ещё и поработать нужно между написанием трудов.

    Нелогично. Зачем заботится о целостности УТ 11.1 и боятся снять её с поддержки, если она не обновляется? Если нужно сохранить конфигурацию на 99%, то у меня есть такой вариант. Если нужен бесплатный совет как сделать самому, то проще всего снять с поддержки и доработать… Крошечную правку в БП 3 можно внести без снятия с поддержки.

    Ну оставили бы КД2, пришлось бы каждый месяц дорабатывать правила. Было бы лучше? А так как минимум на год универсальный формат текущей версии будет поддерживаться и всё это время не нужно дорабатывать УТ 11.1.

    Reply
  39. MaxS

    (37) Для КД3 тоже есть обработка — «Выгрузка загрузка EnterpriseData».

    Reply
  40. Yashazz

    (39) И что она даёт, если всё равно надо лезть в модуль? Только возможность принудительного вызова? А её командный интерфейс, небось, описан в духе

    //Эта процедура выполняет преобразование данных
    Процедура ПреобразоватьДанные(ПараметрыДанных)
    //
    КонецПроцедуры

    , так, да?)

    Reply
  41. Yashazz

    (38) Во-первых, никакой гарантии про «год» у нас нет, как её нет в стабильности БСП, например. Во-вторых, ради крошечного изменения придётся пилить модуль не только снятой с поддержки УТ, но и типовой БП, я вот не очень понимаю, как можно в общий модуль внести изменение, не включив их в конфе. Правила ведь тем и хороши, что конфы остаются нетронутыми.

    Вся гадость в том, что этот движок намертво завязан на БСП, а значит, при каждом её обновлении придётся прыгать и с нетиповыми тоже, и дело не в форматах и xdto, а в коде. Он просто рискует не заработать при старой БСП. Где я неправ?

    Reply
  42. MaxS

    (40) Да. И что из этого следует? «Вам шашечки или ехать?» ))

    (41) Вы оказались неправы во всём.

    Гарантированный срок поддержки формата указан здесь. https://its.1c.ru/db/metod8dev#content:5934:hdoc

    * БП снимать с поддержки не нужно. Для изменения кода общего модуля используется расширение.

    * БСП синхронно обновлять в обеих базах не нужно.

    На примере УТ 11.1 От БСП требуется принять файл и отправить его. БСП может быть древней версии 2, например. В БП 3 БСП 4-й версии и это никак не мешает синхронизации. Нет никакой жесткой привязки.

    Обмениваться можно с чем угодно, главное, чтобы файл был в универсальном формате версии не ниже поддерживаемой конечной базой 1С. Таким образом БП 3 может обмениваться даже с железным холодильником, регистрировать приход и расход продуктов если холодильник предоставит соответствующий xml файл.

    Reply
  43. Yashazz

    (42) Вы верите написанным гарантиям от 1С? Хм. Ну-ну.

    Расширение не предлагайте, не смешите. Я говорю о серьёзных надёжных коммерческих продуктах, а как себя ведёт кривая глючная поделка, называемая «расширением», я, уж поверьте, прекрасно убедился на своём опыте, и больше клиентам подкладывать такую свинью не намерен, и так на компанию уже в суд подавали. Нарасширялся уже, ещё во времена 8.3.6-8.3.7, хватит. Ну и вообще, я про общий модуль говорю, а не про формы. Какое нафиг расширение?

    Я не про синхронно обновлять, а про исправлять ошибки, при которых вся эта замечательная механика косячить будет. Сами же в публикации указываете — тут поправь, там подчисти, итд.

    Идея КД3 мне ясна, а вот воплощение, как это в последние годы у 1С водится, странноватое.

    Reply
  44. MaxS

    (43) При чем тут верю или не верю? Есть факты. Вы бы по ссылке сходили, или на конфигурации глянули. Версия формата 1.0 и 1.1 фактически поддерживалась 3 года.

    Не желаете расширение, воспользуйтесь штатным функционалом. К узлу подключается внешняя обработка с правилами от КД3. Чем это хуже КД2, где так же правила подключаются отдельно? Так же стоит посмотреть на возможности платформы 8.3.10 и выше — там можно дорабатывать общие модули в расширении.

    Затраты на настройку синхронизации разовые. Если ошибки исправлены, то как писал выше гарантируется работа синхронизации более года на примере обмена УТ 11.1 — БП 3.0.

    Кто даст гарантию, что сегодня внедренный обмен на КД2 будет работать год при обновлении БП 3.0? Это даже 1С не гарантирует.

    И я не спорю что лучше КД2 или КД3. У каждого продукта своя ниша и нужно уметь пользоваться тем, что есть. Другого не дано. 😉

    Reply
  45. Yashazz

    (44) Ну фактов о том, чем кончается доверие к словам 1С, я вам в личке накидаю, заходите) Не будем оффтопить.

    Про внешнюю обработку внятно не расписано, можете указать ссылку? Везде только упоминания вскользь о такой возможности.

    Максим, да я знаю прекрасно, что написано про 10-й релиз и общие модули. Вы сами-то попробуйте, а потом расскажете) И я вам посочувствую. Не работает оно нормально. Типовые общие модули эта хрень заимствует через раз, содержимое их то режет, то не видит, то не компилит; свои вообще при попытке сохранить вызывает падение платформы. Ага, щастье жизни.

    Почитайте: https://infostart.ru/public/441730/ и вам сразу станет ясно, стоит ли связываться с этой дрянью.

    Разовые затраты? Ха-ха. Старая песня от 1С. На самом деле послезавтра появится какая-нибудь новая супер-идея, треть БСП под неё срочно переколбасят, и будете вы пилить её во всех своих конфах. Было уже многократно, заходите в личку, расскажу)

    Вы можете тешить себя мыслью, что КД2 и КД3 разные вещи. А потом всем нам ультимативно скажут, что КД2 использовать нельзя. Ну, например, из-за повышенной уязвимости при их применении; или что клиент-серверное взаимодействие утомляется, или что очередной браузер этого потребовал. Отмазка будет любая. И всех добровольно-принудительно погонят на КД3, ибо так «правильно». Это уже было, и с обычными/»управляемыми» формами, и с обычными/»немодальными» окнами. Никто, конечно, не запрещает, но почему-то больше низя.)))

    Reply
  46. MaxS

    (45) Как подключить внешнюю обработку описано в статье к этому топику )) Искать текст: «Переходим в режим редактирования формы через меню». Там есть ссылки на картинки.

    Проблемы с 1С решаю по мере возникновения. Всё написанной мной выше подтверждается опытом. 😉 Расширения иногда кое у кого глючат, согласен. 1С выбрала этот путь, придётся ждать когда всё наладится. КД2 будет работать до тех пор, пока не запретят запуск внешних обработок. Маловероятно что от КД2 откажутся.

    По поводу устойчивости КД3 на испытание временем. Например, задачу синхронизации УТ 10.3.8 и БП 3.0 решил ещё в 15-м году. Работает до сих пор. Обращались в начале 2017-го, обновил во внешней обработке формат на 1.3. На данный момент в обработке требуется заменить макет ExchangeMessage и ничего более. Конфигурация УТ с 15-го года не меняется. БП 3.0 мы не трогаем, клиент использует типовую.

    Напомню, что для примера синхронизации УТ 11.1 и БП 3.0 менять правила в БП 3.0 не требуется. Это нужно лишь для обмена нетиповыми данными и исправления ошибок, если они есть.

    Reply
  47. Yashazz

    (46) Ну вот есть у меня 11.2 допиленная. И у них перестал работать обмен с БП 3.0, совершенно типовой. БСП там какая-то из первых 2.3.Х, и я не смогу внятно объяснить клиенту, что он должен оплатить доведение БСП до актуальной версии («исправления ошибок, если они есть»), потом ещё формат, ещё модуль МенеджерОбменаЧерезУниверсальныйФормат из новой УТ 11.4 выдирать и в их конфу впиливать, и адаптировать… Не уверен, что меня поймут)

    Если изначально грамотно всё впаять, то потом доработки минимальны, у меня несколько конвертаций годами работают и не чихают.

    Reply
  48. MaxS

    (47) БСП не требуется обновлять, в УТ 11.2 скорее всего нет ошибок в БСП.

    МенеджерОбменаЧерезУниверсальныйФормат не нужно из УТ 11.4 выдирать, оставляете тот что есть.

    Добавляете новый xdto пакет в конфигурацию, в БСП в коде указываете на него и запускаете обмен. По тексту ошибки можно понять требуется ли доработка правил.

    Reply
  49. Yashazz

    (48)

    в БСП в коде указываете на него

    во-о-от. То есть БСП пилить всё одно нужно) Искать по коду, где упоминается, копать это… Мдя.

    Reply
  50. MaxS

    (49) Поиск этой части кода занимает минут 5. Открыть конфигурацию, запустить поиск. Точно не помню что искать, но примерно знаю где. 😉 Добавить одну — две строки в код.

    Это описано в документации на БСП. Это рассказывается на курсах по КД3. От КД3 уже не отвертеться. Всем, кто занимается обменами нужно изучить этот вопрос. ))

    Reply
  51. Yashazz

    (50)

    От КД3 уже не отвертеться

    Вот это бесспорно, увы. Очередной кактус, который нам придётся жрать и плакать.

    Reply
  52. Yashazz

    (50)

    Это описано в документации на БСП

    Это нифига не описано в документации по БСП. Всё перекопал, что касается доступных официальных источников. А почти все курсы говорят только о БСП, начиная с 2.3.2, а не с моей 2.3.1. Так что не надо дезинформации, ага. Придётся каждый раз мучительно копать и обновлять БСП. Нахрена такое «удобство», простихосспади…

    Reply
  53. MaxS

    (52) В БСП описано как её внедрять )) В том числе и синхронизацию через универсальный формат.

    В старых БСП нет этой синхронизации. Так что это не дезинформация.

    Вы же писали что у Вас УТ 11.2?. А теперь вдруг другая крайность.

    Если в древней УТ 11 нет ED, то самый простой выход — купить у меня обработку для УТ 11.1, но это наверное не для этого топика. ))

    Если «бесплатно», нужно внедрять новое БСП. Последствия непредсказуемые. Для этого действия действительно нет описания как частично обновить БСП, сделав винигрет разных версий.

    Reply
  54. Yashazz

    (53)

    Вы же писали что у Вас УТ 11.2?. А теперь вдруг другая крайность.

    Какая крайность? У меня 11.2, которую тянули через несколько фрагментарных обновлений. Никаких крайностей, суровая правда жизни.

    В БСП описано… синхронизацию через универсальный формат

    Пруфлинк в студию)

    самый простой выход — купить у меня обработку для УТ 11.1, но это наверное не для этого топика. ))

    Если «бесплатно», нужно внедрять новое БСП. Последствия непредсказуемые. Для этого действия действительно нет описания как частично обновить БСП, сделав винигрет разных версий.

    Ну как всегда. Как доходишь до конкретных вопросов, так автор публикации либо намекает на денежку, либо заявляет, что на самом-то деле описаний нету) Зачем тогда было громко заявлять, что

    Это описано в документации на БСП. Это рассказывается на курсах по КД3.

    , не понимаю. Написали бы честно: чётко по делу, мол, инфы нету, есть общие слова и красивое завлекалово для кривого механизма. Ну и как всегда, когда вопросы конкретные, так никакой универсальности, а пилите, люди добрые, вручную. Мда.

    Reply
  55. MaxS

    (54) У Вас УТ 11.2 и БСП 2.2? Это и есть странность. ))

    Вот, пожалуйста, ссылки для БСП 2.2.

    https://its.1c.ru/db/bsp22doc#content:212:1

    https://its.1c.ru/db/bsp22doc#content:212:1:issogl3_обмен_через_универсальный_формат

    https://its.1c.ru/db/bsp22doc#content:212:1:issogl2_формы_плана_обмена

    По этой ссылке читаем текст:

    ● ПолучитьВерсииФорматаОбмена(<ВерсииФормата>) – заполняет соответствие номеров поддерживаемых версий формата данных и ссылок на общие модули, реализующих логику обмена через конкретную версию формата.

    Пример реализации функций можно посмотреть в демонстрационной конфигурации в плане обмена _ДемоСинхронизацияДанныхЧерезУниверсальныйФормат.

    Информации полно. Если решать узкую задачу — наладить синхронизацию в ED для старой базы и нет желания штудировать маны по внедрению БСП 2.2, 2.3, 2.4 и хочется всё и сразу, то…

    «Быстро, качественно, недорого». Выбирайте первый или третий вариант. Второй я уже выбрал — качественно. ;).

    Reply
  56. Yashazz

    (55) Максим, я-то уже эту штуку накануне ночью нашёл (ещё когда то сообщение Вам писал, что инфы нет), в узлах планов обмена и везде, где надо, поправил.

    А вот фишка в том, что приведённая Вами ссылка требует авторизации, логина-пароля-все дела) Просто так это посмотреть не получится.

    Так что «информации полно» — это громковато сказано. Желание штудировать-то есть, да общедоступных материалов маловато)))

    Reply
  57. Yashazz

    Я ещё подчеркну, что эта статья и сопутствующие ей материалы и разработки заслуживают безусловных респектов. Просто не надо с такой уверенностью утверждать, что а) это легкая и удобная технология, б) что по ней полно общедоступных данных.

    Reply
  58. MaxS

    (56) НУ вот видите, куда копать на форуме я написал и этого уже достаточно. )) Если кратко описать в статье, будет ещё лучше.

    И для создания серьёзных надёжных коммерческих продуктов, о которых Вы выше писали, не плохо было бы иметь доступ к документации )) Любой массовый продукт 1С должен содержать в себе БСП, иначе это несерьёзный продукт как мне кажется. 😉

    (57) Для конечного пользователя технология легкая — не нужно греть голову с бесконечными версиями правил обмена. Для ED нужны правила для текущей конфигурации нужного формата, вариантов меньше чем если подбирать правила КД2.

    Для программистов — другой вопрос. Излагать весь курс по КД3 в общедоступном месте конечно же не вариант да и никто не читает длинные статьи. В сжатом виде по возможности напишу, основываясь на вопросах.

    Reply
  59. Yashazz

    (58)

    Любой массовый продукт 1С должен содержать в себе БСП, иначе это несерьёзный продукт как мне кажется.

    Между массовым и серьёзным логическая связь — не через БСП, поверьте. БСП — многозадачная, запутанная, тяжеленная хрень; и иногда, особенно на высоконагруженных или специализированных решениях, совершенно излишня. Впрочем, сие оффтоп)

    Reply
  60. MaxS

    (59) Возможно. Специализированное решение не есть массовое.

    Если вернуться к ED и КД3, то они тесно связаны с БСП. Поэтому если какое-то решение желает обмениваться с типовыми базами 1С, нужно либо внедрить туда БСП, либо изобрести свой велосипед. А чтобы знать как сделать лучше, желательно понять как это сделано в БСП. ))

    Reply
  61. Dos_1985

    Спасибо за статью

    Reply
  62. vis_tmp

    (45)

    А потом всем нам ультимативно скажут, что КД2 использовать нельзя.

    А как можно запретить КД2?

    Reply
  63. timothy_

    Статья хорошая, автору однозначно респект!

    Reply
  64. skaoxy

    Автору респект безусловно, но я так и не добился соответствия УТ 11.3.2 . Все что можно выгрузил и загрузил, вот не получается и все тут. Ну может это я тупой, поэтому и не получается.

    Reply
  65. MaxS

    (64) Соответствие чего? Типовых правил и загруженных из КД3? Можно привести несколько отличий, возможно прояснится.

    Reply
  66. mikit

    Типовая БП 30. Скопировала весь модуль «МенеджерОбменаЧерезУниверсальныйФормат13» вставила во внешнюю обработку(ничего пока не меняла). На закладке служебные указала данную обработку в реквизите «путь к менеджеру обмена». При обмене выдает ошибку:

    {Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.Форма.Форма(2600)}: Ошибка при вызове метода контекста (ЗаполнитьЗначенияСвойств)

    ЗаполнитьЗначенияСвойств(ЭтотОбъект, РезультатВыполненияМетода,

    по причине:

    Недопустимое значение параметра (параметр номер ‘2’).

    Где искать причину ошибки?

    Reply
  67. MaxS

    (66)

    Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.Форма.Форма(2600)

    Там причина ошибки.

    Без внешней обработки с правилами ошибка есть? Если да, попробуйте в настройках обмена обеих баз выключить архивирование, удалите файлы из папки для обмена и повторите синхронизацию. Это какой-то баг 1С — теряются файлы после извлечения из архива.

    Reply
  68. mikit

    (67) Без внешней обработки ошибка тоже есть, у меня настроено из бухгалтерии ничего не выгружать. складывается ощущение, что ругается на выгрузке, так как загрузка проходит и объекты в бухгалтерии появляются. Удалила файлы из папки обмена, повторила синхронизацию таже ошибка

    Reply
  69. MaxS

    (68) Если с архивированием не связано, тогда нужно смотреть журнал. Выше более информативные сообщения об ошибке, чем последнее.

    Reply
  70. Rustig

    (25)

    муть неописуемая

    автор же описал

    Reply
  71. Rustig

    (7)

    Нервы наряжены

    это как?

    в принципе, у меня та же ломка от перехода от обычных форм к управляемым

    Reply
  72. Rustig

    (10)

    Ох, как же у меня бомбило тогда.

    ну, может не надо в лоб решать задачу?!

    Reply
  73. Rustig

    (13)

    а просто сам сейчас пока не понимаю что с этим сделать

    использовать типовой обмен + остальное дополнительными обработками переносить в фоновом режиме + что не получится автоматом дополнительными обработками переносить вручную опять-таки дополнительными обработками

    Reply
  74. Rustig

    (36)

    Особенно прекрасны советы «где-то в коде указать», «в некоторых местах поправить БСП» и «доработать правила для совместимости». Ау, автор! Где поправить, что поправить? Как узнать, как сделать совместимо с новым форматом, описания где-то разве есть? Или надо всю xsd выкурить, чтобы найти нужное место?

    Вообще имхо эта КД3 бред и изврат чудовищный. Если ради крошечной правки обмена надо курочить типовые, исправлять баги БСП и внешек, то какая уж к чертям универсальность. Почитал про всякие копипасты модулей туда-сюда. Ваще зашибись.

    Совершенно не понимаю, как делать код, отрабатывающий на загружающей стороне. В КД2 это события стороны загрузки, а тут что, менять модуль загружающей конфы?

    Спасибо за труд, но авторов сего «изделия» хочется приложить чем-нито тяжёленьким. Себе они жизнь облегчили, на остальных наплевали.

    поддерживаю

    Reply
  75. Rustig

    (15)

    поскольку пакеты xdto могут содержать довольно неожиданный состав свойств , то приходится при написании правил не только хорошо разбираться в метаданных источника и приемника , но волей не волей курить содержание xdto, а главное писать дополнительно конвертации из метаданных в этот объектный слой. Почему 1C не сделала конструктора или книги с описанием назначения свойств пакетов xdto ? Или описание есть?

    таково развитие любых систем — чтобы внешний интерфейс сделать универсальным, удобным, дружелюбным, внутренний интерфейс алгоритмов и взаимосвязей должен быть сложным. почувствовал это на собственных разработках для клиентов — сейчас перестал делать универсальные алгоритмы и механизмы, теперь только решаю конкретные узкоспецифичные задачи, но уже и другим предложить нельзя — не подходит. когда система развивается, нет времени писать описания…так что уповаем на первопроходцев и форум Инфостарт.

    Reply
  76. Rustig

    (22)

    описание на ИТС

    не у всех есть доступ

    Reply
  77. Rustig

    (35)

    Каждый случай уникальный кто-то 10500 раз правил файл выгрузки КД2 и уверен что это намного проще, чем связываться с КД3.

    автору спасибо за статью, за поднятую тему!

    Reply
  78. Rustig

    (43)

    Вы верите написанным гарантиям от 1С? Хм. Ну-ну.

    чувствую в Якове прожженного бывалого 1сника — уже не верящего в чудеса новаторства 1с и местами утомленный от постоянного изменения интерфейсов

    Яков, вы не одиноки в своих умозаключениях… но прогресс не умолим

    Reply
  79. MaxS

    (77) Спасибо за комментарии. Не забываем лайки на статью ставить. Нужно же копить вдохновение для продолжения. ))

    За прошедший месяц здесь был один вопрос, который стоит рассмотреть — как восстановить синхронизацию УТ 11.2, УТ 11.2 с БП 3.0 через ED.

    По другим каналам часто спрашивают как изменить правила регистрации.

    Если кратко, то выгружаем правила регистрации из настроек в файл, загружаем в КД2, открываем документ, в «Обработчики событий — Перед обработкой» в первую строку вставляем «Отказ = Истина;» Выгружаем правила регистрации из КД2 в файл, загружаем в настройку обмена.

    Потом опишу это в статье с картинками.

    Reply
  80. Yashazz

    (69) В журнале почти всегда девственно пусто. Очччень информативно)

    Reply
  81. tmn72.1C

    (7) делал перенос одного справочника через КД3 — ушел день на работу и день на тест, надо привыкать к этому. использование КД3 подразумевает наверно больше доработку типовых правил нежели разработку своих, иначе там черт ногу сломит.

    Reply
  82. MaxS

    (85) Учитывая плюсы и минусы КД, правила в КД3 для одной базы пишутся один раз, для КД2 множество раз. И если конфигурация типовая, там скорее всего там уже есть правила КД3.

    Reply
  83. oleganatolievich

    (10) они есть в одном из последних релизов УТ 11.1, кажется те что идут до 11.1.2xx.

    Reply
  84. FatHer1C

    (38) да в том-то и прикол, что не КД3 изврат, а сидеть на 11.1 ПОЛНОЕ ИЗВРАЩЕНИЕ (думается. что просто кто-то жадный на столько (на 11.4 даже суперизменённую конфу максимум 20т.р. и пару дней обновить), что готов на этом старье работать :)))

    Reply
  85. FatHer1C

    (74) да в том-то и прикол, что не КД3 изврат, а сидеть на 11.1 ПОЛНОЕ ИЗВРАЩЕНИЕ (думается. что просто кто-то жадный на столько (на 11.4 даже суперизменённую конфу максимум 20т.р. и пару дней обновить), что готов на этом старье работать :)))

    Reply
  86. MaxS

    (179) Зачем обновлять если всё работает? Бывает что с УТ 11.1 завязан обмен с сайтом. После обновления конфигурации обмен с сайтом поломается. Обновлять сайт? Переучивать сотрудников?

    Reply
  87. FatHer1C

    (180) каждому своё;)

    мне недавно например заказчик просил перевести на битрикс, а за обновление зажал бабло и до сих пор сидит на самописном сайте с самописным обменом с копеечной конверсией этого самого сайта :)))

    а другому заказчику который исправно платит автоматизировал всё так, что он даже сам не верит , что из затрачиваемых каждый день 16-18 часов на 1С и сайт он теперь 2-3 часа тратит, а остальное время занимается управленческими вопросами которые тоже со следующей недели буду автоматизировать и соответственно и прибыль выросла пока почти в 2 раза, но дальше будет больше ;), а жмот как говорится платит дважды и без копья сидит :)))

    Reply
  88. acanta

    (182) Это только поначалу так кажется. Придет время и ему тоже это надоест.

    Кто-то настраивал обмен КД3 в КА1? Есть обработки по выгрузке данных, в них нет XDTO пакета. Выгрузка формируется с ошибками. Можно ли из модуля обработки получить недостающие файлы?

    Reply
  89. MaxS

    (183)

    Кто-то настраивал обмен КД3 в КА1?

    Да, конечно. В статье в конце есть ссылки.

    Reply
  90. MaxS

    (182) Да, есть такие заказчики. Кто-то сидит на УТ 11.1 и на старом битриксе и соответствующем сайте, а кто-то на УТ 11.4 и новом битриксе и сайте.

    Про доходы расходы не вникал, мне это не нужно, я там не РП.

    Reply
  91. Palmer1976

    При доработке правил конвертации через универсальный формат для УТ 11.4.1 столкнулся с очень неприятным багом, отлавлил его отладчиком. ИмяПКО при инициализации правила конвертации ограничено 50 символами. Например:

    Процедура ДобавитьПКО_Документ_РеализацияТоваровУслугВПеремещениеТоваров_Отправка(ПравилаКонвертации)
    ПравилоКонвертации = ОбменДаннымиXDTOСервер.ИнициализироватьПравилоКонвертацииОбъекта(ПравилаКонвертации);
    ПравилоКонвертации.ИмяПКО            = «Документ_РеализацияТоваровУслугВПеремещениеТоваров_Отправка­»; //строка >50 символов
    ПравилоКонвертации.ОбъектДанных      = Метаданные.Документы.РеализацияТоваровУслуг;
    ПравилоКонвертации.ОбъектФормата     = «Документ.ПеремещениеТоваров»;
    ПравилоКонвертации.ПриОтправкеДанных = «ПКО_Документ_РеализацияТоваровУслугВПеремещениеТоваров_Отпр­авка_ПриОтправкеДанных»;
    

    В данном примере длинная строка с именем ПКО при записи в ИмяПКО обрезалось до 50 символов, в итоге ПКО не находилось в этой таблице по этому имени и не отрабатывало совсем.

    Так совпало что отрезался хвостик «_Отправка», и в обрезанном виде не бросалось в глаза.

    Причина бага нашлась в общем модуле ОбменДаннымиXDTOСервер

    Функция ТаблицаПравилКонвертации(XMLСхема, МенеджерОбмена , НаправлениеОбмена, ПравилаОбработкиДанных, ВерсияФорматаМенеджераОбмена)
    // Инициализация таблицы правил конвертации.
    ПравилаКонвертации = Новый ТаблицаЗначений;
    ПравилаКонвертации.Колонки.Добавить(«ИмяПКО», Новый ОписаниеТипов(«Строка»,,Новый КвалификаторыСтроки(50))); //строка с ограничением в 50 символов
    

    P.S. Заглянул в свежую БП 3.0 — там тоже присутствует этот баг.

    Reply
  92. MaxS

    (187)

    При доработке правил конвертации

    В типовой КД3 у справочника ПравилаКонвертацииОбъектов длина наименования 50 символов.

    Если дорабатывать правила другим инструментом, можно столкнуться с этой проблемой.

    Reply
  93. Palmer1976

    (188) да, создавал новое ПКО копированием прямо в модуле

    Reply
  94. kassbar

    (79) Если мне нужно оставить в правилах регистрации только один справочник (например, Номенклатура, у которого авторегистрация выключена).

    Я выгрузил стандартные правила регистрации в КД2, удалил в них все кроме 1 и загрузил обратно в план обмена по универсальному формату.

    Флаг в настройках отправки НСИ оставил «выгружать всю» (не вижу других вариантов).

    Потом сделал свои правила для отправки (только для 1 справочника) и заменил обработчик.

    Однако в плане обмена по прежнему регистрируются все справочники и соответственно при синхронизации ошибка — «нет ПОД» для выгружаемого объекта.

    Что не так, почему загруженные правила игнорируются ? Неужели нужно в типовых для всех объектов ставить Отказ = Истина ?

    Reply
  95. MaxS

    (205) В правилах регистрации нужно добавить все объекты кроме номенклатуры и указать Отказ = Истина

    Reply
  96. ids79

    (85) Вот посмотрите мой пример доработки типового обмена без использования КД 3.0. Довольно быстро и отлаживать удобно, это плюс.

    Пример доработки типового обмена ED без КД 3.0

    Это конечно не большая доработка, но все же.

    Reply
  97. ids79

    (23)

    В последних версиях КД3.0 уже реализовали создание «правил регистрации объектов»???

    Подскажите, в каких именно версиях реализовали?

    У меня 3.0.5 — там нет

    Reply
  98. MaxS

    (217) Правила регистрации для КД3 в КД2 редактируют. Нового в этом ничего не появлялось.

    Reply
  99. artfa

    (71)а вы прямо железный дровосек, со стальными нервами

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *