Продвинутый курс. Мастер-группа Q&A от 02.08.2011

Представляем серию ответов на вопросы по механизмам обмена данными.

1. Предопределенный узел плана обмена.
При первом открытии плана обмена в пользовательском режиме появляется пустой элемент. В лекции он назван предопределенный. Однако, в стандартных реквизитах поля предопределенный у плана обмена нет.
Кнопки “предопределенные” на закладке “Прочее” тоже нет. Особенности реализации!?

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

3. RLS и выгрузка данных РИБ.
При формировании начального образа я получил такое сообщение:
{mngbase/DataExchangeCreateInitialImage.lf(107)}: Ошибка при вызове метода контекста (СоздатьНачальныйОбраз)         ExchangePlans.CreateInitialImage(Node, ConnectionString); по причине: У пользователя недостаточно прав на исполнение операции над базой данных. Разве не должны были быть “пропущены” не разрешенные записи. Я не чувствую разницы между 2 “режимами” RLS  “Разрешенные” в запросе и,(даже не знаю как назвать) спец.полем запроса.

4. Квитанция об успешном приеме.
Что возвращает подчиненная БД в качестве “квитанции” об успешном приеме?

При загрузке пакетов с ПОЧИНЕННОГО на ГЛАВНЫЙ я так и не смог отловить подтверждение об успешной загрузке в обработчике ПриПолученииДанныхОтПодчиненного(), ХОТЯ они приходили, т.к. изменения исчезали (проверял через консоль запроса).

5. Главный узел РИБ.
Вы анализируете какой этот узел строчкой
ПланыОбмена.ГлавныйУзел()<>Неопределено
Но ведь один и тот же узел может быть для кого-то главным и для кого-то подчиненным.
И хуже того, у нее может быть много главных узлов.

6. Передача узлов РИБ.
1. Ввел узлы плана обмена Центр – Регламент – Кадры
2. Сделал начальные образы Регламента и Кадров. Сохранил их в отдельные базы.
Регистрация документов и их наборов в узлах проходила по задуманному.
После загрузки пакетов В ПОДЧИНЕННОМ УЗЛЕ в реквизите документа со ссылкой на узел плана обмена стояли БИТЫЕ ССЫЛКИ. Сам план обмена РИБ не выгружается??

7. Конструктор для ссылочных типов.
В синтакс-помощнике в описании конструктора для ПланОбменаСсылка.< Имя плана обмена>(< УникальныйИдентификатор>)  рекомендуется использовать второй вариант оператора Новый.
Судя по найденным примерам – в рекомендуемом варианте всегда указывается тип создаваемого значения.
Хотелось бы узнать об этом подробней, чем такой вариант лучше, почему рекомендуется именно он, поиск по синтакс-помощнику выдаёт 13 результатов – это исчерпывающий перечень случаев применения?

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

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

комментария 2 на “Продвинутый курс. Мастер-группа Q&A от 02.08.2011”

  1. Не совсем согласен с ответом на вопрос 2 “И еще не ясно как в случае отказа от посылки будет «сброшена» регистрация изменения?”
    По моему, механизм работы платформы по умолчанию (без кодирования) следующий:
    1. При записи объекта в таблице регистрации создается запись вида с незаполненным (Null) номером сообщения.
    2.  При отправке данных подчиненному узлу номер сообщения заполняется значением N, в том числе для объектов с Игнорировать = Истина в ПриОтправкеДанныхПодчиненному.
    3. При получении данных от подчиненного квитанция (сообщение) содержит номер принятого. При обработке удаляются все записи регистрации для узла у которых номер сообщения меньше или равен номеру принятого.
    П
    Удаление неотправленных записей журнала регистрации при получении подтверждения имеет и “негативную сторону” – нельзя “притормозить” отправку, например, до какой-то даты.
    Пример: документ “Переоценка” цены устанавливаются датой документа, при приеме сообщения цены сразу выгружаются на POS-терминалы. Хотелось бы приостановить выгрузку “Переоценки”, которая вступает послезавтра, но не выгружать мы можем (Игнорировать = Истина), а вот выгрузка послезавтра ранним утром средствам РИБ невозможна – запись журнала регистрации уже удалена.
    Понятно, что можно организовать регистр сведений + регламентное задание + ЗарегистрироватьИзменения()