Имя: Пароль:
1C
1С v8
Обмен данными из БСП не умеет переносить движения?
0 SeraFim
 
07.05.13
09:04
Есть типовая ЗиКБУ. В сторонней конфе нужна информация из некоторых регистров. Поэтому решил перенести только сами документы (номер и дата, без реквизитов и табличных частей) и их движения. Соответствующие правила создал, через обработку "УниверсальныйОбменДаннымиXML" всё загрузилось.
Пытаюсь загрузить правила конвертации в соответсвующий регистр БСП, получаю ошибку:
Неправильно указана табличная часть "РаботникиОрганизаций" объекта "Прием на работу". Табличная часть не существует.

Полез в код, нашел:
// табличные части правила
МассивПКГС = ПКО.Свойства.НайтиСтроки(Новый Структура("ЭтоГруппа", Истина));
   
Для Каждого ПКГС Из МассивПКГС Цикл
   //... заполняют таблицу
КонецЦикла;

//...
//потом по этой таблице проверяют

Если ОбъектМД.ТабличныеЧасти.Найти(СтрокаТаблицы.ИмяТабличнойЧасти) = Неопределено Тогда
   СтрокаСообщения = НСтр("ru = 'Неправильно указана табличная часть ""%1"" объекта ""%2"". Табличная часть не существует.'");
   СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, СтрокаТаблицы.ИмяТабличнойЧасти, Строка(ОбъектМД));
   ЗаписатьВПротоколВыполнения(СтрокаСообщения);
   Продолжить;
КонецЕсли;


Получается, что все ПКГС считают табличными частями! Аналогично, не могу перенести "СтандартныеТабличныеЧасти".
Переносить все реквизиты и табличные части документов, потом писать для них обработки проведения считаю слишком проблематичным.
Как правильно перенести движения???
1 vde69
 
07.05.13
09:07
чего точно знаю так то что, штатный обмен по старым правилам на регистрах сведений валится, причина в том что выгружается менеджер записи а у него нет Дополнительных свойств.

у себя так и не победил, пришлось коментить часть кода...
2 viramen
 
07.05.13
10:04
(1) там не только доп. свойств нету. но еще и при удалении вызывается не существующий метод при конвертации справочника в РС
3 SeraFim
 
07.05.13
12:34
ап
4 SeraFim
 
14.05.13
05:32
Вдруг кому-нибудь пригодится:
Закомментировал эту проверку:
СтрокаСообщения = НСтр("ru = 'Неправильно указана табличная часть ""%1"" объекта ""%2"". Табличная часть не существует.'");
   СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, СтрокаТаблицы.ИмяТабличнойЧасти, Строка(ОбъектМД));
   ЗаписатьВПротоколВыполнения(СтрокаСообщения);

всё прекрасно переносится