Всем доброго вечера!
Простенький запрос по справочнику, но если элемент это группа - в наименовании выводит пусто. 7.7 давно не занимался, в чем причина - понять не могу.
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса ="
|Ссылка = Справочник.Проекты.ТекущийЭлемент;
|Родитель = Справочник.Проекты.Родитель;
|Наименование = Справочник.Проекты.Наименование;
|Группировка Ссылка Без упорядочивания Все;
|";
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Предупреждение("Запрос по элементам справочника не выполнился!");
Возврат;
КонецЕсли;
(2)Запрос запускается из внешнего приложения через COM. Соответственно, ТекущийЭлемент выводится просто как ComОбъект.
Пока пришлось сделать через постообработку: при выгрузке в ТаблицуЗначений и в цикле через .Наименование.
(3)(4) С самим родителем все нормально в запросе. Именно если сама запись в запросе "Справочник.Проекты.ТекущийЭлемент" является группой - в "Справочник.Проекты.Наименование" пусто.
Запрос в семерке работает так:
В первичную выборку попадают только элементы.
Все атрибуты элементов перечисленные в запросе, в том числе наименование, получаются, соответственно, только для элементов.
Иерархия по группировочным полям к результату прикручивается после получения выборки, при этом не группировояные поля не заполняются.
Решение - самостоятельная постобработка с заполнением нужных полей
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший