Имя: Пароль:
1C
1С v8
Не выбираются документы основания
0 zenon46
 
22.01.18
09:24
Доброго дня!
Суть задачи, перебрать документы "Поступления на расчетный счет", при переборе каждого документа, выудить его основание это документ "Счет", ну и сформировать некую выходную форму. Сделал запрос, сделал перебор документов но никак не могу получить документ основание "Счет", все время пусто( Что не так, подскажите.

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПоступлениеНаРасчетныйСчет.Ссылка,
        |    ПоступлениеНаРасчетныйСчет.Ответственный,
        |    ПоступлениеНаРасчетныйСчет.Контрагент,
        |    ПоступлениеНаРасчетныйСчет.Организация
        |ИЗ
        |    Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
        |ГДЕ
        |    ПоступлениеНаРасчетныйСчет.ПометкаУдаления = ЛОЖЬ
        |    И ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ &НачДат И &КонДат
        |    И ВЫБОР
        |            КОГДА &КонтрагентЗаполнено
        |                ТОГДА ПоступлениеНаРасчетныйСчет.Контрагент = &Контрагент
        |            ИНАЧЕ ИСТИНА
        |        КОНЕЦ
        |    И ВЫБОР
        |            КОГДА &ОтветственныйЗаполнено
        |                ТОГДА ПоступлениеНаРасчетныйСчет.Ответственный = &Ответственный
        |            ИНАЧЕ ИСТИНА
        |        КОНЕЦ
        |    И ВЫБОР
        |            КОГДА &ОрганизацияЗаполнена
        |                ТОГДА ПоступлениеНаРасчетныйСчет.Организация = &Организация
        |            ИНАЧЕ ИСТИНА
        |        КОНЕЦ
        |
        |УПОРЯДОЧИТЬ ПО
        |    ПоступлениеНаРасчетныйСчет.Дата";

    Запрос.УстановитьПараметр("НачДат", НачДата);
    Запрос.УстановитьПараметр("КонДат", КонДата);
    Запрос.УстановитьПараметр("ОрганизацияЗаполнена", ЗначениеЗаполнено(ВбрОрганизация));
    Запрос.УстановитьПараметр("Организация", ВбрОрганизация);
    Запрос.УстановитьПараметр("ОтветственныйЗаполнено", ЗначениеЗаполнено(ВбрОтветсвенный));
    Запрос.УстановитьПараметр("Ответственный", ВбрОтветсвенный);                
    Запрос.УстановитьПараметр("КонтрагентЗаполнено", ЗначениеЗаполнено(ВбрКонтрагент));
    Запрос.УстановитьПараметр("Контрагент", ВбрКонтрагент);
    РезультатЗапроса = Запрос.Выполнить();
    
    ТаблицаПодчиненных = Новый ТаблицаЗначений;
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Стр1 = ТаблЗнач.Добавить();
        Стр1.ТекДок          = ВыборкаДетальныеЗаписи.Ссылка;
        Стр1.ДатаДок         = ВыборкаДетальныеЗаписи.Ссылка.Дата;
        Стр1.Организация   = ВыборкаДетальныеЗаписи.Ссылка.Организация;
        Стр1.НомерДок      = ВыборкаДетальныеЗаписи.Ссылка.Номер;
        Стр1.Контрагент    = ВыборкаДетальныеЗаписи.Ссылка.Контрагент;
        Стр1.Ответственный = ВыборкаДетальныеЗаписи.Ссылка.Ответственный;
        Стр1.СуммаДок      = ВыборкаДетальныеЗаписи.Ссылка.СуммаДокумента;
        
        ТаблицаПодчиненных  = ПолныеПрава.ПолучитьСписокПодчиненныхДокументов(ВыборкаДетальныеЗаписи.Ссылка,мКэшПраваДоступаКМетаданным);
        
        Для Каждого Стр Из ТаблицаПодчиненных Цикл
            Если (Стр.Ссылка.Метаданные().Имя="СчетНаОплатуПокупателю") Тогда
                    Стр1.Оплата = СТрока(Формат(Стр.Ссылка.Дата, "ДЛФ=Д"))+" Сумма : "+Строка(Стр.Ссылка.СуммаДокумента)+" " + Стр1.Оплата;
            КонецЕсли;            
        КонецЦикла;            
    КонецЦикла;
1 FIXXXL
 
22.01.18
09:25
(0) вангую ТЧ с док.основаниями
2 zuza
 
22.01.18
09:25
используй критерии отбора
3 zuza
 
22.01.18
09:27
(1)+ точно!
4 zenon46
 
22.01.18
09:28
(1) поясните, основания выбираются вот тут,
        ТаблицаПодчиненных  = ПолныеПрава.ПолучитьСписокПодчиненныхДокументов(ВыборкаДетальныеЗаписи.Ссылка,мКэшПраваДоступаКМетаданным);
        
        Для Каждого Стр Из ТаблицаПодчиненных Цикл
            Если (Стр.Ссылка.Метаданные().Имя="СчетНаОплатуПокупателю") Тогда
                    Стр1.Оплата = СТрока(Формат(Стр.Ссылка.Дата, "ДЛФ=Д"))+" Сумма : "+Строка(Стр.Ссылка.СуммаДокумента)+" " + Стр1.Оплата;
            КонецЕсли;            
        КонецЦикла;
5 hhhh
 
22.01.18
09:31
(4) по секрету, наоборот. Есть документ счет, а у него подчиненный - Поступление на расчетный счет. То есть вы полный бред написали с точки зрения логики.
6 zenon46
 
22.01.18
09:40
(5)да тут дело в том что, оплата могла быть в текущем периоде а счет был выставлен месяц а то и два назад, потому и отталкиваемся от поступлений денег на р/с.
7 Михаил Козлов
 
22.01.18
09:44
(6) Счет, скорее всего, в табличной части платежного документа.
8 zenon46
 
22.01.18
09:48
(7) да в табличной части "Расшифровка платежа" есть реквизит, СчетНаОплату. А как к нему получить доступ ?
9 FIXXXL
 
22.01.18
09:51
(8) напиши запрос к ТЧ, и оттуда выбирай свои счета
10 Михаил Козлов
 
22.01.18
09:52
Запросом:
...
   ППВ.СчетНаОплату
ИЗ Документ.ПоступлениеНаРасчетныйСчет.РасшифровкаПлатежа КАК ППВ
11 zenon46
 
22.01.18
10:23
(10) спасибо, за подсказку.
А как в табличной части, сделать как в 7.7 Расшифровку, что бы по двойному клику по строке открылся нужный документ ?
12 vicof
 
22.01.18
10:30
установить действие Выбор
13 zenon46
 
22.01.18
11:07
(12) не нашел, сделал через "ПараметрыРасшифровки"