Имя: Пароль:
1C
1С v8
Как перегнать таблицу документа в дерево
0 picom
 
21.03.12
12:51
8.2 на обычных формах
В документе есть таблица товаров, но у каждого товара разные склады
Надо превратить эту таблицу в дерево значений с группировкой по складу.
1. Как делать если документ еще не проведен, через запрос не получится?
2. Надо скрывать стандартную таблицу, делать новую в виде дерева и на нее вешать кучу кода "при изменении" и при открытии заполнять ее, так?
1 Ненавижу 1С
 
гуру
21.03.12
12:54
зачем?
2 picom
 
21.03.12
13:05
хотят не видеть сразу в списке 200 строк, а только разворачивать свой склад витрины
3 Fish
 
гуру
21.03.12
13:08
(0) по п.1. Почему не получится? Выгружай таблицу в ТЗ и делай запрос.
4 picom
 
21.03.12
13:09
Огго, а есть пример с таким запросом?
5 Vovan1975
 
21.03.12
13:09
бугагага
6 Fish
 
гуру
21.03.12
13:10
7 picom
 
21.03.12
13:12
А конструктор не будет работать, да?
8 pessok
 
21.03.12
13:16
Из УПП
// Процедура записи таблицы или табличной части в дерево значений
//
// Параметры
//  Таблица  – <ТаблицаЗначений>, <ТабличнаяЧасть> - таблица, из которой осуществляется чтение
//  Дерево  – <ДеревоЗначений>, <СтрокаДереваЗначений> - дерево значений, в которое осуществляется запись данных из таблицы
//  НомерСтрокиРодителя  – <Число> - параметр связи подчиненных и родительских строк дерева
//
Процедура СтрокиТаблицыВДерево(Таблица, Дерево, НомерСтрокиРодителя = -1)
   
   // Ищем в таблице строки для текущего родителя
   ОтборСтрок = Новый Структура;
   ОтборСтрок.Вставить("НомерСтрокиРодителя", НомерСтрокиРодителя);
   МассивСтрок = Таблица.НайтиСтроки(ОтборСтрок);
   
   // Записываем найденные строки в дерево и вызываем процедуру чтения подчиненных строк
   Для каждого СтрокаТаблицы Из МассивСтрок Цикл
       
       НоваяСтрока = Дерево.Строки.Добавить();
       ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицы);
       НоваяСтрока.КлючСтроки = Таблица.Индекс(СтрокаТаблицы);
       СтрокиТаблицыВДерево(Таблица, НоваяСтрока, Таблица.Индекс(СтрокаТаблицы));
       
   КонецЦикла;
   
КонецПроцедуры // СтрокиТаблицыВДерево
9 catena
 
21.03.12
13:20
(7)Будет работать, если в одном запросе:
Выбрать * поместить тз из &тз как тз;
Выбрать * из тз
10 catena
 
21.03.12
13:20
И без менеджера тогда можно :)