arefaste/1C_Forums huggingface dataset:
Есть реквизит КонтактноеЛицо(ссылка на справочник КонтактныеЛица) и есть реквизит Контрагенты. у одного контрагнета может быть несколько контактов. Нужно сделать так, чтобы при выборе Контрагента, в поле КонтактноеЛицо можно было выбрать только те контакты, которые есть у данного контрагента. В прикрепленном файле стрелками показано что у Иванова И.И. есть два контакта и необходимо выводить только их. База данных Управление нашим фирмой 1.6.19
---
```1c
    &НаКлиенте
    Процедура НачалоВыбора()

    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Контрагент", Объект.Контрагент);

    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора); ///Добавляем отбор в параметры формы

    ПараметрыФормы.Вставить("РежимВыбора",Истина);
    ПараметрыФормы.Вставить("МножественныйВыбор",Ложь);

    ОбработкаВыбора = Новый ОписаниеОповещения("ПриЗакрытииФормыВыбора", ЭтаФорма,"Подбор");

    ОткрытьФорму("Справочник.КонтактныеЛица.ФормаВыбора",ПараметрыФормы, ЭтотОбъект,,,,ОбработкаВыбора);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПриЗакрытииФормыВыбора(Значение, ДопПараметры) Экспорт

    Если Значение = Неопределено Тогда
    Возврат;
    КонецЕсли;

    Объект.КонтактноеЛицо = Значение;

    КонецПроцедуры
```
---
В параметры открытия формы нужно передать отбор с контрагентом.
---
открыть форму выбора с отбором в поле ввода
https://makrus.ru/chastye-voprosy-po-1s/kak-otkryt-formu-vybora-s-opredelennym-otborom-v-1s-82.html
---
```1c
    &НаКлиенте
    Процедура НачалоВыбора()

    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Контрагент", Объект.Контрагент);

    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора); ///Добавляем отбор в параметры формы

    ПараметрыФормы.Вставить("РежимВыбора",Истина);
    ПараметрыФормы.Вставить("МножественныйВыбор",Ложь);

    ОбработкаВыбора = Новый ОписаниеОповещения("ПриЗакрытииФормыВыбора", ЭтаФорма,"Подбор");

    ОткрытьФорму("Справочник.КонтактныеЛица.ФормаВыбора",ПараметрыФормы, ЭтотОбъект,,,,ОбработкаВыбора);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПриЗакрытииФормыВыбора(Значение, ДопПараметры) Экспорт

    Если Значение = Неопределено Тогда
    Возврат;
    КонецЕсли;

    Объект.КонтактноеЛицо = Значение;

    КонецПроцедуры
```
---
спасибо, код работает, только теперь открывает две формы одну с нудными данными, другую нет. Как это исправить?
---
```1c
    СтандартнаяОбработка = ЛОЖЬ;
```

не работает
---
```1c
    МассивСвязей = Новый Массив;
    МассивСвязей.Добавить(Новый СвязьПараметраВыбора("Отбор.Владелец", "Объект.Контрагент"));
    Элементы.КонтактноеЛицо.СвязиПараметровВыбора = Новый ФиксированныйМассив(МассивСвязей);
```
---
Хорошая попытка, но нет. В УНФ Контактные лица распоясались и больше не подчиняются Контрагентам.
---
Это не готовое решение - я не знаю как называется реквизит контрагента в контактном лице. Если там связь через какой-нибудь РС, то да, про связи параметров выбора можно забыть.
---
Совершенно верно через РС.
Здравствуйте! Подскажите, пожалуйста. Код находится в расширении. После строки

```1c
    Почта = Новый ИнтернетПочта;
```
 выскакивает ошибка

Поле объекта недоступно для записи (Почта)
---
Значит почта уже есть. Используйте другие буквы.
---
Значит почта уже есть. Используйте другие буквы.
---
Ок. Спасибо.
Всем привет! Столкнулась с проблемой. Создаю шаблон комплексного процесса:
Согласование1, Согласование2
Согласование2 должно выполняться, если согласовано/согласовано с замечаниями Согласование1
Но Согласование2 запускается только после того, как автор ознакомился с результатом Согласования1
Как запустить Согласование2 сразу же после согласования1, а не после ознакомления с результатом???
---
Эту галочку нужно снять в процессе согласования, а процесс ознакомления сделать отдельно. В конм.процессе сделать еще один комп.процесс - ознакомление+согласованиие2 - одновременно
---
выложите скриншот комплексного процесса
---
Согласование2 запускается при условии, что согласовано1
но согласование2 запускается только после ознакомления с результатом согласования1, а не после самого согласования
---
Попробуйте в шаблоне процесса на закладке Предметы процесса снять галочку Ознакомится с результатом согласования. И при этом процесс Ознакомления запустить отдельно
---
Но ведь пользователю все равно нужно ознакомиться с результатом согласования..
и нет возможности в комплексном процессе убрать галочку ознакомления с результатом
---
Эту галочку нужно снять в процессе согласования, а процесс ознакомления сделать отдельно. В конм.процессе сделать еще один комп.процесс - ознакомление+согласованиие2 - одновременно
---
На закладке "Предметы" есть галочка "Видимость" - это отображение предмета в данном процессе
а без указания предмета галочки вообще недоступны
Добрый день! Пытаюсь расположить поля отчета друг под другом, не получается. Подскажите, куда копать?
---
Либо группировку выводимых реквизитов на вкладке настроек в конструкторе СКД.
---
Используйте макеты в конструкторе СКД.
---
Либо группировку выводимых реквизитов на вкладке настроек в конструкторе СКД.
---
Да, спасибо, получилось, так и пытался делать, но итоги портили всю картину, убрал их пока.
---
Нет, не получилось
---
Заодно подскажете, как не выводить пустые поля, там где отсутствует техника? Отбор не помогает.
---
Та же ерунда выходит
---
Зачем вы используете таблицу для вывода отчета? При выводе в список проще настроить будет группировку.
Добрый день. Фоновое задание запускает процедуру, к сожалению, работаю в копии, где отключены фоновые задания, т.е. отладчиком не могу пробежаться по коду.
Код:

```1c
    НЗ = РегистрыСведений.ДанныеРасчета.СоздатьНаборЗаписей();
    Для Каждого Стр Из Договоры Цикл
    НЗ.Отбор.Документ.Установить(ДокСсылка);
    НЗ.Отбор.Договор.Установить(Стр.Договор);
    НЗ.Прочитать();
    СтрокаJSON = НЗ.Получить(0).ДанныеРасчета;
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
    ДанныеJSON = ПрочитатьJSON(ЧтениеJSON);
    ЧтениеJSON.Закрыть();

    Стр.Основной= ДанныеJSON.Основной;
    Стр.Проценты = ДанныеJSON.Проценты;
    Стр.Общая = ДанныеJSON.Итого;

    НЗ.Очистить();
    НЗ.Записать(Истина);
    КонецЦикла;
```

"Ошибка при вызове метода контекста (Получить)
СтрокаJSON = НЗ.Получить(0).ДанныеРасчета;
по причине:
Значение индекса выходит за границы диапазона"

Если ЗначениеЗаполнено(НЗ.Получить(0).ДанныеРасчета) - не подходит, подскажите варианты решения. Заранее спасибо!
---
Если НЗ.Количество() <> 0 ???
---
Набор записей пустой. Проверяйте количество, если больше 0, то можно получать данные расчета.
---
СтрокаJSON = НЗ.Получить(0).ДанныеРасчета; - так проверьте есть в НЗ строки или нет. Если есть читайте, если нет, то и читать нечего. Потому и ругается что строки с индексом 0 - нет.
---
Набор записей пустой. Проверяйте количество, если больше 0, то можно получать данные расчета.
---
СтрокаJSON = НЗ.Получить(0).ДанныеРасчета; - так проверьте есть в НЗ строки или нет. Если есть читайте, если нет, то и читать нечего. Потому и ругается что строки с индексом 0 - нет.
---
Если НЗ.Количество() <> 0 ???
---
Спасибо!!!
Доброе утро, знатоки 1С УТ!

Установил конфигурацию 1С УТ 11.5.7 и вперся в непонятную проблему - не могу найти вход в справочник "Склады". В инете для УТ 11.3 и 11.4 вход с этот справочник выполняется через раздел НСИ -> "Склады и магазины". У меня такого пункта нет... Посмотрел в конфигураторе, действительно справочник "Склады" входит в подсистему НСИ, но я его почему-то там не вижу. Подозреваю, что что-то где-то нужно включить. Подскажите, пожалуйста, что и где?
---
Настройка НСИ и Разделов - Склад и доставка - там галочка Склады - несколько складов. ;)
ЗЫ если смотреть на вашу картинку то этот пункт немного правее Вашей отметки
---
Настройка НСИ и Разделов - Склад и доставка - там галочка Склады - несколько складов. ;)
ЗЫ если смотреть на вашу картинку то этот пункт немного правее Вашей отметки
---
Спасибо! Вчера много раз тыкался именно в этот "Склад и доставка", но поскольку у меня один склад, то ее не нажимал и описание не читал ) Еще раз спасибо!
Добрый день. Если пользователь встал на строку таблицы значений и нажал на команду Найти: "Что то ищем", либо на расширенный поиск. Получили отбор по "Чему то там"

Как можно обработать только "видимые" строки? Перебор строк табличной части отбор игнорирует, перебирает всю таблицу
---
Попробуйте использовать ПроверитьСтроку()
---
Попробуйте использовать ПроверитьСтроку()
---
Спасибо за помощь. Работает)
---
таблицы значений Все таки это наверно строка табличной части. Текущая строка или текущие данные, есть колонки табличной части, есть при активации строки... Есть еще выделенные строки... можно из строки получить значение отбора, найти строки по этому значению и уже перебрать найденные строки. Не имея представления что Вы хотите получить, трудно дать совет как это получить.
Всем привет. Есть код 0003. Нужно записать МКВ3, а не добавить в начало как делаю я.
 Сейчас вот так делаю, и это неверно.

```1c
    .УстановитьНовыйКод("МКВ");
```
---
```1c
    .Код = СтрЗаменить(.Код, "0000", "МКБ");
```
---
если код будет "00021" то так уже не сработает
алгоритм примерно такой

Код = "МКВ" + Число(Код);

до 99 будет работать нормально, дальше пойдут двойники , так как длина кода скорее всего = 5
а если cделаете длину больше, то нужно будет использовать функцию Формат() что бы убрать НПП из Кода > 1 000
---
сделать проверку на лидирующие ноли слева удалить их и после уже ставить свой префикс, или код преобразовать из числа в текст и после обработать его уже
---
```1c
    .Номер = "МКВ3";
```
---
```1c
    .Код = СтрЗаменить(.Код, "0000", "МКБ");
```
---
если код будет "00021" то так уже не сработает
алгоритм примерно такой

Код = "МКВ" + Число(Код);

до 99 будет работать нормально, дальше пойдут двойники , так как длина кода скорее всего = 5
а если cделаете длину больше, то нужно будет использовать функцию Формат() что бы убрать НПП из Кода > 1 000
---
```1c
    .Код = СтрЗаменить( "МКБ" + .Код, "0", " );
```
Но и тут, как Вы уже догадались, есть проблемы )))
---
СчетЗатрат = ПланыСчетов.Бюджетирование.НайтиПоКоду(СокрЛП(КодСчетаЗатрат));

КодСчетаЗатрат, например, 2034, - готовая продукция. Но при выводе на форму СчетЗатрат пустой. Я не так обращаюсь?
Нужно получить счет затрат по коду. какой код передавать правильно? И правильно к плану счетов обращаться, мб к справочнику какому-то?
---
```1c
    СчетЗатрат = ПланыСчетов.Бюджетирование.НайтиПоКоду(СокрЛП(КодСчетаЗатрат));
```
КодСчетаЗатрат, например, 2034, - готовая продукция.План счетов, обычно, содержит предопределенные элементы. Поэтому надо делать так:

```1c
    СчетЗатрат = ПланыСчетов.Бюджетирование.ГотоваяПродукция;
    // посмотреть, как называется предопределенный элемент
```

Ну и вообще, нужно не код счета затрат откуда-то получать, а сам счет.
---
А есть у меня только код?
---
А где Вы его взяли? Кто Вам его дал? Стукните его по рукам указкой!
---
Есть только справочники соответсвия с кодами, и по ним нужно заполнить
---
А почему в этих справочниках к коду не привязан и сам счет? Кто это придумал? Стукните его тоже.
Есть база в сервеном варианте, и в ней не работает поиск, к примеру на фото 1 имеется "труба витая" 5 позиций, но при поиске отображается только одна (фото 2), в файловом варианте поиск работает нормально (фото 3)
- переносил на другой сервер, там другая платформа, и другой SQL;
- Выгружал в файловый вариант, делал ТИИ, и загружал обратно;
- Полнотекствый поиск включил, очищал и заполнял индексы по новой, но ничего не помогает.
Может я что то упустил для решения проблемы, укажите, пожалуйста.

Управление торговлей, редакция 11 (11.4.8.92)
платформа 8.3.15.1489 и 8.3.20.2180
---
А если так настроить?
---
Попробуйте ещё обновить конфигурацию. 11.4 уже снята с поддержки в "1С"...
---
А если так настроить?
---
а где можно найти эту настройку?
---
Да, действительно, помогло, спасибо, это то что нужно
Здравствуйте. судя по всему при создании дока на основании вызывается обработказаполнения, и события модуля формы как понимаю не вызываются. Есть реквизит формы, как я могу заполнить? Или чего не правильно понял?
---
Никак. Все реквизиты формы можно заполнить при получении формы, не раньше. А заполнение на основании делается без формы.
А что такое "реквизит модуля формы", это наука еще не изучила, тут надо бы попа дробнее.
---
В ПриСозданииНаСервере формы смотреть в Параметры.Основание и заполнять реквизиты в соответствии с этим.
---
Никак. Все реквизиты формы можно заполнить при получении формы, не раньше. А заполнение на основании делается без формы.
А что такое "реквизит модуля формы", это наука еще не изучила, тут надо бы попа дробнее.
---
"Это уже заработался, про реквизит модуля формы" )
Всем привет. Делаю выгрузку из экселя. В экселе несколько листов. Как мне получить все в 1с кодом? Более экологичным будет какой способ?

Для чего нужно : Миграция стравочника, и там по коду, например, подразделения, нужно на другом листе найти соотв ему код в другой базе и записать его в справочник и так далее...

Буду рад любым подсказкам и наставлениям. хорошего дня!

```1c
    Excel = Новый COMОбъект("Excel.Application");

    // Открываем файл, работает с ним.
    Попытка
    ОсновнаяСтраницаExcel.Workbooks.Open(Файл);
    Исключение
    ОсновнаяСтраницаExcel.ActiveWorkBook.Close();
    Сообщить(ОписаниеОшибки(),СтатусСообщения.ОченьВажное);
    Сообщить("Окончание загрузки " + ТекущаяДата(),СтатусСообщения.Информация);
    Возврат ;
    КонецПопытки;
```

Делаю сейчас вот так, а как дальше к листам в нужный момент обратиться не пойму. Так правильно будет?

```1c
    КодПодразделения = СокрЛП(ОсновнаяСтраницаExcel.Sheets(2).Cells(1, КолонкаКодПодразделения).Value);
```
---
Здесь подробно описана работа с Excel из 1С: https://infostart.ru/public/398279/
---
КД 2.1 не проще?
---
Здесь подробно описана работа с Excel из 1С: https://infostart.ru/public/398279/
Здравствуйте!

Подскажите пожалуйста, где задаётся имя для печатной формы, выводимой на экран. Нужно чтобы в открывающейся при выводе формы на экран вкладке вместо "Таблица" выводилось, например, имя документа из которого производится печать. Как-то давно делал это - сейчас никак не могу вспомнить где это реализуется. У табличного документа вроде нет таких свойств, в Интернете на эту тему тоже ничего вразумительного не нашёл.
---
смотрите метод Показать
---
смотрите метод Показать
---
Какая версия 1С? И если 8-ка - то управляемые формы или простые? И что за вкладка?
---
8.3 УФ. Вкладка в Такси, ну или окно, если в 8.2 переключиться - в общем форма с табличным полем куда выводится сформированный табличный документ.
---
О, точно, точно. Туда то я и не додумался посмотреть. Спасибо большое!
---
А через БСП как ?
---
В экспортную процедуру печать модуля объекта добавить ПараметрыВывода = Новый Структура("ЗаголовокФормы", "Ваш заголовок");
---
А если на поле своей УФ реквизит типа ТабличныйДокумент, как ему задать заголовок. Вроде простая задача, а тупик?
Здравствуйте, подскажите а почему в документе принятие к учету ОС на вкладке внеоборотные активы оборудование только одно, а во вкладке основные средства это табличная часть. У меня задача сделать чтобы на основании поступления вводились в принятие все оборудование во вкладку внеоборотные активы. Тогда нужно на каждое такой актив делать отдельное принятие?
---
Он же одинаковый. А количество спишется по количеству ОС.
---
Мы можем купить несколько однотипных ед. оборудования (в одной строке документа), но должны каждое из них сделать отдельным ОС. Поэтому ТЧ в этом документе и нужна. Всех их можно принять одним документом.
---
Это понятно, но почему тогда внеоборотный актив в единственном числе, а не также таблицей? Непойму пока
---
Он же одинаковый. А количество спишется по количеству ОС.
---
Да это понимаю, бухгалтер поставил задачу чтобы по нескольким разным внеоборотным делалось одно принятие к учету. Пришли к тому что все таки будет в поступлении вводить одно оборудование с разным количеством, а не как до этого несколькими строками разное оборудование.
---
Если из нескольких одно ОС это или строительство или монтаж. Или как вы решили в одну строку приходовать.
---
Было как на скрине поступление по счету 60415 это вложение в сооружения и приобретение ОС, другие это запчасти и материалы для ОС, этим доком они принимаются к учету как внеоборотный актив. Договорились что только одну строку будут оставлять тут.
Прошу подсказать в довольно простом вопросе. При проведении документа, если в строках одинаковая продукция, в регистр ОстаткиНоменклатуры необходимо записывать итоговое количество. Как реализовать?
---
получить таблицу данных для записи в регистр из документа и свернуть ее по Номенклатура (не забывая про остальные измерения), суммируя по Количеству
итог записать в регистр
---
Точно. Спасибо!
---
получить таблицу данных для записи в регистр из документа и свернуть ее по Номенклатура (не забывая про остальные измерения), суммируя по Количеству
итог записать в регистр
---
Понял. Спасибо!
---
Странный регистр. Обычно в регистр остатков пишут приход и расход, а остатки получить он и сам умеет.
---
Для чего это нужно, какую задачу хотите решить?
---
В ТЗ указали.
---
Видимо, постановщик ТЗ не знаком с устройством регистров накопления, иначе это просто самодурство какое-то.
---
Тоже не могу понять смысла.
---
А почему бы не свернуть табличную часть документа?
---
Точно. Спасибо!
Здравствуйте, подскажите, пожалуйста, из за чего ошибка при загрузке данных из экселя "{ВнешняяОбработка.ВыгрузкаЗагрузкаXLSX.Форма.Форма1.Форма(26)}: Ошибка при получении значения атрибута контекста (Результат)
 ТабЗнач = ПостроительОтчета.Результат.Выгрузить();
по причине:
{(1, 1)}: Ожидается выражение "ВЫБРАТЬ"".
```1c
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(Файл, СпособЧтенияЗначенийТабличногоДокумента.Значение);
    ПоследняяСтрока = ТабДок.ВысотаТаблицы;
    ПоследняяКолонка = ТабДок.ШиринаТаблицы;
    ОбластьЯчеек = ТабДок.Область(1, 1, ПоследняяСтрока, ПоследняяКолонка);
    ПостроительОтчета = Новый ПостроительОтчета;
    ПостроительОтчета.ИсточникДанных = Новый ОписаниеИсточникаДанных(ОбластьЯчеек);
    ПостроительОтчета.Выполнить();
    ТабЗнач = ПостроительОтчета.Результат.Выгрузить();
```
---
Разобрался, в эксель файле в начале были пустые строки, из за этого табличный документ был с 0 высотой.
---
Разобрался, в эксель файле в начале были пустые строки, из за этого табличный документ был с 0 высотой.
---
спасибо, помогло)
---
И мне помогло. Спасибо!))
Поясните пожалуйста, почему при запросе к регистру

```1c
    ВЫБРАТЬ ПЕРВЫЕ 1
    ТоварыНаСкладах.Характеристика КАК Характеристика,
    ТоварыНаСкладах.Период КАК Период,
    ТоварыНаСкладах.Регистратор КАК Регистратор
    ИЗ
    РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
    ГДЕ
    ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
    И ТоварыНаСкладах.Номенклатура = &Номенклатура

    УПОРЯДОЧИТЬ ПО
    Период УБЫВ
    ИТОГИ ПО
    Период
```

Выводится такой результат?
---
Спасибо,я баран) Итоги поставил жеж...
---
Спасибо,я баран) Итоги поставил жеж...
Всем привет, УПП

Нужно обработкой из экселя загрузить данные в справочник Способы отражения расходов. В ТЗ дано, что табличную часть нужно меппить по 1 строке в бухгалтерии,статья затрат и счет затрат берутся обычно из экселя или подтягивать их нужно из данных в конфигурации. Какая логика заполнения?
Буду рад любым ответам. Мб кто-то делал загрузку Способы отражения расходов
---
Справочник Способы отражения расходов это обычный справочник с табличной частью и его заполнение не отличается от любого другого. Вам надо определиться какие данные есть у вас в файле, по какому реквизиту вы их сможете сопоставить со справочниками, планами счетов и т.п. в УПП для заполнения реквизитов Способов отражения расходов. Возможно какие-то реквизиты заполнить значением по умолчанию.
---
если по ТЗ все описано, что , куда и по каким счетам - то лучше ориентироваться на ТЗ
если в файле все имеется - то лучше ориентироваться на файл
если в файле нет сведений по счетам и прочему или есть сомнения - то лучше позвать буха, который расскажет что, куда и как должно быть, записать его показания и сверить с тем, что дает конфигурация при создании элемента справочника из документа
проверить можно выборочно - все совпадает, пишем по данным конфигурации, не совпадает - идем советоваться к буху, почему не совпало и как таки должно быть
ну и также следует учитывать, что не все можно по данным конфигурации заполнить автоматом
скорее всего в файле должно быть достаточно сведений для создания элемента справочника. а что не достает можно вытащить из сопоставленных данных в конфе
---
Справочник Способы отражения расходов это обычный справочник с табличной частью и его заполнение не отличается от любого другого. Вам надо определиться какие данные есть у вас в файле, по какому реквизиту вы их сможете сопоставить со справочниками, планами счетов и т.п. в УПП для заполнения реквизитов Способов отражения расходов. Возможно какие-то реквизиты заполнить значением по умолчанию.
---
если по ТЗ все описано, что , куда и по каким счетам - то лучше ориентироваться на ТЗ
если в файле все имеется - то лучше ориентироваться на файл
если в файле нет сведений по счетам и прочему или есть сомнения - то лучше позвать буха, который расскажет что, куда и как должно быть, записать его показания и сверить с тем, что дает конфигурация при создании элемента справочника из документа
проверить можно выборочно - все совпадает, пишем по данным конфигурации, не совпадает - идем советоваться к буху, почему не совпало и как таки должно быть
ну и также следует учитывать, что не все можно по данным конфигурации заполнить автоматом
скорее всего в файле должно быть достаточно сведений для создания элемента справочника. а что не достает можно вытащить из сопоставленных данных в конфе
---
Если у Вас задача именно в загрузке конкретного объема данных из Excel (а не в создании пользовательского сервиса по загрузке данных), то лучше воспользоваться внешей обработкой с ИТС - https://its.1c.ru/db/metod8dev/content/3679/hdoc
Здравствуйте, насколько корректно использование "Порядок" при запросе, вместо
```1c
    значение(Перечисление.[значения])
```
?
---
вообще не корректно! в конфе легко могут отсортировать (или переместить) элементы перечисления
и на что ваш порядок будет указывать*
---
вообще не корректно! в конфе легко могут отсортировать (или переместить) элементы перечисления
и на что ваш порядок будет указывать*
```1c
    ВыборкаГ2 = ВыборкаГ1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Партнер");
    Пока ВыборкаГ2.Следующий() Цикл
```

тут о.к.

а тут уже нет:
ВыборкаГ3 = ВыборкаГ2.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам,"Номенклатура");
---
```1c
    тчТовары = Новый ТаблицаЗначений;
    тчТовары.Колонки.Добавить("Номенклатура");
    тчТовары.Колонки.Добавить("Количество"); //для примера

    ВыборкаГ3 = ВыборкаГ2.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Номенклатура");
    Пока ВыборкаГ3 .Следующий() Цикл
    нСтрока = тчТовары.Добавить();
    ЗаполнитьЗначенияСвойств(нСтрока, ВыборкаГ3);
    КонецЦикла;
```
---
```1c
    тчТовары = Новый ТаблицаЗначений;
    тчТовары.Колонки.Добавить("Номенклатура");
    тчТовары.Колонки.Добавить("Количество"); //для примера

    ВыборкаГ3 = ВыборкаГ2.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Номенклатура");
    Пока ВыборкаГ3 .Следующий() Цикл
    нСтрока = тчТовары.Добавить();
    ЗаполнитьЗначенияСвойств(нСтрока, ВыборкаГ3);
    КонецЦикла;
```
---
блин это понятно, а нельзя одним методом?
---
нашел еще вот так,(кстати оч интересная штука) но тоже много кода придется переписать

Если хошь деревом:

```1c
    Дерево = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
    Для Каждого СтрУровень1 Из Дерево.Строки Цикл
    Для Каждого СтрУровень2 Из СтрУровень1.Строки Цикл
    Для Каждого СтрДетали Из СтрУровень2.Строки Цикл

    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
```

видимо в моем случае только (2)