Имя: Пароль:
1C
 
Каким механизмом реализовать обмен типовой БП3 и нетиповой?
,
0 loralu
 
25.12.14
14:45
Есть типовая БП3 и нетиповая конфа подобная УТ10.3.
Обмен односторонний БП3->Нетиповая.
Сейчас используется обработка универсальный обмен данными по правилам, все делается руками, но стоит задача автоматизировать.

Чем это можно реализовать по-человечески?
Синхронизация данных не дает возможности привязать свои правила обмена.
1 loralu
 
25.12.14
14:46
Как крайний вариант - писать руками в конфигураторе свой механизм обмена на базе УОД и свой механизм регистрации изменений?
2 Господин ПЖ
 
25.12.14
14:47
>Синхронизация данных не дает возможности привязать свои правила обмена.

снимать придется "замок"
3 Timon1405
 
25.12.14
14:48
(1) наоборот, как крайний вариант - Запускать УОД по правилам внешней обработкой по шедулеру
4 Shrek_yar
 
25.12.14
14:49
(0) Сделай обработка универсальный обмен и поставь в ее в регл задания, в макет суй макет с правилами. в коде укажи что из него брать правила КД и все
5 Господин ПЖ
 
25.12.14
14:50
>и свой механизм регистрации изменений?

чем типовой не устраивает?

ЗЫ насколько я помню там реально ж.па была которая все перечеркивала - это что объекты должны соответствовать "1 к 1". Один объект в другой, один расщепляется в два - уже проблема. Может уже изменилось чего
6 Shrek_yar
 
25.12.14
14:51
(5) в правилах КД все прописывается 1 к многим
7 anatoly
 
25.12.14
14:52
план обмена по правилам по рег.заданию, не?
8 Господин ПЖ
 
25.12.14
14:53
(6) в КД можно сделать как угодно...

вопрос в регистрации событий
9 loralu
 
25.12.14
15:02
(7) а как? в конфигураторе пилить новый план обмена на основании обмена-с-ут10.3?
10 loralu
 
25.12.14
15:02
(8) да
11 loralu
 
25.12.14
15:04
(5)можно и типовой, но надо разбираться в нем
12 loralu
 
25.12.14
15:04
(9) со своим макетом правил конвертации и своим макетом правил регистрации изменений?
13 loralu
 
25.12.14
15:06
(4) (0) "Сделай обработка универсальный обмен и поставь в ее в регл задания, в макет суй макет с правилами. в коде укажи что из него брать правила КД и все."

что-такое и хочу сделать + надо как-то реализовать подтверждение от приемника, что данные получены, и соответственно выгружать только измененные/новые.
14 anatoly
 
25.12.14
15:16
(9) да. правила только в настройке поддержки сделать чтобы остальное не изменять.
(12) правила уже в настройке обмена прицепить, регистрация изменений вообще элементарно, какие там макеты??
15 hhhh
 
25.12.14
15:18
(13) "Синхронизация данных не дает возможности привязать свои правила обмена." это кто вам сказал? Или сон приснился?
16 loralu
 
25.12.14
15:49
(15) а где? расскажи, пожалуйста
17 Бригада бронепоезда
 
25.12.14
15:56
не надо пилить конфигурацию, есть более простые способы автоматического обмена. даже двустороннего
18 Бригада бронепоезда
 
25.12.14
16:02
если кратко: есть план обмена Полный в обеих конфах, от него и отталкиваемся.

Если не хочется менять конфы, то делаем так:

создаем новую пустую конфу, желательно серверную, там создаем регл задание с обработчиком, в котором пишем что-то типа:

//выгрузка
обмен = СомИсточник.Обработки.УниверсальныйОбменДаннымиXML2_0.Создать();
обмен.ИмяФайлаОбмена =ФайлОбмена;
Обмен.ИмяФайлаПравилОбмена = ФайлПравилОбмена;
обмен.РежимОбмена = "Выгрузка";
обмен.ЗагрузитьПравилаОбмена();

Для каждого строкаГруппаМД ИЗ Обмен.ТаблицаПравилВыгрузки.Строки цикл //цикл по группам мд
    для каждого строкаМД ИЗ строкаГруппаМД.Строки цикл
        строкаМД.СсылкаНаУзелОбмена = Узел;
    КонецЦикла;
КонецЦикла;

обмен.ВыполнитьВыгрузку();
ОшибкиПриВыгрузке =  обмен.ФлагОшибки;


//Загрузка
Обмен = ComПриемник.Обработки.УниверсальныйОбменДаннымиXML.Создать();

обмен.ИмяФайлаОбмена =ФайлОбмена;
обмен.РежимОбмена = "Загрузка";
обмен.ОткрытьФайлЗагрузки();

обмен.ВыполнитьЗагрузку();

ОшибкиПриЗагрузки =  обмен.ФлагОшибки;



где СомИсточник и ComПриемник - подключение по com  к обменивающимся базам
19 loralu
 
25.12.14
16:08
(18) Вот это офигительно круто! Спасибо, крутая схема.
20 Бригада бронепоезда
 
25.12.14
16:10
(19) да. и не забывай удалять регистрацию, если загрузка прошла без ошибок
21 loralu
 
25.12.14
16:13
(20) мм, а регистрацию читать перед выгрузкой?
22 loralu
 
25.12.14
16:13
(20) по приведенному коду выгружаются все объекты, а не только новые/измененные
23 Бригада бронепоезда
 
25.12.14
16:17
(22) чувак, а цикл по выгружаемым объектам с подставкой узла тебе ни о чем не говорит??
24 loralu
 
25.12.14
16:20
(23) оу! спасибо, доперла - ибо план обмена)))
25 Бригада бронепоезда
 
25.12.14
16:21
ох, девушка.. тогда - "чувак" = "девушка"  =)
26 loralu
 
25.12.14
18:42
да можно и "чувак" = "чува" =)
27 DailyLookingOnA Sunse
 
25.12.14
18:45
Всё в типовой есть.
И правила конвертации свои можно задать.
И правила регистрации объектов.
Ошибка? Это не ошибка, это системная функция.