Обмен данными по планам обмена

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

За основу я взял бухгалтерию предприятия 1.6, т.к. там меньше общих модулей (меньше ф-ций собирать из модулей общего назначения).

 Для обмена между своими конфигурациями вам понадобятся следующие объекты

  1. Общие модули — здесь укажу только основные, указывать модули «ОбщегоНазначения» И «ХранилищеДополнительнойИнформации» не буду.
    1. ПроцедурыОбменаДанными
    2. ПроцедурыОбменаДаннымиКлиент
    3. ПроцедурыОбменаДаннымиПолныеПрава
  2. Регламентные задания
    1. ВыполнениеОбмена
  3. Общие формы
    1. МониторНастроекОбменаДанными
    2. НастройкаФайлаОбновленияКонфигурации
    3. НастройкиМонитораОбменаДанными
    4. ФормаВыполненияОбменаДанными
    5. ФормаРедактированияТекста
    6. ФормаРезультатOnLineОбмена
    7. ХодВыполненияОбработкиДанных
  4. Общие картинки
    1. ВыполнитьОбменДанными
    2. МониторСостоянияОбмена
    3. ВыполненоСОшибками32
    4. ВыполненоУспешно32
  5. Справочники
    1. НастройкиВыполненияОбмена — справочник содержащий настроки автоматического обмена (такие как расписание и дейсвия)
    2. НастройкиОбменаДанными — справочник которые содержит основные настройки обмена (правила, тип обмена, настройки выгрузки и сопоставления объектов)
  6. Перечисления
    1. ДействиеПриОбмене
    2. ПриоритетОбъектовОбмена
    3. РезультатРассмотренияКоллизии
  7. Обработки
    1. ОбменДаннымиXML
    2. РегистрацияИзмененийДляОбмена
    3. УниверсальныйОбменДаннымиXML — желательно, но не обязательно.
  8. Регистры сведений 
    1. ИсторияОбменаДанными
    2. КоллизииПриОбмене
    3. ОбъектыИнформационныхБаз
    4. ОтложенныеДвиженияДокументов
    5. ПараметрыОбменаДанными
    6. СоответствиеОбъектовДляОбмена

 После добавления своего плана обмена(помните имя плана в базе-источнике и базе-приемнике должны совпадать), в его модуле необходимо определить экспортную процедуру:


ОпределитьТипОтправкиДанных(ЭлементДанных, ОтправкаЭлемента)

где

ЭлементДанных  — выгружаемый объект

ОтправкаЭлемента — системное перечисление ОтправкаЭлементаДанных, которое определяет действия системы относительно элемента данных при формировании сообщения, содержащего изменения.

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

Пример 1. У узла обмена указать дату выгрузки документов и для всех документов находящихся ранее этой даты установить ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать; Такие документы выгружены не будут.

Пример 2. У узла обмена указать организацию и удалять из набора записей регистра все записи, относящиеся к другим организациям. Выгружены будут только записи, которые останутся в переменной «ЭлементДанных».

 В общей форме «МониторНастроекОбменаДанными» в поле «Инф. база» необходимо добавить ваш план обмена (или как я изменить тип на ПланОбменаСсылка) и переписать ссылки на ф-ции из модулей общего назначения. 

 Если в справочнике настройка обмена не указать «Обмен по правилам обмена» и в плане обмена «Распределенная информационная база», то в модуле необходимо будет определить процедуры:

ВыгрузитьИзмененияДанныхДляУзла(УзелОбмена, КоличествоЭлементовВТранзакцииНаВыгрузкуДанных, ЗаписьXML) 

ЗагрузитьИзмененияДанныхДляУзла(УзелОбмена, КоличествоЭлементовВТранзакцииНаЗагрузкуДанных, ЧтениеXML) 

 В которых вы можете вручную обработать XML файл. Вызываются они из модуля  ПроцедурыОбменаДанными.

Там же есть подобные процедуры:

ВыгрузитьИзмененияДляУзлаВФайлаОбмена(УзелОбмена,КоличествоЭлементовВТранзакции, ЧтениXML)

ЗагрузитьИзмененияДляУзлаИзФайлаОбмена(УзелОбмена,КоличествоЭлементовВТранзакции, ЧтениXML)

 но они предназначены только для РИБ(Распределенная Информационная База). 

15 Comments

  1. Vladuha

    Библиотека Стандартных подсистем тебе поможет

    Reply
  2. kereo

    (1) Vladuha, мне не помогла, т.к. система на 8.1, а библиотека на 8.2. Переписывать на 8.1 совсем не хотелось.

    Reply
  3. kereo

    (3) artbear, частично закрытая конфигурация.

    Reply
  4. azeraus

    Не подскажите, как добавить Экспортную процедуру в модуль:

    ( После добавления своего плана обмена(помните имя плана в базе-источнике и базе-приемнике должны совпадать), в его модуле необходимо определить экспортную процедуру:

    ОпределитьТипОтправкиДанных(ЭлементДанных, ОтправкаЭлемента))

    Очень нужно! Заранее огромное спасибо!

    Reply
  5. kereo

    (5) azeraus, Правой кнопкой мыши по плану обмена и выбрать пункт открыть модуль объекта

    Reply
  6. Trotter_NN

    А как написать самому план обмена из 7ки в 8ку ?))

    Подскажите чем можно воспользоваться ?

    Книга может есть какая/статья ?

    Reply
  7. kereo

    (7) Trotter_NN, План обмена это объект, появившийся в 8-ке. При обмене с 7-кой выгружают документы за период.

    Reply
  8. kereo

    (7) Trotter_NN, А правила обмена «рисуются» в конфигурации конвертация данных, по которой написана одноименная книжка.

    Reply
  9. Xershi

    Есть инфа как сделать план обмена 8.3 ->7.7?

    Reply
  10. SGordon1

    Ну в 8.3 план обмена — стандартный объект конфигурации, в чем проблема то?

    Reply
  11. Xershi

    (11) SGordon1, мануал бы с 0, так сказать.

    Reply
  12. kereo

    (11)(12) так а БСП не поможет? На its.1c.ru достаточно подробный мануал.

    Reply
  13. kereo

    (10) в 7.7 нет планов обмена. Какова ваша цель?

    Reply
  14. Xershi

    (14) сделать односторонний обмен из 8.3 в 7.7.

    Уже выяснил что такое возможно (односторонний обмен нужен), скачал книгу и даже начал изучать, но пока все туманно… Опыта работы с объектом «план обмена» нет.

    Reply
  15. kereo

    (15) Xershi, План обмена нужен только для авт. регистрации измененных объектов (или ручной методом ЗарегистрироватьИзменения) и последующей выгрузки (получить объекты для выгрузки можно с помощью метода ВыбратьИзменения). Но вот сам формат обмена (правила формирования файла) и соответственно саму обработку выгрузки написать самому. Я бы сделал это именно так, иначе придется парсить xml файл в 7.7 по правилам, которые задали 1С, потратите кучу времени чтобы разобрать по каким правилам формируется файл и как правильно его обработать, т.к. там все не так тривиально.

    Reply

Leave a Comment

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