Всем доброго дня!

Возникла необходимость доработать стандартный отчёт из УТ 11.4 "Ведомость по товарам на складах", а именно добавить колонку в которой будет вся та же информация, что и в колонке "Расход", но только по документам Реализации. Это я сделал, сохранил отчёт как внешний, в СКД добавил новое поле и вывел его в отчёт, но при этом возникла проблема, появляются не понятные цифры начального остатка. В чём собственно проблема понять не могу, кто нибудь сталкивался с похожей ситуацией?

Платформа 8.3.17.1549
---
В роли у полей ПериодСекунда, Регистратор поставьте флаг Обязательное
Скорее всего, проблема в том, что когда выбирается поле Продажи, оно при своем расчете использует Регистратор(Тип значения), что говорит виртуальной таблице, что периодичность до Регистратора.
Данные берем с детализацией до регистратора, а поля Периода ПериодСекунда у нас нет. Вот СКД и не может правильно рассчитать остатки
---
ага, так. Отчет уже поставили в справочник внешние отчеты и обработки? Я к тому чтобы попробовать изменить его имя в метаданных, возможно старая схема исполняется
---
Это я сделал, сохранил отчёт как внешний

вот это конечно очень ценная информация :) гораздо ценнее запроса и структуры настроек.
---
Текст запроса приложил в файле, дописал именно это

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

Структуру отчёт приложил
---
```1c
    ВЫБОР
    КОГДА ТИПЗНАЧЕНИЯ(ТоварыНаСкладахОстаткиИОбороты.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)
    ТОГДА ВЫБОР
    КОГДА &ЕдиницыКоличества = 0
    ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход
    КОГДА &ЕдиницыКоличества = 1
    ТОГДА ВЫБОР
    КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
    ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
    ИНАЧЕ 0
    КОНЕЦ
    Иначе 0
    КОНЕЦ

    КОНЕЦ КАК Продажи
```

А если так?
---
в запросе выбирается поле ПериодСекунда? если нет, надо добавить. это самое простое, что можно подсказать. остальное только смотреть сам отчет
---
Выбирается. В текстовом файле - текст запроса
---
Нет, тоже самое
---
Попробуй это
---
Перестал отчёт формироваться, без каких либо ошибок завершает формирование. Заменил свой запрос, просто на твой. Сейчас попробую посмотреть детальней
---
У меня работает как надо. В твой отчет вставил свой запрос
---
Да, твой отчёт формируется, но у меня по прежнему есть почему-то начальный остаток. Если в режиме пользователя отключаю поле "Продажи", становится всё норм. Может это от базы самой как-то зависит
---
Запусти мой отчет в другой базе, где ты еще не запускал свой
---
Запустил на демо базе УТ 11.4.13.47 (была под рукой), начальный остаток по прежнему странный
---
Если поможет, приложил сам отчёт
---
у меня хоть и УТ 11.1 но такая же шняга с этим отчетом
---
Короче тут такая фишка ... (и увидеть ее можно только при отладке как я писал). Если в запросе идет обращение к регистратору, то такой запрос возвращается данные с разворотом по нему. В том числе начальный остаток. Но самого регистратора в выборке нет. Отчего СКД сносит башню - раз нет регистратора в выборке, значит начальный остаток суммируем по данным выборки. А он там развернут по регистратору. Вот и получается фигня.

Тут может помочь или получение этого ресурса в отдельном запросе объединения - из оборотов или из движений и соот-но потом склейка основного запроса с этой частью. Или (что почти тоже самое) получение этих данных в отдельном наборе и потом соединение через набор объединения.

Короче нужно добиться того, чтобы в возвращаемой выборке выполняемый запрос не разворачивал остаток по регистратору, если этого регистратора нет в выбранных полях
---
Спасибо. Попробую сделать и напишу результат
---
Щяс допью свой кофе и посмотрю, что там на дне - тогда напишу какая причина из десяти возможных
---
ну ... может еще сравнить роли у ресурсов и измерений. может они слетели (хотя не должны были).

что еще можно посоветовать - взять консоль компоновки данных (тут на ИС можно поискать в статьях по "Отладка СКД"), посмотреть какой запрос там отправляется платформе для выполнения, выполнить его в консоли запросов (не в консоли СКД) и посмотреть что выйдет. если такой же кривой результат, то можно будет дальше смотреть. если результат правильный, то хуже - тут уже какие-то внутренние механизмы СКД сломались
---
В роли у полей ПериодСекунда, Регистратор поставьте флаг Обязательное
Скорее всего, проблема в том, что когда выбирается поле Продажи, оно при своем расчете использует Регистратор(Тип значения), что говорит виртуальной таблице, что периодичность до Регистратора.
Данные берем с детализацией до регистратора, а поля Периода ПериодСекунда у нас нет. Вот СКД и не может правильно рассчитать остатки
---
Попробовал, не вышло, формируется по прежнему с начальным остатком
---
Покажите скрин схемы
---
Это?
---
ага, так. Отчет уже поставили в справочник внешние отчеты и обработки? Я к тому чтобы попробовать изменить его имя в метаданных, возможно старая схема исполняется
---
Спасибо большое, обновил внешний отчёт и всё заработало)