Имя: Пароль:
1C
 
БП. Как из одной табличной части перенести данные в другую табличную часть
0 Katerinka-e
 
11.02.10
08:16
Подскажите пожалуйста как перенести данные из одной табличной чсти в другую. данные табличные части находятся в пределах одной формы.
1 aka AMIGO
 
11.02.10
08:19
можно написать обработку. 15-20 минут делов :)
2 Katerinka-e
 
11.02.10
08:23
Процедура КоманднаяПанельМатериалыПеренос(Кнопка)
   Для каждого СтрокаТЧ из Материалы Цикл
       Пока СтрокаТЧ.Количество > 0
           Цикл            
           //Для каждого СтрокаТЧ2 из  МатериалыЗаказчика Цикл
           //    СтрокаТЧ.Номенклатура = СтрокаТЧ2.Номенклатура;
           //
           //КонецЦикла;
           
           СтрокаТЧ.Номенклатура = "0";
                       СтрокаТЧ.Счет = "0";
           СтрокаТЧ.Количество = "0";
           //СтрокаТЧ.удалить(1);
           
       КонецЦикла;
   КонецЦикла;    
КонецПроцедуры

Процедурка которую я начала застопарилась и не могу понять как дальше чтобы переносил.
3 Guk
 
11.02.10
08:29
что это было в (2)?...
4 Chai Nic
 
11.02.10
08:31
Если табличные части одинаковые по составу и типам полей, тогда

ТабличнаяЧастьПриемник.Загрузить(ТабличнаяЧастьИсточник.Выгрузить());
5 Рэйв
 
11.02.10
08:31
(2)оригинально:)...Становится на первую строчку и уходит в бесконечный цикл.
6 Рэйв
 
11.02.10
08:32
а СтрокаТЧ.Количество = "0"; - это тоже шедеврально:)
7 Невский Александр
 
11.02.10
08:34
Для Каждого СТР ИЗ Таблица1 Цикл
   НовСтрока = Таблица2.Добавить();
   Для Каждого Рекв ИЗ Таблица1.Колонки Цикл
       Если Таблица1.Колонки.Найти(Рекв.Имя) Тогда
            НовСтрока[Рекв.Имя] = СТР[Рекв.Имя];
   КонецЦикла;
КонецЦикла;
8 Tashiro
 
11.02.10
08:34
Для каждого строка из ТаблицаЗначений Цикл
НоваяСтрока = ТаблицаЗначенийКопия.Добавить();
Для Н=0 по ТаблицаЗначений.Колонки.Количество()-1 Цикл
НоваяСтрока[Н] = строка[Н]
КонецЦикла;
КонецЦикла;
9 Невский Александр
 
11.02.10
08:36
(7) +
Или можно вот так еще:

МассивРеквизитов = Новый Массив;
Для  Каждого Рекв ИЗ Таблица2.Колонки Цикл
       Если Таблица1.Колонки.Найти(Рекв.Имя) Тогда
            МассивРеквизитов.Добавить(Рекв.Имя);
10 Chai Nic
 
11.02.10
08:37
С выгрузить/загрузить красивее, ИМХО. Таблица значений это вообще самое прекрасное что только могли придумать в языке 1с.
11 Невский Александр
 
11.02.10
08:39
(9) +
       КонецЕсли;

Для Каждого СТР ИЗ Таблица2 Цикл
     НовСтрока = Таблица1.Добавить();
     Для Каждого Рекв ИЗ МассивРеквизитов Цикл
         НовСтрока[Рекв] = СТР[Рекв];
     КонецЦикла;
КонецЦикла;
12 mishgan75
 
11.02.10
08:42
(11) Вместо
     Для Каждого Рекв ИЗ МассивРеквизитов Цикл
         НовСтрока[Рекв] = СТР[Рекв];
     КонецЦикла;
лучше все-таки
ЗаполнитьЗначениеСвойств(НовСтрока,Стр)
13 hhhh
 
11.02.10
08:56
(12) и уж совсем лучше

Таблица2.Загрузить(Таблица1.Выгрузить());
14 Katerinka-e
 
11.02.10
09:09
Подскажите пожалуйста а если данные в колонках имеют ссылки на др справочники.
15 Katerinka-e
 
11.02.10
09:09
Будет ли это работать?
16 hhhh
 
11.02.10
09:13
(15) почему нет?
17 Katerinka-e
 
11.02.10
09:50
Подскажите пожалуйста почему ругается на "Колонки "