Имя: Пароль:
1C
 
выбрать документы у которых нету подчиненных типа счет
0 Sanek1
 
21.09.22
15:48
Подскажите пожалуйста, как выбрать документы у которых нету подчиненных типа счет
1 Asmody
 
21.09.22
15:52
Все документы или какие-то конкретные?
У меня вон 100500 документов "Заказ на производство". У них нет (и не может быть) подчиненных типа счет. Их все выбирать?
2 Sanek1
 
21.09.22
16:01
(1) Конкретные. Наверно левое соединение моего документа с починенным счет во временную таблицу а потом фильтр по счет есть null
3 lamme
 
21.09.22
16:07
ТаблицаСвязанныхДокументов = Новый ТаблицаЗначений;
    ТаблицаСвязанныхДокументов.Колонки.Добавить("Ссылка");
    НоваяСтрока = ТаблицаСвязанныхДокументов.Добавить();
    НоваяСтрока.Ссылка = ДокСсылка;
    
    
    Запрос = Новый Запрос;
    запрос.УстановитьПараметр("Ссылка",ДокСсылка);
    Запрос.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
    |    СвязанныеДокументы.Ссылка КАК Ссылка
    |ИЗ
    |    КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СвязанныеДокументы
    |ГДЕ
    |    СвязанныеДокументы.Ссылка <> &Ссылка";
    
    Для Каждого СтрокаТаблицы Из ТаблицаСвязанныхДокументов Цикл
        
        Если Метаданные.КритерииОтбора.СвязанныеДокументы.Тип.СодержитТип(ТипЗнч(СтрокаТаблицы.Ссылка))  Тогда
            
            Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", СтрокаТаблицы.Ссылка);
            ТаблицаСвязанныхДокументовВременная = Запрос.Выполнить().Выгрузить();
            
            Для Каждого ЭлементКоллекции Из ТаблицаСвязанныхДокументовВременная Цикл
                РезультатПоиска = ТаблицаСвязанныхДокументов.Найти(ЭлементКоллекции.Ссылка);
                Если РезультатПоиска = НеОпределено Тогда
                    Если ИсключитьДокументыСобытиеЦРМ тогда
                        Если ТипЗнч( ЭлементКоллекции.Ссылка) = тип("ДокументСсылка.Событие") тогда
                            Продолжить;
                        конецесли;    
                    конецесли;    
                    НоваяСтрока = ТаблицаСвязанныхДокументов.Добавить();
                    НоваяСтрока.Ссылка = ЭлементКоллекции.Ссылка;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;
    
    Если ПривилегированныйРежим() тогда
        УстановитьПривилегированныйРежим(Ложь);
    конецесли;