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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как исправить некорректное отображение количества по сериям?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33964
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        в продолжении, Серии по Резервам вывелись, но неправильно выводится количество В наличии, В резерве, Доступно, все суммируется, как исправить

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С