Имя: Пароль:
1C
1C 7.7
v7: Конвертация. Табличная часть не переносится
0 ЧессМастер
 
03.02.12
14:05
Доброе время суток всем !

Стоит задача перегнать выписки из Торговли 7.7 в Бухгалтерию 7.7
В Торговле это документ без табличной части, в Бухгалтерии с табличной частью.
Хочу перенести документ - в - документ.

Делаю так.
В ПВД Перед обработкой пишу запрос


Отказ = 1;

ТаблицаДокумента = СоздатьОбъект("ТаблицаЗначений");

ТаблицаДокумента.НоваяКолонка("ВидДвижения");
ТаблицаДокумента.НоваяКолонка("НазначенияПлатежа");
ТаблицаДокумента.НоваяКолонка("Приход");


Спр = СоздатьОбъект("Справочник.ДвиженияДенежныхСредств");

Если Спр.НайтиПоКоду("00002") = 1 Тогда
// Поступления от покупателей
   
 ВидДвижения = Спр.ТекущийЭлемент();
 НазначенияПлатежа = Спр.Наименование;
Иначе
 ВидДвижения = "";
 НазначенияПлатежа = "";
КонецЕсли;    

Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|ТекущийДокумент = Документ.СтрокаВыпискиПриход.ТекущийДокумент;
|ДатаДок = Документ.СтрокаВыпискиПриход.ДатаДок;
|Группировка ТекущийДокумент;
|Условие(ДатаДок <= ДатаОкончания);
|Условие(ДатаДок >= ДатаНачала);";

Запрос.Выполнить(ТекстЗапроса);

Пока Запрос.Группировка(1) = 1 Цикл
  Сообщить("Выгружаем документ " + Строка(Запрос.ТекущийДокумент));
   
  ТаблицаДокумента.УдалитьСтроки();
   
  ТаблицаДокумента.НоваяСтрока();

  ТаблицаДокумента.ВидДвижения = ВидДвижения;
  ТаблицаДокумента.НазначенияПлатежа = НазначенияПлатежа;

  ТаблицаДокумента.Приход = Запрос.ТекущийДокумент.Сумма;


  ВходящиеДанные = СоздатьОбъект("СписокЗначений");

  ВходящиеДанные.Установить("НомерДок", Запрос.ТекущийДокумент.НомерДок);

  ВходящиеДанные.Установить("ДатаДок", Запрос.ТекущийДокумент.ДатаДок);

  ВходящиеДанные.Установить("БанковскийСчет", Запрос.ТекущийДокумент.БанковскийСчет);
 
  ВходящиеДанные.Установить("Валюта", Запрос.ТекущийДокумент.Валюта);
   
  ВходящиеДанные.Установить("Комментарий", Запрос.ТекущийДокумент.Комментарий);
   
  ВходящиеДанные.Установить("ТаблицаДокумента", ТаблицаДокумента);
   
  ВыгрузитьПоПравилу( , , ВходящиеДанные, , "ВыпискаПриход");
КонецЦикла;


в результате выгрузки получаю сообщение
"Ошибка выбора объектов коллекции"

В ПКО галочки получать из входящих данных стоят напротив всех реквизитов документа включая галочку напротив Табличной части

В результате загрузки получаю документ с заполненной шапкой но без табличной части.

Что я делаю не так ?
1 НикДляЗапросов
 
03.02.12
14:07
А может есть возможность выгрузить их из клиента банка, в разы меньше времени займет
2 ДенисЧ
 
03.02.12
14:09
Сними галку "получать..."
3 ЧессМастер
 
03.02.12
14:43
(1) нет такой возможности
(2) не понял. если я сниму галочку "получать из входящих данных" то как я получу табличную часть в приемнике ?
4 ЧессМастер
 
03.02.12
14:45
(2) у меня вопрос по табличной части только. напротив реквизитов шапки приемника стоят  галочки "получать из сходящих данных" и все отлично передается - при загрузке все реквизиты шапки заполнены
5 ДенисЧ
 
03.02.12
14:59
(3) отсюда
ВходящиеДанные.Установить("ТаблицаДокумента", ТаблицаДокумента);
6 ЧессМастер
 
03.02.12
15:46
(5) сейчас у всех реквизитов и табличной части приемника убрал галочку "получать из входящих данных"
все равно при выгрузке получаю сообщение "Ошибка выбора объектов коллекции"
7 ДенисЧ
 
03.02.12
15:48
В ПКГС напиши
ОбъектКоллеции = Источник.ТаблицаДокумента;
8 ДенисЧ
 
03.02.12
15:48
Точнее КоллекцияОбъектов = ...
9 ЧессМастер
 
03.02.12
16:11
(8)

смотри - правильно понимаю ?
в ПКГС табличной части в "перед обработкой" пишу

КоллекцияОбъектов = ВходящиеДанные.ТаблицаДокумента;


так ?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.