I
I
Ivan Ivanov2017-08-24 12:39:47
1C
Ivan Ivanov, 2017-08-24 12:39:47

How to use exchange plans in 1C?

Hello.
I have just recently studied 1C:Enterprise. Can you please tell me how to use the exchange plans? It is necessary to unload the added and changed counterparties from the directory. By example, I created an exchange plan and processing. Wrote code in processing

&НаСервереБезКонтекста
Процедура Команда1НаСервере()
  Узел = ПланыОбмена.ПланОбмена1.НайтиПоКоду("DEMO");
  
  ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml");
  
  Запись = Новый ЗаписьXML();
  Запись.ОткрытьФайл(ИмяВременногоФайла);
  Запись.ЗаписатьОбъявлениеXML();
  
  ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
  
  ЗаписьСообщения.НачатьЗапись(Запись, Узел);
  ЗаписьСообщения.ЗакончитьЗапись();
  
  Запись.Закрыть();
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
  Команда1НаСервере();
КонецПроцедуры

but when executing the code, I get the error
{Processing.Processing1.Form.Form.Form(14)}: Error calling context method (StartRecord)
WriteMessage.StartWrite(Record, Node);
due to:
Node ID cannot be empty
What am I doing wrong?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
K
Konstantin, 2017-08-24
@Yausi

Процедура Выгрузка(Элемент) 
 
        Путь = "c:\"; //реальный путь к каталогу, в котором создаются файлы 
 
        ЗаписьXML = Новый ЗаписьXML(); 
        ЗаписьXML.ОткрытьФайл(Путь + "выгрузка.xml"); 
        Узел = ПланыОбмена.Поставка.НайтиПоКоду("Маг1"); 
 
        ЗапСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); 
        ЗапСообщения.НачатьЗапись(ЗаписьXML, Узел); 
 
        Выборка = ПланыОбмена.ВыбратьИзменения(Узел, ЗапСообщения.НомерСообщения); 
 
        Пока Выборка.Следующий() Цикл 
               Данные = Выборка.Получить(); 
 
               Если ТипЗнч(Данные) = Тип("ДокументОбъект.РеализацияТоваров") Тогда 
                       ВыгрузкаРеализации(ЗаписьXML, Данные); 
        
               Иначе // все остальные объекты 
                       ЗаписатьXML(ЗаписьXML, Данные); 
               КонецЕсли; 
        КонецЦикла; 
 
        ЗапСообщения.ЗакончитьЗапись(); 
        ЗаписьXML.Закрыть(); 
 
КонецПроцедуры

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question