Как определить доступен ли вложенный отбор в отчете? К примеру, если использовать:
лДоступныеПоля = лОтборПостроителя.ПолучитьДоступныеПоля();
лДоступныеПоля.Найти("Подразделение");
То Возвращается неопределено, когда действительно этого отбора нет, но мне нужно узнать про отбор такого вида "Контрагент.МенеджерыПокупателя", если писать в таком виде
лДоступныеПоля.Найти("Контрагент.МенеджерыПокупателя")
то возвращается неопределено всегда, есть он или нет.
Если смотреть по отладчику, то нужное мне поле вообще находится по пути "Контрагент.Поля.МенеджерыПокупателя".
Очень нужна помощь по данному вопросу.
Кому интересно, добавил собственный велосипед в конфигурацию с блэк-джеком и ***, а именно функцию:
Если НЕ ПолеДоступноДляОтбора (лДоступныеПоля, "Контрагент.МенеджерыПокупателя") Тогда
Функция ПолеДоступноДляОтбора (лДоступныеПоля, Поле)
Если ПустаяСтрока(СокрЛП(Поле)) Тогда
Возврат Истина;
КонецЕсли;
Если Найти(Поле, ".") <> 0 Тогда
лПозицияТочки = Найти(Поле, ".");
лПолеПоиска = Лев(Поле, лПозицияТочки - 1);
Иначе
лПозицияТочки = СтрДлина(Поле);
лПолеПоиска = Поле;
КонецЕсли;
Если лДоступныеПоля.Найти(лПолеПоиска) <> Неопределено Тогда
Возврат ПолеДоступноДляОтбора(лДоступныеПоля [лПолеПоиска].Поля , Прав(Поле,СтрДлина(Поле) - лПозицияТочки));
Иначе
Возврат Ложь
КонецЕсли;