Имя: Пароль:
1C
1С v8
Таблица значений выделенные строки
0 Начинающий_13
 
21.02.13
16:22
Здравстуйте
Имею ТЗ на форме
Трубуется перебрость ВЫДЕЛЕННЫЕ строки из этой ТЗ в хранилище значений
Ввыду того что колонок стало больше значительно(хочется универсальный алгоритм)
Вопрос
Как можно перебрость данные без объявления таблицы значений ПартииВыбранные, через объевленный ревизит
Функция ПоместитьПодобраннуюНоменклатуруВХранилище()
   
   ПартииВыбранные = Новый ТаблицаЗначений;
   ПартииВыбранные.Колонки.Добавить("ТМЦ");
   ПартииВыбранные.Колонки.Добавить("Партия");
   ПартииВыбранные.Колонки.Добавить("Характеристика");
   ПартииВыбранные.Колонки.Добавить("ЕдиницаИзмерения");
   ПартииВыбранные.Колонки.Добавить("Количество");
   ПартииВыбранные.Колонки.Добавить("ЦенаДвижения");
   ПартииВыбранные.Колонки.Добавить("Цена1го");
   ПартииВыбранные.Колонки.Добавить("Цена");
   ПартииВыбранные.Колонки.Добавить("СтавкаНДС");
   ПартииВыбранные.Колонки.Добавить("СтавкаНП");
    //ЭлементыФормы.ТЗ.СоздатьКолонки();
     Для каждого СтрокаТЗ  Из ЭлементыФормы.Партии.ВыделенныеСтроки Цикл
       НВС = ПартииВыбранные.Добавить();
       ЗаполнитьЗначенияСвойств(НВС,СтрокаТЗ);
    КонецЦикла;
   АдресХЗ = ПоместитьВоВременноеХранилище(ПартииВыбранные); // Может уникальный иден. сделать ??
   Возврат АдресХЗ;
   
КонецФункции
1 Maxus43
 
21.02.13
16:23
ты на состав колонок опираешся? а не на состав реквизитов?
2 Начинающий_13
 
21.02.13
16:24
Состав колонок
3 Начинающий_13
 
21.02.13
16:25
Если будут совпадать тогда делать передачу
4 Maxus43
 
21.02.13
16:26
Вместо этого:
   ПартииВыбранные = Новый ТаблицаЗначений;
   ПартииВыбранные.Колонки.Добавить("ТМЦ");
   ПартииВыбранные.Колонки.Добавить("Партия");
   ПартииВыбранные.Колонки.Добавить("Характеристика");
   ПартииВыбранные.Колонки.Добавить("ЕдиницаИзмерения");
   ПартииВыбранные.Колонки.Добавить("Количество");
   ПартииВыбранные.Колонки.Добавить("ЦенаДвижения");
   ПартииВыбранные.Колонки.Добавить("Цена1го");
   ПартииВыбранные.Колонки.Добавить("Цена");
   ПартииВыбранные.Колонки.Добавить("СтавкаНДС");
   ПартииВыбранные.Колонки.Добавить("СтавкаНП");

цикл по колонкам с добавлением в ТЗ имён колонок
5 Maxus43
 
21.02.13
16:26
уикл по колонкам ЭлементыФормы.Партии
6 Начинающий_13
 
21.02.13
16:28
Понятно это (попробую), а по другому как небудь нельзя просто объявить таблицу значений ПартииВыбранные и все (можеь есть механизм)
7 GANR
 
21.02.13
16:31
(6) можно
ПартииВыбранные = ЭлементыФормы.Партии.Скопировать();
ПартииВыбранные.Очистить();

Для каждого СтрокаТЗ  Из ЭлементыФормы.Партии.ВыделенныеСтроки Цикл
  НВС = ПартииВыбранные.Добавить();
  ЗаполнитьЗначенияСвойств(НВС,СтрокаТЗ);
КонецЦикла;
8 GANR
 
21.02.13
16:34
+(7) >ПартииВыбранные = ЭлементыФормы.Партии.Скопировать();
ПартииВыбранные = ЭлементыФормы.Партии.Выгрузить();
9 Начинающий_13
 
21.02.13
16:36
Метод отъект не обнаружен Скопировать()
10 GANR
 
21.02.13
16:36
(9) см. (8)
11 Maxus43
 
21.02.13
16:36
(9) потому что это не ТЗ)
и добавлять в элементы формы тоже смысла нет... обходи колонки, и добавляй их
12 Начинающий_13
 
21.02.13
16:37
СПАСИБО мысль понял буду решать вопрос
13 Maxus43
 
21.02.13
16:38
Минус есть кстати - колонки ТЗ не типизированы
14 GANR
 
21.02.13
16:54
(13) если удастся

ПартииВыбранные = ЭлементыФормы.Партии.Скопировать();
ПартииВыбранные.Очистить();

проблема снимется
15 Maxus43
 
21.02.13
17:03
(14) не удастся, элементы формы так нельзя, только их значение, если там ТЗ. Но скопируется не видимые колонки, а все
16 GANR
 
21.02.13
17:05
(15) >скопируется все
поэтому
ПартииВыбранные.Очистить();
17 Maxus43
 
21.02.13
17:06
(16) колонки все) а из (0) видимо нужны те, которые на экране. Если нужны все из ТЗ - конечно проще, и не парились бы...
ЭлементыФормы.Партии.Значение.СкопироватьКолонки();
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.