#0
by ildary
Уважаемые специалисты, посоветуйте пожалуйста как правильно осуществить SUBJ? На форуме упоминалось, что "select val from" возвращает только id элементов, и упоминалось, что можно применить Запрос.Подставлять, но это работает только если мы отбираем по одной группе, а как быть со списком групп?
#1
by Vinianel
Если я ничего не путаю, то УложитьОбъекты(ТвойСписок, "Список", 0). Ну и потом "SELECT Val FROM Список".
#4
by Vinianel
Если указать типизацию, то в список будут уложены элементы, входящие в группы из Списка.
#5
by Ёпрст
+3 * иерархия, не указана.. Параметры: Объект - тип: СписокЗначений, Справочник, Счет. Выгружаемые объекты. ИмяТаблицы - тип: Строка. Имя созаваемой в базе данных таблицы. КакПостоянную - тип: Число. 1 - создать обычную таблицу, 0 - создать временную таблицу. Необязательный параметр. По умолчанию 0. Иерархия - тип: Строка. Название справочника или плана счетов для разворота групп справочника или групп счетов. Необязательный параметр. По умолчанию - пустая строка. Описание: Загружает значение либо список значений в базу данных, как таблицу базы данных. В базе данных создается таблица с заданным именем с одним полем val. Если таблица с таким именем существует, она уничтожается. В данную таблицу выгружаются внутренние идентификаторы объектов в формате char. Если первым параметром передан список значений, в таблицу укладываются значения из переданного списка. Если задана иерархия (название справочника либо плана счетов), то вместо объектов-групп выгружаются все входящие в группу элементы/счета всех нижележащих уровней. Сами группы при этом не выгружаются. Работа с иеерархией выполняется только в дбф-базах, в sql-версии 1С будет генерироваться исключение. Перед выполнением метода проверяется только то, что первый параметр либо список значений, либо справочник, либо счет. Проверка выгружаемых значений на то, что они действительно являются справочниками/счетами нужного вида - не производится, и вся отвественность за это возлагается на пользователя. При использовании иерархии метод гарантирует, что каждый из входящих в список объектов выгрузится не более одного раза, те дубли не выгружаются. Если иерархия не используется, список объектов выгружается как есть.
#8
by Vinianel
Да я не ради спора :) Значит, неправильно поняла фразу ТС "как быть со списком групп" :)
#12
by ildary
Формулирую: Таблица возвращается пустая. Вот здесь: сказано: "у тебя группа, в SELECT Val From ВыбТовар всегда id элементов" Вопрос: как наложить фильтр по родителю элементов справочника по списку групп этого српавочника?
#14
by Ёпрст
как например, это в классе Ивана сделано в аккаундсрекордсет.. там есть уложить с группами.
#18
by Ёпрст
там разворачивается всегда до всех элементов, входящих в эту группу, сами группы не пихаются не, речь про УложитьСписокГрупп в классе аккаунтрекордсет, хотя думаю, автор класса ПрямойЗапрос реализовал тоже самое и там.. вот еще можешь почитать
#19
by Ёпрст
если не заморачиваться, то список с только группами, можешь создать сам, примитивной выборкой с использованием параметров в методе ВыбратьЭлементы и ПолучитьЭлемент ..
#20
by Ёпрст
ну и тупой рекурсией.. А можешь и прямым запросом с кучей лефтджоинов поиметь иерархию групп справочника для фильтра.
#21
by ildary
я прошу объяснить - что я в итоге должен положить в список отбора? Сейчас у меня в списке отбора одна группа, я должен получить все её подгруппы и в итоге фильтровать по ним? Но если это так, почему тогда не возвращаются элементы, которые подчинены непосредственно этой группе?
#22
by orefkov
Надо не parentid сравнивать, а сам id. Уложить до элементов раскручивает. Если надо одну группу уложить, в СЗ её не обязательно класть, можно передать в метод сразу группу.
#23
by Salimbek
1. Если нужны Элементы, входящие в группу (без вложенных подгрупп), то можно сделать: "Спр.PARENTID = &ВыбГруппа" запрос.УстановитьПараметр("ВыбГруппа",Грп); 2. Если нужны Элементы, входящие в список групп (без вложенных подгрупп), то можно уложить без раскрытия иерархии: "Спр.PARENTID IN (select val from СпсГрупп )" 3. Если нужны все вложенные элементы и из подгрупп, то надо раскрывать иерархию: "Спр.ID IN (select val from СпсЭлементов )" P.S. Тестовый пример с поставщиком - "Справочник" не получилось сделать?
#25
by ildary
еще хотел уточнить - мне надо выполнить вариант 3, что должно быть в спсГрупп - все группы, которые я хочу получить вместе их подгруппами?
#26
by Ёпрст
а вопрос то в чем ? Тебе нужно фильровать как хоть ? По родителю справочника ? Что если родитель есть в списке груп с учетом вложенности? Или что ?
#27
by ildary
Многоуровневый справочник (Номенклатура в ТиС), мне надо получить список товаров, содержащихся в нескольких группах с кучей всяких условий. В есть пункт 3, который описывает мою задачу, хочу узнать, что надо положить в СпсГрупп?
#29
by Salimbek
+ После Уложить - во временной таблице будут только Элементы из этих и подчиненных групп. Причем в таблице будут только уникальные элементы. Дубли не выгрузятся.
#30
by Salimbek
На 1cpp в теме выложи, если что - там же, если разберусь, и отвечу. Здесь тему для этого создавать не очень удобно.
#31
by Ёпрст
ну дык и делай как ы (23.3) + выкинь условие на parentid where id in (select val from Список) база.УложитьОбъекты(СпсГрупп, "Список",0,"Номенклатура");
#32
by КонецЦикла
Вот примерно разворот уложить список объектов, можно модифицировать по своему усмотрению
#35
by ildary
Простите пожалуйста, все прекрасно работает, просто я перед вызовом запроса забыл убрать строку Условия = ""; (баловался при отладке и добаловался) - и удивлялся, почему выводятся все.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: v7 : НДС при возврате
- v7: Как определить родителя при переносе элемента справочника в другую группу?
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- v7: 1С V7.7 в сети
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Перенос данных Бухгалтерия из v7 в v8
- v7: Как в 7.7 получить родителя группу у справочника?
- v7: 1c++: проверка элемента справочника на вхождение в группу / список групп
- v7: 1sqlite. Как сделать отбор по группам номенклатуры?
- v7: v7 Перехват глобального события ПриЗаписи() или ОбработкаПроведения()
В этой группе 1С
- Российская ОС.
- БП 2: не заполняется декларация по налогу на имущество
- Сервер 1С:8.3 - не найдена лицензия.
- УПП. Незавершенное производство, спецификация и сдельная зарплата. Прошу идею.
- Чтение файла DBF.
- Закрывать в ноль регистр при достижении нуля одного из ресурсов.
- Операция не может быть выполнена
- Элементы.ТЧ.ВыделенныеСтроки содержит не существующие индексы строк
- Проводки по больничному в ЗУП
- СКД, вывод не всех строк.
- Получить Элемент табличной части
- Автовысота строк табличной части.
- РМК в УТ 11
- V8: Может ли 1С 8.3 кешировать внешние отчеты(обработки)?
- Как скачать предпоследний релиз ЗиК 7.7 ?
- Не хватает прав для отчета
- ЗУП 2.5 печать РСВ раздел 6 на двух сторонах листа
- Увеличить производительность 1С сервер x32
- Не ставятся префиксы в УТ 10.3
- Конфа "Свод отчетов АПК: для районов"