СКД неправильно считаются остатки #801017


#0 by Сметанин
Всем привет! Отчет по регистру на СКД. Обороты нужно показывать с отбором. Текст запроса:     БюджетДоходов1ОстаткиИОбороты.ПериодСекунда КАК ПериодСекунда, Проблема в том что неправильно рассчитывается конечный остаток.
#1 by aleks_default
СКД - это тебе не это, тут того..., знать надо!
#2 by Сметанин
А если убрать конструкцию ВЫБОР, остатки считаются правильно. Как победить?
#3 by aleks_default
Арифметическим действием
#4 by _Batoo
"НеВключатьВОбороты" это Измерение?)
#5 by Сметанин
Да
#6 by Сметанин
Возможно нужно роли как-то по хитрому настраивать
#7 by Сметанин
В запросе или вычисляемые поля использовать?
#8 by Сметанин
Переписал запрос через объединение таблиц с остатками и оборотами ВЫБРАТЬ Так считаются верно
#9 by Сметанин
Но стоит добавить еще одну конструкцию ВЫБОР и остатки летят ВЫБРАТЬ
#10 by Сметанин
Добавил условие соединения по СтатьеДДС. Проблема решилась.
#11 by Сметанин
Нет так тоже неправильно. Может кто-нибудь подсказать хотя бы направление как правильно написать запрос?
#12 by h-sp
какая разница, как написать. Всё равно должно быть железное правило НачОстаток + Приход - Расход = КонОстаток а так как вы это правило соблюдать не намерены, какие вам нужны направления?
#13 by Сметанин
Но мне нужно чтобы обороты показывались с отбором.
#14 by Сметанин
Вот нашел по теме: "Вывернулся через создание отдельных подзапросов на остатки с пустым регистратором и на обороты с регистратором, которые и объединил в один запрос. Как оказалось в типовых конфигурациях такие выверты для отчетов сплошь и рядом." В я пытался это реализовать, но не получается
#15 by Сметанин
Например НачОст 0 Приход 3000  Расход 3000, но Измерение НеВключатьВОбороты = Истина. В этом случае показываем НачОст 0 Приход 3000 Расход 0 КонОст 0. Так нужно
#16 by d4rkmesa
Скорее всего, сделать чтобы при таких условиях СКД сама считала КонОст, не получится. Зачем упорно лепить "СУММА(БюджетДоходов1ОстаткиИОбороты.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток", если очевидно что так не заработает?
#17 by aleks_default
СУММА(БюджетДоходов1ОстаткиИОбороты.СуммаНачальныйОстаток)+ Вот че сложного?
#18 by Сметанин
Спасибо за желание помочь, но мне нужно совсем не это. Попробую еще раз объяснить. Есть регистр накопления. В нем есть измерение булевского типа НеВключатьВОбороты. Обороты нужно показывать с отбором по этому измерению, а остатки обычные, которые получаются с учетом всех движений.
#19 by ИС-2
роли у полей стоят? В ролях надо еще настроить периодичность, что остатки стали считаться
#20 by Сметанин
Да конечно. Регистратор - период 1 ПериодСекунда - Период2 ПериодМесяц - период3 Доп Остатки считаются в 99% правильно, но есть косяки
#21 by Сметанин
Проблема как я написал в возникает именно из-за конструкции выбор в по ссылке человек с такой  же проблемой сталкивался
#22 by Сметанин
Я переписал запрос с использованием временных таблиц. Остатки в одну ВТ, обороты в другую и соединяю полным соединением, но все равно по некоторым строкам остатки рассчитываются неверно
#23 by Сметанин
ВЫБРАТЬ     БюджетДоходов1ОстаткиИОбороты.Подразделение,     БюджетДоходов1Обороты.Подразделение,
#24 by Сметанин
Это явный косяк СКД. Как его  обойти? Может в типовых конфах есть примеры?
#25 by МимохожийОднако
Убери "регистратор" из полей совсем
#26 by Сметанин
Нельзя. Нужно разворачивать данные по регистраторам
#27 by МимохожийОднако
Остатки берешь не по регистратором, а обороты по регистраторам. Прикольно.
#28 by МимохожийОднако
Полное соединение убери.
#29 by МимохожийОднако
Лучше возьми в руки блокнот, нарисуй, что хочешь и откуда берешь. С контрольным примером. Пык-мык-подход в данном случае будет тянуться до бесконечности.
#30 by Сметанин
Почему убрать может же быть что есть остатки без оборотов и наоборот обороты с нулевыми остатками?
#31 by МимохожийОднако
Объясни, как и сколько ты можешь показать остаток по регистратору на начало месяца? А если несколько регистраторов? Я ж тебе и говорю. Возьми блокнотик (еле эксель) нарисуй, подумай. Можно взять обороты и остатки. Из них вытащить всех контрагентов и по этому списку соединить таблицы остатков и оборотов. Но мне не понятно, как можно соединить несколько строк оборотов с одной строкой начального остатка.
#32 by Сметанин
Да все что хочу предельно просто. Написал в
#33 by МимохожийОднако
Сделай таблицу общую без отборов. Помести в ВТ и уже у неё включи свой отбор. Потом включи.
#34 by Сметанин
Помогло только частично Такой запрос отрабатывает:     БюджетДоходов1ОстаткиИОбороты.СуммаНачальныйОстаток,     ВТ.Контрагент, Все строки не проверял, но по той строке где был косяк, стало правильно
#35 by Сметанин
Но стоит добавить еще одну конструкцию ВЫБОР:     БюджетДоходов1ОстаткиИОбороты.СуммаНачальныйОстаток,     ВТ.Контрагент, Опять появляется косяк.
#36 by МимохожийОднако
Во все ВТ добавь поле, по которому потом делаешь отбор
#37 by Сметанин
Так итак добавил
#38 by МимохожийОднако
Как называется это поле?
#39 by МимохожийОднако
Убери сгруппировать
#40 by Сметанин
СтатьяДДС
#41 by МимохожийОднако
Это противоречит "НеВключатьВОбороты" это поле оставь везде для начала. Ведь из-за него косяка,как я понимаю
#42 by Сметанин
Не помогло ВЫБРАТЬ     БюджетДоходов1ОстаткиИОбороты.СуммаНачальныйОстаток, Такой запрос тоже косячит
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С