Имя: Пароль:
1C
1С v8
Конвертация данных + Планы обмена
0 Serdolik55
 
28.12.11
11:25
Коллеги, сделал правила обмена УТ 10.3 в БП 2.0, выгружаю через универсальный обмен данными. Со временем возникла необходимость выгружать изменённые объекты, добавил план обмена, указал для каких объектов необходимо регистрировать изменения, в инете нашёл механизм, который прописывается в конвертации:
1) В обработчике "ПередВыгрузкойДанных" добавил:


//Механизм выборки изменённых данных из плана обмена
 Узел = ПланыОбмена.Инталев_МТК_ЦО.НайтиПоКоду("00002");
 ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(Узел,1);
 //для убыстрения, помещаем выборку в массив и уже работаем с ним
 Выборка = Новый Массив;
 Пока ВыборкаИзменений.Следующий() Цикл
     Данные = ВыборкаИзменений.Получить();
     Выборка.Добавить(Данные);
 КонецЦикла;
 
 Параметры.Вставить("Выборка",Выборка);
 Параметры.Вставить("Узел",Узел);

2) В правилах выгрузки данных установил способ выгрузки "Произвольный алгоритм" и в обработчике "ПередОбработкой" добавил:


Выборка = Параметры.Выборка;
Узел = Параметры.Узел;
ВыборкаДанных = Новый Массив;
Для Каждого ТекВыборка Из Выборка Цикл
   Данные = ТекВыборка;
   Если Данные.Метаданные().Имя = "РеализацияТоваровУслуг" Тогда
       ВыборкаДанных.Добавить(Данные.Ссылка);
       ПланыОбмена.УдалитьРегистрациюИзменений(Узел,Данные.Ссылка);
   КонецЕсли;
КонецЦикла;

Всё работает отлично, выгружаются изменённые объекты, но есть одно "НО":
В документе "ВозвратТоваровОтПокупателя" есть добавленный реквизит тип "Булево", при установке этого реквизита и последующем проведении документа формируется "ПоступлениеТоваровУслуг" и в этом случае выгружаться в бухгалтерию должен не возврат, а поступление.Часто бывают случаи, когда возврат сначала идёт без галки и он выгружается в бухгалтерию, а потом ставят эту галку, формируется поступление, оно выгружается в бухгалтерию и получается, что бухгалтерии и возврат и поступление, а должно остаться только поступление, возврат должен быть помечен на удаление. Где в КД или в плане обмена прописать,возможность пометки на удаления этого возвртата в бухгалтерии? Как это организовать?
1 PCcomCat
 
28.12.11
11:32
ПослеЗагрузки объекта - если есть галка, то ставить пометку.
2 Serdolik55
 
28.12.11
11:40
(1) Дело в том что в бухгалтерии у возврата нет галки(бухгалтерия типовая). Галка только в торговле есть. Например, сформировали сначала возврат без галки, он выгрузился в бухгалтерию, потом через неделю поставили галку и выгрузилось ещё и поступление. Нужно возврат этот в бух пометить на удаление в бухгалтерии.Обработчик "ПослеЗагрузкиОбъекта" как я понимаю вызывается уже в приёмнике, то есть в бухгалтерии, а там у возврата этой галки нет.
3 Axel2009
 
28.12.11
11:43
выгружай в параметр свою галку. перед загрузкой параметры доступны
4 PCcomCat
 
28.12.11
11:45
(2) В комментарий кидайте свой признак
5 Serdolik55
 
28.12.11
11:47
(3) Да, в параметры наверное правильнее будет.
(4) А из комментария я как доставать буду?
6 PCcomCat
 
28.12.11
11:50
+(4) А ещё есть стандартный механизм - дополнительные реквизиты, можно туда кидать.
(5) Как - прочитать комментарий. Есть источник, есть приемник.
7 Amiralnar
 
28.12.11
11:56
Сделайте пко из галки в пометку удаления
8 Pozdnyakov
 
09.04.12
15:38
(6) А как работать с этими доп. реквизитами? У меня есть проблема с обменом одним справочником.
Требуется на приёмник передавать регистр сведений для обмена между элементами справочника (данных из регистра много, в комментарий не запихнёшь; да и там не только строковые значения).
Причём в приёмнике такого регистра нет.
Вот созданная мной на этом форуме тема:
[URL=http://www.1c-galaxy.ru/forum4/topic931284/]Моя тема[/URL]
Если действительно есть доп. реквизиты, которые можно передать от источника приёмнику, возможно, это решило бы мою задачу. Но я не вижу, что в книге по КД об этом написано.