|
Итоги в СКД . Вопрос | ☑ | ||
---|---|---|---|---|
0
sergeytorop
26.11.13
✎
14:40
|
Мучаюсь с СКД. Точнее пишу отчет. Вся проблема в том что не подсчитать правильно сумму оплат по документу , то есть
Поставщик Сумма Оплата ООО "Рога" 10000 Документ №1 3000 6000 Материал№1 1000 3000 Материал№2 2000 3000 Документ №2 7000 7000 Материал№1 7000 7000 СуммаОплаты это реквизит шапки дока ,поэтому он попадет в каждую строку и при суммировании выдает суммы пропорционально количеству строк дока, в Скд я делитант может кто объяснить неучу куда копать.. |
|||
1
vicof
26.11.13
✎
14:42
|
Значит или запрос менять, или агрегирующую функцию
|
|||
2
vicof
26.11.13
✎
14:44
|
и это, правильно "дилетант"
|
|||
3
spu79
26.11.13
✎
14:48
|
а причем здесь СКД? Это запросом нормально считается. я временные таблицы в таких схемах использую, а так ... на вкус и цвет...
|
|||
4
sergeytorop
26.11.13
✎
14:48
|
Отчет на скд написан
|
|||
5
Новиков
26.11.13
✎
14:56
|
Попробуй ресурс СуммаОплаты рассчитать в итогах по группировке документа с какой-нибудь агрегирующей функцией, типа Минимум или Максимум.
|
|||
6
Новиков
26.11.13
✎
14:57
|
но общие итоги правильно все равно не получишь таким макаром.
|
|||
7
samozvanec
26.11.13
✎
14:57
|
+(5) или СРЕДНЕЕ
|
|||
8
vicof
26.11.13
✎
14:59
|
(6) +1. Поэтому на помощь приходит ВычислитьВыражениеСГруппировкойМассив()
|
|||
9
Necessitudo
26.11.13
✎
14:59
|
(О) Чтобы не было задублений в итогах, тебе нужны два набора данных. В одном шапка документа с ссылкой на документ, во втором - ТЧ документов с ссылкой на документ. Связываешь два набора по ссылке и СКД не будет дублировать итоги по документу. Проверено.
|
|||
10
Classic
26.11.13
✎
15:03
|
(0)
Сумму оплаты по материалам разбивать надо? если надо, то переписывай запрос если не надо, то (9) |
|||
11
spu79
26.11.13
✎
15:08
|
(4) - да на чем угодно, но считается это в запросе, с учетом (10).
|
|||
12
sergeytorop
26.11.13
✎
15:11
|
разбивать не надо по материалам, нужны только итоги по документу и по поставщикам, делал с функцией Максимум(СуммаОплаты) , но по документу нормуль а по поставщику нет.
|
|||
13
sergeytorop
26.11.13
✎
15:16
|
попробую два набора
|
|||
14
Necessitudo
26.11.13
✎
15:18
|
(13) Два набора или функция ВычислитьВыражениеСГруппировкойМассив().
|
|||
15
Aprobator
26.11.13
✎
15:20
|
два набора в топку - однозначно. Открываем справку в конфигураторе и там находим описание выражений и функций СКД. Только именно справку, а не СП.
|
|||
16
Aprobator
26.11.13
✎
15:21
|
я ресурсами себе вообще нумерацию делал по типу 1 1.1 1.2 и т.д..
|
|||
17
dj_serega
26.11.13
✎
15:21
|
имхо, для этого случая лучше "ВычислитьВыражение". А поле в нужном месте выводить через "Ресурсы".
|
|||
18
Necessitudo
26.11.13
✎
15:22
|
(15) Новички обычно вешаются от конструкций, которые предполагает написание выражений. Два набора проще гораздо. Та и оптимальнее - ведь запрос он же наверняка писал к ТЧ документа, а реквизиты шапки получал через точку от ссылки. Сколько вложенных запросов получается?)
|
|||
19
Aprobator
26.11.13
✎
15:23
|
(17) упс, а почему оплату не вывести не как ресурс?
|
|||
20
Aprobator
26.11.13
✎
15:24
|
(19) можно тупо сказать СКД, что это реквизит документа. В Данных в Пути к Данным прописываешь как Документ.Оплата и все дела.
|
|||
21
dj_serega
26.11.13
✎
15:25
|
(19) я про оплату и говорю.
Её вывод в нужное поле через колонку "Ресурсы" "Расчитывать по...". |
|||
22
Aprobator
26.11.13
✎
15:26
|
(21) он сейчас ее и сделал ресурсом. Но поскольку СуммаОплаты и так реквизит документа - зачем?
|
|||
23
Aprobator
26.11.13
✎
15:27
|
если только это для итогов ему надо.
|
|||
24
dj_serega
26.11.13
✎
15:31
|
(23) если я правильно понял, то ему так и нужно.
|
|||
25
Aprobator
26.11.13
✎
15:32
|
(24) больше похоже что ему тупо нужна общая сумма оплаты.
|
|||
26
sergeytorop
26.11.13
✎
15:33
|
нужна общая ,по поставщикам , и по документу
|
|||
27
dj_serega
26.11.13
✎
15:35
|
(26) У тебя есть отдельные данные по документам?
|
|||
28
sergeytorop
26.11.13
✎
15:38
|
в смысле??
|
|||
29
dj_serega
26.11.13
✎
15:41
|
(28) Вот сдесь http://infostart.ru/public/86764/ можешь почитать про ВЫЧИСЛИТЬВЫРАЖЕНИЕ().
С его помощью можно вывести ресурсы по группировкам. Тоесть по каждой группировке будет расчитан ресурс отдельно. |
|||
30
Aprobator
26.11.13
✎
15:46
|
(29) порвало. Реально кто то скопипастил справку и добавил картинок.
|
|||
31
Necessitudo
26.11.13
✎
15:51
|
(30) Там в комментариях один чувак пишет - "мол тут нифига не сказано про ВычислитьВыражениеСГруппировкойМассив()!" - и дает ссылку на книжку, которая является сканом учебника Хрусталевой. Круг замкнулся)
|
|||
32
sergeytorop
26.11.13
✎
15:53
|
пробую Вычислитьвыражение ,пока неполучается..
|
|||
33
dj_serega
26.11.13
✎
15:57
|
(32) У меня вот так работает, правда с вызовом общего модуля:
ВЫЧИСЛИТЬВЫРАЖЕНИЕ("ОбщийМодуль.ФункцияОбщегоМодуля(""Физлицо"", Период, ФизЛицо, &СписокКонтрагентов, &СписокФизлиц)","Физлицо"). Это для группировки "Физлицо". Аналогично только с другими параметрами для "Контрагенты". |
|||
34
Necessitudo
26.11.13
✎
16:05
|
(32) Тебе нужна ВычислитьВыражениеСГруппировкойМассив, говорили же.
|
|||
35
sergeytorop
26.11.13
✎
16:09
|
на вкладке ресурсы вставил функцию ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаОплаты)","Документ")) результат
14 870,66; 3 454,44; 1 741,8; 11 952,42; 6 967,24 опять же все суммы удвоеные |
|||
36
sergeytorop
26.11.13
✎
16:12
|
изменил на ВычислитьВыражениеСГруппировкойМассив("Максимум(СуммаОплаты)","Документ")) результат ок!! вопрос как теперь это в одночисло перевести
7 435,33; 3 454,44; 1 741,8; 5 976,21; 3 483,62 |
|||
37
Necessitudo
26.11.13
✎
16:12
|
(35) Максимум поставь.
|
|||
38
Necessitudo
26.11.13
✎
16:12
|
Одновременно)
|
|||
39
sergeytorop
26.11.13
✎
16:14
|
короче итоги тоже нормально ,только как этот массив обьединить теперь Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(СуммаОплаты)","Документ")) ) не прокатило
|
|||
40
Aprobator
26.11.13
✎
16:24
|
(39) Поставь в ресурсах рассчитывать По Общие Итоги. для этой формулы. А для той, что ты в (36) прописал - по всем остальным полям. В ресурсы одно и тоже поле можно добавлять несколько раз. Формулы расчета могут быть разные, главное чтобы поля расчета не пересекались.
|
|||
41
Aprobator
26.11.13
✎
16:25
|
+(40) а вообще - ты монстр. Я с этой гадостью куда дольше разбирался, а тут практически на ходу. Молодец.
|
|||
42
Necessitudo
26.11.13
✎
16:26
|
И учти, что если пишешь расчет итогов для вышестоящей группировки и ничего не пишешь для нижестоящей, то в ней рассчитывается все также как и в вышестоящей.
|
|||
43
Necessitudo
26.11.13
✎
16:26
|
(41) Потому что ему все сказали) Нам-то никто не говорил - вот и мучались)
|
|||
44
sergeytorop
26.11.13
✎
16:29
|
поставил по поставщику и по общим итогам все выводиться только в массиве ,пока ищу как его в число преобразовать..
|
|||
45
Aprobator
26.11.13
✎
16:30
|
как преобразовать ты написал в (39)
|
|||
46
Aprobator
26.11.13
✎
16:30
|
Только там для общего итога прокатит.
|
|||
47
Aprobator
26.11.13
✎
16:32
|
впрочем вру, там должно прокатить для всего, что выше документа находится.
|
|||
48
sergeytorop
26.11.13
✎
16:32
|
не катить, выводит массив((
|
|||
49
Necessitudo
26.11.13
✎
16:34
|
(48) Рассчитывай ресурс для уровня "Документ" - там поставь функцию "Максимум("СуммаОплаты"). Дальше для уровня "Поставщик" пиши вот это - Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаОплаты)","Документ")) )
|
|||
50
sergeytorop
26.11.13
✎
16:35
|
так и зделал, не катит
|
|||
51
sergeytorop
26.11.13
✎
16:36
|
есть
|
|||
52
Necessitudo
26.11.13
✎
16:36
|
А Среднее? Максимум? Вообще никакие агрегатные функции для массива не отрабатывают?
|
|||
53
sergeytorop
26.11.13
✎
16:37
|
просто первый раз наверно не правильно написал
|
|||
54
Aprobator
26.11.13
✎
16:37
|
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(СуммаОплаты)","Документ")) ) - так массив выводит? Не ВЕРЮ!
|
|||
55
sergeytorop
26.11.13
✎
16:37
|
не поставил скобу наверно,
|
|||
56
Necessitudo
26.11.13
✎
16:38
|
Наконец на мисте есть тема, в которой обсосано использование функции ВычислитьВыражениеСГруппировкойМассив())
|
|||
57
Aprobator
26.11.13
✎
16:38
|
(в (54) последняя скобка - лишняя
|
|||
58
sergeytorop
26.11.13
✎
16:38
|
выводит выводит, спасибо. Всем спасибо!! Дай вам Бог))))
|
|||
59
Aprobator
26.11.13
✎
16:39
|
(58) удачи! Здесь так далеко не всем помогают ) Зависит от помогающих, но большей частью от самого ТС.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |