Имя: Пароль:
1C
1С v8
Платежное поручение контрагента
0 ShramkoRS
 
27.12.22
12:14
Мне нужно узнать в коде какие ПлатежныеПоручения (входящие или исходяшие) прикреплены к Контрагенту.

В голову умных мыслей на этот счет нет, есть только тупые. Подскажите пожалуйста как лучше реализовать
1 Kigo_Kigo
 
27.12.22
12:21
то есть запросом никак?
2 ShramkoRS
 
27.12.22
12:22
Ааа, так можно было?
3 Kassern
 
27.12.22
12:23
(0) Делаете запрос по нужным документам с отбором по контрагенту и объединяете их.
4 Гипервизор
 
27.12.22
12:35
(0) Прежде всего сформулируйте для себя, в чём выражается прикреплённость платёжки к контрагенту.
5 mikecool
 
27.12.22
18:19
а можно настроить критерий отбора, емнип
6 ShramkoRS
 
28.12.22
09:12
Такс возникли вопросики.
Вот такой запрос. Если что, ниже при выполнении условия, в условия запроса закидывается контрагент.

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

По-хорошему мне бы в этот запрос вбуриться куда-то.

Мне надо проверять ДокументРасчетовСКонтрагентами и взависимости от этого (исходящее или входящее поручение) брать дату и номер поручения (если что дату и номер не самого документа, а другие присвоеные ему через УХ).

вот как это лучше сделать? Если через ВЫБОР то я не очень понимаю какое условие нужно поставить. Если отдельным запросом, то как привязать к уже отобранным данным?
7 Гипервизор
 
28.12.22
09:20
(6) По хорошему вам бы этот запрос переписать.
А конкретно по вашему вопросу - через выбор проверять тип документа, например так:
ВЫБОР КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДокументРасчетовСКонтрагентом ССЫЛКА Документ.ПлатежноеПоручениеИсходящее ТОГДА ..
8 ShramkoRS
 
28.12.22
09:30
Я делал так, не выводит (7)
9 Гипервизор
 
28.12.22
09:32
(8) Мне трудно с вами согласиться, покажите полный вариант.
10 ShramkoRS
 
28.12.22
09:33
ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Период,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Регистратор,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ВидДвижения,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДоговорКонтрагента КАК ДоговорКонтрагента,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Сделка,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДокументРасчетовСКонтрагентом,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ВидРасчетовСКонтрагентом,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.УпрУчет,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Организация,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Контрагент КАК Контрагент,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.СуммаВзаиморасчетов,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.СуммаРегл,
    ПлатежноеПоручениеВходящее.Ссылка,
    ПлатежноеПоручениеВходящее.ДатаВходящегоДокумента,
    ПлатежноеПоручениеВходящее.НомерВходящегоДокумента,
    ПлатежноеПоручениеИсходящее.ижДатаВходящегоДокумента,
    ПлатежноеПоручениеИсходящее.ижНомерВходящегоДокумента,
    ВЫБОР
        КОГДА  ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДокументРасчетовСКонтрагентом ССЫЛКА Документ.ПлатежноеПоручениеВходящее
            ТОГДА ПлатежноеПоручениеВходящее.ДатаВходящегоДокумента
        ИНАЧЕ ПлатежноеПоручениеИсходящее.ижДатаВходящегоДокумента
    КОНЕЦ КАК ДатаПП,
    
    ВЫБОР
        КОГДА  ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДокументРасчетовСКонтрагентом ССЫЛКА Документ.ПлатежноеПоручениеВходящее
            ТОГДА ПлатежноеПоручениеВходящее.НомерВходящегоДокумента
        ИНАЧЕ ПлатежноеПоручениеИсходящее.ижНомерВходящегоДокумента
    КОНЕЦ КАК НомерПП,
    ПлатежноеПоручениеИсходящее.Ссылка КАК Ссылка1
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее
        ПО ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Регистратор = ПлатежноеПоручениеВходящее.Ссылка
            И ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДокументРасчетовСКонтрагентом = ПлатежноеПоручениеВходящее.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее КАК ПлатежноеПоручениеИсходящее
        ПО ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Регистратор = ПлатежноеПоручениеИсходящее.Ссылка
            И ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДокументРасчетовСКонтрагентом = ПлатежноеПоручениеИсходящее.Ссылка
ГДЕ
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Период МЕЖДУ &НачПериода И &КонПериода
    И ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Регистратор <> ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДокументРасчетовСКонтрагентом
    И ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Активность
    И ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Контрагент = &Контрагент

УПОРЯДОЧИТЬ ПО
    Контрагент,
    ДоговорКонтрагента
11 ShramkoRS
 
28.12.22
09:33
(9) Как раз этим и занимался)
12 ShramkoRS
 
28.12.22
09:37
(10) не исключаю что где-то накосячил, я новайс, я могу
13 Гипервизор
 
28.12.22
09:38
(10) У вас проблема не в использовании конструкции ВЫБОР, а в соединении. Для чего вы это наворотили? Если вы уже проверили тип и он нужный, так и берите реквизит от документа через точку. В упрощённом случае, вполне сойдёт и так.
14 ShramkoRS
 
28.12.22
09:43
То есть выкинуть все соединения? Реквизит через точку... это так как у меня сейчас в Выборе или я чего-то не понял?
15 ShramkoRS
 
28.12.22
09:47
(13) Я их не ворортил, они автоматом навортились
16 ShramkoRS
 
28.12.22
10:47
(13) Как исправить-то?
17 Гипервизор
 
28.12.22
10:57
(16) Учесть рекомендации видимо. Что-то пробовать. А не сидеть и ждать. Что конкретно непонятно в (13)?
У вас был запрос к таблице регистра. И этого достаточно. Выбирать что-то из таблиц документов ППВ и ППИ не требуется, тогда и соединений не будет. Вы проверили тип:
"КОГДА  ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДокументРасчетовСКонтрагентом ССЫЛКА Документ.ПлатежноеПоручениеВходящее ТОГДА",
т.е. в ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДокументРасчетовСКонтрагентом уже ППВ и вам нужен оттуда реквизит НомерВходящегоДокумента. И что мешает получить его через разыменование полей? Т.е. через точку. Затем проверяете условие на ППИ.
18 ShramkoRS
 
28.12.22
11:04
(17) Типа вот так: ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ПлатежноеПоручениеВходящее.ДатаВходящегоДокумента?
19 ShramkoRS
 
28.12.22
11:07
Или вот так ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ДокументРасчетовСКонтрагентом.ДатаВходящегоДокумента ?
20 Гипервизор
 
28.12.22
11:15
(19) У вас ограниченное количество бесплатных попыток что ли? Проверьте работоспособность этих двух конструкций. Судя по (18), вы вообще не понимаете, что делаете.