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

Как добавить разрез...
 

Как добавить разрез по сериям в отчет "Остатки и доступность товаров"?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

1с комплексная автоматизация, у номенклатуры серия Партия товаров, но политика учета серий используется по складам, Учет себестоимости по сериям, как добавть в отчет Остатки и доступность товаров в разрезе серий по резерву, в конфигураторе



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Для добавления в отчет «Остатки и доступность товаров» в 1С Комплексная автоматизация (КА) разреза по сериям с учетом резерва при политике учета серий по складам и учете себестоимости по сериям, необходимо выполнить следующие шаги в конфигураторе:

---

### 1. Анализ текущей структуры отчета

Отчет «Остатки и доступность товаров» в КА обычно строится на основе регистра накопления **"Партии товаров на складах"** (или аналогичного регистра), который содержит информацию об остатках и резервах в разрезе номенклатуры, характеристик, серий и складов.

При политике учета себестоимости по сериям серия является финансовым и складским разрезом, поэтому в регистрах и запросах отчетов должна учитываться серия.

---

### 2. Добавление разреза по сериям в запрос отчета

- Найдите в модуле отчета или в обработке формирования данных запрос, который получает остатки и резервы товаров.

- В разделе `ИЗ` запроса должен использоваться регистр накопления, например:

bsl
РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&Период, ...)

- В выборке и группировке запроса добавьте поле **Серия**:

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

- Обратите внимание, что поле **КоличествоВРезерве** (или аналог) должно присутствовать в регистре и учитываться в выборке.

---

### 3. Добавление колонки и группировки по серии в форму отчета

- В форме отчета добавьте колонку для отображения серии.

- Если отчет использует табличное представление, добавьте колонку с названием "Серия" и свяжите ее с полем серии из выборки.

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

---

### 4. Проверка и тестирование

- Проверьте, что в справочнике **Серии номенклатуры** заполнены необходимые данные.

- Проверьте, что в документах движения товаров серии указываются корректно.

- Запустите отчет и убедитесь, что данные по остаткам и резервам корректно отображаются в разрезе серий.

---

### 5. Рекомендации по доработке

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

- При необходимости доработайте обработку заполнения статусов указания серий, чтобы корректно работал учет себестоимости по сериям (см. доработку функции `ТекстЗапросаЗаполненияСтатусовУказанияСерий`).

- Для масштабируемости и поддержки других документов и отчетов можно вынести логику работы с сериями в общий модуль.

---

### Пример кода запроса с учетом серии и резерва

bsl
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
    ПартииОстатки.Номенклатура,
    ПартииОстатки.Серия,
    ПартииОстатки.Склад,
    СУММА(ПартииОстатки.КоличествоОстаток) КАК Остаток,
    СУММА(ПартииОстатки.КоличествоВРезерве) КАК Резерв
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&Период) КАК ПартииОстатки
ГРУППИРОВАТЬ ПО
    ПартииОстатки.Номенклатура,
    ПартииОстатки.Серия,
    ПартииОстатки.Склад";

Запрос.УстановитьПараметр("Период", ТекущаяДата());
Результат = Запрос.Выполнить();

---

### Итог

- Добавьте в запрос отчета поле **Серия** из регистра остатков.
- Учитывайте поле резерва (например, `КоличествоВРезерве`).
- Добавьте отображение серии в форму отчета.
- Проверьте корректность данных и логику работы с сериями.

---

Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1390609/
https://infostart.ru/1c/articles/955322/

---

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



   
ОтветитьЦитата