СКД остатки и обороты + реквизиты регистра #655398


#0 by NickAn
Есть регистр накопления "ОстаткиТоваров". В Реквизитах регистра есть поле ВидДвижения, где например стоит "Продажа" или "Приход". Пишу нас СКД два набора данных с запросом. 1. ОстаткиИОбороты 2. Движения с полями регистратор, номер строки, вид движения Соединяю по полям регистратор, номер строки. Отчет правильно работает, правильно показывает остатки. Если делаю отбор по виду движения, то остаток показывает не правильно, показывает по последнему регистратору попавшему в отчет, даже если в группировке нет. Я то понимаю что все правильно со стороны СКД работает. Вопрос: Как сделать так, чтобы отбор по второй таблице (Виду движения) не влиял на остатки. Работал фильтр и обороты показывало только по текущему виду движения.
#1 by fisher
Думаю, это автозаполнение настроек СКД виновато. Цепляет фильтр на результат соединения. Можно отключить автозаполнение настроек и настроить руками, в т.ч. чтобы фильтр по виду движения только ко второму набору данных применялся до соединения.
#2 by NickAn
я поставил Вид движения настройках отбора во второй таблице, сейчас попробую через параметр, посмотрим что будет
#3 by samozvanec
я вот не понимаю людей, которые накладывают отбор на остатки и обороты и дивятся тому, чего видят. получай отдельно остатки, отдельно обороты, и делай с ними, что хочешь
#4 by NickAn
я же и описал, что есть две таблицы остатки + движения. Все работает правильно
#5 by Classic
Что такое "остаток по виду движения расход"? Или "остаток только по 2м строкам"? Как вы это себе вообще представляете?
#6 by NickAn
Нужно чтобы остаток по измерениям всегда показывал правильный, а в движениях можно было поставить фильтр. Т.е. например хочу видеть движения по расходу, но чтобы остаток в разрезе склада показывало правильный. На данный момент остаток формируется от Номера строки движения, по которому у меня настроена связь
#7 by Classic
Дай в разных наборах разные псевдонимы виду движения. И ставь фильтр на тот, который в оборотах
#8 by NickAn
в первом нет вида движения
#9 by NickAn
вид движения - это реквизит регистра, который не участвует в итогах
#10 by fisher
Харэ волать. Что по итогам ? Если через отбор по параметру во втором наборе данных ты получаешь нужный результат, значит и через ручные настройки фильтров получишь. А если и по параметру не получаешь - значит, где-то в консерватории ошибка и из сабжа фиг поймешь, чего у тебя там происходит.
#11 by NickAn
С параметром получилось так: 1. Без группировки до регистратора показывает правильные остатки, полный оборот без учета отбора, как по виду движения так и общий итог. Общий Итог | 10 | 5 | 2 | 13 Приход     | 10 | 5 | 2 | 13 2. С группировкой до регистратора показывает полный оборот и правильные остатки для общего итога, а по группировке вид  движения тоже показывает правильные остатки, но для документа и правильный оборот по документу Общий Итог | 10 | 5 | 2 | 13 Приход     | 3  | 2 | 1 | 4 Док №      | 3  | 2 | 1 | 4
#12 by NickAn
поставил регистратор и номер строки как обязательные поля и теперь правильно показывает. Общий итог показывает без отбора вида движений, а вид движения показывает свои итоги. Осталось проверить как это повлияет на скорость.
#13 by NickAn
в общем второй вариант из правильно работает
#14 by NickAn
Параметр убрал стал делать через отбор, стало не правильно показывать общий итог. Загадка. Настройку отбора сделал во второй таблице
#15 by NickAn
В общем зашел в тупик. Ситуация такая, если делаю группировку до регистратора, то отчет показывает верно, если делаю без него, тогда если включить группировку до Видов движения, то по каждому виду движения просто выводит общий итог. А если регистратор делаю обязательным полем, то подвисает, я даже не могу дождаться.
#16 by NickAn
Нашел отличие между параметром и отбором. Сравнивал через консоль СКД. Уточню. Если я формирую через параметр, то показывает правильно (Параметр в этом случае стоит первым в условии) Где ВидДвижения = &ВидДвижения И Дата1>=&Дата1 И Дата2<=&Дата2 , а если через отбор, то не правильно. Где Дата1>=&Дата1 И Дата2<=&Дата2 И ВидДвижения = &ВидДвижения Да вот еще добавляется вот такая строка в соединении.        <linkType>Inner</linkType> Я так понимаю, что если через параметр, то соединение получается левое, а если отбор, то внутреннее. Можно ли этим управлять?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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