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

Настройка on-line обмена с типовым решением

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

  • Глава 6. Настройка on-line обмена с типовым решением

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

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

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

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

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

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

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

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

  1. droplet

    Недавно встретилась со следующей ситуацией: в рабочих правила в ПКС использовались неэкспортные процедуры и ф-и обработки КонвертацияОбъектовИнформационныхБаз, н-р ВыгружатьОбъектПоСсылке, ВыгруженныеПоСсылкеОбъектыДобавитьЗначение, ОбъектПроходитФильтрРазрешенныхОбъектов.. Получается, что в ПКО и ПКС можно использовать любые процедуры и ф-и этой обработки, а не только экспортные?

    • AlexeyDubrovin

      Дело в том, что код, написанный в обработчике запускается в обработке с помощью процедуры Выполнить(КодОбработчика), что приводит к выполнению этого кода в контексте текущей процедуры и текущего модуля. Поэтому все процедуры и функции этого модуля доступны в коде обработчика.

  2. droplet

    Правильно ли я понимаю, что даже при том, что произвольная выборка в ПВД не работает при on-line обмене, мы все равно можем использовать в обработчиках ПВД метод ВыгрузитьПоПравилу() (например, чтобы создать несколько объектов от одного зарегистрированного к выгрузке)?

    • AlexeyDubrovin

      Да, произвольная выборка не работает, но можно, например, в обработчике ПВД ПередВыгрузкой вызвать ВыгрузитьПоПравилу(Объект,,,, ИмяПКОПоступление)

  3. Юрий

    Добрый день.
    Подскажите, если возникнет необходимость сильной модификации или даже написания правил с 0 для прочих или онлайн обменов – нет ли возможности производить через внешнюю обработку как это было с УОД? Постоянная подгрузка правил в типовые формы прочих и онлайн обменов съедает N-ое количество времени.

    • AlexeyDubrovin

      Насколько я понял речь про отладку правил или использования правил из типового онлайн-обмена в обработке УниверсальныйОбменДаннымиXML ?.
      Проблема использования правил из онлайн-обменов в УниверсальныйОбменДаннымиXML в основном только в том, что в онлайн-обмене передается ряд параметров из настроек. Если немного поизвращаться, то можно попытаться эти параметры передавать и в УниверсальныйОбменДаннымиXML (через параметры или через внешние обработки). Чего-то совсем универсального тут вряд ли стоит ждать, потому что для каждого обмена свои настройки/параметры).

      • Юрий

        Да, про отладку правил, все верно. Уж очень много времени тратится на постоянную подгрузку правил в типовые формы…
        Спасибо, значит если оно того стоит – можно придумывать костыли для передачи параметров в УОДxml при отладке.

        • AlexeyDubrovin

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

  4. SinO

    Добрый день!
    Подскажите пожалуйста как правильно, бьюсь уже неделю ничего не выходит.

    Вопрос:
    По материалам четвертого модуля курса «Конвертация данных 2.1» мной был настроен онлайн обмен между УТ 11.1.10.173 (Источник) и УТ 11.3.4.197 (Приемник). В рамках обмена из источника производится выгрузка документа реализации товаров услуг в документ поступления товаров базы Приемника. Поиск осуществляется по номеру и дате. Признак проведенности не переносится.
    В базе Источнике для регистрации событий используются следующие обработчики:
    ПередЗаписью –
    Процедура ОбменДаннымиАРС_Обмен_МалаяБаза_СтавропольПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
    Если Не ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда
    ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписьюДокумента(“АРС_Обмен_МалаяБаза_Ставрополь”, Источник, Отказ, РежимЗаписи, РежимПроведения);
    КонецЕсли;
    КонецПроцедуры
    ПередУдалением –
    Процедура ОбменДаннымиАРС_Обмен_МалаяБаза_СтавропольПередУдалением(Источник, Отказ) Экспорт
    Если Не ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда
    ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередУдалением(“АРС_Обмен_МалаяБаза_Ставрополь”, Источник, Отказ);
    КонецЕсли;
    КонецПроцедуры
    При передаче нового или измененного документа механизм отрабатывает корректно. Проблема возникает при пометке на удаление документа в базе Источнике. В этом случае в XML передается не объект документа со всеми реквизитами, а подобная строка:
    »
    В результате, если я правильно понимаю, система Приемник либо не удалит ничего, поскольку не найдет объекта с таким УИ, либо удалит не тот объект.
    Подскажите пожалуйста, как мне добиться корректного поведения обмена; чтобы при пометке на удаление Документа в Источнике, в Приемнике соответствующий документ помечался на удаление, при удалении документа в базе Источнике документ удалялся в базе Приемнике.

    P.S. В файле приложения прикрепил правила обмена.

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

      Добрый день

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

      • SinO

        Добрый день!

        Спасибо за ответ!

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

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

        На случай, если другого выхода не окажется, согласно вашим рекомендациям мы активировали флаги сопоставления по ссылке и дальнейшему поиску по полям поиска, однако в xml мы получили следующую строку: . Соответственно, удаление объектов, которые передавались нами ранее (не по ссылке) не происходит. А те, что были переданы по ссылке удаляются не корректно.

        3. В списке документов поступления они присутствуют, но при попытке открыть их мы получаем сообщение об ошибке: “Объект не найден”. Подскажите пожалуйста, как избавиться от этой ошибки?

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

          Идея поиска по идентификатору+поля как раз в том, чтобы объекты из источника, для которых нет такого же идентификатора в приемнике, находились по полям, а потом в регистре сведений бы делалась запись с сопоставлением двух идентификаторов.

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

          Для того, чтобы удаление объектов корректно загружалось, нужно конечно сначала сопоставить неудаленные элементы. Здесь вот будет проблема на начальном этапе. Если их мало – удалите их вручную, если много – объекты с пометкой удаления можно быстро выгрузить и пометить на удаление, накидав простые правила (буквально одно ПКО и одно ПВД) в КД 2 для обработки V8Exchan8.2(8.3). Удаленные объекты уже никак не найти, здесь придется искать те, которые есть в приемнике, но нет в источнике.

          Зато потом все должно работать

          Выгрузка пометки удаления и удаленного объекта – это встроенный процесс, управлять им с помощью настроек нельзя. Можно только переписать механизм выгрузки и загрузки. Я так никогда не делала. Все функции по выгрузке и загрузке находятся в модуле обработки КонвертацияОбъектовИнформационныхБаз. Но лучше бы настроить обмен стандартным способом.

          • SinO

            Добрый день!

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

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

              Добрый день.

              Есть такой обработчик конвертации – При получении удаления. Вот в нем нужно для документов прописать отмену проведения.

              Вообще, обычно в типовых правилах в этом обработчике пишут Отказ – Истина;, и устанавливают там пометку удаления. Тогда объекты, удаленные в одной базе, в другой будут только помечены на удаление. Это более управляемая ситуация

  5. geimer90

    Здравствуйте! Объединял конечную базу с БСП для выполнения обмена данными. После обновления установил значения константам “Использовать обмен данными” и “Использовать обмен данными в локальном режиме”. Захожу под пользователем с ролями “Администратор системы” и “Полные права”. При нажатии на пункт меню “Синхронизация данных” выскакивает следующая ошибка:
    {ОбщийМодуль.ОбщегоНазначения.Модуль(2020)}: Ошибка при получении значения атрибута контекста (ПараметрыКлиентаНаСервере)
    Если ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить(“СкрытьРабочийСтолПриНачалеРаботыСистемы”) Неопределено Тогда
    по причине:
    Попытка получения неинициализированного значения параметра сеанса
    В моей базе действительно нет такого параметра сеанса, но его нет и в БСП. Версия БСП 2.2.4.45. Пробовал комментировать куски кода, много дополнительных ошибок появляется. Что делать?

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

      Добрый день

      Скорее всего, что-то с модулем сеанса связано. Проверьте, он заполнен?

  6. leobrn

    Здравствуйте! Подскажите по реализации. Есть две базы: одна самописная, а другая УПП 1.3. Мне нужно выгружать документ из самописной и загружать его в упп 1.3 с использованием плана обмена и авторегистрации на стороне самописной (односторонний обмен). Я сделал интеграцию с бсп на стороне самописной конфигурации, получаю файл выгрузки. План обмена сделал на стороне самописной с авторегистрацией нужного документа. А что задавать на стороне упп, если мне нужна туда только загрузка? мне не нужно создавать макет правил обмена в упп? и в плане обмена в составке я указываю документ без авторегистрации?

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

      Добрый день.

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

      • leobrn

        1) у меня сейчас получается, что данные из самописной выгружаются и в упп загружаются, но файл обмена не чистится и номера сообщения сейчас:
        В самописной: номер отправленного 4 номер принятого 0
        В УПП: номер отправленного 0 номер принятого 4

        То есть после загрузки он не отправляет сообщение, что загрузил их

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

        2) Попытался сделать настройку в УПП через прочий обмен. Выгрузка квитанции происходит, но загрузка не идет по нему. падает на
        Ошибка при загрузке данных: {Обработка.ОбменДаннымиXML.МодульОбъекта(5898)}: Ошибка при вызове метода контекста (Свойство): Задано неправильное имя атрибута структуры

                Для Каждого ЭлементПоиска Из  ДанныеПоискаПоТЧ.ПоляПоискаТЧ Цикл
                   
                    ЗначениеЭлемента = Неопределено;
                    СтруктураЧтенияСвойств.Свойство(ЭлементПоиска, ЗначениеЭлемента);
                   
                    СтруктураПоиска.Вставить(ЭлементПоиска, ЗначениеЭлемента);     
                   
                КонецЦикла;

        Падает, когда элемент поиска равен “”ИндексСтрокиТаблицы,КоличествоПлан,КоличествоФакт,Номенклатура,НужнаСФ” это колонки табличной части

        Почему то Правило.ПоискПоТабличнымЧастям[1].ПоляПоискаТЧ разбивает на две строки в первой Колонка1, а во второй все остальное. Получается это из правил идет?

        я добавил попытка исключение конец попытки и обмен прошел, номера сообщения меняются, но регистрация так и остается в самописной то есть файл не очищается .

        в сампоиснйо конфе в обработке КонвертацияОбъектовИнформационныхБаз в процедуре ПрочитатьДанныеПоОбмену есть строка

        УдалитьРегистрациюИзменений  = одАтрибут(ФайлОбмена, ТипБулево, "УдалитьРегистрациюИзменений");

        Получается в файле из упп должен придти удаление регистрации изменений, но он у нас пустой. в каком месте мне снять регистрацию?

        я попробовал в этой процедуре для своего узла удалять регистрацию и вроде все заработало, но не знаю на сколько это правильно

            Если РежимЗагрузкиДанныхВИнформационнуюБазу() Тогда
               
                НачатьТранзакцию();
                НомерПринятого = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЧтениеСообщения.Отправитель, "НомерПринятого");
                ЗафиксироватьТранзакцию();
               
                Если НомерПринятого >= ЧтениеСообщения.НомерСообщения Тогда // Номер сообщения меньше либо равен ранее принятому
                   
                    ЧтениеСообщенияВременное = ОбщегоНазначенияКлиентСервер.СкопироватьСтруктуру(ЧтениеСообщения);
                    ЧтениеСообщенияВременное.СообщениеБылоПринятоРанее = Истина;
                    ЧтениеСообщения = Новый ФиксированнаяСтруктура(ЧтениеСообщенияВременное);
                   
                    ВызватьИсключение НСтр("ru = 'Сообщение обмена было принято ранее'");
                КонецЕсли;
               
                УдалитьРегистрациюИзменений = УдалитьРегистрациюИзменений И Не ВосстановленаРезервнаяКопия;
               
                //++РС
                ЕСли УзелОбменаПолучатель.Код = "ГУ" Тогда
                     УдалитьРегистрациюИзменений=Истина;
                КонецЕсли;
                //--
        • Ольга Кузнецова

          Добрый день

          Нет, регистрация должна удаляться при удачной загрузке сообщения из УПП, а не в любом случае.

          Сообщение из УПП и должно быть пустое. Там только номер должен быть. Когда это сообщение удачно загружается, регистрация должна удаляться. При этом если из самописной выгружается через on-line обмен, то из УПП тоже должно выгружаться по этому механизму, а не через прочие обмены.

          А ошибка не возникает в УПП при выполнении обмена? Можно в журнал регистрации посмотреть.
          Посмотрите в УТ, если есть зарегистрированные объекты на узле самописной базы, то нужно всю регистрацию поудалять

  7. Дмитрий

    Добрый день, столкнулся с проблемой
    Есть две базы УПП 1.3 и Бухгалтерия КОРП 3.0
    Есть правила обмена, разрабатывались не мной, и как я понял они рассчитаны только на работу через обработку
    УниверсальныйОбменДанными.
    Задача сделать “нормальный обмен по технологии БСП” чтобы я как это мог поддерживать. С модулями частично разобрался, что надо добросил из БСП, что дописал самостоятельно, интеграция через web сервис. Настраиваю обмен. Возникла проблема при обмене документом “ПКО” (“приходный кассовый ордер”) документ выгружается из источника, но приемник загружается в непригодном виде, ссылочные поля отмечены как битые ссылки. Смотрел сам файл обмена (из временного каталога вытащил) в файле есть вся структура документа. Но выгружается он как один объект. Остальные ссылочные объекты расположены в его узлах, описываются только ключевыми полями. Вопросы:
    -Можно ли сделать чтобы объекты из документа выгружались по ссылке, то есть к примеру есть номенклатура в документе, значит вся она должна быть выгружена объектами. (без использования выгрузить по правилу)
    -Почему при загрузке не создаются объекты из ключевых полей? Вместо этого в документе в ссылочном поле битая ссылка
    -Для чего нужны реквизиты “типовых” планов обмена “Режим выгрузки” и “Режим выгрузки по необходимости”,
    Увидел что они используются в ПРО но сама суть их не ясна
    p.s. У объектов в ПКС признак выгружатьобъект = истина ставил.

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

      Добрый день.

      Если ВыгружатьОбъект = Истина; не работает,попробуйте ВыгрузитьТолькоСсылку = Ложь;. В старых версиях типовых использовалась такая конструкция.

      Реквизиты РежимВыгрузки – это переключатели режима. Их можно указывать в Правилах регистрации для каждого вида объекта. Тогда можно для каждого узла плана обмена регулировать выгрузку разных групп объектов в пользовательском режиме.

      • Дмитрий

        По поводу РежимВыгрузки, то есть по сути реквизиты «Режим выгрузки» и «Режим выгрузки по необходимости» (вообще реквизиты о плана обмена такого типа) предопределены для КД 2.1 и мы просто можем делить объекты по способу выгрузки, указывая его в ПРО?
        upd. ВыгрузитьТолькоСсылку – помогло, спасибо большое=)

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

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

      • Дмитрий

        По поводу ВыгружатьОбъект = Истина, нашел в самой обработке участок кода

        ВыгрузитьТолькоСсылку = не ВыгружатьОбъект;
        ...обработчик перед выгрузкой ПКС
        ВыгружатьОбъект = ВыгрузитьТолькоСсылку

        По поводу выгрузки справочников по ссылке все хочу внести ясность, то есть мне необязательно регистрировать их на узле к выгрузке и создавать ПВД для их выгрузки по ссылке из документа. Получается для нужных свойств в ПКО я указываю ВыгрузитьТолькоСсылку = Ложь или ВыгрузитьОбъект = Истина и эти свойства выгружаются в файл как объекты, то есть ожидаемое поведение БСП такое?

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

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

  8. Светлана

    Здравствуйте.
    Делаю задание 18-1 на БСП редакции 2.2. Перед первой оправкой попыталась правила обмена загрузить в Регистр сведений Правила обмена для синхронизации данных по Все действия – Обновить все типовые правила. В регистре не появилось ни одной записи. Работаю с Конечной ИБ, которая подготовлена для обмена по предыдущему заданию

    Почему может не заполняться регистр?

      • Юлия Толстых


        (текст комментария доступен только участникам Мастер-группы)

  9. MingazovRV

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

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

    Если я правильно догадываюсь, то второй файл – это правила конвертации из второй базы обратно, т.е. я оба правила могу получить из одной базы? И если я редактирую правила обмена только в одну сторону, из текущей, то и изменится у меня только файл ExchangeRules.xml, а второй файл CorrespondentExchangeRules.xml я могу загрузить тот же самый?

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

      Добрый день

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

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

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

  10. zvivla

    Здравствуйте. Создала план обмена в БП 3.0. с исходной базой. При попытки синхронизировать данные выдает такую ошибку: “Не заданы правила конвертации для плана обмена И_БП. Загрузка данных отменена.”

    В макет плана обмена поместила правила конвертации. Версию конфигурации меняла

    • zvivla

      теперь такая ошибка

      {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(16832)}: Ошибка при вызове метода контекста (ЗакончитьЗапись)
      ЗаписьСообщения.ЗакончитьЗапись();
      по причине:
      Ошибка при выполнении обработчика – ‘ПередЗаписью’
      по причине:
      {ОбщийМодуль.ОбменДаннымиСобытия.Модуль(2663)}: Ошибка при вызове метода контекста (ЗаполнитьЗначенияСвойств)
      ЗаполнитьЗначенияСвойств(Приемник, Источник, СписокСвойствШапки);
      по причине:
      Недопустимое значение параметра (параметр номер ‘3’) (Поле ‘ДатаНачалаВыгрузкиДокументов’ объекта ‘План обмена объект: И БП’ не обнаружено)

      Добавила модуль ПравилаОбменаКорреспондента

      • zvivla

        Перенесла в план обмена все стандартные реквизиты и все заработало

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

      Добрый день.

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

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

  11. Айгуль

    Делаю односторонний обмен УПП и Управление автотранспортом (УАТ).
    Создала свой план обмена в обеих базах. Загрузила правила обмена и правила регистрации в УПП.
    В УАТ загрузила правила обмена (пустые), правила регистрации (пустые) и правила обмена корреспондента (как в УПП).
    В УАТе настраиваю синхронизацию через сом-соединение, заполняю реквизиты и табличную часть узла обмена корреспондента.

    В обработчике конвертации “Перед выгрузкой данных” заполняю параметры правил реквизитами узла обмена следующим образом:

    Параметры.Вставить("СкладГСМ", УзелДляОбмена.СкладГСМиТЖ);

    СписокСкладов = Новый СписокЗначений;
    СписокСкладов.ЗагрузитьЗначения(УзелДляОбмена.Склады.ВыгрузитьКолонку("Склад"));
    Параметры.Вставить("СкладыЗапчастей", СписокСкладов);

    Далее в зависимости от этих параметров выбираю ИмяПКО в обработчике ПВД “Перед выгрузкой”.

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

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

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

      У Вас выгрузка должна идти из УПП? Значит, и реквизиты узла плана обмена нужно заполнять в УПП. Если Вы их заполнили только в УАТ, они в УПП пустые, и в параметры попадают пустые значения. Возможно, в этом дело?

      • Айгуль

        Здравствуйте!
        Да, правильно выгрузка из УПП должна быть.
        Я настраиваю обмен на стороне УАТ, потому что УПП – обычное приложение.
        Заполняю реквизиты и табличную часть узла обмена КОРРЕСПОНДЕНТА. В УПП я проверила – реквизиты этого узла заполнены корректно.

        У меня подозрение, что параметр “УзелДляОбмена” не правильно заполняется или не заполняется вообще. Такое может быть?

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

          Если бы УзлеДляОбмена не заполнялся, ошибка бы возникала в обработчике Перед выгрузкой данных, на конструкции УзелДляОбмена.СкладГСМиТЖ.

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

          Чтобы выяснить, какие параметры заполнены, а какие – нет, можно еще делать отладочные записи в журнале регистрации, а потом их там смотреть.

          Или можно попробовать произвести обмен из УПП все-таки и посмотреть в отладчике. Если не совсем старая версия УПП, то из нее тоже можно обмен производить. В полном интерфейсе меню Сервис – Обмен данными с продуктами на платформе 1с Предприятия 8.2 – Обмены данными.

          • Айгуль

            Ольга, огромное вам спасибо за ответ! Я попробовала как Вы посоветовали и нашла свою ошибку.

  12. Владимир Бычков

    Интегрировался с БСП 2.1.2.34, выскакивает ошибка при выгрузке из конечной базы с дополнительной настройкой при добавлении данных с дополнительным отбором

    {Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.Форма.Форма(1308)}: Ошибка при вызове метода контекста (ПоместитьВоВременноеХранилище)
    РеквизитФормыВЗначение(“ДополнениеВыгрузки”),
    по причине:
    Переданное значение не может быть помещено во временное хранилище

    похоже, чтобы эта функция работала на 8.3, надо или избавляться от помещения во временное хранилище, либо интегрироваться с более поздними версиями БСП?

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

      Здравствуйте!
      Да, БСП 2.1 – уж очень старая версия. Вполне может не работать на последних платформах. Попробуйте БСП 2.3 использовать

  13. elian

    Настраиваю On-line обмен между двумя конфигурациями ERP2. Делаю все как по урокам. Работает, но не выгружаются объекты по ссылке. В плане On-line обмена я настраиваю обмен только документами и ожидаю, что номенклатура документов будет выгружаться по ссылкам. Если я использую обработку универсального обмена данными со своими правилами, то за документом выгружаются все объекты по ссылкам и я вижу их в файле данных обмена. Если я провожу выгрузку по кнопке “Синхронизировать” в настроенном On-Line обмене, то в файле я вижу только один объект выгружаемого документа, а после синхронизации на стороне базы-приёмника в этом документе сплошные “Объект не найден…”. В чем может быть причина?

    Может быть я что-то неправильно понял? В состав плана обмена должны быть включены все типы передаваемых объектов? А если номенклатура не включена в состав плана обмена, то она не будет передаваться по ссылке из документа?

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

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

      В on-line обмене по умолчанию объекты по ссылкам не выгружаются, так сделано для того, чтобы уменьшить размер файла данных.
      Чтобы, например, Номенклатура выгружалась по ссылкам из документов, в ПКО для документов в ПКС Номенклатура в обработчике Перед выгрузкой нужно написать

      ВыгрузитьОбъект = Истина;

      • elian

        А нет способа сделать так, чтобы в on-line обменах все объекты по ссылкам выгружались по умолчанию? Чтобы не приходилось в каждом ПКС в обработчике “Перед выгрузкой” указывать ВыгрузитьОбъект = Истина;

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

          Нет, стандартного такого способа нет. Механизм специально сделан так, чтобы сократить размер выгружаемого файла. Логично, что когда все объекты синхронизированы в двух базах, выгружать нужно только новые и измененные, а ссылки из них на остальные будут найдены в конечной. Поэтому изменить это поведение можно только точечно, в ПКС

  14. elian

    Пытаюсь настраивать новый on-line обмен в конфигурации 1С:ERP Управление предприятием 2. Делаю все как в уроках. Выяснил следующий момент: обмен не будет настраиваться, пока в плане обмена не появятся все три макета: Правила конвертации, Правила конвертации корреспондента и Правила регистрации. А в уроках мы настраиваем только с одним макетом правил конвертации и всё работает. Почему так? Это причина того, что функционал БСП перепилен в УП? Или в УП другая версия БСП? Или еще что-то?

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

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

      • elian

        Не очень понятно: зачем вообще нужны правила обмена корреспондента? Ведь конфигурация-источник не будет их применять при выгрузке в получателя.

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

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

  15. EgorovAleksandr

    Здравствуйте.
    Есть ли возможность узнать какая версия БСП используется в конкретных типовых релизах конфигураций?

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

      Здравствуйте!
      Да, нужно в пользовательском режиме открыть регистр сведений “Версии подсистем” и найти запись СтандартныеПодсистемы. Там указана версия

  16. irek

    Здравствуйте.
    При нажатии кнопки “Синхронизации данных” появляется ошибка:
    {ОбщийМодуль.ОбщегоНазначения.Модуль(2040)}: Ошибка при получении значения атрибута контекста (ПараметрыКлиентаНаСервере)
    Если ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить(“СкрытьРабочийСтолПриНачалеРаботыСистемы”) Неопределено Тогда
    по причине:
    Попытка получения неинициализированного значения параметра сеанса

    Не пойму где права назначить.
    Пользователь создан с правами Адмнистратора и полными.

    Решилось повторным объединением конфигурации с БСП.

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

      Здравствуйте!
      Возможно, после объединения не прошло обновление. Часто ошибки, связанные с параметрами сеанса, возникают из-за неудачного обновления системы.

  17. qwed

    Здравствуйте. Подскажите есть ли какая то особенность в настройках правил при онлайн-обмене. Я дорабатывал типовые правила обмена Общепит-Розница. В общепите у регистра цены номенклатуры 8 регистраторов. Для того, чтобы не писать правила каждого из регистраторов в документ Установка цен номенклатуры я хотел выгружать используя ПВД и произвольный алгоритм. Запросом из регистра сведений получал все измененные цены и пытался выгрузить по правилу УстановкаЦенНоменклатуры.
    1-я попытыка, создавал ВыборкуДанных. в Выборке данны Создавал Колонки “Номер,Дата,ВидыЦен,Товары”. ВидыЦен и Товары это ТаблицыЗначений. при выгрузке выдается сообщение что Нет коллекции для обхода.
    2-я попытка Использовал ИсходящиеДанные. В ПКО установил Получать из входящих данных, ВыгрузитьпоПравилу(,,ИсходящиеДанные,,”УстановкаЦенНоменклатуры”). При выгрузке выходит ошибка, что не моежет обратиться по индексу.
    Запись из журнала регистрации:
    Ошибка получения свойства объекта из входящих данных
    ПКО = УстановкаЦенНоменклатуры (:)
    ПКС = 2 (–> Номер)
    Объект = РегистрСведенийЗапись.ЦеныНоменклатуры (Регистр сведений запись: Цены номенклатуры)
    СвойствоПриемника = Номер (Строка)
    ОписаниеОшибки = Получение элемента по индексу для значения не определено
    ПозицияМодуля = Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10258)
    КСообщенияОбОшибках = 68
    Отладчиком проверил, как будто выгружается 2 раза, причем первый раз входящие данные есть, а второй там пусто. У меня такое было при прохождении курса, но там я ошибочно в пко прописал выгрузитьПоПравилу.
    Если создаю такие же правила и выгружаю через универсальныйОбменДанными, то все отрабатывает.
    Еще вопрос, как сформировать обработку для отладки(прикрепил скриншот).Там можно только подключить уже созданную обработку, а как сформировать модель – не понятно.

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

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

      • qwed

        Спасибо. А как тогда правильно делать? У меня в Общепите 8 регистраторов у регистра ЦеныНоменклатуры, получается я не смогу одним ПКО выгрузить все зарегистрированные изменения из регистра сведений в один Документ установка цен номенклатуры в Рознице? Сейчас для каждого Документа-регистратора я создал ПКО ДокументРегистратор-Документ УстановкаЦенНоменклатуры, может можно было как то красивей(правильней) все это сделать?

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

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

  18. Abbra

    Вот что в записи сообщения

    Свойство Значение Тип
    ЗаписьСообщения ЗаписьСообщенияОбмена ЗаписьСообщенияОбмена
    ЗаписьXML ЗаписьXML ЗаписьXML
    КонтекстПространствИмен КонтекстПространствИменXML КонтекстПространствИменXML
    Глубина 2 Число
    ПространствоИменПоУмолчанию “” Строка
    Отступ Истина Булево
    Параметры ПараметрыЗаписиXML ПараметрыЗаписиXML
    Версия “1.0” Строка
    Кодировка “” Строка
    Отступ Истина Булево
    ОтступАтрибутов Ложь Булево
    СимволыОтступа ” ” Строка
    НомерПринятого 0 Число
    НомерСообщения 1 Число
    Получатель { УТ11} ПланОбменаСсылка.ПланОбменаКонечнаяУТ11
    ВерсияДанных “AAAAAgAAAAE=” Строка
    Код “УТ” Строка
    Наименование “{ УТ11}” Строка
    НомерОтправленного 0 Число
    НомерПринятого 0 Число
    ПометкаУдаления Ложь Булево
    Ссылка { УТ11} ПланОбменаСсылка.ПланОбменаКонечнаяУТ11
    ЭтотУзел Ложь Булево

  19. Abbra

    Здравствуйте.
    При выполнении задания 4.18.1 при первой выгрузке номенклатуры из Конечной базы
    возникает ошибка в строке
    ЗаписьСообщения.ЗакончитьЗапись()
    и выгрузка не происходит.
    По каким причинам ЗаписьСообщения.ЗакончитьЗапись() может завершаться с ошибкой?

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

      Здравствуйте!
      Не знаю, не сталкивались пока с такими ошибками. А что в журнале регистрации при этом? Можно попробовать в отладчике закрыть записьXML и посмотреть, что там внутри

  20. elenak_bkz

    Добрый день.
    Подскажите пжлст. Постановка задачи урощенно выглядит так
    1.Документ выгружается по флагу, установленному на форме и один раз, дальнейшие изменения не должны приводить к повторной выгрузке, но есть флаг повторно выгрузить(для начальства), все манипуляции с флагами фиксируются в регистре
    2. Есть документ ОтчетОПереработке, который перегружается в ОтчетПереработчика
    В ОтчетОПереработке есть табличная часть продукция, строки из которой перегружаются в
    шапку документа ОтчетПереработчика и соотв их должно быть столько сколько записей в тч
    Немного из разных частей, но предполагалось делать на призвольном алгоритме ПВД
    Если “Если обмен выполняется любым способом, но с использованием плана обмена, то не работает произвольная выборка.” как выкрутиться на правилах регистрации в этом случае или есть другие способы

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

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

      • elenak_bkz

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

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

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

  21. ReflexP

    Всем здравствуйте!
    Кто словит сообщение: “Синхронизация данных с указанной программой не предусмотрена”.
    Вспомните, что план обмена надо настраивать не только в конфигураторе, но и в пользовательском режиме. И в конечной базе тоже!
    Запрашиваемая обработка есть в поставке БСП. Находится в соответсвующей папке.

  22. vitaly.karpov

    Здравствуйте. Я так понял все забыли про реквизиты номенклатуры на стороне УТ? У кого получилось заполнить их? У меня вот такой затык.
    В Конечную ИБ интегрированы объекты из БСП 2.2.4.45.
    Возникла проблема с заполнением реквизитов на стороне УТ. При создании ПКС «ВидНоменклатуры» с ПКО «ВидыНоменклатуры», система упорно не хочет отрабатывать это ПКО. Хотя в обработке «Универсальный обмен данными» работает без проблем. Такая же песня с ПКО «Единицы измерения». Извернулся, и заполнил «ВидНоменклатуры» на стороне УТ, событие ПКО после загрузки. Попытался передать в параметр «ЕдиницуИзмерения» — ноль эмоций. ПВД «Номенклатура» произвольный запрос (там прицепляю единицу измерения) и выгружаю результат в ТЗ. Заметил, что в обработке «Универсальный обмен данными» «Источник» в ПКО «Номенклатура» представляет собой СтрокаТаблицыЗначений со всеми нужными полями из запроса. Если это же ПВД выполняется в составе Конечной ИБ в обработке «КонвертацияОбъектовИнформационныхБаз», то «Источник» волшебным образом представляет собой СправочникОбъект, и ясень пень у него нет реквизита «ЕдиницаИзмерения». Если же в ПВД очистить поле «Объект выборки», то при выгрузке наблюдаю ошибку: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(14696)}: Ошибка при вызове метода контекста (НайтиПоТипу) СтрокаТаблицы.ОбъектВыборкиМетаданные = Метаданные.НайтиПоТипу (СтрокаТаблицы.ОбъектВыборки); по причине: Несоответствие типов (параметр номер ‘1’).
    Аж кушать не могу…

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

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

  23. spv

    Здравствуйте.
    Подскажите, пожалуйста, насколько критично, если в разных базах разные версии БСП, будут ли они корректно обмениваться данными между собой (В случае файлового обмена и, особенно, при прямом подключении)?

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

      Здравствуйте!
      По моим данным все версии БСП через каталог и прямое подключение обмениваются между собой корректно.

  24. spv

    Добрый день
    Вопрос по материалам домашнего задания этого занятия (БСП 2.2): При настройке указывали, что требуется односторонний обмен, но при первом обмене в нашу базы из УТ была перенесена вся номенклатура. Понятно, что в дальнейшем она не будет переноситься, но как-то можно сделать так, чтобы и при первом запуске она не переносилась из УТ (например, что-то удалить, очистить регистрацию и т.п.)

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

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

  25. vovic

    Здравствуйте. Столкнулся с трудностью: не совсем представляю как обеспечить односторонность обмена в случае online-обмена. Пока у меня 2 варианта: 1) убрать регистрацию + подписки на события 2) убрать ПВД и(или, тут точно не знаю) ПКО в правилах обмена. Как правильнее?

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

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

  26. Phinda

    От чего зависит появление вариантов обмена при создании (Отправка данных…, Получение данных…, Полная синхронизация)? У меня настройка синхронизации происходит штатно, как и стандартные. Пришлось односторонний обмен реализовывать через правила конвертации и отмену регистрации изменений.

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

      Здравствуйте!
      Эти варианты не влияют на работу механизма обмена. На самом деле все объекты, которые зарегистрированы на соответствующем узле, должны выгрузиться, иначе зачем они там регистрируются? Поэтому односторонний обмен – это такой, при котором в одной базе объекты регистрируются к выгрузке, а во второй – нет. Для этого во второй базе можно не настраивать подписки на события совсем, и при создании узла плана обмена сразу удалить с него всю регистрацию с помощью обработки “Регистрация изменений для обмена”.

  27. bongoman

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

    Посмотрел в отладчике. При запуске обеих программ процедура УстановкаПараметровСеанса(ИменаПараметровСеанса), вызывается в первый раз с ИменаПараметровСеанса = Неопределено, потом в Конечной ИБ больше не вызывается, а в БСП вызывается второй раз и ИменаПараметровСеанса = Массив, насколько я понимаю вызывается неявно. Почему этого второго вызова не происходит в Конечной ИБ?

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

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

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

  28. kliminvv

    Почему не всегда появляется окно сопоставления?

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

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

  29. CTmuB

    Здравствуйте
    В дэмо базе есть ряд планов обмена
    _ДемоАвтономнаяРабота
    _ДемоОбменБезИспользованияПравилКонвертации
    _ДемоОбменВРаспределеннойИнформационнойБазе
    _ДемоОбменВРаспределеннойИнформационнойБазеСВнешнимиФайлами
    _ДемоОбменСБиблиотекойСтандартныхПодсистем
    _ДемоОбменСБиблиотекойСтандартныхПодсистем212
    _ДемоСинхронизацияДанныхЧерезУниверсальныйФормат
    ОбменСообщениями

    с _ДемоОбменСБиблиотекойСтандартныхПодсистем и _ДемоОбменСБиблиотекойСтандартныхПодсистем212 понятно.
    А где можно поподробнее узнать для каких целей остальные?

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

      Здравствуйте!
      Для части планов обмена в демо-базе БСП заполнена справочная информация. Про остальные информации нет, нужно смотреть код.

  30. CTmuB

    Настроил обмены с двух сторон
    Выгрузка проходит нормально “Выполнено, Отправка данных; Объектов обработано: 4”
    Но со стороны УТ ругается
    “Обмен данными.ПланОбмена.Узел КД.Получение данных
    Ошибка формата файла обмена”
    Подскажите куда копать?

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

      Проще всего посмотреть в отладчике, на какой строке возникает эта ошибка. Причины ее могут быть очень разными.

  31. CTmuB

    В БСП 2,2,5 в макетах плана обмена есть “ПравилаОбмена” и “ПравилаОбменаКорреспондента”
    Значит ли это что эти правила и планы обмена можно настраивать только в одной из баз?
    Или это касается только макетов?
    Вобщем : Зачем и для чего нужны “ПравилаОбменаКорреспондента”?

    • CTmuB

      В типовых планах обмена есть ещё макет “ПравилаРегистрации” его заполнять нужно?

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

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

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

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

  32. CTmuB

    Такой вопрос я проводил интеграцию с последней БСП 2.2.5.23 от 05.02.15
    В Управление торговлей, редакция 11.1 (11.1.9.70) от 20.01.2015 интегрирована БСП 2.2.3.44
    Разница в релизах БСП существенная.
    Вопрос в том можно ли дальше продолжать выполнение ДЗ или лучше переделать на интеграцию конечной базы с БСП 2.2.3.44 ?

    • CTmuB

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

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

        Обычно используют самую свежую версию БСП, и настраивают обмен со всеми остальными версиями.

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

      Здравствуйте!
      Разные версии БСП обычно хорошо работают друг с другом. Даже обмен между базами со встроенными БСП 2.1 и 2.2 настроить не проблема. Думаю, нужно продолжать выполнение ДЗ

  33. kliminvv

    Здравствуйте.Есть УПП 1.3 данные некоторых справочников переносятся в самописную конфу. В Конечную ИБ встроил БСП. Для чего указывается 2 вида правил, правила обмена и правила обмена корреспондента? Как сделать однонаправленный онлайн-обмен из УПП -конечная? Правила обмена на стороне конечной чисто формальные?

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

      Здравствуйте!
      Для однонаправленного обмена обратные правила довольно формальные, но ПКО в них должны быть настроены для всех типов переносимых объектов. Для обратного переноса достаточно не настраивать подписки на события (и перед первым переносом удалить всю регистрацию) так, чтобы объекты не регистрировались к выгрузке. Тогда они не будут переноситься

  34. Бертыш Андрей

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

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

      Здравствуйте!
      Да, можно менять настройки в процессе использования обмена.

  35. IvanchenkoEfim

    Здравствуйте!
    Настроил обмен, Номенклатура синхронизируется, но подтверждения не идут!!! = вываливается по ошибке. Как я понял, суть в некой обработке регистра “СоответствияОбъектовИнформационныхБаз”. Скриншоты привожу:
    1. “Точка ошибки” – идет попытка обратиться к переменной “Правило”, которая = Неопределено
    2. “ОбработкаРегистра” – это точка вызова проблемной процедуры, из которой видно, что идет попытка что то сделать с регистром “СоответствияОбъектовИнформационныхБаз”.

    Вопрос:
    Нужно ли в ПКО как то особо описывать выгрузку данного регистра или требуется что то еще для начала корректной работы.

    Примечание: УТ- 11.1.7.66

    Ответ на вопрос найден:
    1. Для данной версии УТ обязательно наличие правил регистрации объектов в макете плана обмена.
    2. Каким то образом в обмене оказались зарегистрированными записи регистра “СоответствияОбъектовИнформационныхБаз” – а для их передачи ПКО не создавалось => убрал регистрацию этих данных.

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

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

  36. Дмитрий

    Добрый день!

    При обновлении базы (в пользовательском режиме, я запускал с ключом /С ЗапуститьОбновлениеИнформационнойБазы) вылетает ошибка extra content at the end of the document

    УТ 11.1.9.44, КД – 2.1.8.2

    Пробовал правила и с режимом совместимости и без. Макет ПравилаОбменаКорреспондента пустой. Не подскажете, в чем может быть дело?

    Спасибо!

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

      Здравствуйте!
      Нужно смотреть этот файл, который указан в сообщении.
      Возможно, лучше использовать обработку “Инструменты разработчика: обновление вспомогательных данных”

      • Дмитрий

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

        Файл оказался пустым, точней там был один пробел. Добавил в макет ПравилаОбменаКорреспондента две строчки, парный тег ПравилаОбмена

        и база обновилась, правила обмена в РС подгрузились, спасибо!

  37. serk@rarus.ru

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

    Пытаюсь сделать синхронизацию конечной с УТ. В правилах обмена я специально не установил поиск по наименованию.

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

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

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

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

      • rut-marina

        А если обмен в режиме COM-соединения (без захода в ту базу, куда происходит загрузка)?

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

          Здравствуйте!
          Тогда при загрузке из той базы окно должно открываться, а при загрузке в нее – нет

  38. Ruslan Abiev

    При попытке синхронизации “Конечная ИБ – УТ11” появляется ошибка и синхронизация не проходит. УТ 11.1.6.20, БСП 2.1.9.1. Что это может быть, как мне устранить эту ошибку. Использовать старые релизы конфигураций, как в ваших уроках не хочу. Правильнее использовать более свежие. Советы из скрина ошибки не помогают.

    • Ruslan Abiev

      Разобрался, помогло это:

      Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника();

      И в план обмена добавил пустой макет “ПравилаОбменаКорреспондента”

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

        Здравствуйте!
        Использовать старые релизы и не нужно. Основной подход к настройке сохранился в новых релизах. Изменились некоторые детали. Но человек, который выполняет интегрирование БСП, должен обладать навыками программирования, и обычно в состоянии разобраться в этих деталях.

  39. Владимир

    Ольга! Здравствуйте!
    При настройке БП 3.0 (Занятие 4.6.2)
    И новая ошибка-Журнал регистации БП 3.0.27.7
    {ОбщийМодуль.ОбменДаннымиСобытия.Модуль(2852)}: Итератор для значения не определен
    Для Каждого Элемент Из Настройки Цикл
    А вот как это победить?

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

      Здравствуйте!
      Нужно отладчиком посмотреть, что такое “Настройки”.

      • Владимир

        Ошибка исправлена-Нужно закоментировать все тело цикла и при запуске исправить все дальнейшие ошибки.

  40. Владимир

    При настройке обмена Между Исходная ИБ и БП3.0.27на 2-м шаге ошибка
    “Итератор для значения не определен”.
    Как это исправить?

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

      Здравствуйте!
      Нужно поставить точку остановки в коде, и посмотреть, на что программа ругается

  41. Droom (Виктор)

    1) Как в типовой конфигурации узнать какая версия БСП используется ?!

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

      Здравствуйте!
      Нужно открыть регистр сведений “Версии подсистем”

  42. Светлана Ходакова

    Заметила, что в лекционном видео при настройке команд обмена данными в составные параметры просто добавляется нужный план обмена, а в “несоставных” – меняется на нужный нам план. А если объявить этот параметр составным и просто добавить нужный план?

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

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

      • Светлана Ходакова

        Я разобралась: просто у меня эти главы в двух вариантах с первого потока и из обновления. Видимо, впоследствии этот момент переделали.

        Спасибо.

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

          Да, модули обновляли. Но вообще при добавлении типа параметра конечно лучше изменять тип на составной

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

    Эталонное решение еще не смотрел, но похоже, теоретический материал уже необходимо дополнить.

    По ходу настройки УТ-11 понял, что в примере менеджера плана обмена нет функции, которая вызывается в процессе настройки (добавил), а также что в примере менеджера плана обмена необходимо параметры некоторых процедур и функций сделать необязательными, так как в процессе настройки эти функции могут вызываться вообще без параметров из других модулей.

    Но в целом все получилось успешно, решение выложил.

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

      Здравствуйте!
      Теоретический материал по синхронизации последней версии БП 3.0 с Исходной ИБ в данном случае не сильно поможет в настройке обмена последней версии УТ 11 с Конечной ИБ. Особенности настроек там несколько разные. К тому же они меняются от версии к версии БСП и типовых конфигураций. Поэтому если есть необходимость разобраться с подсистемой БСП Обмен данными, все равно эти особенности придется анализировать посредством отладчика.

      А принципиальных несоответствий настройки этого обмена с видео-уроками и видео-решением пока нет.

  44. western

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

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

      Здравствуйте!
      В этом видео-решении правила подгружали не из файла, а как раз из макета в регистр сведений. В подсистеме БСП Обмен данными правила обмена должны быть загружены в регистр сведений “Правила для обмена данными”, иначе они не выполняются.

      • Дмитрий

        Большое спасибо, вы внесли ясность. А то вроде и документацию БСП перечитал, но не нашел ответов.

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