()
Мой вариант, работает.
Значит, не страшно.
Делал его без конструктора, сомневался просто, что грамотно его сделал.
Просто обычно со словом "Группировка" пишут КОГДА НАДО или "Без Групп" или "Упорядочить По". А когда не надо - ничего не пишут.
Подскажите, где про запросы и конструктор в 7.7 почитать.
В ЖКК - жёлто-красных книжках, то есть в документации по Конфигуратору (2 тома) и по языку (тоже 2 тома).
А где написать ВыбНоменклатура.Выбран()=1?
Нигде :). Я просто хотел сказать, что элемент управления ВыбНоменклатура не должен быть пустым, то есть должен содержать ссылку на конкретную группу справочника "Номенклатура". Некоторые думают, что если он будет пустым, отбор по номенклатуре работать не будет, и они получат весь справочник. А на самом деле будут только элементы, у которых пустой родитель, то есть те, которые находятся в корне справочника. Часто таких не бывает - и на выходе запроса пусто.
А вообще "в лучших домах" пишут так:
Если ВыбНоменклатура.Выбран()=1 Тогда
//
Если ВыбНоменклатура.ЭтоГруппа()=1 Тогда
ТекстЗапроса=ТекстЗапроса+"
|Условие (Спр В ВыбНоменклатура);";
Иначе
ТекстЗапроса=ТекстЗапроса+"
|Условие (Спр = ВыбНоменклатура);";
КонецЕсли;
КонецЕсли;
Показать
Обратите внимание, что в условиях точка с запятой стоит 2 раза до и после кавычки. Первый раз она относится к тексту запроса, а второй - к программе 1С.
Также рекомендую разбивать запрос на строчки, то есть писать НЕ
ТекстЗапроса=ТекстЗапроса+"Условие (Спр В ВыбНоменклатура);";
а
ТекстЗапроса=ТекстЗапроса+"
|Условие (Спр В ВыбНоменклатура);";
или
ТекстЗапроса=ТекстЗапроса+РазделительСтрок+"Условие (Спр В ВыбНоменклатура);";
Так будет легче прочесть при отладке текст запроса, который сгенерировала программа, и не будет проблем, если решите закомментировать какую-то строчку в тексте запроса.
Кстати, если будете смотреть текст ВНЕ отладчика, делайте через Предупреждение(), а не через Сообщить(). Не забудьте только убрать :))), а то пользователи будут недовольны.