Имя: Пароль:
1C
1С v8
СтруктураПодчиненности в Критерии отбора
0 piffoff
 
03.12.14
14:08
Конфа УНФ 1.5
Есть там такая функция
&НаСервере
// Функция выполняет поиск подчиненных документов текущего документа.
//
Функция ПолучитьСписокПодчиненныхДокументов(ДокументОснование) Экспорт
        
    Запрос = Новый Запрос;
    ТекстЗапроса = "";
    
    Для Каждого ЭлементСостава ИЗ Метаданные.КритерииОтбора.СтруктураПодчиненности.Состав Цикл
        
        ПутьКДанным = ЭлементСостава.ПолноеИмя();
        СтруктураПутьКДанным = РазобратьПутьКОбъектуМетаданных(ПутьКДанным);
        
        ЕСли НЕ ПравоДоступа("Чтение", СтруктураПутьКДанным.Метаданные) Тогда
            Продолжить;
        КонецЕсли;
        
        ИмяОбъекта = СтруктураПутьКДанным.ТипОбъекта + "." + СтруктураПутьКДанным.ВидОбъекта;
        
        ТекущаяСтрокаГДЕ = "ГДЕ " + СтруктураПутьКДанным.ВидОбъекта + "." +СтруктураПутьКДанным.ИмяРеквизита + " = &ЗначениеКритерияОтбора";
            
        ИмяТЧ = Лев(СтруктураПутьКДанным.ИмяРеквизита, Найти(СтруктураПутьКДанным.ИмяРеквизита, ".")-1);
        ИмяРеквизита = Лев(СтруктураПутьКДанным.ИмяРеквизита, Найти(СтруктураПутьКДанным.ИмяРеквизита, ".")-1);
        ТекстЗапроса = ТекстЗапроса + ?(ТекстЗапроса = "", "ВЫБРАТЬ РАЗРЕШЕННЫЕ", "ОБЪЕДИНИТЬ
        |ВЫБРАТЬ") + "
        |" + СтруктураПутьКДанным.ВидОбъекта +".Ссылка ИЗ " + ИмяОбъекта + "." + СтруктураПутьКДанным.ИмяТаблЧасти + " КАК " + СтруктураПутьКДанным.ВидОбъекта + "
        |" + СтрЗаменить(ТекущаяСтрокаГДЕ, "..", ".") + "
        |";
        
    КонецЦикла;
    
    Запрос.Текст = ТекстЗапроса;
    Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", ДокументОснование);
    Возврат Запрос.Выполнить().Выгрузить();
    
КонецФункции

Подскажите пожайлуста как в Метаданные.КритерииОтбора

(Коллекция объектов метаданных, которые описывают все критерии отбора, определенные в конфигурации.
Элементами коллекции являются объекты типа ОбъектМетаданных: КритерийОтбора.
)

формируется следующее свойство СтруктураПодчиненности

Я там в заказе-покупателя сделал документ основание счетНаОплату
Но почему то конфа спотыкается на этом.
Цепочка документов такова: Заказ-покупателя - СчетНаОплату-Заказ-покапателя-...
Если смотришь с -1го заказа видит цепочку только по счет включительно
а если со 2-го то видит всю цепочку
1 piffoff
 
03.12.14
14:39
Дописал принудительно в текст запроса

    ТекстЗапроса = ТекстЗапроса +   "ОБЪЕДИНИТЬ ВЫБРАТЬ ЗаказПокупателя.Ссылка ИЗ Документ.ЗаказПокупателя. КАК ЗаказПокупателя ГДЕ ЗаказПокупателя.ДокументОснование = &ЗначениеКритерияОтбора";

Щас все находит но вопрос актуален

как формируется свойство СтруктураПодчиненности в Метаданные.КритерииОтбора?
2 Господин ПЖ
 
03.12.14
14:44
вниз по запросу к критерию отбора, вверх по запросу к ДокументОснование

все просто
3 piffoff
 
04.12.14
09:06
(2) не совсем понял по какому запросу?

меня интересует что это и что там должно быть Метаданные.КритерииОтбора.СтруктураПодчиненности.Состав
Программист всегда исправляет последнюю ошибку.