Имя: Пароль:
1C
1С v8
СКД. Неверный расчет остатков по таблице "ОстаткиИОбороты"
0 Pro-tone
 
12.01.12
12:40
Понимаю, тема стара как сама СКД, но все же раньше не приходилось с этим сталкиваться, а вот теперь пришлось. Перепробовал советы с топиков ранее и советов из бесплатного видео от spec8 касаемо периода секунда. Тоже не помогает. Ошибка случается, когда в запрос добавляется поле выражения. При этом в ролях все указано у меня правильно. По крайней мере я так думаю.

Скрин отчета:
http://imglink.ru/pictures/12-01-12/3c20842cb48456f05dc643b399e02279.jpg

Скрин ролей:
http://imglink.ru/pictures/12-01-12/d98fbba2746f3f7872db0786fc191a21.jpg

Текст запроса:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   РасчетыСПокупателямиОстаткиИОбороты.Контрагент,
   РасчетыСПокупателямиОстаткиИОбороты.Договор,
   РасчетыСПокупателямиОстаткиИОбороты.Документ,
   РасчетыСПокупателямиОстаткиИОбороты.Заказ,
   ВЫБОР
       КОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаНачальныйОстаток > 0
           ТОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаНачальныйОстаток
       ИНАЧЕ 0
   КОНЕЦ КАК ДолгНамНач,
   ВЫБОР
       КОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаНачальныйОстаток < 0
           ТОГДА -РасчетыСПокупателямиОстаткиИОбороты.СуммаНачальныйОстаток
       ИНАЧЕ 0
   КОНЕЦ КАК ДолгНашНач,
   ВЫБОР
       КОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток < 0
           ТОГДА -РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток
       ИНАЧЕ 0
   КОНЕЦ КАК ДолгНашКон,
   ВЫБОР
       КОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток > 0
           ТОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток
       ИНАЧЕ 0
   КОНЕЦ КАК ДолгНамКон,
   РасчетыСПокупателямиОстаткиИОбороты.СуммаПриход,
   РасчетыСПокупателямиОстаткиИОбороты.СуммаРасход,
   РасчетыСПокупателямиОстаткиИОбороты.ПериодСекунда,
   РасчетыСПокупателямиОстаткиИОбороты.СуммаНачальныйОстаток,
   РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток
ИЗ
   РегистрНакопления.РасчетыСПокупателями.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСПокупателямиОстаткиИОбороты

УПОРЯДОЧИТЬ ПО
   РасчетыСПокупателямиОстаткиИОбороты.Документ.Дата
1 Buster007
 
12.01.12
12:47
эээ... и что же не правильно?
по-моему всё верно.
2 Pro-tone
 
12.01.12
12:51
(1) Конечный остаток должен быть 15131,14, а не 15354
3 Pro-tone
 
12.01.12
12:52
Долг нам д.б. 15131,14
Долг наш д.б. 0
4 Buster007
 
12.01.12
12:55
ВЫБОР
       КОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток < 0
           ТОГДА -РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток
       ИНАЧЕ 0
   КОНЕЦ КАК ДолгНашКон,
   ВЫБОР
       КОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток > 0
           ТОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток
       ИНАЧЕ 0
   КОНЕЦ КАК ДолгНамКон,
непонятно как по этим условиям должно получиться 15131,14?
вычти на калькуляторе из долг нам долг наш и будет тебе эта цифра
5 Fragster
 
гуру
12.01.12
12:56
меня как-то бухи попросили поменять конечное сальдо, но оборотов не менять...
6 Buster007
 
12.01.12
12:58
(5) справился?)))))
7 Pro-tone
 
12.01.12
12:58
(4)30485,14 - 15354 = 15131,1 но никак не равно 15354
8 Pro-tone
 
12.01.12
12:58
(7) 30485,14 - 15354 = 15131,14
9 Pro-tone
 
12.01.12
13:01
значение РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток выбранное в запросе  поле не равно значению

  ВЫБОР
       КОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток > 0
           ТОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток
       ИНАЧЕ 0
   КОНЕЦ КАК ДолгНамКон

хотя должно быть равно
10 Pro-tone
 
12.01.12
13:06
(5) ты сделал ? поди что-то противозаконное как всегда
11 Buster007
 
12.01.12
13:12
сделай на закладке Ресурсы у ресурса "ДОлг наш" по полю Контрагент расчет другой, например Сумма(СуммаКонечныйОстаток)
а по остальным оставь то, что есть сейчас
12 Pro-tone
 
12.01.12
13:16
(11) зачем ? я разделяю выражением отриц. значение - в долг наш, а положительные - в долг нам. А если я поставлю Сумма(СуммаКонечныйОстаток), то разделения не будет и будут отрицательные значения, мне этого не надо. Мне нужно чтобы правильно считала скд итоги по выражениям в полях запроса.
13 Buster007
 
12.01.12
13:55
(12) ну тогда уж определись, что тебе надо ) либо остаток по контрагенту сводный, либо с разбивкой по долг твой и долг поставщика...
14 Pro-tone
 
12.01.12
15:00
мне нужно чтобы корректно выводился остаток по выражению запроса, которое использует данные сводных остатков !
15 PVV65
 
12.01.12
15:07
Как то с трудом понимаю проблему. Попытаюсь догадаться. Наверное хочется свернуть итоги по заказам? Если так, то просто нарисуй правильно группировки.
16 Pro-tone
 
12.01.12
15:29
(15)
нет, мне нужно чтоб в колонку ДолгНам попадали суммы остатка если больше нуля, и в долг наш - то что меньше нуля, то есть  РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток разделялся на 2 колонки
17 Pro-tone
 
12.01.12
15:35
вот такая таблица правильная должна быть по группировке "договор"

долг нам (нач)  долг наш (нач)   расх     прих    долг нам (кон)   долг наш (кон)

0                    0        30485,14  15354,0    15131,14            0

Все чего тут непонятного ? Если бы все правильно отрабатывал скд так должно быть
18 Pro-tone
 
12.01.12
15:36
0    |     0   |     30485,14  | 15354,0   |  15131,14   |    0
19 PVV65
 
12.01.12
15:40
(18) Первый скрин нарисую, как должен быть, а в (18) - это итоговые строки (свернутое сальдо), а как должно быть в детальных?
20 PVV65
 
12.01.12
15:40
+(19) ... и СКД тут не причем.
21 Pro-tone
 
12.01.12
15:42
(19) пока так ни от кого и не увидел что у меня не так
22 PVV65
 
12.01.12
15:43
(21) Я пока не понял как должно быть?
23 Pro-tone
 
12.01.12
15:44
(22) быть должно как в (18)
24 viktor_vv
 
12.01.12
15:45
Че-то меня смущает

"30485,14 - 15354 = 15131,1 но никак не равно 15354"

совпадение твоего результата с приходом.
25 PVV65
 
12.01.12
15:46
(23) Это итоговая строка. А КАК ДОЛЖНО БЫТЬ В ДЕТАЛЬНЫХ (напротив заказов и документов)?
26 viktor_vv
 
12.01.12
15:46
(24)+ *результата остатка
27 Pro-tone
 
12.01.12
15:47
(24)  15131,14 я же поправился
28 Pro-tone
 
12.01.12
15:47
(25) в детальных записях все нормально, ненормально в итоговой строке
29 PVV65
 
12.01.12
15:51
(28) Тогда для итоговых строк надо писать другие формулы расчета на закладке Ресурсы.
30 PVV65
 
12.01.12
15:57
31 Pro-tone
 
12.01.12
16:17
(30) да
32 viktor_vv
 
12.01.12
16:24
У тебя сейчас в итоговых строках получается развернутое сальдо по документам.

Добавь еще ресурсы, укажи по каким измерениям считать. В выражении укажи

ВЫБОР
       КОГДА Сумма(РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток) > 0
           ТОГДА Сумма(РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток)
       ИНАЧЕ 0
   КОНЕЦ КАК ДолгНамКон
33 viktor_vv
 
12.01.12
16:24
А для детальных записей оставь поля из запроса.
34 viktor_vv
 
12.01.12
16:25
(32) *
ВЫБОР
       КОГДА Сумма(РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток) > 0
           ТОГДА Сумма(РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток)
       ИНАЧЕ 0
   КОНЕЦ
35 Pro-tone
 
12.01.12
16:31
(32) сделал так - ничего не поменялось, ресурсы считаются по договор, контрагент
36 Pro-tone
 
12.01.12
16:35
может для получения конечного остатка подключить вложенный запрос по таблице остатков , а ?
37 Pro-tone
 
12.01.12
16:41
не, не помогает
38 PVV65
 
12.01.12
17:16
(31)
1. В запросе в предложения ВЫБОР вместо нолей пишешь противоположный остаток, например

   ВЫБОР
       КОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаНачальныйОстаток > 0
           ТОГДА РасчетыСПокупателямиОстаткиИОбороты.СуммаНачальныйОстаток
       ИНАЧЕ -РасчетыСПокупателямиОстаткиИОбороты.СуммаНачальныйОстаток
   КОНЕЦ КАК ДолгНамНач

2. В Настройках добавляешь "Условное оформление" для полей ДолгНам, ДолгНаш - если это поле меньше 0 тогда текст = пробел.

Все
Основная теорема систематики: Новые системы плодят новые проблемы.