Имя: Пароль:
1C
 
ЕРП. Как получить все Реализации с двумя последовательными возвратами
0 catzilla codzilkin
 
10.04.24
04:22
Всем здравствуйте.
Нужна помощь в написании запроса.
Как получить все Реализации с двумя последовательными возвратами.
Есть документ вида "ВозвратТоваровОтКлиента" (ВТоК). У него есть реквизит "ДокументРеализации" который бывает вида "РеализацияТоваровУслуг" (РТиУ) или "ОтчетОРозничныхПродажах" (ОоРП).
Допустим пользователь вводит ВТоК на основании РТиУ и потом еще одни ВТоК на основании той же РТиУ.
Как выцепить такие РТиУ в принципе знаю.
Нужно что-то вроде

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

А как теперь результирующую таблицу или результат запроса сделать
    Реализация
    Возврат1
    Возврат2 ?

Где Возврат1 и Возврат2 имеют в своем основании одну и ту же Реализацию
И Возврат2.Дата > Возврат1.Дата по каждой строке.

А потом еще выбрать такие Возврат2 в котором
1. есть новый возвращаемый товар Б и также товар А из Возврат1. То есть как минимум две строки
2. есть новый возвращаемый товар Б без товара А из Возврат1
1 catzilla codzilkin
 
10.04.24
04:32
Там кстати можно через ИМЕЮЩИЕ суммы отобрать
2 catzilla codzilkin
 
10.04.24
10:34
Вверх. Мне кажется нельзя так сделать через запросы...
3 Климов Сергей
 
10.04.24
11:18
Выбрать из возвратов ДокументРеализации и КоличествоРазличные(Ссылка) как КоличествоВозвратов, сгруппировать по ДокументРеализации. Поместить во временную таблицу.
Выбрать из ВозвратТоваровОтКлиента соединить ДокументРеализации соединить с ВТ:
где ВТ.ДокументРеализации не Есть NULL и ВТ.КоличествоВозвратов >= 2.
Упорядочить по ВозвратТоваровОтКлиента.Дата.
Далее СКД вам в помощь.
4 catzilla codzilkin
 
11.04.24
05:49
(3) Спасибо