Вход | Регистрация
 

Некорректные общие итоги СКД

Некорректные общие итоги СКД
Я
   Momus
 
06.05.21 - 09:00
Отчет на СКД, состоящий из двух наборов данных типа запрос: основной к виртуальной таблице остатки и обороты, дополнительный к виртуальной таблице оборотов (другого регистра). Связь осуществляется по регистратору. Проблема заключается в том, что в общих итогах конечный остаток (по всем складам) не равен сумме остаткам по каждому отдельному складу. Для поля "КонечныйОстаток", который берется из основного набора, задана роль "остатки"; для регистратора из двух наборов задана роль "Период, 1", при этом дополнительно выведены поля "ПериодСекунда". Если же убрать дополнительный набор данных, который нужен для вывода одного ресурса, то итоги формируются корректно. Что можно еще проверить? Возможные ошибки сверял с https://its.1c.ru/db/metod8dev/content/3093/hdoc
   acanta
 
1 - 06.05.21 - 09:04
Остатки на каждый регистратор рассчитываются, а затем суммируются?
   Momus
 
2 - 06.05.21 - 09:05
(1) нет. Остатки только по первому набору
   Momus
 
3 - 06.05.21 - 09:13
Ресурс из второго набора (КоличествоОборот) используется для расчета итогов по определенным группировкам для поля КоличествоПриход (для конечного остатка остается Сумма(КоличествоКонечныйОстаток)). Т.е. напрямую в отчет я его не вывожу. Если вообще не использовать этот ресурс, оставив лишь два набора данных, то итоги также некорректны
   toypaul
 
4 - 06.05.21 - 09:27
Иногда помогает добавить в оба набора "виртуальный" разделитель и назначить ему роль "Измерение". Что-то вроде - Выбрать "Набор1" КАК Разделитель.
Но это работает в случае объединения. Не известно сработает ли это при связи наборов.

Вообще я предпочитаю делать такое в одном запросе
   Momus
 
5 - 06.05.21 - 09:32
(4) старый отчет, сделанный до меня. Хотел разобраться, что пошло не так, но увы. В итоге забил и перенес в один запрос и ... то же самое!)
   Momus
 
6 - 06.05.21 - 09:45
хз что за шляпа была. Я думал проблема в наборе данных, а оказалось в запросе. Переделал непонятный мне запрос, надеюсь это не костыль был.
Запрос был следующего вида:
Выбрать
    ...
Поместить ВТ
    ...;
Выбрать
    ВТ...
    ВТ.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ВТ.КоличествоПриход КАК КоличествоПриход,
    ВТ.КоличествоРасход КАК КоличествоРасход,
    ВТ.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    "" как ДопПоле
ИЗ 
    ВТ
Объединить
    ВТ...
    0,
    0,
    0,
    0,
    Документ.ДопПоле
ИЗ
    ВТ
    Левое Соединение Документ
    по регистратор = Документ
   DrZombi
 
7 - 06.05.21 - 09:47
(0) Отбор. Смотрите в отборы.
у СКД жутко отвратительно работает оптимизация, вернее она отлично работает, но жуть в том, что бывает, что не надо оптимизировать.

Если вы в СКД используете АВТОзаполнение, то при выставлении какого либо отбора, у вас будет при совпадении в наименовании будут обираться и в других таблицах, где возможно вы бы хотели иметь полный набор данных.  :)
   Momus
 
8 - 06.05.21 - 09:49
(7) отбор только по периоду (в качестве параметра к виртуальным таблицам)
   DrZombi
 
9 - 06.05.21 - 09:51
(8) Весь запрос покажи. Для начала.
   Momus
 
10 - 06.05.21 - 10:05
(9) он огромный. По этой причине я изначально не хотел его менять, видимо и по этой причине до меня добавили новый набор данных. Сейчас уже вопрос неактуален. Сама схема запроса выше

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.