Имя: Пароль:
1C
1C 7.7
v7: Математика регистров в 1С 7.7
0 PZh
 
29.12.16
14:41
Столкнулся я с проблемой. В таблице движений только плюсовые значения и их много, но таблица итогов - почти нулевая.

Обозначения:
RA - таблица движений
RG - таблица итогов
spХХХХ - ресурс регистра
CurrPERIOD - текущий период

В случае если ТА - актуальна. Должно выполняться правило:

Эта сумма -
[SQL]
select sum(main.ss) from
(
    select
        case when debkred = 0 then spХХХХ
        else -1*spХХХХ end as ss
    from RA
) as main
[/SQL]

Должно быть равно этой сумме -
[SQL]
select sum(spХХХХ) from RG where period = CurrPERIOD
[/SQL]

Но она не равна...
Как так то?
1 Cool_Profi
 
29.12.16
14:43
пересчитай итоги и проверь ещё раз
2 Это_mike
 
29.12.16
14:52
возьми с нимфостарта мою обработку по контролю регистров, да проверь...
3 Это_mike
 
29.12.16
14:53
и вообще, странно, что ты сравниваешь сумму движений по всем периодам с суммой итога за один период.
4 Cool_Profi
 
29.12.16
14:55
(3) Почему странно? Ведь коност = приход + расход...
5 Cool_Profi
 
29.12.16
14:55
ну, -расход, разумеется
6 Это_mike
 
29.12.16
14:57
(4) ну так сравнивается суммарный оборот за все время с сумманым остатком за какой-то конкретный период
7 Смотрящий
 
29.12.16
15:08
Регистр небось оборотный ?
8 Это_mike
 
29.12.16
15:08
(7) ты гений!
именно так!
9 PZh
 
29.12.16
15:16
(7)
Нет, регистр остатков.
10 Cool_Profi
 
29.12.16
15:17
(6) "В случае если ТА - актуальна"
11 PZh
 
29.12.16
15:20
(2)
Спасибо. На самом деле в таблице движений с условием
spXXXХ <> 0
всего 174 записи. А в таблице итогов всего 2 строки по тому же условию. Так что я просто смотрю в это и не понимаю где и что сломалась? Похоже на глюк
12 Это_mike
 
29.12.16
15:41
(11) и что?
13 Это_mike
 
29.12.16
15:41
(11) выложи уж куда-ниебуть результаты запросов
14 Salimbek
 
29.12.16
15:59
(11) Поле debkred правильно учитываешь?
15 Это_mike
 
29.12.16
16:04
(14) прост ознаком отличалось бы
16 PZh
 
30.12.16
07:26
Разобрался.
Работает joba - оптимизатор, которая удаляет нулевые записи таблиц итогов. Когда накинули новый ресурс в регистр, про эту джобу забыли и вот она тихонько разрушает логику...
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший