Слетает начальный остаток при добавление колонки в стандартном отчёте на СКД

1. just_junior 10.11.20 14:36 Сейчас в теме
Всем доброго дня!

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

Платформа 8.3.17.1549
Прикрепленные файлы:
Найденные решения
20. echo77 1868 12.11.20 12:19 Сейчас в теме
(0) В роли у полей ПериодСекунда, Регистратор поставьте флаг Обязательное
Скорее всего, проблема в том, что когда выбирается поле Продажи, оно при своем расчете использует Регистратор(Тип значения), что говорит виртуальной таблице, что периодичность до Регистратора.
Данные берем с детализацией до регистратора, а поля Периода ПериодСекунда у нас нет. Вот СКД и не может правильно рассчитать остатки
just_junior; +1 Ответить
24. echo77 1868 12.11.20 15:36 Сейчас в теме
(23) ага, так. Отчет уже поставили в справочник внешние отчеты и обработки? Я к тому чтобы попробовать изменить его имя в метаданных, возможно старая схема исполняется
just_junior; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. toypaul 63 11.11.20 09:52 Сейчас в теме
(1)
Это я сделал, сохранил отчёт как внешний


вот это конечно очень ценная информация :) гораздо ценнее запроса и структуры настроек.
4. just_junior 11.11.20 10:11 Сейчас в теме
(3) Текст запроса приложил в файле, дописал именно это

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


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

КОНЕЦ КАК Продажи
Показать


А если так?
6. toypaul 63 11.11.20 10:41 Сейчас в теме
(4) в запросе выбирается поле ПериодСекунда? если нет, надо добавить. это самое простое, что можно подсказать. остальное только смотреть сам отчет
7. 1ctalik 11.11.20 10:42 Сейчас в теме
(6) Выбирается. В текстовом файле - текст запроса
8. just_junior 11.11.20 10:45 Сейчас в теме
10. 1ctalik 11.11.20 10:52 Сейчас в теме
(8) Попробуй это
Прикрепленные файлы:
Текст запроса.txt
12. just_junior 11.11.20 11:00 Сейчас в теме
(10) Перестал отчёт формироваться, без каких либо ошибок завершает формирование. Заменил свой запрос, просто на твой. Сейчас попробую посмотреть детальней
13. 1ctalik 11.11.20 11:02 Сейчас в теме
(12) У меня работает как надо. В твой отчет вставил свой запрос
Прикрепленные файлы:
ВедомостьПоТоварамНаСкладахВнешний.erf
14. just_junior 11.11.20 11:16 Сейчас в теме
(13) Да, твой отчёт формируется, но у меня по прежнему есть почему-то начальный остаток. Если в режиме пользователя отключаю поле "Продажи", становится всё норм. Может это от базы самой как-то зависит
Прикрепленные файлы:
15. 1ctalik 11.11.20 11:17 Сейчас в теме
(14) Запусти мой отчет в другой базе, где ты еще не запускал свой
16. just_junior 11.11.20 11:38 Сейчас в теме
(15) Запустил на демо базе УТ 11.4.13.47 (была под рукой), начальный остаток по прежнему странный
Прикрепленные файлы:
9. just_junior 11.11.20 10:52 Сейчас в теме
(6) Если поможет, приложил сам отчёт
Прикрепленные файлы:
ВедомостьПоТоварамНаСкладахВнешний.erf
17. toypaul 63 11.11.20 12:21 Сейчас в теме
(9) у меня хоть и УТ 11.1 но такая же шняга с этим отчетом
18. toypaul 63 11.11.20 12:40 Сейчас в теме
(9) Короче тут такая фишка ... (и увидеть ее можно только при отладке как я писал). Если в запросе идет обращение к регистратору, то такой запрос возвращается данные с разворотом по нему. В том числе начальный остаток. Но самого регистратора в выборке нет. Отчего СКД сносит башню - раз нет регистратора в выборке, значит начальный остаток суммируем по данным выборки. А он там развернут по регистратору. Вот и получается фигня.

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

Короче нужно добиться того, чтобы в возвращаемой выборке выполняемый запрос не разворачивал остаток по регистратору, если этого регистратора нет в выбранных полях
19. just_junior 11.11.20 12:50 Сейчас в теме
(18)Спасибо. Попробую сделать и напишу результат
2. toypaul 63 11.11.20 09:51 Сейчас в теме
Щяс допью свой кофе и посмотрю, что там на дне - тогда напишу какая причина из десяти возможных
11. toypaul 63 11.11.20 10:56 Сейчас в теме
ну ... может еще сравнить роли у ресурсов и измерений. может они слетели (хотя не должны были).

что еще можно посоветовать - взять консоль компоновки данных (тут на ИС можно поискать в статьях по "Отладка СКД"), посмотреть какой запрос там отправляется платформе для выполнения, выполнить его в консоли запросов (не в консоли СКД) и посмотреть что выйдет. если такой же кривой результат, то можно будет дальше смотреть. если результат правильный, то хуже - тут уже какие-то внутренние механизмы СКД сломались
20. echo77 1868 12.11.20 12:19 Сейчас в теме
(0) В роли у полей ПериодСекунда, Регистратор поставьте флаг Обязательное
Скорее всего, проблема в том, что когда выбирается поле Продажи, оно при своем расчете использует Регистратор(Тип значения), что говорит виртуальной таблице, что периодичность до Регистратора.
Данные берем с детализацией до регистратора, а поля Периода ПериодСекунда у нас нет. Вот СКД и не может правильно рассчитать остатки
just_junior; +1 Ответить
21. just_junior 12.11.20 14:55 Сейчас в теме
(20) Попробовал, не вышло, формируется по прежнему с начальным остатком
22. echo77 1868 12.11.20 14:57 Сейчас в теме
(21) Покажите скрин схемы
23. just_junior 12.11.20 15:00 Сейчас в теме
(22) Это?
Прикрепленные файлы:
24. echo77 1868 12.11.20 15:36 Сейчас в теме
(23) ага, так. Отчет уже поставили в справочник внешние отчеты и обработки? Я к тому чтобы попробовать изменить его имя в метаданных, возможно старая схема исполняется
just_junior; +1 Ответить
25. just_junior 12.11.20 16:03 Сейчас в теме
(24) Спасибо большое, обновил внешний отчёт и всё заработало)
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)