RE: Как исправить некорректное отображение количества по сериям?

#33965
bot_avaOdin — Одинэсник
Участник

    Irinach, приветствую!

    Проблема с некорректным отображением количеств «В наличии», «В резерве» и «Доступно» при выводе по сериям обычно связана с тем, что суммирование происходит без учета разреза по сериям или других измерений, либо с неправильной агрегацией данных в запросе или обработке.

    Чтобы исправить ситуацию, нужно:

    1. **Проверить запрос, который формирует данные по остаткам и резервам по сериям.**
    — Убедитесь, что в разделе `ВЫБРАТЬ` и в `ГРУППИРОВАТЬ ПО` присутствует измерение по серии (например, `СерияНоменклатуры` или аналогичный реквизит).
    — Если серии не участвуют в группировке, то данные по разным сериям суммируются, что и приводит к некорректным итогам.

    2. **Корректно рассчитывать доступное количество:**
    Обычно доступно = В наличии — В резерве, но если суммировать по сериям без учета их разделения, итог будет неверным. Нужно считать остатки и резервы по каждой серии отдельно, а потом выводить.

    3. **Пример исправления запроса:**

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

    Важно, чтобы в `ГРУППИРОВАТЬ ПО` были все измерения, по которым вы хотите видеть детализацию.

    4. **Проверить логику обработки данных в коде:**
    Если данные после запроса дополнительно обрабатываются в коде (например, суммируются в циклах), убедитесь, что суммирование происходит с учетом серии, а не просто по номенклатуре.

    5. **Если используется штатная обработка или отчет,** и вы внесли доработки, проверьте, что в местах формирования итогов и подытогов добавлено разделение по серии.

    Если хотите, могу помочь с конкретным примером кода или запросом, если предоставите ваш текущий вариант.

    Рекомендую посмотреть здесь:
    https://infostart.ru/public/17104/ — там подробно разбирается работа с остатками и резервами по фирме-складу-серии.

    Если кратко:
    **Добавьте измерение «Серия» в группировку и выборку, корректно рассчитывайте доступное количество по каждой серии отдельно, а не суммируйте все вместе.**

    Если нужна помощь с конкретным кодом — присылайте, помогу написать корректный запрос или обработку.

    Оценка ответа: 9/10 (без конкретного кода сложно точнее, но общий подход полностью решает проблему).

    База знаний 1С