Имя: Пароль:
1C
1С v8
КД выгрузка одного док-та в несколько
0 konst1231
 
24.04.13
16:26
Здравсвуйте,
Разбираюсь в КД, пробую перенести возврат из комлексной 7.7 в несоклько возвратов БП 3.0 (по кол-ву документов передачи). Почитал Книга знаний: Как правильно пользоваться переносом остатков 7.7 - 8.0 с помощью КД 2.0, сделал как там:
1. Создал ПКО с пустым источником и примеником = ВозвратОтПокупателя
2. Создал ПКС для нужных реквизитов и ТЧ для этого ПКО.
3. Создал ПВД с произвольным алгоритмом, перед выгрузкой вставил:

  ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
   ВыборкаДанных.НоваяКолонка("Дата");
   ВыборкаДанных.НоваяКолонка("Номер");
   ВыборкаДанных.НоваяКолонка("Сделка");
   ВыборкаДанных.НоваяКолонка("Товары");
   
   Запрос = СоздатьОбъект("Запрос");  
   ВыбКод=Перечисление.КодыОпераций.ВозвратОтРеализатора;
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с (Дата('01.01.2012')) по (Дата('16.03.2012'));
   |ТекущийДокумент = Регистр.ПартииОтданные.ТекущийДокумент;
   |ДокументПередачи = Регистр.ПартииОтданные.ДокументПередачи;
   |НомерСтроки = Регистр.ПартииОтданные.НомерСтроки;
   |Количество = Регистр.ПартииОтданные.Количество;
   |КодОперации = Регистр.ПартииОтданные.КодОперации;
   |Функция КоличествоРасход = Расход(Количество);
   |Группировка ТекущийДокумент без групп;
   |Группировка ДокументПередачи;
   |Группировка НомерСтроки;
   |Условие(КодОперации = ВыбКод);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда
       // Подготовка к заполнению выходных форм данными запроса
       Пока Запрос.Группировка(1) = 1 Цикл
           
           ВходящиеДанные=СоздатьОбъект("ТаблицаЗначений");
           Запрос.ТекущийДокумент.ВыгрузитьТабличнуюЧасть(ВходящиеДанные);
           
           
           Пока Запрос.Группировка(2) = 1 Цикл
               
               ВыборкаДанных.НоваяСтрока();
               ВыборкаДанных.Дата =Запрос.ТекущийДокумент.ДатаДок;
               ВыборкаДанных.Номер =Прав(Запрос.ДокументПередачи.НомерДок,4)+Прав(Запрос.ТекущийДокумент.НомерДок,4);
               ВыборкаДанных.Сделка=Запрос.ДокументПередачи;  
               
               ВыборкаДанных.Товары= СоздатьОбъект("ТаблицаЗначений");
               
               Товары = ВыборкаДанных.Товары;
               Товары.НоваяКолонка("Номенклатура");
               Товары.НоваяКолонка("Сумма");
               Товары.НоваяКолонка("Цена");

               
               Пока Запрос.Группировка(3) = 1 Цикл  
                   
                   НомСтр=0;
                   Если ВходящиеДанные.НайтиЗначение(Запрос.НомерСтроки,НомСтр,"НомерСтрокиДокумента")=1 Тогда
                       
                       ВходящиеДанные.ПолучитьСтрокуПоНомеру(НомСтр);    
                       Товары.НоваяСтрока();
                       Товары.Номенклатура = ВходящиеДанные.Номенклатура;
                       Товары.Сумма =  ВходящиеДанные.Сумма;
                       Товары.Цена =  ВходящиеДанные.Цена;
                       
                   КонецЕсли;    
               КонецЦикла;
           КонецЦикла;
       КонецЦикла;
   КонецЕсли;

Все работает, только не заполняется реквизит "Сделка" реализацией в БП 3.0 (он составной), ПКО для реализации есть. Пробовал в ПКС сделка, перед выгрузкой указывать ИмяПКО="РеализацияТоваровУслуг";
Не момогает. В файле выгрзки свойство сделка заполено.
Что я не так делаю?
1 konst1231
 
24.04.13
16:36
Господа прошу прощения, вопрос снимается,
я сделку оказывается после загрузки в ПКО очищаю))