Как правельно выбрать элементы

Форум 1С: Одинэс.Ру

Найти!

Как правельно выбрать элементы

GODed
17.02.2009 - 18:58
Подскажите как правельно выбрать элементы:
Имеем два справочника Справочник1 и Справочник2
Справочник2 подчинен справочнику1
Задача выбирается группа из справочника1 по которой мы должны составыить список всех элементов Справочника2 подчиненных элементам справочника1 входящих в выбранную группу.
К списку тем 1 > К списку форумов

Интересные темы

odines.ru
22.10.2020 - 14:13
Смотри также:
1C7.7 English Interface
Автозапуск 1С ночью, Win2003
При удаление строки из табличной части дока

Re: Как правельно выбрать элементы

VZ
1 - 17.02.2009 - 19:29
Пиши правильно запрос:
Выборка по справочнику2.
Определяешь реквизиты запроса - элемент справочника2 и владелец элемента.
Накладываешь условие: Владелец в выбранной группе.
группируешь по владельцам.
Все.

Re: Как правельно выбрать элементы

GODed
2 - 17.02.2009 - 19:30
Сделал так , незнаю рационально или нет
Спр1=СоздатьОбъект("Справочник.Справочник1");
Спр2=СоздатьОбъект("Справочник.Справочник2");  
----
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|ТекущийЭлемент = Справочник.Справочник1.ТекущийЭлемент;
|Группировка ТекущийЭлемент упорядочить по ТекущийЭлемент.Наименование;
|Условие(ТекущийЭлемент в ВыбГруппаСправочника1);
-------
Пока Запрос.Группировка(1) = 1 Цикл
Если Запрос.ТекущийЭлемент.ЭтоГруппа()=0 тогда
Спр1.НайтиЭлемент(Запрос.ТекущийЭлемент);
Спр2.ИспользоватьВладельца(Спр1.ТекущийЭлемент());
Спр2.ВыбратьЭлементы();
Пока Спр2.ПолучитьЭлемент()=1 цикл
Загоняем в табЗначений
конеццикла;
----------------

Re: Как правельно выбрать элементы

lalex23
3 - 17.02.2009 - 19:34
если уж запросом то так:
|Владелец = Справочник.Цены.Владелец;
|ТипЦен = Справочник.Цены.ТипЦен;
|Условие(Владелец.ПринадлежитГруппе(Группа) = 1);
промежутки я выкинул..
но выборкой наверняка быстрее..

Re: Как правельно выбрать элементы

VZ
4 - 17.02.2009 - 19:41
(2) Смесь французского с нижегородским... Никогда так не делай - или все запросом, или все выборкой.
(3) Выборкой быстрее, а запросом зачетнее ;)

Re: Как правельно выбрать элементы

lalex23
5 - 17.02.2009 - 19:57
(4) на 8-ке запросы единственный путь для меня, на 7-ке местами шустрее выборка, при чём ощутимо быстрее..

Интересные темы

odines.ru
22.10.2020 - 14:13
Смотри также:
v7: Скопировала базу Бух потерялись данные ... ПОМОГИТЕ!!!
УСН релиз 160. Как списать товар в производство?
Не ищет "НайтиЗначение" в ТЗ.

Re: Как правельно выбрать элементы

GODed
6 - 17.02.2009 - 20:17
4. Если бы я знал как то не спрашивал. Вечно получается что я делаю все через одно место. Может все-таки подскажете как через один запрос все это сделать?

Re: Как правельно выбрать элементы

lalex23
7 - 17.02.2009 - 20:38
(6) что непонятного в (3)?

Re: Как правельно выбрать элементы

lalex23
8 - 17.02.2009 - 20:40
(6) что непонятного в (3)?

Re: Как правельно выбрать элементы

VZ
9 - 17.02.2009 - 20:48
(6) Дык в (3) образец-то...
 
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Элемент = Справочник.Справочник2.ТекущийЭлемент;
|Хозяин = Справочник.Справочник2.ТекущийЭлемент.Владелец;
|Условие(Хозяин в ВыбГруппаСправочника1);
|Группировка Хозяин упорядочить по Хозяин.Наименование;
|Группировка Элемент упорядочить по Элемент.Наименование;
 
Примерно так ;) И не используй в качестве переменных зарезервированные или предопределенные идентификаторы (ТекущийЭлемент, Владелец...). Неважно, если прокатит. Некузяво.

Re: Как правельно выбрать элементы

lalex23
10 - 17.02.2009 - 21:01
+(9) а то оxренеешь увидев конструкцию: Запрос.ТекущийЭлемент :)

Re: Как правельно выбрать элементы

GODed
11 - 17.02.2009 - 21:06
Ну ТекущийЭлемент это мне конструктор намулявал :)  
Спасибо за помощь всем.
К списку тем 1 > К списку форумов
Тема закрыта и находится в архиве.
Но Вы можете начать новую тему.
« Розничный магазин с собственной продукцией и покупным товаром. Как вытащить SQL идентификаторы реквизитов.. »
© 2009 Форум 1С: Одинэс.Ру