Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 июн 2024, 06:58

Список удваивается.

Автор maxxi, 26 июл 2023, 12:06

0 Пользователей и 1 гость просматривают эту тему.

antoneus

Максим75, в запросе ВТ_ТЧ цепляется виртуальная таблица остатков, т.е. уже сгруппированная по номенклатуре, т.е. в ВТ_ТЧ будет по одной записи с остатками на позицию номенклатуры, вполне логично по ним (по номенклатуре и остатку) группировать.

Максим75

Цитата: maxxi от 26 июл 2023, 13:19дело в том что в консоли все работает исправно.
возможно в консоле Вы другой запрос делаете?
может от того, что здесь разместили, он отличается?

смотрите, что конкретно надо получить? если по каким-то товарам надо вывести остатки и сколько за период продавалось - это одно, тогда Вы должны понимать, что ведущим есть набор записей по остаткам, и если остатка нет, то все равно сколько за период продавалось, ничего не выведется по этому товару.
если же надо по списку товаров вывести и остатки и продажи за период - тогда другое дело, запрос переделывать надо. надо отдельно выборку по остаткам, отдельно выборку по продажам и ведущая выборка по списку товаров, а к ней уже соединять и остатки и продажи.

LexaK

maxxi, наверно много уже чего изменилось,
новый код процедуры выкладывайте, посмотрим
если помогло нажмите: Спасибо!

maxxi


ВЫБРАТЬ
ТЧ.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ ВТ_ТЧ
ИЗ
&ТЧ КАК ТЧ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ОстаткиОстатки.Товар КАК Товар,
ОстаткиОстатки.КолОстаток КАК КолОстаток
ПОМЕСТИТЬ ВТ_Остаток
ИЗ
РегистрНакопления.Остатки.Остатки КАК ОстаткиОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(Расход_В_МногоВалютаТовары.Кол) КАК Кол,
Расход_В_МногоВалютаТовары.Товар КАК Товар
ПОМЕСТИТЬ ВТ_Продажи
ИЗ
Документ.Расход_В_МногоВалюта.Товары КАК Расход_В_МногоВалютаТовары
ГДЕ
Расход_В_МногоВалютаТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода

СГРУППИРОВАТЬ ПО
Расход_В_МногоВалютаТовары.Товар
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_Остаток.КолОстаток КАК КолОстаток,
ВТ_ТЧ.Номенклатура КАК Номенклатура,
ВТ_Продажи.Кол КАК КолПродажи
ИЗ
ВТ_ТЧ КАК ВТ_ТЧ
    ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остаток КАК ВТ_Остаток
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Продажи КАК ВТ_Продажи
ПО ВТ_Остаток.Товар = ВТ_Продажи.Товар
    ПО ВТ_ТЧ.Номенклатура = ВТ_Остаток.Товар


Максим75

maxxi, связь не верная.
оба левых соединения должны быть ведущая ВТ_ТЧ, ведомая остатки и продажи, ну еще для красоты обработать ЕСТЬNULL.

ну там еще красоту по выборке остатков нужно делать (учитесь сразу), виртуальную таблицу по нужным товарам делать, да и по продажам так же можно сразу по списку товаров отобрать. Это все хороший тон написания запросов, иногда будет очень существенно уменьшать время выборки.

LexaK

maxxi, уже лучше, немного соединения измените

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВТ_Остаток.КолОстаток КАК КолОстаток,
    ВТ_ТЧ.Номенклатура КАК Номенклатура,
    ВТ_Продажи.Кол КАК КолПродажи
ИЗ
    ВТ_ТЧ КАК ВТ_ТЧ
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остаток КАК ВТ_Остаток
    ПО ВТ_ТЧ.Номенклатура = ВТ_Остаток.Товар
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Продажи КАК ВТ_Продажи
    ПО ВТ_ТЧ.Номенклатура = ВТ_Продажи.Товар

если помогло нажмите: Спасибо!

maxxi

Спасибо большое всем.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск