Имя: Пароль:
1C
 
Помогите написать запрос
,
0 Mechanik21
 
27.09.24
14:43
Подскажите, пожалуйста, как правильно выбрать следующее:
Нужно выбрать запросом все "Списания безналичных ДС" у которых "Заявки на расходование ДС" сделаны по "Возвратам товаров от клиента", контрагент в которых "Розничный покупатель".
Конфигурация КА 2
Можно просто логику...
1 Буковка
 
27.09.24
14:47
(0) покажите, что уже написали
2 Mechanik21
 
27.09.24
14:51
(1) Я выбрал во временную таблицу все возвраты с розничным, теперь думаю как связать это с заявками
3 Доминошник
 
27.09.24
14:55
(2) И что не устраивает в реквизите "ДокументОснование" в заявке?
4 ass1c
 
27.09.24
15:02
(0) Вот Самая простая база начального уровня

ВЫБРАТЬ
    ЗаявкаНаРасходованиеДенежныхСредств.Ссылка КАК Ссылка
ПОМЕСТИТЬ втЗаявкиНаРасходовиниеДС
ИЗ
    Документ.ЗаявкаНаРасходованиеДенежныхСредств КАК ЗаявкаНаРасходованиеДенежныхСредств
ГДЕ
    ЗаявкаНаРасходованиеДенежныхСредств.ХозяйственнаяОперация = &ХозяйственнаяОперация
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СписаниеБезналичныхДенежныхСредств.Ссылка КАК Ссылка
ИЗ
    Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
ГДЕ
    СписаниеБезналичныхДенежныхСредств.ДокументОснование В
            (ВЫБРАТЬ
                втЗаявкиНаРасходовиниеДС.Ссылка
            ИЗ
                втЗаявкиНаРасходовиниеДС)
5 Mechanik21
 
27.09.24
15:07
Попробовал так. Выдало кучу NULL

ВЫБРАТЬ
    ВозвратТоваровОтКлиента.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВРВозвраты
ИЗ
    Документ.ВозвратТоваровОтКлиента КАК ВозвратТоваровОтКлиента
ГДЕ
    ВозвратТоваровОтКлиента.Контрагент = &Контрагент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗаявкаНаРасходованиеДенежныхСредств.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВРЗаявки
ИЗ
    ВРВозвраты КАК ВРВозвраты
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаРасходованиеДенежныхСредств КАК ЗаявкаНаРасходованиеДенежныхСредств
        ПО ВРВозвраты.Ссылка = ЗаявкаНаРасходованиеДенежныхСредств.ДокументОснование
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СписаниеБезналичныхДенежныхСредств.Ссылка КАК Ссылка
ИЗ
    ВРЗаявки КАК ВРЗаявки
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
        ПО ВРЗаявки.Ссылка = СписаниеБезналичныхДенежныхСредств.ЗаявкаНаРасходованиеДенежныхСредств
6 ass1c
 
27.09.24
15:13
(5) Тебе не нужен по идее документ ВозвратТоваровОтКлиента
7 Мультук
 
гуру
27.09.24
15:15
(5)


ЛЕВОЕ СОЕДИНЕНИЕ

Нужно заменить на

ВНУТРЕННЕЕ СОЕДИНЕНИЕ

ну и РАЗЛИЧНЫЕ по вкусу
8 Mechanik21
 
27.09.24
15:18
Так не возвращает совсем ничего

ВЫБРАТЬ
    ВозвратТоваровОтКлиента.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВРВозвраты
ИЗ
    Документ.ВозвратТоваровОтКлиента КАК ВозвратТоваровОтКлиента
ГДЕ
    ВозвратТоваровОтКлиента.Контрагент = &Контрагент
    И ВозвратТоваровОтКлиента.Проведен = ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗаявкаНаРасходованиеДенежныхСредств.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВРЗаявки
ИЗ
    ВРВозвраты КАК ВРВозвраты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаРасходованиеДенежныхСредств КАК ЗаявкаНаРасходованиеДенежныхСредств
        ПО ВРВозвраты.Ссылка = ЗаявкаНаРасходованиеДенежныхСредств.ДокументОснование
ГДЕ
    ЗаявкаНаРасходованиеДенежныхСредств.Проведен = ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СписаниеБезналичныхДенежныхСредств.Ссылка КАК Ссылка
ИЗ
    ВРЗаявки КАК ВРЗаявки
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
        ПО ВРЗаявки.Ссылка = СписаниеБезналичныхДенежныхСредств.ЗаявкаНаРасходованиеДенежныхСредств
ГДЕ
    СписаниеБезналичныхДенежныхСредств.Проведен = ИСТИНА
9 Доминошник
 
27.09.24
15:26
(8) А есть чёткая уверенность, что при возврате от "Розничного покупателя" есть списание с расчетного счета?
10 Mechanik21
 
27.09.24
15:28
(9) Есть. Документы есть
11 Mechanik21
 
27.09.24
15:31
Походу реквизит шапки не заполняется. Заполняется только в расшифровке платежа. Вот так заработало

ВЫБРАТЬ
    ВозвратТоваровОтКлиента.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВРВозвраты
ИЗ
    Документ.ВозвратТоваровОтКлиента КАК ВозвратТоваровОтКлиента
ГДЕ
    ВозвратТоваровОтКлиента.Контрагент = &Контрагент
    И ВозвратТоваровОтКлиента.Проведен = ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗаявкаНаРасходованиеДенежныхСредств.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВРЗаявки
ИЗ
    ВРВозвраты КАК ВРВозвраты
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаРасходованиеДенежныхСредств КАК ЗаявкаНаРасходованиеДенежныхСредств
        ПО ВРВозвраты.Ссылка = ЗаявкаНаРасходованиеДенежныхСредств.ДокументОснование
ГДЕ
    ЗаявкаНаРасходованиеДенежныхСредств.Проведен = ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка КАК Ссылка
ИЗ
    ВРЗаявки КАК ВРЗаявки
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СписаниеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа
        ПО (ВРЗаявки.Ссылка = СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.ЗаявкаНаРасходованиеДенежныхСредств)
ГДЕ
    СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА
12 Доминошник
 
27.09.24
15:32
(10) Тогда смотрим на конкретную цепочку документов (хоть от возврата, хоть от списания с р/с) по структуре подчиненности и разбираемся - что и как.

Собственно, в (9) меня "смутил" контрагент "Розничный покупатель" (возврат то безналичных д/с мы всегда будем делать на Иванова/Петрова/Сидорова).