Зовите экзорцистов. Неправильные остатки для нетипового документа.

1. Adrenal1n 4 05.02.25 08:41 Сейчас в теме
Надеюсь среди вас есть экзорцисты..
Рассказываю ситуацию - в конфигурации 1с ERP, работающей на платформе 8.3.24.1691 - я добавил регистр остатков, добавил свой документ, который выступает регистратором по этому регистру, а так же добавил в этот регистр типовые документы в качестве регистратора. Все сделано в конфигурации, без применения расширений. Затем я делаю отчет "остатки и обороты" по этому регистру и у меня "кривые" данные, а именно у меня по группировкам неправильные начальные и конечные остатки, причем только если мой документ находится в списке первым. Отчет составлен по рекомендациям фирмы 1с, правильно заполнены роли и сам запрос. Причем выяснить удалось, что проблема исключительно с добавленными документами, остальные типовые не вызывают никаких проблем. Для более яркого примера я взял типовой документ "Корректировка регистров", полностью скопировал его, без каких-либо изменений, сделал его регистратором в моем регистре, а так же сделал регистратором типовой документ корректировки регистров. Создал типовой и нетиповой документ с одним и тем же движением и после этого скопированный документ неправильно показывает данные в отчета, а типовой правильно. Во вложении как это выглядит.

Что я пробовал:
1) Чистить всевозможные кэши (включая серверный, т.к. базы серверные). Чистить настройки пользователей и настройки отчетов.
2) После создания документа запускать обновление вспомогательных данных из SSL, пробовал запускать базу с ключом "ЗапуститьОбновлениеИнформационнойБазы"
3) Пробовал воспроизводить аналогичную ситуацию по типовым регистрам (все то же самое, с моим документом даже типовые отчеты дают странные данные)
4) Пробовал делать на другой платформе - аналогично.
5) Пробовал пересчитывать итоги регистра отдельно, а так же выполнять полное тестирование исправление со всеми возможными реструктуризациями и пересчетами.
6) Разумеется я полностью сравнивал документ с типовым, он идентичен, т.к. скопирован, сравнивал регистр, он не скопирован, но идентичен.

На этом идеи закончились, следующий шаг - это вызывать экзорциста. Может я что-то очевидное упускаю, помогите кто чем может. Любые идеи (особенно правильные) приветствуются
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vlan 36 05.02.25 08:57 Сейчас в теме
(1) Я бы в консоли запросов сравнил данные после запроса к "стандартному" документу и новому
starjevschik; +1 Ответить
3. Adrenal1n 4 05.02.25 09:05 Сейчас в теме
(2) Да, я сделал это, забыл написать, это действительно самое первое, о чем я подумал "какие-то не такие движения", но нет, движения идентичные
10. Vlan 36 05.02.25 09:11 Сейчас в теме
(3) Но в отчете же появляется начальный остаток. Если выполнить запрос без группировок и не средствами СКД, должно быть видно, какие строки его создают.
11. Vlan 36 05.02.25 09:17 Сейчас в теме
(3) Упс. Не сразу понял, что разница только в итогах по группировкам. Тогда копайте настройки ресурсов
12. Adrenal1n 4 05.02.25 09:27 Сейчас в теме
(11) Так они одинаковые для всех документов, отчет один и тот же, но выдает разные данные в зависимости от регистратора
15. Vlan 36 05.02.25 09:48 Сейчас в теме
(12) Попробуйте в "кривом" отчете у ресурсов в настройках оставить только суммы. В итогах должны будут отражаться суммы по столбцу. Сейчас там лажа. Если итоги станут нормально, то сравнивать поля Выражение, где-то там не совпадает.
17. Adrenal1n 4 05.02.25 09:54 Сейчас в теме
(15) Это один и тот же отчет, я просто провожу и распровожу документ в одном случае типовой, в другом нет. Отчеты не могут отличаться на уровне полей/кода/запроса/СКД, потому что это прям один и тот же отчет. Исходя из этого не очень понимаю, что вы имеете ввиду, когда говорите, что "сравнивать поля Выражение" - что с чем сравнивать? Если что в отчете все ресурсы суммами. Вот скрины из отчета:
Прикрепленные файлы:
19. Vlan 36 05.02.25 10:02 Сейчас в теме
(17) Единственное отличие, которое я вижу - это отсутствие итогов начальных/конечных остатков в группировках в "правильном" отчете.
20. Vlan 36 05.02.25 10:18 Сейчас в теме
(17) Поясню мысль: в общем случае у СКД в итогах выводится сумма ресурсов по группировкам. Раз она не выводится в верном варианте, значит, это может быть сделано в настройках, в макете, в модуле отчета и т.п.
27. spacecraft 05.02.25 12:51 Сейчас в теме
(17) убрать у регистратора роль Период. В запрос добавить получение периода Секунда.
Sashares; Bukaska; +2 Ответить
29. Bukaska 146 05.02.25 13:14 Сейчас в теме
(27) Подтверждаю, что Период секунда как родитель для регистратора обязателен)))
32. Adrenal1n 4 05.02.25 13:44 Сейчас в теме
(29) Подтверждаю, ошибся, что сразу не сделал, но ситуацию это не изменило
31. Adrenal1n 4 05.02.25 13:43 Сейчас в теме
(27) Секунду добавил, тут согласен, надо было сразу добавить. Период у регистратора убрал (хотя это и нельзя делать, но я попробовал и так и так). Итог один и тот же. Да и почему у типовых документов это бы работоало, а у нетиповых не работает.
14. starjevschik 05.02.25 09:40 Сейчас в теме
(3) не движения. Сделай отчет без СКД, хотя бы запрос. Со всеми остатками. Что там будет? я ставлю на кривизну СКД, в документе там негде ошибиться.
16. Adrenal1n 4 05.02.25 09:49 Сейчас в теме
(14) Запрос я сделал, движения и остатки такие как ожидаются - абсолютно корректные и объяснимые, одинаковые для обоих документов. Вопрос-то как раз в том почему у меня для одного документа фигня, а для другого все в порядке. Причем даже для типовых регистров и отчетов. Т.е. если я сделаю новый документ, его сделаю регистратором по какому-то типовому регистру, а потом выведу отчет тоже типовой, который берет данные из таблицы остатков и оборотов - я получу кривизну. Но ни с одним типовым документом такой кривизны не получаю. Подумал на типовую форму отчета - тоже не подходит, отчет с нетиповой формой созданной без изменений выводит такой же результат.
4. GenaT1C 05.02.25 09:06 Сейчас в теме
5. Adrenal1n 4 05.02.25 09:07 Сейчас в теме
6. GenaT1C 05.02.25 09:08 Сейчас в теме
7. Adrenal1n 4 05.02.25 09:09 Сейчас в теме
(6) Да я знаю что такое граница, хочу понять что конкретно вы имеете ввиду и что нужно сделать для того, чтобы получить одинаковые данные в отчете?
8. GenaT1C 05.02.25 09:09 Сейчас в теме
(7) Лень. Тома написаны. Разберётесь.
9. Adrenal1n 4 05.02.25 09:11 Сейчас в теме
(8) Понял вас, могли бы тогда и вообще ничего не писать, если лень)
13. muskul 05.02.25 09:37 Сейчас в теме
потому что не нужно было делать не типовой документ
18. Adrenal1n 4 05.02.25 09:55 Сейчас в теме
(13) Согласен, лажа какая-то получается. Думаю надо взять типовой документ, который не используется, переименовать его в свой, удалить из него весь функционал и добавить свой)
21. KirillHome 5 05.02.25 11:22 Сейчас в теме
(17) А можно ещё структуру самого регистра увидеть? Что-то глаз зацепился за "Акт брака" в полях
22. Adrenal1n 4 05.02.25 11:40 Сейчас в теме
(21) Да, в регистре есть поле "АктБрака", но оно не выбирается, а подтягивется СКД, что в целом норма. Но если интересно - вот скрин:
Прикрепленные файлы:
23. Adrenal1n 4 05.02.25 11:50 Сейчас в теме
Но как будто у меня сейчас есть зацепка. Я создал чистую конфигурацию на платформе 8.3.24, создал там 2 документа и 1 регистр, составляю аналогичный отчет - получаю лажу. Понимаю, что это нестандартное поведение платформы и точно уверен, что на более ранних версиях все было нормально. Взял платформу 8.3.18, создал там 2 документа, регистр и отчет - все хорошо и отчет правильный. Потом в этой же конфе (созданной на платформе 8.3.18) я создал еще один документ, выступающий регистратором по этому регистру, но этот документ я создавал уже на платформе 8.3.24, после создания документа - только он кривой в отчете. Ну т.е. один в один ситуация как в ERP. Но только я пока не знаю как сделать так, чтобы документ стал нормальным. Никто не в курсе, может это в новых платформах появилась какая-то настройка или еще что-то и для объектов, созданных на новой платформе надо эту настройку конфигурировать?
24. KirillHome 5 05.02.25 12:16 Сейчас в теме
(23) Как вариант - создать аналогичный "дополнительный документ" на 8.3.18, потом - выгрузить конфигурации в файлы (и для 8.3.18 и для 8.3.24), сравнить результат.
Возможно - проблема в модификации регистра, созданного в 8.3.18 при работе с 8.3.24
Возможно - проблема в разнице создания "дополнительного документа" в 8.3.18 и 8.3.24

Правда, что с этим делать дальше (кроме как писать в 1с об ошибке) - не очень понятно.
25. homer_ 79 05.02.25 12:26 Сейчас в теме
(0) помнится надо делать обязательно при выводи регистратора - добавлять из виртуальной таблице "период". иначе СКД может не корректно считать начальные и конечные итоги.
26. Adrenal1n 4 05.02.25 12:29 Сейчас в теме
(25) Есть такое, но если режим "Авто", то не обязательно, только если режим "Регистратор". Описано вот тут:
https://its.1c.ru/db/metod8dev/content/3093/hdoc

Не использование периодичности Авто
Данная проблема возникает, когда данные получаются из виртуальной таблицы ОстаткиИОбороты с указанием периодичности, отличной от Авто, если при этом в отчет выводятся не все поля - периоды. Эта проблема родственна проблеме "Отсутствие родительских полей - периодов в запросе", описанной в начале данной статьи.

Это я знаю, с этим согласен, в отчете это учтено.
28. spacecraft 05.02.25 13:02 Сейчас в теме
(26) там же:
ипичные проблемы при расчете остатков
В данной статье описывается, по какой причине отчет, созданный при помощи системы компоновки данных, может выдавать неправильные остатки.

Отсутствие родительских полей - периодов в запросе
Данная проблема возникает например, если в запросе получают поле Регистратор, но не получают поле ПериодСекунда.
Sashares; +1 Ответить
30. Adrenal1n 4 05.02.25 13:41 Сейчас в теме
(28) Согласен, наверное надо было его тоже получить сразу. Сейчас сделал, все то же самое.
33. homer_ 79 05.02.25 13:44 Сейчас в теме
(30) покажи для начало что в СКД сделал. сам запрос и роли
34. Adrenal1n 4 05.02.25 13:50 Сейчас в теме
(33) Перебрал вот такие варианты:
Прикрепленные файлы:
35. Adrenal1n 4 05.02.25 13:51 Сейчас в теме
(34) Почему-то только 5 фотографий смог прикрепить. Вот еще один вариант, по моему мнению самый правильный
Прикрепленные файлы:
36. aezdakov 6 05.02.25 15:58 Сейчас в теме
У Вас активность записей движений вашего нетипового документа стоит как ложь. Установите в истина и будет Вам счастье.
37. Adrenal1n 4 05.02.25 16:11 Сейчас в теме
(36) Она стоит ка ложь специально, потому что я хочу чтобы были только один из наборов записей. Либо типовой либо нет и когда я показываю два отчета разных - это значит, что в одном случае выключена активность движений типового документа, а во втором - активность моего документа. И вопрос как раз в том, что когда я включаю активность своих движений - они другие в отчете нежели движения типового документа.
38. aezdakov 6 05.02.25 16:26 Сейчас в теме
(37) Я конечно не уверен, что я решал Вашу проблему, но я никогда не использую стандартные параметры периода отчета, всегда определяю свои и только так как на скрине. Сразу оговорюсь имя "ПериодОтчета" в качестве имени своего параметра не использовать, оно системное.
Прикрепленные файлы:
39. Anton_new01 07.02.25 08:12 Сейчас в теме
(1) хочется спросить "Вам шашечки или ехать?"
т.е. вам нужен конечный результат или вам нужно разобраться в проблеме?

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

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот