Имя: Пароль:
1C
 
Копирование из табличной части одного документа в табличную часть другого
0 OrskAlex
 
08.11.04
13:52
Подскажите пожалуйста как скопировать строку из одно табличной части документа в другу табличную часть другого документа?
1 Волшебник
 
08.11.04
14:17
По реквизитно. Можно воспользоваться метаданными.
2 Shaytan
 
08.11.04
14:39
Из УПП :
// Данная процедура пополняет состав одной таблицы значений данными из другой.
//
// Аргументы:
//    ТаблицаПриемник        - пополняемая таблица
//    ТаблицаИсточник    - таблица-источник данных. Если не указана - создается новая.
//                        Если не содержит колонок - создаются колонки как в источнике.
//    СПозиции            - номер строки пополняемой таблицы, с которой производится добавление
//    НомерСтрокиИсточника - если указан номер строки таблимцы-источника
//                        - добавляется данные только из нее
//
//
Процедура ДополнитьТаблицу(ТаблицаПриемник, ТаблицаИсточник, СПозиции = -1, НомерСтрокиИсточника = -1) Экспорт // готово

   Если НЕ ТипЗнч(ТаблицаПриемник) = Тип("ТаблицаЗначений") Тогда
       ТаблицаПриемник = Новый ТаблицаЗначений();
   КонецЕсли;

   Если (НЕ ТаблицаПриемник.Колонки.Количество()) Тогда
       Если НомерСтрокиИсточника < 0 Тогда
           ТаблицаПриемник = ТаблицаИсточник.Скопировать();
           Возврат;
       Иначе
           Для каждого Колонка из ТаблицаИсточник.Колонки Цикл
               ТаблицаПриемник.Колонки.Добавить(Колонка.Имя, Колонка.ТипЗначения);
           КонецЦикла;
       КонецЕсли;
   КонецЕсли;
   
   Если НомерСтрокиИсточника < 0 Тогда
       Для каждого СтрокаИсточник из ТаблицаИсточник Цикл
           
           // добавляем (вставляем) строку
           Если СПозиции < 0 Тогда
               НоваяСтрокаПриемник = ТаблицаПриемник.Добавить();
           Иначе
               НоваяСтрокаПриемник = ТаблицаПриемник.Вставить(СПозиции + ТаблицаИсточник.Индекс(СтрокаИсточник));
           КонецЕсли;
           
           // по колонкам
           Для каждого Колонка Из ТаблицаИсточник.Колонки Цикл
               ИмяКолонки = Колонка.Имя;
               НоваяСтрокаПриемник[ИмяКолонки] = СтрокаИсточник[ИмяКолонки];
           КонецЦикла;
           
       КонецЦикла;
   Иначе
       
       // добавляем (вставляем) строку
       Если СПозиции < 0 Тогда
           НоваяСтрокаПриемник = ТаблицаПриемник.Добавить();
       Иначе
           НоваяСтрокаПриемник = ТаблицаПриемник.Вставить(СПозиции);
       КонецЕсли;

       // по колонкам
       Для каждого Колонка Из ТаблицаИсточник.Колонки Цикл
           ИмяКолонки = Колонка.Имя;
           НоваяСтрокаПриемник[ИмяКолонки] = ТаблицаИсточник[НомерСтрокиИсточника][ИмяКолонки];
       КонецЦикла;
   КонецЕсли;
   
КонецПроцедуры

Можешь доработать для ТЧ. Можешь делать через промежуточные ТЗ. Если тебе надо пренести целиком, то
ТЧ_Приемник = ТЧ_Источник.Выгрузить();
3 Shaytan
 
08.11.04
16:28
(2) Ошибся, надо так:
"Можешь доработать для ТЧ. Можешь делать через промежуточные ТЗ. Если тебе надо пренести целиком, то
ТЗ = ТЧ_Источник.Выгрузить();
ТЧ_Приемник.Загрузить(ТЗ)"
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший