Цитата: MWW_Ruza от 22 июня 2025, 17:47Тогда, можно еще вопросик, чуть сложнее...
Как вывести в запрос все элементы выбранной группы, в том числе и вложенных подгрупп всех уровней?
Тут, я так понимаю, нкжно уже другой какой-то оператор применять, не по ИД отбирать...
1sqlite
Объект SQLiteBase :: УложитьОбъекты / PutObjects
Синтаксис: УложитьОбъекты(Объект, ИмяТаблицы, [КакПостоянную], [Иерархия])
Параметры:
Объект - тип: СписокЗначений, Справочник, Счет. Выгружаемые объекты.
ИмяТаблицы - тип: Строка. Имя созываемой в базе данных таблицы.
КакПостоянную - тип: Число. 1 - создать обычную таблицу, 0 - создать временную таблицу. Необязательный параметр. По умолчанию 0.
Иерархия - тип: Строка. Название справочника или плана счетов для разворота групп справочника или групп счетов. Необязательный параметр. По умолчанию - пустая строка.
Возвращает: нет
Описание: Загружает значение либо список значений в базу данных, как таблицу базы данных.
В базе данных создается таблица с заданным именем с одним полем val. Если таблица с таким именем существует, она уничтожается. В данную таблицу выгружаются внутренние идентификаторы объектов в формате char(9). Если первым параметром передан список значений, в таблицу укладываются значения из переданного списка.
Если задана иерархия (название справочника либо плана счетов), то вместо объектов-групп выгружаются все входящие в группу элементы/счета всех нижележащих уровней. Сами группы при этом не выгружаются. Работа с иерархией выполняется только в дбф-базах, в sql-версии 1С будет генерироваться исключение.
Перед выполнением метода проверяется только то, что первый параметр либо список значений, либо справочник, либо счет. Проверка выгружаемых значений на то, что они действительно являются справочниками/счетами нужного вида - не производится, и вся ответственность за это возлагается на пользователя.
При использовании иерархии метод гарантирует, что каждый из входящих в список объектов выгрузится не более одного раза, те дубли не выгружаются. Если иерархия не используется, список объектов выгружается как есть.
Если ПустоеЗначение(ВыбНоменклатура) = 0 Тогда
_ТекстЗапроса = _ТекстЗапроса + "
|AND +СпрНоменклатуры.ID IN (SELECT val FROM vt_ТМЦ) ";
глБазаДанных.УложитьОбъекты(ВыбНоменклатура,"vt_ТМЦ",0,"Номенклатура");
КонецЕсли;