Имя: Пароль:
1C
1С v8
Помогите с расчетом ресурса (СКД)
,
0 2dolist
 
19.01.17
18:19
Добрый день. Пишу отчёт, в нём товары, количество и цены по разным видам цен. Предположим, товар один и имеет 2 типа цен, тогда в выборке получатся строки:
Товар1 - 500р - 1шт
Товар1 - 700р - 1шт

Когда это дело собирается в таблицу с иерархическим списком номенклатуры и разными колонками цен, количество в ресурсе считается через Сумма(Количество) и, естественно, получается 2 штуки.

Как сделать так, чтобы количество отображалось без задвоения по строкам?
1 CHerypga
 
19.01.17
18:27
(0) в СКД есть ВычислитьВыражениеСГруппировкойМассив()
2 shuhard
 
19.01.17
18:29
(1) + 1
а ещё в СКД есть связь наборов
3 2dolist
 
20.01.17
09:15
(2) связь наборов же так же даст строки в конечном итоге, а ресурсы считаются по строкам.

(1) ВычислитьВыражениеСГруппировкойМассив() сейчас покурю
4 aleks_default
 
20.01.17
09:21
"Как сделать так, чтобы количество отображалось без задвоения по строкам?" - где отображалось? В какой группировке?  
Может стоит просто добавить группировку по типу цен?
5 2dolist
 
20.01.17
09:28
http://prntscr.com/dxy6z2

В колонке Остаток
6 2dolist
 
20.01.17
10:11
что-то не разберусь. Вроде группировка массив что-то считает, но суммы странные получаются.

http://prntscr.com/dxyi48

в ресурсах задал для поля Остаток:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(Остаток)", "Остаток"))
7 2dolist
 
20.01.17
10:13
т.е. построчно-то вроде правильно, а в группировках неверные суммы.
8 2dolist
 
20.01.17
10:16
ааа, понятно почему - он одинаковые пропускает - убрал сумму чтоб посмотреть результаты по массивам.

http://prntscr.com/dxyjes

сейчас попробую выводить не максимумами, а как-то иначе.
9 2dolist
 
20.01.17
10:33
всё равно не получается ничего - либо не считает, либо суммы неверные выдаёт.

Можно поставить костыль - вычислить сколько разных видов цен и разделить на него количество суммируемое
10 2dolist
 
20.01.17
10:36
ещё раз перечитал описание выражения и сделал так:

Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(Остаток)", "Номенклатура")).

Т.е. не по остаткам считать, а по номенклатуре, ведь мы же, по сути, по номенклатуре строки сворачиваем, а ни по остаткам. И верные суммы получились.

Всем спасибо.
11 Windyhead
 
20.01.17
10:41
(3) Заблуждаешься. Делай через связь наборов. Твои предположения по расчету ресурсов ошибочны
12 2dolist
 
20.01.17
10:43
(11) уже сделал через ВычислитьВыражениеСГруппировкойМассив в (10)

В следующий раз попробую через связь наборов аналогичную задачу, спасибо за совет!
13 2dolist
 
20.01.17
10:43
заодно можно будет быстродействие сравнить
14 Windyhead
 
20.01.17
16:10
(13) угу поменять структуру отчета и убедиться что (10) снова не верно считает ресурсы по другим группировкам
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн