обход таблицы значений по группировке

1. user1145086 23.05.19 13:49 Сейчас в теме
Добрый день, подскажите пожалуйста, как можно обойти Таблицу значений аналогично ОбходРезультатаЗапроса.ПоГруппировкам?
По теме из базы знаний
Найденные решения
3. mrx2012 23.05.19 13:52 Сейчас в теме
   ТЗ = Новый ТаблицаЗначений;   
   ТЗ.Колонки.Добавить("Номенклатура");
   ТЗ.Колонки.Добавить("Размер");
   ТЗ.Колонки.Добавить("Цвет");
   ТЗ.Колонки.Добавить("Цена");

   ТЗНоменклатура = Тз.Скопировать(,"Номенклатура");
   ТЗНоменклатура.Свернуть("Номенклатура");
   ТЗРазмер = Тз.Скопировать(,"Номенклатура,Размер");
   ТЗРазмер.Свернуть("Номенклатура,Размер");

   
   Отбор1 = Новый Структура("Номенклатура");
   Отбор2 = Новый Структура("Номенклатура,Размер");

   Для каждого СтрНоменклатура Из ТЗНоменклатура Цикл
      ЗаполнитьЗначенияСвойств(Отбор1,СтрНоменклатура);
      Для каждого СтрРазмер Из ТЗРазмер.НайтиСтроки(Отбор2) Цикл
         ЗаполнитьЗначенияСвойств(Отбор2,СтрРазмер);
         Для каждого СтрДетальныеЗаписи Из ТЗРазмер.НайтиСтроки(Отбор2) Цикл
            //
         КонецЦикла;
      КонецЦикла;   
      
   КонецЦикла;
Показать
user1210458; korpas; АннаШ; antonio_i; alex-l19041; user1145086; +6 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. alex-l19041 8 23.05.19 14:59 Сейчас в теме
(1) есть еще вариант

передать Таблицу значений параметром в запрос,
сделать необходимые группировки, сортировки

а затем использовать ОбходРезультатаЗапроса.ПоГруппировкам
Marvel805; user1145086; +2 Ответить
2. tusv 212 23.05.19 13:52 Сейчас в теме
Если ОбходРезультатаЗапроса.ПоГруппировкам то это Дерево значений
SGordon1; user1145086; +2 Ответить
3. mrx2012 23.05.19 13:52 Сейчас в теме
   ТЗ = Новый ТаблицаЗначений;   
   ТЗ.Колонки.Добавить("Номенклатура");
   ТЗ.Колонки.Добавить("Размер");
   ТЗ.Колонки.Добавить("Цвет");
   ТЗ.Колонки.Добавить("Цена");

   ТЗНоменклатура = Тз.Скопировать(,"Номенклатура");
   ТЗНоменклатура.Свернуть("Номенклатура");
   ТЗРазмер = Тз.Скопировать(,"Номенклатура,Размер");
   ТЗРазмер.Свернуть("Номенклатура,Размер");

   
   Отбор1 = Новый Структура("Номенклатура");
   Отбор2 = Новый Структура("Номенклатура,Размер");

   Для каждого СтрНоменклатура Из ТЗНоменклатура Цикл
      ЗаполнитьЗначенияСвойств(Отбор1,СтрНоменклатура);
      Для каждого СтрРазмер Из ТЗРазмер.НайтиСтроки(Отбор2) Цикл
         ЗаполнитьЗначенияСвойств(Отбор2,СтрРазмер);
         Для каждого СтрДетальныеЗаписи Из ТЗРазмер.НайтиСтроки(Отбор2) Цикл
            //
         КонецЦикла;
      КонецЦикла;   
      
   КонецЦикла;
Показать
user1210458; korpas; АннаШ; antonio_i; alex-l19041; user1145086; +6 Ответить
5. SGordon1 23.05.19 17:28 Сейчас в теме
А если таблицу отсортировать по нужным полям, разве не похожее получится?
6. Adilgeriy 25 28.12.20 14:13 Сейчас в теме
ТЗ = Новый ТаблицаЗначений;   
   ТЗ.Колонки.Добавить("Номенклатура");
   ТЗ.Колонки.Добавить("Размер");
   ТЗ.Колонки.Добавить("Цвет");
   ТЗ.Колонки.Добавить("Цена");

   ТЗНоменклатура = Тз.Скопировать(,"Номенклатура");
   ТЗНоменклатура.Свернуть("Номенклатура");
   ТЗРазмер = Тз.Скопировать(,"Номенклатура,Размер");
   ТЗРазмер.Свернуть("Номенклатура,Размер");

   
   Отбор1 = Новый Структура("Номенклатура");
   Отбор2 = Новый Структура("Номенклатура,Размер");

   Для каждого СтрНоменклатура Из ТЗНоменклатура Цикл
      ЗаполнитьЗначенияСвойств(Отбор1,СтрНоменклатура);
      //Для каждого СтрРазмер Из ТЗРазмер.НайтиСтроки(Отбор2) Цикл //ошибка в отборе
      Для каждого СтрРазмер Из ТЗРазмер.НайтиСтроки(Отбор1) Цикл  //правильный отбор
         ЗаполнитьЗначенияСвойств(Отбор2,СтрРазмер);

        Для каждого СтрДетальныеЗаписи Из ТЗРазмер.НайтиСтроки(Отбор2) Цикл
       
            //
         КонецЦикла;
      КонецЦикла;   
      
   КонецЦикла;
 Скрыть
Показать
antonio_i; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот