Имя: Пароль:
1C
 
План обмена и правила обмена
,
0 KrabCore
 
05.08.15
14:37
Сильно не пинать, только учусь.

Ситуация такая. написал правила обмена для выгрузки из нетиповой конфы в БП 30. сначала выгружали документы через Универсальный обмен ХМЛ и все было нормально. но потом возникла задача сделать автоматический регламентный обмен.

Создал план обмена в нетиповой, регистрацию объектов. и тут возникла загвоздка: как подтянуть в план обмена свои правила обмена?
гугл подсказывает что нужно сделать текстовый макет с правилами и по нему обмениваться - макет сделал, но не могу понять как заставить план обмена выгружать данные по этим правилам.

буду благодарен за подсказку/ссылку на инфу/посыл в нужном направлении.

пс. нетиповая конфа очень старая, бсп и связанные с обменом справочники отсутствуют
1 KrabCore
 
05.08.15
14:52
апну
2 бомболюк
 
05.08.15
14:57
если не отслуживать номера сообщений то совсем просто: меняешь правила выгрузки со стандартных на переписанные через ПланыОбмена.ВыбратьИзменения().
3 бомболюк
 
05.08.15
14:57
даже просто на запросы из таблиц изменений - так еще проще наверное.
4 Naumov
 
05.08.15
15:12
(0) Что мешает от БСП подсистему обмена подключить?
5 KrabCore
 
05.08.15
15:19
(4) незнание БСП и объемы переносимых данных.
6 Naumov
 
05.08.15
15:21
(5) НУ приделать свой обмен по правилам не проще будет. а БСП там нечего особо изучать. копипаст по инструкции с ИТС.
7 KrabCore
 
05.08.15
15:45
(2)(3) - поясни пожалуйста поподробней
(6) ну если ничего не придумаю придется этим способом идти
8 KrabCore
 
05.08.15
16:10
апну
9 Naumov
 
05.08.15
16:20
(7) автор в (2,3) либо не понял задачу, либо не представляет как это выглядит.
Ну в теории можно прикрутить свою выгрузку, подсовывая в универсальный обмен свою выборку данных.
10 luter-89
 
05.08.15
16:38
(0) То есть полноценной подсистемы обмена данными нет?
11 бомболюк
 
05.08.15
16:39
(9) почему же только "в теории"? на практике тоже можно. в этом случае в выгрузку попадут только объекты, для которых зарегистрированы изменения, а именно этого и добивается топикстартер.

Для этого нужно для каждого правила выгрузки нужно назначить тип "Произвольный алгоритм" и написать в обработчике "Перед выгрузкой" что то типа такого:

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Узел", Параметры.Получатель); //
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Справочник.Контрагенты.Изменения ГДЕ Узел = &Узел";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() цикл
  ВыгрузитьПоПравилу(Выборка.Ссылка);
КонецЦикла;
12 бомболюк
 
05.08.15
16:41
+(11) и после выгрузки надо будет УдалитьРегистрациюИзменений. Такая схема работает при предположении, что все сообщения доходят до получателя, то есть потерь нет, и номера сообщений можно не отслеживать. Если это условие не выполняется будет несколько сложнее.
13 KrabCore
 
05.08.15
16:46
(10) - нет.
(9) - сейчас остановился на этом варианте. пытаюсь сделать по http://catalog.mista.ru/public/154614/ но не получается наложить отбор по данным.
(11) в обработчике "Перед выгрузкой" - это в правилах в "Конвертация_ПередВыгрузкойОбъекта"? а где назначется "произвольный алгоритм"?
14 бомболюк
 
05.08.15
16:50
(13) наврал: не "Перед выгрузкой", а "Перед обработкой".
Это для каждого правила выгрузки данных делается. Там же есть поле "Способ выборки" - туда ставить "Произвольный алгоритм".
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс