УТ 11.4
В стандартной конфигурации имеется отчет Ведомость по товарам в ценах номенклатуры,
на данный момент пользоваться им практически не возможно в виду того что колонки Приход и Расход включают в себя и возвраты и поступления и продажи и вообще все документы которые оказывают влияние на движение товара.
Нам нужен отчет в котором можно было отследить движение товара -
Начальный остаток - Поступление от поставщика - Возврат поставщику - Продажа клиенту - Возврат от клиента- Конечный остаток
Грубо говоря нужно модифицировать отчет Ведомость по товарам в ценах номенклатуры что бы выделить движения формируемые определенными документами (поступления, возвраты, продажи ) в отдельные колонки
(нам нужно знать сколько за отчетный период - было на складе, сколько закупили, сколько вернули поставщику, сколько продали, сколько вернулось от клиента, и сколько осталось (В количестве и закупочной цене)
Если есть простой способ изменить стандартный отчет и разбить колонки Приход и Расход на более детальные очень прошу помочь, если нет готовы оплатить работу программиста.
Спасибо
---
Отчет переделан из конфигурации УТ 11.4.2.132
---
Требуется изменение отчета
По сути это сделать несложно, добавив новые ресурсы прихода/расхода в отчет, ограничив их по регистратору по нужным типам документа.
Но при этом если ставить отбор на эти ресурсы не равные 0, то что-то мне подсказывает, что начальный/конечный остаток будут неверно выводиться
---
А по точнее можете описать как добавить добавить в СКД новые ресурсы и ограничить их по регистратору ?
и какое возможное решение проблемы с неверным остатком ?
---
Чтобы добавить в СКД новые ресурсы нужно открыть отчет в конфигураторе, открыть схему компоновки данных и дополнить текст запроса. После чего во вкладке ресурсы добавить новые ресурсы в список ресурсов, на вкладке Настройки добавить их в выбранные поля.
Какие изменения вносить в текст запроса:
 в стандартном отчете Ведомость по товарам в ценах номенклатуры количество прихода, к примеру, считается следующим образом:

```1c
    ВЫБОР
    КОГДА &ЕдиницыКоличества = 0
    ТОГДА ЕСТЬNULL(ТаблицаТоварыНаСкладахМаксимальныйПериод.КоличествоПриход, 0)
    КОГДА &ЕдиницыКоличества = 1
    ТОГДА ВЫБОР
    КОГДА ТаблицаТоварыНаСкладахМаксимальныйПериод.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
    ТОГДА ЕСТЬNULL(ТаблицаТоварыНаСкладахМаксимальныйПериод.КоличествоПриход, 0) / ТаблицаТоварыНаСкладахМаксимальныйПериод.Номенклатура.КоэффициентЕдиницыДляОтчетов
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ КАК КоличествоПриход
```

В таблицу ТаблицаТоварыНаСкладахМаксимальныйПериод мы можем добавить реквизит ЭтоПрямоеДвижение:

```1c
    ВЫБОР
    КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор) = ТИП(Документ.ПриходныйОрдерНаТовары)
    ТОГДА ВЫБОР
    КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор.Распоряжение) = ТИП(Документ.ВозвратТоваровОтКлиента)
    ИЛИ ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор.Распоряжение) = ТИП(Документ.ЗаказПоставщику)
    ИЛИ ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор.Распоряжение) = ТИП(Справочник.СоглашенияСПоставщиками)
    ИЛИ ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор.Распоряжение) = ТИП(Документ.ЗаявкаНаВозвратТоваровОтКлиента)
    ИЛИ ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор.Распоряжение) = ТИП(Документ.ПриобретениеТоваровУслуг)
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ
    КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор) = ТИП(Документ.РасходныйОрдерНаТовары)
    ТОГДА ВЫБОР
    КОГДА ТоварыНаСкладах.Регистратор.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКлиенту)
    ИЛИ ТоварыНаСкладах.Регистратор.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоВозвратуПоставщику)
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ
    КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)
    ИЛИ ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор) = ТИП(Документ.ПоступлениеТоваров)
    ИЛИ ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор) = ТИП(Документ.ПриобретениеТоваровУслуг)
    ИЛИ ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор) = ТИП(Документ.ВозвратТоваровОтКлиента)
    ИЛИ ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор) = ТИП(Документ.ВозвратТоваровПоставщику)
    ИЛИ ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор) = ТИП(Документ.ОтчетОРозничныхПродажах)
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЭтоПрямоеДвижение
```

Ну и в таблицу Запрос пакета 10 добавляем новый реквизит, изменив немного старый:

```1c
    ВЫБОР
    КОГДА &ЕдиницыКоличества = 0
    И ТаблицаТоварыНаСкладахМаксимальныйПериод.ЭтоПрямоеДвижение
    ТОГДА ЕСТЬNULL(ТаблицаТоварыНаСкладахМаксимальныйПериод.КоличествоПриход, 0)
    КОГДА &ЕдиницыКоличества = 1
    И ТаблицаТоварыНаСкладахМаксимальныйПериод.ЭтоПрямоеДвижение
    ТОГДА ВЫБОР
    КОГДА ТаблицаТоварыНаСкладахМаксимальныйПериод.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
    ТОГДА ЕСТЬNULL(ТаблицаТоварыНаСкладахМаксимальныйПериод.КоличествоПриход, 0) / ТаблицаТоварыНаСкладахМаксимальныйПериод.Номенклатура.КоэффициентЕдиницыДляОтчетов
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ КАК ПрямойПриход
```

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

Про неверный остаток: Если на ПрямойПриход/ПрямойРасход ставить отбор <> 0 (чтобы не выходили ненужные документы), то остатки начальный/конечный будут выходить неверные, что является издержком ролей остатков. Поэтому либо отбор не делать, либо разрабатывать вообще какое-либо другое решение)
---
Пробовал сделать как написано, нашел таблицу ТаблицаТоварыНаСкладахМаксимальныйПериод добавил запрос, СКД выдает ошибку, что я делаю не так ?
Если Вас не затруднит, можете выслать файл схему конструктора ?
Спасибо
---
Отчет переделан из конфигурации УТ 11.4.2.132