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

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

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

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

maxxi

Загружаю данные из файла в ТЗ, все ОК.(фото № 1).
После нажатия другую кнопку чтобы получить остатки только этих товаров, половина списка исчезает, а половина удваивается.(фото № 2.)


Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ТЧ.Номенклатура КАК Номенклатура
        |ПОМЕСТИТЬ ВТ_ТЧ
        |ИЗ
        |    &ТЧ КАК ТЧ
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ВТ_ТЧ.Номенклатура КАК Номенклатура,
        |    ОстаткиОстатки.КолОстаток КАК КолОстаток
        |ПОМЕСТИТЬ ВТ_Остаток
        |ИЗ
        |    ВТ_ТЧ КАК ВТ_ТЧ
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остатки.Остатки КАК ОстаткиОстатки
        |        ПО ВТ_ТЧ.Номенклатура = ОстаткиОстатки.Товар
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ_ТЧ.Номенклатура,
        |    ОстаткиОстатки.КолОстаток
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ВТ_Остаток.Номенклатура КАК Номенклатура,
        |    ВТ_Остаток.КолОстаток КАК Остаток,
        |    СУММА(Расход_В_МногоВалютаТовары.Кол) КАК КолПродажи
        |ИЗ
        |    ВТ_Колдик КАК ВТ_Остаток
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.Расход_В_МногоВалюта.Товары КАК Расход_В_МногоВалютаТовары
        |        ПО ВТ_Остаток.Номенклатура = Расход_В_МногоВалютаТовары.Товар
        |ГДЕ
        |    Расход_В_МногоВалютаТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ_Колдик.Номенклатура,
        |    ВТ_Колдик.КолОстаток";
   
    Запрос.УстановитьПараметр("ТЧ", Объект.ДанныеФайла.Выгрузить());
   
    Запрос.УстановитьПараметр("НачалоПериода",НачДата);
   
    Запрос.УстановитьПараметр("КонецПериода",КонДата);
   
    КолДнейМесяц=КонДата-НачДата;

    Объект.ДанныеФайла.Загрузить(Запрос.Выполнить().Выгрузить());

    РезультатЗапроса = Запрос.Выполнить();
   
    Выборка = РезультатЗапроса.Выбрать();
   
    Объект.ДанныеФайла.Очистить();
   
    Пока Выборка.Следующий() Цикл
       
        ТабЧасть=Объект.ДанныеФайла.Добавить();
       
        ТабЧасть.Номенклатура=Выборка.Номенклатура;
       
        ТабЧасть.Остаток=Выборка.КолОстаток;
       
       
    КонецЦикла;

КонецПроцедуры

&НаКлиенте
Процедура Анализ(Команда)
   
    АнализНаСервере();
   
КонецПроцедуры


Максим75

maxxi, а в третьем запросе что такое ВТ_КОлдик?
откуда берется? у Вас есть две временные таблицы в пакете запроса, но ВТ_КОлдик там нет.

maxxi

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

LexaK

maxxi, при связи с документами Расход_В_МногоВалюта,

сколько раз товар там встречается, столько раз и повторяться будет!

и товары которых нет в этих документах из результата убираются

(ну так ваш запрос написан, может так и надо...  :dfbsdfbsdf:  )
если помогло нажмите: Спасибо!

antoneus

Так-то там группировка стоит, не должно плодить-то. А в отладчике если посмотреть Запрос.Выполнить().Выгрузить() - что там?

Максим75

antoneus, а где итоги в запросе?
в выборку просто вся таблица попадает, без группировки по товару.

это в СКД без итогов работает.

antoneus

Что-то новое) Это начиная с какого релиза для группировки итоги обязательно нужны?

Максим75

antoneus, ОК, не хотите ИТОГИ, тогда группировка должна быть только по товару, а по остаткам браться среднее.
LexaK все верно написал, в скольких документах встречается товар за период, столько и будет записей с этим товаром.
может так и надо.
а если нет, тогда выборку по документам запихнуть во вложенный запрос, сгруппировать по товару, получить на каждый товар одну запись, а уже потом соединить выборку по остаткам с вложенным запросом.

maxxi

LexaK, Дело в том что другие товары которые исчезают из списка тоже продавались в этот период.

maxxi

дело в том что в консоли все работает исправно.

Теги:

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

Рейтинг@Mail.ru

Поиск