|
Вопрос по плану обмена. | ☑ | ||
---|---|---|---|---|
0
oleg_prg
28.05.14
✎
12:46
|
Добрый день, уважаемые форумчане. Подскажите пожалуйста, как в плане обмена делать подмену(отсечение) данных? А именно: задача синхронизировать справочники номенклатура в разных конфигурациях. Справочники отличаются на одно поле Инфо тип строка. Вопрос: как отменить выгрузку этого поля, и как отказаться от выгрузки номенклатуры начинающейся, например, с буквы "А", как подправить код
Процедура ЗаписатьСообщениеСИзменениями() Экспорт Сообщить("-------- Выгрузка в узел " + Строка(ЭтотОбъект) + " ---------"); Каталог = КаталогВременныхФайлов(); // Сформировать имя временного файла ИмяФайла = Каталог +?(Прав(Каталог, 1) = "\","", "\") + "Message" + СокрЛП(ПланыОбмена.Филиалы.ЭтотУзел().Код) + "_" + СокрЛП(Ссылка.Код) + ".xml"; // Создать объект записи XML // *** Запись XML-документов ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(ИмяФайла); ЗаписьXML.ЗаписатьОбъявлениеXML(); // *** Инфраструктура сообщений ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Ссылка); Сообщить("Номер сообщения: " + ЗаписьСообщения.НомерСообщения); // Получить выборку измененных данных // *** Механизм регистрации изменений ВыборкаИзменений =ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения); Пока ВыборкаИзменений.Следующий() Цикл // Записать данные в сообщение // *** XML-сериализация ЗаписатьXML(ЗаписьXML, ВыборкаИзменений.Получить()); КонецЦикла; ЗаписьСообщения.ЗакончитьЗапись(); ЗаписьXML.Закрыть(); Сообщить("-------- Конец выгрузки------------"); КонецПроцедуры Заранее спасибо! PS С планами обмена никогда не работал. Может у кого ссылки хорошие есть. |
|||
1
hhhh
28.05.14
✎
12:58
|
(0) ну, открываешь правила обмена, в событии ПередВыгрузкой справочника номенклатуры вставляешь
Если Лев(Источник.Наименование, 1) = "А" Тогда Отказ = Истина; КонецЕсли; |
|||
2
Godofsin
28.05.14
✎
13:00
|
Вариант 2: Отсекать на уровне регистрации в плане
|
|||
3
Maxus43
28.05.14
✎
13:00
|
отказаться от передачи одного поля нельзя, сериализуется весь объект. Это надо делать правила обмена, и механизм там совершенно другой.
Пропустить выгрузку Объекта - можно в плане обмена в событии ПриОтправкеДанныхПодчинённому/Главному, но кошерней просто не регистрировать вобще такие элементы (1) очевидно что у него не правила) |
|||
4
Maxus43
28.05.14
✎
13:04
|
ПланыОбмена.ЗаписатьИзменения(
есть, без выборки и странных строк типа ЗаписатьXML(ЗаписьXML, ВыборкаИзменений.Получить()); |
|||
5
Maxus43
28.05.14
✎
13:05
|
по поводу ссылок хороших - всё хорошо разжёвано в проф разработке, для начала самое то
|
|||
6
oleg_prg
28.05.14
✎
13:10
|
Спасибо за советы! Буду читать проф. разработку
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |