Имя: Пароль:
1C
 
нету процедуры или функции "ВыгрузитьИзмененияДанныхДляУзла"
0 AJ_81
 
01.12.10
09:27
Конфа типовая, настроил автообмен и вот выходит ошибка в при выполнении команды:        

Если ЭтоРИБ Тогда

           Иначе
               
               ЭтотУзелОбмена = ПолучитьТекущийУзелИБ(УзелОбмена).ПолучитьОбъект();
                           
               // план обмена самостоятельно читает изменения от узла
               СтруктураНастроекОбменаДанными.РезультатЗаписиДанных = ЭтотУзелОбмена.ВыгрузитьИзмененияДанныхДляУзла(УзелОбмена,
                   СтруктураНастроекОбменаДанными.КоличествоЭлементовВТранзакцииНаВыгрузкуДанных, ЗаписьXML);
               
           КонецЕсли;

вот ошибка: Метод объекта не обнаружен (ВыгрузитьИзмененияДанныхДляУзла), кто нибудь сталкивался с такой проблемой?
1 AJ_81
 
01.12.10
09:28
план обмена не распределенная
2 Defender aka LINN
 
01.12.10
09:29
План обмена свой делал?
3 AJ_81
 
01.12.10
09:30
да, новый создал, включил только один регистр сведений с авторегистрацией
4 kabanoff
 
01.12.10
09:39
(0) В модуль плана обмена нужно добавить процедуры:


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

Функция ВыгрузитьИзмененияДанныхДляУзла(Получатель, КоличествоЭлементовВТранзакции, ЗаписьXML) Экспорт
   ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
   ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Получатель);
   
   ЗаписатьНовоеСообщение(ЗаписьXML, ЗаписьСообщения);
   ЗаписьСообщения.ЗакончитьЗапись();
   
   Результат = Истина;
   Возврат Результат;
КонецФункции

Функция ЗагрузитьИзмененияДанныхДляУзла(УзелОбмена, КоличествоЭлементовВТранзакции, ЧтениеXML) Экспорт
   ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
   ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
   НомерСообщения = ЧтениеСообщения.НомерСообщения;
   
   НачатьТранзакцию();
   Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
       Данные = ПрочитатьXML(ЧтениеXML);
       
       Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
       Данные.ОбменДанными.Загрузка = Истина;
       
       Данные.Записать();
   КонецЦикла;
   ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого);
   ЗафиксироватьТранзакцию();

   ЧтениеСообщения.ЗакончитьЧтение();
   
   Результат = Истина;
   Возврат Результат;
КонецФункции
5 Defender aka LINN
 
01.12.10
10:16
(3) "ААа, помогите, я создал новый объект, а у него нет экспортной процедуры, что делать!!"
6 kabanoff
 
01.12.10
10:23
(5) Там прикол в том, что в типовой конфигурации в типовых планах обмена кода этих экспортных процедур нет. Нужно дописывать самому.
7 kabanoff
 
01.12.10
10:25
Хотя с другой стороны автор потратил бы меньше времени, если бы воспользовался поиском.