|
СКД проблема с итогами | ☑ | ||
---|---|---|---|---|
0
Jokerman
06.09.11
✎
10:18
|
Здрасте всем!
Посоветуйте, плз, как можно организовать итоги по такому принципу: Есть некая табличка Контрагент Договор Сумма Оплата Контр1 дог_А 50 40 Контр1 дог_А 50 10 Контр2 дог_А 60 60 Контр1 дог_В 40 40 В вышестоящей группировке (допустим день) в итоге колонки "сумма" было 150, а не 200, т.к. дог_А у Контр1 на сумму 50, а получается - 100. И все это в примилейшем СКД. Запрос поменять или выражение правильное поставить в вычисляемое поле. |
|||
1
Defender aka LINN
06.09.11
✎
10:20
|
2 набора данных
|
|||
2
Jokerman
06.09.11
✎
10:25
|
(1) Разделить "Сумма" и "Оплата" в разные наборы данных?
|
|||
3
Kerk
06.09.11
✎
10:34
|
(0) Насколько понял нужно группировку по контрагентам и договорам в запросе... а точнее в (2) все же, отдельно получай сумму и оплату потом соединяй.
|
|||
4
Jokerman
06.09.11
✎
10:40
|
(3) я понял, можно на моем примере. Я соединяю данные из документа (поля покупатель, договор, сумма) и регбухг субконто1, субконто2, суммаобороткт. Создаю 2 набора данных типа запрос. Потом на вкладке "связи наборов данных" ставлю "источник связи" -набор данных 1, "приемник" набор данных 2, "выражение источник" - контрагент, "выражение приемник" - субконто1, и также по договорам?
|
|||
5
Kerk
06.09.11
✎
10:42
|
(4) Будь проще! (ИХМО!) Сделай 2 промежуточные таблицы и все соединение в запросе.
|
|||
6
Jokerman
06.09.11
✎
10:43
|
(5) тоже думал так, но мне кажется все равно результат останется тот же
|
|||
7
Kerk
06.09.11
✎
10:45
|
(6) Тот же, но запрос можно быстро отладить в консольке. :) Можно и СКД отладить, но мне лично приятней работать с кодом запроса, чем с "фантастически рандомным" функционалом СКД. :)
|
|||
8
Defender aka LINN
06.09.11
✎
10:45
|
(5) Правильный ответ в (1). Иначе никак.
|
|||
9
Kerk
06.09.11
✎
10:47
|
(8) Если не сложно, приведи описание причин "Иначе никак".
|
|||
10
Jokerman
06.09.11
✎
11:01
|
(9) Да, да есть такое только что посмотрел в уроке по СКД, оказытся объединение с помощью СКД решит мою проблему, а запросом останется то же
|
|||
11
Defender aka LINN
06.09.11
✎
11:10
|
(9) В одной таблице 1 строка, в другой - 2, условию соединения удовлетворяю обе. Покажи мастер-класс, как в запросе соединить их так, чтобы строка из первой таблицы не задублировалась.
|
|||
12
Jokerman
06.09.11
✎
13:21
|
У меня получилась такая несуразица:
Группировка по месяцу и дню использую поле: НАЧАЛОПЕРИОДА(СчетДоговор.Договор.ДатаДоговора, МЕСЯЦ) НАЧАЛОПЕРИОДА(СчетДоговор.Договор.ДатаДоговора, ДЕНЬ) Выходит сначала все оплаты с пустой суммой договора, по незвестному месяцу и дню. Потом нормально по группировкам только без оплаты. Вобщем все строчки с оплатам перешли наверх с пустыми группировками. Как соединить все это? |
|||
13
Jokerman
06.09.11
✎
13:32
|
То есть раньше я использовал один набор данных с запросом и ЛЕВОЕ Соединение контрагент документа = субконто1, договор документа = субконто2. Сейчас создал 2 набора данных и одно соединение. Субконто1 переименовановал в контрагента, субконто2 в договор. Проблема с итогами решилась, но теперь оплаты не группруются по месяцам и дням!!!
|
|||
14
Axel2009
06.09.11
✎
13:35
|
сделай через объединить. и при выводе оплат фильтруй строки, где сумма <> 0.
|
|||
15
Jokerman
06.09.11
✎
13:47
|
(14) Объединить? Не совсем понял вас
|
|||
16
Axel2009
06.09.11
✎
13:49
|
выбор "контр1", 50 как сумма, 0 как оплата
объединить все выбор "контр1", 0 как сумма, 10 как оплата |
|||
17
Jokerman
06.09.11
✎
13:50
|
Вернуть к одному запросу? Нет-нет, решение очевидно, что через 2 набора данных и объединение
|
|||
18
Axel2009
06.09.11
✎
13:55
|
ты часом не путаешь соединить и объединить?
|
|||
19
Defender aka LINN
06.09.11
✎
14:00
|
(13) Кэп говорит, что по периодам тоже соединять было бы неплохо.
|
|||
20
Jokerman
06.09.11
✎
14:18
|
Да, да соединил, все равно петрушка выходит
|
|||
21
Jokerman
06.09.11
✎
14:21
|
Щас распишу общую картинку:
Первый набор: Контрагент Договор СуммаДоговора Месяц День Первый набор: Контрагент Договор СуммаОплаты Месяц День ДатаОплаты |
|||
22
Jokerman
06.09.11
✎
14:27
|
Что интересно информация о оплатах выходит за предыдущий год, хотя в параметрах регистра бухг начало задано. И за этот год выводит в разнобой, сначала строчки с суммой договора, потом с оплатой, насчет первого ничего не пойму, насчет второго: кажись что-то с ролями полей. Как правильно указать роль для "месяц" период 1, для "день" период 2?
|
|||
23
Jokerman
06.09.11
✎
14:30
|
Товарищи, а не проблема в том, что поля субконто1 и субконто2 РБ неопределенного типа?
|
|||
24
Jokerman
06.09.11
✎
14:35
|
Когда используешь объединение 2-ух наборов данных, то я как понял он соединяет по принципу, полей с одинаковым путем, а какое соединение это оказывается ЛЕВОЕ или ПРАВОЕ, простите если туплю, не пойму принцип работы ...
|
|||
25
Axel2009
06.09.11
✎
15:03
|
левое
|
|||
26
Jokerman
06.09.11
✎
15:08
|
(25) видимо нет или что то не так, в общем получилось?
Удалил набор - объединение, на вкладке связи все поставил, взлетело, ураааааааа!! |
|||
27
Jokerman
06.09.11
✎
15:09
|
(26) *в общем получилось!!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |