Занятие № 11. Курс «1С:Конвертация данных 2.1 – Профессиональная настройка правил обмена и типовые сценарии переноса данных»

Настройки обработок обмена

Изучите теорию модуля № 2:

  • Глава 3. Настройки обслуживающих обработок

Выполните практическое задание:

Отчеты по домашним заданиям размещайте по ссылкам, указанным выше. Отчеты, опубликованные на этой странице, удаляются без предупреждения.

Ваши вопросы по материалам данного занятия задавайте в комментарии ниже.
Общие вопросы по курсу, не связанные с конкретным занятием, задавайте на странице: http://kursy-po-1c.ru/data-conv/all-hw/convdata-common-qa/

К сожалению, у Вас недостаточно прав для дальнейшего просмотра.

Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.

Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.

Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.

Комментарии / обсуждение (54):

  1. Сергей

    Хотелось бы понять разницу между обработками “Универсальный обмен данными” версии 2.1.8 и 2.1.6. Заметил, что первая в обычном приложении открывается с управляемой формой, а вторая с обычной формой. Из-за этого, например, на 2.1.8 нельзя интерактивно открыть обработку для настройки параметров.
    А какие еще между ними принципиальные различия? На текущий момент какую нужно использовать для работы? Или они обе используются в разных ситуациях?

    • Ольга Кузнецова

      Нет, сейчас используется обработка версии 2.1.8. По сравнению с 2.1.6 в ней исправлены некоторые ошибки, она работает стабильнее. Других отличий нет между ними. Если Вам нужна обычная форма, можете просто использовать обработку V8Exchan82, а не v8Exchan83.

  2. Spodarenko

    При попытке соединения с COM-сервером произошла следующая ошибка:
    {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(13773)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V82.COMConnector.1): Ошибка при выполнении операции с информационной базой
    Несовместимая версия файла базы данных ‘D:\1c_base\Курсы1с\ДЗ_1_1_1\кон/1Cv8.1CD’

    на компе только версия платформы 8.3.9.1818, совместимость с 8.2.16 в конфигураторе стоит,
    comcntr.dll зарегистрирован, в конфигураторе подключена обработка V8Exchan82.epf,
    а V8Exchan83.epf не хочет запускаться
    что сделать? не было у меня такого на практике

    • Ольга Кузнецова

      Здравствуйте!

      V83Exchan запускается, только если отключить режим совместимости с 8.2.

      Ошибка “Несовместимая версия базы данных” возникает, если происходит попытка открыть базу на более старой версии платформы. Иногда участники в коде обработки вручную прописывают создание V83.COMConnector вместо V82, возможно, в Вашем случае тоже сработает

  3. mns

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

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

    СписокДокументов = Параметры.СписокДок;
    ПроводитьДокументы = Параметры.ПроводитьДокументы;
    Если ПроводитьДокументы Тогда
    Для каждого Стр из СписокДокументов Цикл

    Если Стр.Проведен Тогда
    Сообщить(“Проведение : ” + Стр.Документ);
    Стр.Документ.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
    ИначеЕсли НЕ Стр.Документ.ЭтоНовый() Тогда
    Сообщить(“Отмена проведения: ” + Стр.Документ);
    Стр.Документ.Записать(РежимЗаписиДокумента.ОтменаПроведения,РежимПроведенияДокумента.Неоперативный);
    Иначе
    Сообщить(“Документ новый”);
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;

    При загрузке через обработку все работает но при обмене через com соединение нет.
    Почему так происходит?

    • Ольга Кузнецова

      Здравствуйте!
      Скорее всего, сам обработчик отрабатывает. Возможно, проблема с формированием таблицы в Параметрах. Это можно проверить: каждый документ выгружается в открытой базе и сразу передается в другую по com-соединению и там загружается. То есть, если все отрабатывает правильно, он должен быть доступен в обработчиках на стороне выгрузки через созданную обработку для загрузки в другой базе – она находится в параметре мОбработкаДляЗагрузкиДанных. Проанализируйте структуру мОбработкаДляЗагрузкиДанных.Параметры, появляются ли в ней документы. Возможно, можно каждый документ записывать в таблицу в этой структуре непосредственно при выгрузке. Но я не пробовала, задачи такой не было. Попробуйте и напишите потом, что получилось.
      Метод Сообщить() для отладочной печати не поможет, конечно. Но можно настроить логирование путем записи в журнал регистрации конечной базы, или через запись в файлы

  4. mars505

    При проверке подключения выдает:
    “При попытке соединения с COM-сервером произошла следующая ошибка:
    {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(13772)}:
    Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса”
    В предыдущих вопросах такая ошибка описывалась, но ее решение мне не подошло.
    Я использую 1С:Предприятие 8.3, учебная версия (8.3.6.2299). Windows 7 Ultimate.
    Компонента comcntr.dll вообще в учебную платформу не включена. Скопировала с рабочего комп.
    Пытаюсь зарегистрировать -> картинка во вложении. Хотя файл действительно лежит по указанному пути, регистрировать отказывается. Посоветуйте, плз, как решить проблему.

    • Ольга Кузнецова

      Здравствуйте!
      Учебная платформа не поддерживает COM- соединение.

    • Титов Елисей

      В обработке выгрузки надо для 83 переопределить параметр создания ком объекта
      //ОбъектПодключения = ОбъектПодключения +”.COMConnector”;
      ОбъектПодключения = “V83.COMConnector”;

  5. KolG

    Добрый день!
    В видео 2.3.5 говориться про флажок “при загрузке строк обрезать пробелы справа”.
    Подскажите повлияет ли это на поиск объектов в приемнике, если к примеру поиск идет только по наименованию и оно соответственно, как в примере на видео, было обрезано “Алхимов ” -> “Алхимов”
    Или обрезание идет уже после загрузки объекта?

    • Ольга Кузнецова

      Здравствуйте!
      Нет, обрезание происходит в процессе загрузки каждого свойства. То есть, если часть элементов была загружена без обрезания, а потом оно было установлено, и по этому свойству происходит поиск, то объекты могут задублироваться.

  6. mrd2015

    Здравствуйте!
    Не могу понять по вопросам теста для самопроверки почему при ответе на вопрос Настройка «Загружать данные в режиме обмена» — это
    правильный ответ не первый:
    Настройка ПКО, которая позволяет записывать данный тип объектов, исключая системные проверки
    а последний:
    Настройка обработки Универсальный обмен данными, которая позволяет записывать данные по мере загрузки из файла обмена?

    • Ольга Кузнецова

      Здравствуйте!
      Потому что эта настройка была создана не для того, чтобы загружались некорректные данные. Это методологически неправильно. Например, с незаполненными обязательными свойствами, или с дублирующимися кодами при включенном контроле уникальности. Задача разработчика правил следить, чтобы такие ситуации не возникали. Просто без этой настройки нельзя загрузить, например, Договор контрагента, подчиненный Контрагенту, и Контрагента, у которого этот договор указан как основной (поле обязательно к заполнению). В этом случае какой бы из этих элементов ни был первым, он не может быть записан из-за системных проверок, поэтому их и отключают.

  7. Маргарита Ченцова

    Прокомментируйте, пожалуйста, ответ на первый вопрос из теста:
    “В ПКО для справочника Контрагенты стоят флажки «Искать объект по уникальному идентификатору» и «Продолжить поиск по полям, если по идентификатору объект не найден». Флагом поиска отмечено только ПКС «ИНН». После выгрузки в файл данных было выгружено два элемента. У первого элемента Уникальный идентификатор совпадает с элементом «ИП Петров» в базе-приемнике, а значение ИНН отличается. У второго элемента Уникальный идентификатор в базе-приемнике не встречается, а значение ИНН совпадает с тем же элементом «ИП Петров» в базе-приемнике. Сколько новых элементов справочника появится в результате загрузки?”

    От каких именно настроек ПКО и ПКС и почему зависит сколько будет новых элементов?

    • Ольга Кузнецова

      Здравствуйте!
      Первый элемент будет точно сопоставлен с элементом “ИП Петров” по уникальному идентификатору. Но мы знаем, что значение ИНН у него отличается. Далее вопрос: будет ли ИНН у элемента “ИП Петров” изменен на ИНН загружаемого объекта? Если да, то второй элемент при загрузке не сопоставится с “ИП Петров”, и будет создан новый.
      Изменится ли ИНН у элемента “ИП Петров”, зависит от настройки ПКО “Не замещать существующие объекты…”, а также от настройки ПКС “ИНН” “Не замещать значение свойства…”

  8. CTmuB

    При попытке подключиться по COM выдаёт
    “При попытке соединения с COM-сервером произошла следующая ошибка:
    {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(13772)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса”

    Comctrl.dll зарегистрирована, подскажите куда копать?

    • CTmuB

      База приемник в режиме совместимости “Версия 8.2.16”

      • Ольга Кузнецова

        Здравствуйте!
        Судя по отчету, все получилось?

        • CTmuB

          Да в модуле обработки обмена изменил создание COM объекта независимо от того что выбрано создаю V83ComConnector Не универсальное решение :-( но мне подходит :-)

  9. angur

    Здравствуйте. Извините, если вопрос уже задавался. Насколько я понял, хотя Параметры и доступны в обработчике ПередЗагрузкойДанных конвертации, если установить там какие-то значения параметров, они будут сброшены. Можно установить параметры в следующем обработчике ПослеЗагрузкиПараметров, но в этом случае возникает проблема с отладкой загрузки (Отладка обработчика “После загрузки параметров” не поддерживается). Где бы вы рекомендовали инициализировать программно параметры на стороне загрузки?

    • Ольга Кузнецова

      Здравствуйте!
      Структура Параметры – это глобальный параметр по всему модулю загрузки. Если определить их в событии “Перед загрузкой данных”, то они не сбросятся. Там это и нужно делать

  10. alest

    Разработан ли какой-нибудь метод для ограничения выборок при тестировании выгрузки данных? Чтобы можно было быстро включить/отключить ограничитель количества выгружаемых объектов по всем или отдельному ПКО?
    Так и чешутся руки подправить конвертацию, но может велосипед уже изобретен?

    • Ольга Кузнецова

      Здравствуйте!
      Нет, готового такого механизма нет

      • CTmuB

        Нет и никогда не будет в ПКО, возможно когда-то но в ПВД

  11. YaroslavS

    Добрый день, после выполнения ДЗ возник вопрос, почему в лог загрузки не попадают сообщения (в данном случае о проведении документов), которые мы выводим в процессе загрузки посредством COM через сообщить? Я так понимаю, что механизма перенаправления вывода (из окна системных сообщений в файл) не существует и система просто при выгрузке посылает все свои стандартные сообщения в файл, а наши сообщить безвозвратно теряются? Т.е. нам просто если мы хотим увидеть свои сообщения лучше пользоваться какой-то системной функцией генерации сообщений, которая зашита в саму обработку. Возможно этот вопрос рассмотрен в ДЗ. Еще не видел официального решения ДЗ.

    • Ольга Кузнецова

      Здравствуйте!
      При обмене по COM-соединению может быть выведена только информация об ошибках. Типовых способов вывода информационных сообщений в этом случае нет.

  12. YaroslavS

    Добрый день, у меня вопрос по механизму отбора по периоду в толстом клиенте. Как я понял в том случае если установлен флаг “отбор по периоду для всех объектов” отбор происходит по принципу “И” вместе с уже наложенными условиями на каждое ПВД условиями, если флаг не установлен, то в теории по ПВД, на которые наложены условия настройки периода не применяются. Тем не менее если мы переносим документы (для регистров не проверял) и накладываем на конкретное ПВД отбор, то оба эти условия отрабатывают всегда в не зависимости от флага. Т.е. оба условия отрабатывают по принципу “И”. Такое ощущение, что флаг всегда работает. Это я что-то неправильно понял, или это какая-то ошибка особенность конвертации. Версия конвертации и обработок: 2.1.8.2.
    Второй вопрос, как я понимаю если объекты выгружаются по ссылке условия как по периоду, так и по остальным отборам по конкретным ПВД не накладывается на них никак, и вообще они работают только для стандартного обхода объектов выгружаемых по ПВД. Это верно?

    • Ольга Кузнецова

      Здравствуйте!
      1. Да, имеется в виду отбор, установленный в окне обработки для каждого ПВД. Но, действительно, этот флажок, похоже, не работает. Судя по коду, он будет всегда считаться установленным. Видимо, это уже устаревшая функция.
      2. Да, все правильно

  13. alest

    Здравствуйте, Ольга
    Читаю комментарии, что-то не понял вот это:

    1. Ольга Кузнецова 16.02.2014
    Здравствуйте! Одновременно может быть зарегистрирована компонента только для 8.2 или 8.3, стандартных способов одновременной работы нет.

    2.Можно зарегистрировать одновременно компоненты от 8.2 и 8.3, они не конфликтуют

    • Ольга Кузнецова

      Здравствуйте!
      На самом деле, в первом случае – это моя ошибка. Видимо, не так поняла вопрос. Компоненты от двух версий 8.2 или двух версий 8.3 одновременно нельзя установить. А компоненты от 8.2 и 8.3 друг с другом не конфликтуют

  14. Людмила

    Здравствуйте
    Написала ответ по заданию 2.11.11
    17 октября 2014.
    Почему-то до сих пор не одобрен.

    • Ольга Кузнецова

      Здравствуйте!
      Не вижу Вашего отчета. Опубликуйте еще раз, пожалуйста

  15. KalyakinAG

    Кстати, если Вы полностью работаете на 8.3, то для обмена on-line через COM достаточно в обработке Универсальный обмен данными XML для реквизита формы ВерсияПлатформыИнформационнойБазыДляПодключения в списке выбора добавить значение V83 и обмен с 8.3 будет доступен в обработке.

    • Ольга Кузнецова

      Здравствуйте!
      Спасибо за информацию!

  16. victorel

    Здравствуйте.
    Уточните, какой ответ на третий вопрос теста самопроверки, – “Настройка «Загружать данные в режиме обмена» – это?”, является правильным. Из видеоурока следует, что правильный ответ – “исключение системных проверок”. А в обзоре ответов после выполнения тестов верным помечен вариант “записывать данные по мере загрузки из файла обмена”.

    • Ольга Кузнецова

      Здравствуйте!
      Первый ответ мог бы быть правильным, но там написано “Настройка ПКО”, а это настройка обработки. Целью этого вопроса было обратить внимание на то, что без этой настройки “Кольцевые” ссылки (когда два элемента взаимно ссылаются друг на друга, причем у них эти реквизиты обязательны для заполнения) не могут загрузиться вообще.

      • YaroslavS

        Добрый день, поясните пожалуйста причем здесь кольцевые ссылки для этого параметра загрузки данных, в теоретическом модуле про это не было информации, или я что-то пропустил. Кроме того правильный ответ: “Настройка обработки Универсальный обмен данными, которая позволяет записывать данные по мере загрузки из файла обмена” совсем не понятен и не очевиден, разве при загрузке без этого флага, данные загружаются не по мере загрузки из файла обмена? Точно также они и загружаются, просто может сработать какая-то проверка на нумерацию, заполненность реквизитов или код в процедурах при записи / перед записью, и загрузка остановится с ошибкой.

        • Ольга Кузнецова

          Здравствуйте!
          Например, если загружаются Контрагенты и Договоры контрагентов. У Контрагента есть реквизит основной договор с контролем заполнения. У Договора есть владелец – Контрагент, который тоже должен быть заполнен. Что бы из них не загрузилось первое в базу, без настройки «Загружать данные в режиме обмена» элемент не может быть записан, будет выдана ошибка. А если загружаются Номенклатура и Единица, подчиненная номенклатуре, но Единица встретилась в файле первой, то она не может быть записана сразу, а только после того, как встретится ее владелец. Поэтому основная функция этой настройки – не загрузка некорректных данных, а последовательная запись зависящих друг от друга объектов

  17. uvers

    Здравствуйте.
    При СОМ-соединении получаю ошибку:
    Произошла исключительная ситуация (V83.COMConnector.1): Несоответствие версий клиента и сервера 1С:Предприятия
    Различаются версии клиента и сервера (8.3.5.1088 – 8.3.5.823), клиентское приложение. Можно ли решить эту проблему путем регистрации comcntr.dll или решается проблема только путем обновления платформы?

    • Ольга Кузнецова

      Здравствуйте!
      Версии клиента и сервера обязательно должны совпадать. Поэтому, если на клиенте не установлена платформа требуемого релиза, необходимо ее установить, при этом COMConnector нужного релиза будет зарегистрирован автоматически. Если же платформа уже установлена, то достаточно зарегистрировать библиотеку при помощи команды:
      regsvr32 < путь до модулей 1С:Предприятия правильной версии>\comcntr.dll

  18. mPetrov

    Здравствуйте!
    Как правильно установить “comcntr.dll” для одновременной работы с 8.2 и 8.3 на одной рабочей станции. Какие особенности при установке при клиент-серверном использовании.

    • Ольга Кузнецова

      Здравствуйте! Одновременно может быть зарегистрирована компонента только для 8.2 или 8.3, стандартных способов одновременной работы нет. Компонента может быть установлена и на клиент, и на сервер, в зависимости от стоящих задач

  19. mPetrov

    Здравствуйте!
    Вопрос по 2.3.2 “Возможность обмена через COM”

    Правильно ли я понимаю, что задачу трансляции 8.2->8.3, кроме “понижения” Конечной ИБ до 8.2 можно решить и “Повышением” в Исходной ИБ. Для этого придется модернизировать обработку УниверсальныйОбмен, добавив “8.3” в список “Платформ”. При этом потребуется зарегистрировать “comcntr.dll” от 8.3.

    Есть ли какие “подводные камни” (противопоказания) одновременного использования библиотек различных платформ? Нужно ли использовать две или библиотека от 8.3 может поддерживать и вызовы от 8.2?

    • Ольга Кузнецова

      Здравствуйте!
      Да, можно подправить обработку так, чтобы она работала с 8.3.
      Можно зарегистрировать одновременно компоненты от 8.2 и 8.3, они не конфликтуют
      Библиотека от 8.3 не работает с 8.2

  20. kuban_paper

    Здравствуйте!
    При выгрузке данных через COM, можно ли выводить сообщения для пользователя в исходной ИБ?

    • Ольга Кузнецова

      Здравствуйте!
      Можно выводить сообщения как раз только в исходной базе. Сообщения будут о выгрузке объектов, а о загрузке будут сообщения только в случае ошибки. При COM-соединении загрузка каждого объекта происходит сразу после его выгрузки.

      • karpov2

        В видео 2.3.2 говорится о том, что при обмене через COM-соединение происходит выгрузка всех объектов в промежуточный файл, а потом этот файл загружается. Вы утверждаете, что “При COM-соединении загрузка каждого объекта происходит сразу после его выгрузки.”. Так как на самом деле?

        • Ольга Кузнецова

          Здравствуйте!
          На самом деле происходит выгрузка каждого объекта в промежуточный файл, а потом сразу происходит загрузка этого файла. Поэтому большие объемы данных через COM переносить оптимальнее

  21. mamalena57

    Здравствуйте! При настройке обмена через СОМ – соединение столкнулась с тем, что подключиться к Приемнику удается только тогда, когда Приемник выключен. В противном случае выдается следующее сообщение об ошибке:

    При попытке соединения с COM-сервером произошла следующая ошибка:
    {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(13781)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V82.COMConnector.1): Существуют активные сеансы работы с данной базой, использующие версию платформы, не поддерживающую совместную работы с этой версией.
    Не совпадает версия временного файла.
    Что это значит, и возможно ли с этим бороться?

    • Ольга Кузнецова

      Здравствуйте!
      На практике встречалось следующее решение проблемы «Не совпадает версия временного файла». Причиной был антивирус. На компьютере, где появлялась эта ошибка, стоял Kaspersky Endpoint Security 10. Как только Касперского удалили (отключение, настройка исключений не помогли), база стала запускаться. Коллеги также описывали похожий случай.
      Вообще, ошибка характерна для платформы 8.3. Не поддерживается одновременная работа «1С:Предприятия» версии 8.3.3 (и новее) и предыдущих версий с файловой информационной базой. Совместная работа с файловой информационной базой возможна только клиентскими приложениями одной версии.

      Для проверки можно оставить установленной платформу только одного релиза, все остальные удалить. Затем зарегистрировать компоненту comcntr.dll из подкаталога bin установленной платформы для работы через COM:
      regsvr32 comcntr.dll (через командную строку, запущенную от Администратора)

      При установке платформы любого релиза компонента comcntr.dll регистрируется от устанавливаемого релиза. Возможно, при наличии параллельно установленных платформ 8.2 и 8.3 зарегистрирована компонента от платформы 8.3, поэтому попробовать зарегистрировать, указав файл из папки с установленной 8.2. Тогда при помощи COM доступ к базе-приемнику под 8.2 должен быть получен, если база-приемник может быть открыта под этой платформой.
      Для подключения к базе на платформе 8.2 следует использовать объект V82.COMConnector, а для доступа к базе на платформе 8.3 – V83.ComConnector.
      В комплекте с конфигурацией «Конвертация данных» есть обработка V8Exchan83.epf, при помощи которой можно подключаться к базам как на платформе 8.3, так и 8.2.

  22. Владимир Выдрыч

    Здравствуйте, вопрос по видео 2.3.3 “Отбор выгружаемых данных”.

    Что будет, если в ПВД используется произвольный алгоритм выборки исходных данных, и при этом настроены отборы для этого ПВД на форме обработки выгрузки?

    Сработают ли эти отборы после того, как отработает произвольный алгоритм выгрузки, или будут проигнорированы?

    • Ольга Кузнецова

      Здравствуйте!
      В случае выгрузки по ПВД с произвольным алгоритмом отбор будет проигнорирован. Он действует только если указана стандартная выборка и не указан узел обмена

Комментарии закрыты