powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / выборка запросом групп и элементов справочника по значению реквизита 7.7
9 сообщений из 9, страница 1 из 1
выборка запросом групп и элементов справочника по значению реквизита 7.7
    #36069948
День добрый! Вопрос, в сущности, простецкий, но что-то не осилю никак (семерочные запросы использовал очень редко, в основном юзаю ToySQL).
Задача такая: нужно выгрузить в таблицу значений элементы и группы справочника по значению определенного реквизита.
Вот процедурка для примера:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Процедура Сформировать()
    
	Идент = "1F00B493-C529-FCBF-11DE-5F2721425F5E";
	
	Запрос = СоздатьОбъект("Запрос");
	ТекстЗапроса = 
	"Без итогов;
	|Контрагент = Справочник.Контрагенты.ТекущийЭлемент,Справочник.Контрагенты.Родитель;
	|Идентификатор = Справочник.Контрагенты.GUID;
	|Группировка Контрагент;
	|Условие(Идентификатор = Идент);
	|"//}}ЗАПРОС
	; 
	// Если ошибка в запросе, то выход из процедуры
	Если Запрос.Выполнить(ТекстЗапроса) =  0  Тогда
		Возврат;
	КонецЕсли;
	ТЗ = СоздатьОбъект("ТаблицаЗначений");	
	Запрос.Выгрузить(ТЗ, 1 , 0 );
	ТЗ.ВыбратьСтроку(); 
	
КонецПроцедуры

В справочнике создан реквизит GUID (использование для групп и элементов).
Указанный запрос выбирает только элементы, но не группы. Может подскажете, как изменить запрос, чтобы добиться желаемого результата, чтобы запрос выбирал не только элементы, но и группы (иерархия мне не нужна, просто набор ссылок).
...
Рейтинг: 0 / 0
выборка запросом групп и элементов справочника по значению реквизита 7.7
    #36070516
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Денисов Дмитрий,
может так?
Код: plaintext
1.
2.
3.
4.
5.
6.
ТекстЗапроса = 
        "Контрагент = Справочник.Контрагенты.ТекущийЭлемент;
	|Идентификатор = Справочник.Контрагенты.GUID;
	|Группировка Контрагент;
	|Условие(Идентификатор = Идент);";

...
Рейтинг: 0 / 0
выборка запросом групп и элементов справочника по значению реквизита 7.7
    #36071399
Хитроглазый, не работает (. Все равно выводит только элементы.
Вышел из положения так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Объект","Справочник."+ИмяСправочника);	
ТЗ.НоваяКолонка("GUID","Строка");

Спр = СоздатьОбъект("Справочник."+ИмяСправочника);
Спр.ВыбратьЭлементыПоРеквизиту("GUID",GUID, 0 , 1 );
Пока Спр.ПолучитьЭлемент() =  1  Цикл
	ТЗ.НоваяСтрока();
	ТЗ.Объект = Спр.ТекущийЭлемент();
	ТЗ.GUID = Спр.GUID;
КонецЦикла;
...
Рейтинг: 0 / 0
выборка запросом групп и элементов справочника по значению реквизита 7.7
    #36071524
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Денисов ДмитрийХитроглазый, не работает (. Все равно выводит только элементы.

НЕ верю (с)
...
Рейтинг: 0 / 0
выборка запросом групп и элементов справочника по значению реквизита 7.7
    #36072601
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХитроглазыйДенисов ДмитрийХитроглазый, не работает (. Все равно выводит только элементы.

НЕ верю (с)Все правильно не возьмет.

Автор - вариант ВыбратьЭлементыПоРеквизиту в данном случае самый правильный.

Пример:
Граппа А - значение 1
товар А - значение 2
Группа Б - значение 2
Товар б - значение 1

В данном случае по значению 1 нельзя выбрать товар б и Группу А, тк Если в запросе оставить с группами то выберется и группа Б, тк оня является родителем товара б, а если сделать без групп то уберется и группа А. Это все естественно даже если делать с вариантом ВСЕ и СЧетчик. Насколько я понимаю такая ситуация из-за своеобразного обхода иерархических элементов.

Есть конечно вариант делать 2 запроса 1 на элементы, а 2 Справочник.Контрагенты.Родитель - но ведь если встретиться пустая группа то она не войдет в 2 запрос.

Вариант ВыбратьЭлементыПоРеквизиту - в данном случае самый правильный.
...
Рейтинг: 0 / 0
выборка запросом групп и элементов справочника по значению реквизита 7.7
    #36072725
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жжете не по децки. Хотя вероятно пятница влияет.
Дарю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Процедура Сформировать()
    
	Идент = "1F00B493-C529-FCBF-11DE-5F2721425F5E";
	
	Запрос = СоздатьОбъект("Запрос");
	ТекстЗапроса =	"
           |Контрагент = Справочник.Контрагенты.ТекущийЭлемент;
	|Идентификатор = Справочник.Контрагенты.GUID;
	|Группировка Контрагент упорядочить по Контрагент.Наименование;
	|Условие(Идентификатор = Идент);
	|"//}}ЗАПРОС
	; 
	// Если ошибка в запросе, то выход из процедуры
	Если Запрос.Выполнить(ТекстЗапроса) =  0  Тогда
		Возврат;
	КонецЕсли;
	
           // тут можно или в ТЗ или перебором результата запроса
           // просто смотрю перебираешь строки ТЗ. Дык может не ходить кругами а перебирать сразу запрос?

           // грузим в ТЗ, так как было у вас
           ТЗ = СоздатьОбъект("ТаблицаЗначений");	
	Запрос.Выгрузить(ТЗ);
	ТЗ.ВыбратьСтроку();

            // ну или перебором, как сказал раньше
            Пока Запрос.Группировка( 1 )= 1  Цикл
                   // делаем то что нужно. Например
                   Сообщить(Запрос.Контрагент,);
            КонецЦикла;
КонецПроцедуры

Удачи вам в борьбе с 1 ЦЭ...
...
Рейтинг: 0 / 0
выборка запросом групп и элементов справочника по значению реквизита 7.7
    #36072813
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сВсе правильно не возьмет.


Я (видимо как и Бобер) решил, что автору нужны элементы по условию + группы этого элемента (.родитель, .родитель.родитель и т.д.) - иначе зачем упоминать про иерархию, тем более, что прямым запросом такое вытащить гораздо проще.
...
Рейтинг: 0 / 0
выборка запросом групп и элементов справочника по значению реквизита 7.7
    #36072996
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХитроглазыйПрограммист 1сВсе правильно не возьмет.


Я (видимо как и Бобер) решил, что автору нужны элементы по условию + группы этого элемента (.родитель, .родитель.родитель и т.д.) - иначе зачем упоминать про иерархию, тем более, что прямым запросом такое вытащить гораздо проще.Да бобер тоже проглядел

Про прямой запрос согласен, но автор молчит про них, а значит не знает.
...
Рейтинг: 0 / 0
выборка запросом групп и элементов справочника по значению реквизита 7.7
    #36073413
vodafone1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
указанный автором запрос работает 100% (проверил)
возможно, в группах реквизит Guid не соответствует нужному значению
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / выборка запросом групп и элементов справочника по значению реквизита 7.7
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]