|
Неправильные остатки таблицы ОстаткиИОбороты в СКД | ☑ | ||
---|---|---|---|---|
0
Dwarrior
27.12.17
✎
12:01
|
Здравствуйте!
Имеем простой вроде бы отчет СКД с запросом: ВЫБРАТЬ РАЗЛИЧНЫЕ ДолгТараОстаткиИОбороты.Контрагент, ДолгТараОстаткиИОбороты.КоличествоПриход, ДолгТараОстаткиИОбороты.КоличествоРасход, ДолгТараОстаткиИОбороты.Регистратор, ДолгТараОстаткиИОбороты.КоличествоНачальныйОстаток, ДолгТараОстаткиИОбороты.КоличествоКонечныйОстаток, ДолгТараОстаткиИОбороты.Маршрут, ДолгТараОстаткиИОбороты.НомерДоставки, ДолгТараОстаткиИОбороты.ПериодСекунда, ДолгТараОстаткиИОбороты.Склад, ДолгТараОстаткиИОбороты.Регистратор.Сделка КАК ЗаказПокупателя ИЗ РегистрНакопления.ДолгТара.ОстаткиИОбороты(, , Авто, , ) КАК ДолгТараОстаткиИОбороты ГДЕ ДолгТараОстаткиИОбороты.Контрагент.Наименование <> " " И ДолгТараОстаткиИОбороты.Регистратор.Сделка <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) Проблема - неправильно рассчитываются остатки на начало и конец при определенных группировках. А точнее - они складываются в разрезе регистраторов, например. Прочитал связанную статью ИТС "Типичные проблемы при расчете остатков". Не помогло. Что интересно - если убираем из запроса условие "И ДолгТараОстаткиИОбороты.Регистратор.Сделка <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)" - остатки считаются правильно. " |
|||
1
mistеr
27.12.17
✎
12:08
|
(0) Как ты хочешь получить правильные остатки, выкинув часть данных? Перенеси условие в отбор СКД в группировке по регистратору.
|
|||
2
Dwarrior
27.12.17
✎
12:44
|
(1) Да не, понятно, что изменение запроса это эксперименты с целью понять.
А если группировки по регистратору не будет? Отбор в таком случае сработает? |
|||
3
Мандалай
27.12.17
✎
13:01
|
Ищи на ИТС статью про получение остатков на начало и конец периода.
|
|||
4
Dwarrior
27.12.17
✎
13:24
|
(3) Нашел и прочитал. Все рекомендации сделал
https://its.1c.ru/db/metod8dev/content/3093/hdoc |
|||
5
Dwarrior
27.12.17
✎
15:59
|
апну в надежде на новогоднее чудо:)
|
|||
6
piter3
27.12.17
✎
16:02
|
(4) Не сделал судя пл (0)
|
|||
7
piter3
27.12.17
✎
16:03
|
Что в консоли?
|
|||
8
piter3
27.12.17
✎
16:09
|
И какой смысл остатку по доку?
|
|||
9
perester
27.12.17
✎
16:18
|
Прикрути костыли - сделай запрос сначала по наименованию потом по его в Вт, а с Вт отбор по регистратору, ну или через вложенный запрос не сказать что верно, да и вообще не есть хорошо, но результат должен получиться
|
|||
10
mehfk
27.12.17
✎
16:25
|
(0) Не вижу в запросе того, что ты должен был сделать, прочитав указанную тобой статью.
|
|||
11
mehfk
27.12.17
✎
16:31
|
Присмотрелся - увидел.
Не, ну это - швах И ДолгТараОстаткиИОбороты.Регистратор.Сделка <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) |
|||
12
kuzyara
27.12.17
✎
16:31
|
(0) нужно добавить поле ПериодСекунда
А вот ещё запрос непонятный из ут10: Запрос.Текст =
Зачем здесь используется ЕстьNull? |
|||
13
Dwarrior
27.12.17
✎
16:44
|
(12) Так есть же ПериодСекунда в запросе, 3 поле снизу
|
|||
14
Dwarrior
27.12.17
✎
16:44
|
(11) а как лучше можно? Посоветуйте пожалуйста
|
|||
15
Dwarrior
27.12.17
✎
16:46
|
(9) Как вариант, попробую, спасибо
|
|||
16
nordbox
27.12.17
✎
16:51
|
||||
17
RainWoman
27.12.17
✎
17:12
|
В СКД проблема при работе с виртуальной таблицей ОстаткиИОбороты также может быть связана с настройкой свойства МетодДополнения.
|
|||
18
Dwarrior
27.12.17
✎
17:18
|
(16) Я бы с удовольствием указал отбор внутрь виртуальной таблицы, но там только измерения. Регистратора там нет, а мне нужен отбор по полю Сделка регистратора.
|
|||
19
mehfk
27.12.17
✎
17:58
|
(18) Нет ножек - нет мультиков. Хуёвый код - хуёвый результат.
|
|||
20
mistеr
27.12.17
✎
19:04
|
(18) Для поля Сделка роль настроена по (4) ?
|
|||
21
Dwarrior
28.12.17
✎
09:37
|
(20) Не Сделка, а ЗаказПокупателя. Да, Измерение
|
|||
22
mistеr
28.12.17
✎
10:37
|
(21) Не просто измерение, а с родителем Регистратор.
|
|||
23
Dwarrior
28.12.17
✎
12:01
|
(22) Сделал, не помогло. Вот что еще заметил - если в отчете хоть где есть группировка по Регистратору (на любом уровне) - то остатки считаются верно. Например 1.Контрагент, 2.Регистратор. Или 1. Регистратор 2.Контрагент.
Однако если Регистратора нет в группировках - остаток неправильный. Например 1.Контрагент, 2.Маршрут |
|||
24
Dwarrior
28.12.17
✎
12:03
|
(9) Да, сделал еще через временную таблицу, т.е. ОстаткиИОбороты детализируются до Регистратора, выгружаются в ВТ, а потом из ВТ выбираются - тоже не помогло особо. Даже с правильной ролью поля ЗаказПокупателя.
|
|||
25
mistеr
28.12.17
✎
12:04
|
Ты плохо читал (4). Регистратор должен быть.
|
|||
26
Dwarrior
28.12.17
✎
12:41
|
(25) Извините за тупость:) Не совсем понятно, где должен быть Регистратор? В полях выборки есть. Роль у него -
"Период,1". |
|||
27
mistеr
28.12.17
✎
12:54
|
(26) В группировках.
Но у тебя еще концептуальная проблема с отбором по заказам. Чтобы иметь возможность получать правильные остатки в разрезе заказов (а отбор это частный случай), нужно иметь заказ в измерениях регистра. |
|||
28
Dwarrior
28.12.17
✎
13:01
|
(27) Т.е. как я понял, запросом не обойтись, надо менять структуру регистра?
А почему не работает через временную таблицу? Т.е. вытащить линейные записи (по регистратору) в ВТ, отобрав по непустому Заказу, а потом выбрать уже из ВТ. Там-то уже отборов накладывать не надо, просто полная выборка всех записей. А получается, поведение отчета такое же, как если бы я выбирал из ОстаткиИОбороты напрямую (С регистратором правильно, без регистратора - неправильно) |
|||
29
mehfk
28.12.17
✎
13:09
|
(28) https://image.ibb.co/mDMGjw/image.png
А теперь вычеркни несколько регистраторов, что будет с НачОст и КонОст ? |
|||
30
mistеr
28.12.17
✎
13:12
|
(28) Если выбрать из регистра остатки в разрезе регистраторов, то они будут верными, даже если часть регистраторов выкинуть. А если свернуть остатки по чему-либо еще (контрагенту, например), то верных остатков, не учитывающих регистраторы без заказов, нет НИГДЕ. В регистре есть только остатки, учитывающие все движения. И СКД тебе эти несуществующие остатки из воздуха не выдумает.
Поэтому добавляй заказ в регистр. Или не пиши в регистр движения без заказов. |
|||
31
Dwarrior
29.12.17
✎
10:47
|
(30) Спасибо, так и поступим. Ограничу запись в регистр реализаций без заказов
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |