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

Обмен только измененными объектами

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

  • Глава 4. Универсальный обмен + планы обмена
  • Глава 5. Обмен по расписанию

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

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

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

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

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

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

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

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

  1. Виктория

    При изучении материала обнаружила, что при запуске Универсальной обработки V8Exchan82 выдаётся ошибка. Что можете посоветовать?

    • AlexeyDubrovin

      А запускали в какой версии платформы ?
      Возможно, что пытаетесь запустить на платформе 8.3, а обработка от 8.2
      Да, так и есть. Обработки от 8.2 на 8.3 не открываются, так как у них формат (внутренний) разный.
      Либо открывайте на 8.2, либо пользуйтесь обработкой от 8.3 (v8Exchan83)
      Некоторые обработки от 8.2 можно запустить на 8.3, открыв их в конфигураторе и сохранив. Но, насколько я помню, с этой обработкой не прокатит. Там возникают другие ошибки, уже на уровне кода на 1С

  2. droplet

    У меня вопрос по прочим обменам. При таких обменах используется справочник НастройкиОбменаДанными. На закладке элемента этого справочника “Обмен по правилам” есть “Настройки выгрузки”, где можно указать объект метаданных и настройку (Только по ссылке/Выгружать/Не выгружать).
    1. Каким образом происходит заполнение этих настроек из правил обмена данными?
    2. Если настройки не указаны ни для одного объекта- используются режим Выгружать?
    3. Если настройки указаны только для части объектов, то для остальных будет использован режим Выгружать?

    • AlexeyDubrovin

      1) Только по ссылке – на закладке онлайн-обмен стоит галка “Выгружать объект (польностью) только при наличии на него ссылки
      Не выгружать – стоит галка Отключить в ПВД
      Выгружать – все остальное
      Второй и третий вопрос не понял. Указаны и не указаны где ?

      • droplet

        По 2 и 3 вопросу имеется в виду, что настройки не указаны в справочнике НастройкиОбменаДанными на закладке элемента этого справочника “Обмен по правилам” во вкладке “Настройки выгрузки”.

        • AlexeyDubrovin

          А такое разве возможно ? Зашел настройки, попытался удалить значение из колонки НастройкаВыгрузки. У меня не получилось.
          Или Вы о чем-то другом ?

          • droplet

            Это возможно в случае, если правила обмена меняются(добавляются какие-то объекты), но эта закладка повторно не перезаполняется. По-умолчанию она сама не заполняется и не перезаполняется.

            • AlexeyDubrovin

              А, вот Вы о чем. Если какого-либо объекта нет в ТЧ НастройкаВыгрузкиДанных, то все работает в соответствии с правилами регистрации и правилами конвертации. По-сути, эти настройки просто накладываются на те настройки, которые в правилах, изменяя их. Если настройки нет в ТЧ, то правила работают без изменений.

  3. geimer90

    Здравствуйте!
    Пытаюсь сделать автоматическую выгрузку по расписанию.
    Использую произвольный алгоритм выгрузки. Есть ли готовые механизмы автоматической выгрузки для такой ситуации?
    Насколько я понял при использовании планов обмена и механизма регистрации изменений нужно использовать в ПВД стандартную выборку.
    Поясните пожалуйста этот момент.

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

      Добрый день

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

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

      • geimer90

        Объём данных небольшой, поэтому могу переносить все данные. Мне главное нужен готовый механизм автоматической выгрузки по правилам обмена с произвольным алгоритмом ПВД. Можете что-нибудь посоветовать? Или придётся самому писать процедуру для регламентного задания?

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

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

          Некрасивое решение, но работать будет

          • KetLog

            Добрый день,Ольга.
            Стоит та же задача,а именно: односторонний периодический обмен из ЗУП 2.5 в ЗУП 3.1 с помощью УОД и плана обмена. В правилах во многих пунктах ПВД стоит произвольный алгоритм.

            Подскажите,в каком модуле-главе-уроке описывается информация про метод ВыгрузитьПоПравилу() ? Хотелось бы посмотреть пример,как этот метод использовать.

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

              Добрый день

              Можно посмотреть в занятии 1.8.6 “Конвертация Документа в Операцию”

  4. Андрей

    ПодключитьОбработчикОжидания отключается во время блокировки программы – есть в файловой базе способ обойти отключение – поставил случайно на блокировку и обмен не произошел? Или все переносить на сервер и там обеспечивать непрерывный процесс

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

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

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

  5. Александр

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

    После отправки сообщения его номер постоянно увеличивается, есть ли какие ограничения на длину этого номера ?
    И если эти ограничения есть, то как ведет себя система при обнулении счетчика ?

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

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

  6. newjon

    Здравствуйте!
    есть такое понятие как “фильтр выборочной регистрации объектов”- где и как он настраивается ?

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

      Здравствуйте!
      Фильтр выборочной регистрации настраивается в регистре сведений Правила для обмена данными. Когда правила обмена загружаются в этот регистр, они образуют новую запись, у которой есть реквизит ИспользоватьФильтрВыборочнойРегистрации. Если значение этого реквизита “Истина”, то на узлах данного конкретного плана обмена не будут регистрироваться объекты, у которых изменен тот реквизит, для которого не настроено ПКС в правилах обмена. То есть когда существующий в базе объект изменен и перезаписан, сначала происходит проверка, какие из реквизитов у него изменены. Если для какого-то из этих реквизита в правилах обмена, загруженных в регистр сведений, настроено ПКС, то дальше будут выполняться правила регистрации, чтобы выяснить, нужно регистрировать этот объект, или нет. А если ни для какого из измененных реквизитов ПКС не настроено, то объект не будет зарегистрирован.
      Это сделано для того, чтобы объект не выгружался, если все равно изменена та информация, которая у него выгружаться не будет. С другой стороны, не все свойства объекта выгружаются с помощью ПКС, поэтому этот механизм отключаемый.

  7. Denis

    Добрый День!
    вопрос: если у меня произвольный алгоритм выгрузки, например рег свед цены номенклатуры в источнике, в приемнике док установа цен, то какой объект рекомендуете регистрировать к обмену ? то есть необходимо переодически запукать произвольный алгоритм в ПВД,в котором я делаю различные произвольные выборки из базы источника

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

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

  8. Станислав Бобков

    здравствуйте! вопрос по домашнему заданию: создать одностороннюю выгрузку или двухстороннюю? если односторннюю , то это получается просто повторить то же самое , что в видео

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

      Здравствуйте!
      В ДЗ 3.14.1 требуется, чтобы из Исходной базы выгружались только те документы продажи, которые были изменены со времени последней выгрузки. Это задание не очень сложное, оно направлено на знакомство с механизмами регистрации.

  9. mamalena57

    Здравствуйте! Подскажите пожалуйста, как с помощью ФабрикиXDTO задавать табличные части документов (или других объектов). Или где можно про это прочитать.

    • Евгений Гилев (Мастер-тренер)

      Добрый день!

      Эту тему мы планируем рассмотреть в рамках курса по Интеграции (сейчас он находится в стадии концептуальной проработки).

  10. Юрий

    Уточните пожалуйста, в каких случаях может понадобиться запрет авторегистрации в Планах обмена, в кнопке “Состав”?

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

      Авторегистрацию запрещают, если планируют регистрировать объекты программно, в зависимости от каких-то условий. Если разрешить авторегистрацию, то регистрироваться будет каждый измененный объект

  11. zels

    Как работает механизм удаления регистрации изменений не всех, а только переданных объектов? Ведь процедура очистки знает только про номер сообщения… Выходит, кто-то должен повторно зарегистрировать изменения в невыгруженных объектах?

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

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

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

  12. Velmir1988

    1)Когда возникают коллизии при обмене и как их разрешить?
    2)Есть такая обработка ОбменДаннымиXML. Хотелось бы узнать о применении данной обработки.

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

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

      2)Обработка ОбменДаннымиXML используется для так называемых “Прочих обменов данными”. Эти обмены сейчас в новых конфигурациях отсутствуют, и используется обмен на основе БСП. Там – другая обработка, “КонвертацияОбъектовИнформационныхБаз”. Принцип работы всех трех обработок – УниверсальныйОбменДаннымиXML, ОбменДаннымиXML и КонвертацияОбъектовИнформационныхБаз очень похож. Общая схема одинаковая. Однако есть принципиальные различия в подготовке правил для них и в нюансах выгрузки и загрузки.

  13. shmax

    Так при каких случаях нужно создавать фоновое задание программно? Не проще всегда описывать предопределённое регламентное задание?

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

      Здравствуйте!
      Если создавать фоновое задание программно, то им можно более гибко управлять, запускать их по-разному в зависимости от каких-то условий, несколько сразу и т.д.

  14. CT

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

    Если мы:
    в конечной БД экспортировали схему конечной БД в XDTO-пакет;
    в исходной БД этот пакет импортировали;
    в исходной БД дали ему Имя;

    то зачем при создании ФабрикиXDTO задавать файл с пакетом а не использовать загруженный уже пакет(тем более 2-м параметром метода СоздатьФабрикуXDTO можно задвать “пакеты”)?

    Я, правда, не смог “найти” нужный пакет в коллекции ФабрикаXDTO.Пакеты. Как найти импортированный пакет?

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

      Здравствуйте!
      Можно и так, и так. И использовать файл, и использовать пакет. Среди пакетов Фабрики загруженный обычно последний по индексу. Но его и не нужно искать. Если пакет уже загружен, то можно создавать объекты нужных типов, используя свойство глобального контекста ФабрикаXDTO.
      Есть одна тонкость: пространство имен в загруженном пакете не должно пересекаться с пространством имен в конфигурации. Поэтому, скорее всего, в загруженном пакете его нужно будет изменить.

  15. CT

    Добрый день!

    При сериализации XDTO должны быть заполнены все реквизиты объекта?
    Что будет при Десериализации если встретятся реквизиты со значением неопределенно?

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

      Здравствуйте!
      В пакете с описанием типов у реквизитов есть свойство “Возможно пустое”. Если оно Истина, то при десериализации пустого реквизита будет подставлено пустое значение по умолчанию. А если Ложь, то выдана ошибка

  16. Art

    Не ясно, при каких условиях может возникнуть ситуация, когда у объектов, зарегистрированных к выгрузке, будут различаться номера сообщений? Ведь если происходит выгрузка, то синхронно все, что зарегистрировано, должно выгрузиться в транзакции с присвоением одинакового номера. Или есть исключения?

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

      Здравствуйте!
      Все, что зарегистрировано на узле, по которому происходит выгрузка, будет выгружено с присвоением номера сообщения (например, 1). Допустим, пока квитанция об успешной загрузке не пришла, регистрации не удаляются. Далее создаются новые объекты, и они тоже регистрируются к выгрузке. У них пока нет номера сообщения. Потом может произойти еще одна выгрузка, с номером сообщения 2, опять выгрузятся все зарегистрированные объекты. Но у тех объектов, которые уже выгружались, останется номер сообщения 1. А у тех, которые еще не выгружались, установится номер сообщения 2.

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