Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как правильно сделать выборку
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
yurko-i
Привет всем.
Хочу сделать выборку по номенклатуре, но не знаю как правильнее.

В номенклатуре хранятся услуги, сгруппированы по датам:

-ГОД
--Месяц
---Число
----Услуга1
----Услуга2
----Услуга3


Попробовал так:
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ спрНоменклатура.Ссылка КАК Поле1  ИЗ Справочник.Номенклатура КАК спрНоменклатура ГДЕ спрНоменклатура.Комментарий ПОДОБНО &Комментарий И спрНоменклатура.Ссылка В ИЕРАРХИИ(&Группа)";    

    Запрос.УстановитьПараметр("Комментарий","Коммент");    

        грСсылка = Справочники.Номенклатура.НайтиПоНаименованию("Моя группа", Истина);
        грСсылка = Справочники.Номенклатура.НайтиПоНаименованию("2011", Истина, грСсылка);    
    грСсылка = Справочники.Номенклатура.НайтиПоНаименованию("06", Истина, грСсылка);        
    грСсылка = Справочники.Номенклатура.НайтиПоНаименованию("18", Истина, грСсылка);    
        
    Запрос.УстановитьПараметр("Группа", грСсылка);    
    Результат = Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() Цикл
        Сообщить("!!!" + Результат.Поле1.Комментарий);
    КонецЦикла;

Впринципе все получилось, но как-то с группами не красиво.
Как правильнее найти нужную группу в такой иерархии?
Спасибо.

Версия 1С: Предприятие 8.2 (8.2.14.460)
DartRomanius
Цитата(yurko-i @ 17.06.11, 13:01) необходимо зарегистрироваться для просмотра ссылки
Привет всем.
Хочу сделать выборку по номенклатуре, но не знаю как правильнее.

В номенклатуре хранятся услуги, сгруппированы по датам:

-ГОД
--Месяц
---Число
----Услуга1
----Услуга2
----Услуга3


Попробовал так:
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ спрНоменклатура.Ссылка КАК Поле1  ИЗ Справочник.Номенклатура КАК спрНоменклатура ГДЕ спрНоменклатура.Комментарий ПОДОБНО &Комментарий И спрНоменклатура.Ссылка В ИЕРАРХИИ(&Группа)";    

    Запрос.УстановитьПараметр("Комментарий","Коммент");    

        грСсылка = Справочники.Номенклатура.НайтиПоНаименованию("Моя группа", Истина);
        грСсылка = Справочники.Номенклатура.НайтиПоНаименованию("2011", Истина, грСсылка);    
    грСсылка = Справочники.Номенклатура.НайтиПоНаименованию("06", Истина, грСсылка);        
    грСсылка = Справочники.Номенклатура.НайтиПоНаименованию("18", Истина, грСсылка);    
        
    Запрос.УстановитьПараметр("Группа", грСсылка);    
    Результат = Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() Цикл
        Сообщить("!!!" + Результат.Поле1.Комментарий);
    КонецЦикла;

Впринципе все получилось, но как-то с группами не красиво.
Как правильнее найти нужную группу в такой иерархии?
Спасибо.

Версия 1С: Предприятие 8.2 (8.2.14.460)


Лично я бы посоветовал группировку делать в самом запросе, а не путем подстановки параметров.
Если что-то не требуется, использовать отбор через условие (в принципе достаточно штатного "построителя" запросов).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.