Имя: Пароль:
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), вы вообще не понимаете, что делаете.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn