Имя: Пароль:
1C
1С v8
Помогите свернуть
, ,
0 mau89
 
21.05.13
08:53
Здравствуйте в общем не могу додумать как свернуть результат запроса.
результат получается таким
ФИО    / результат/ПочтовыйСбор/ Получатель
Иванов / 1500     / -          / Иванова И.И.
Иванов / 1500     / -          / Иванова П.П.
Иванов /          / 100        / -
Петров /500       / -          / Петрова П.П.
Петров / 500      / -          / Петрова И.И.
Сидоров/1000      / -          / Сидорова С.С.
Сидоров/          / 200        / -
Михайлов/         / 300        / -
Михайлов/10000    / -          / Михайлова М.М.

Нужно свернуть по ФИО, чтоб результат получился таким

ФИО    / результат/ПочтовыйСбор/ Получатель
Иванов / 1500     / -          / Иванова И.И.
Иванов / 1500     / 100        / Иванова П.П.
Петров /500       / -          / Петрова П.П.
Петров / 500      / -          / Петрова И.И.
Сидоров/1000      / 200        / Сидорова С.С.
Михайлов/10000    / 300        / Михайлова М.М.

Если просто сворачивать
РезультатЗапроса.Свернуть("ФИО, Получатель", "результат, почтовыйсбор");, то не сворачивает, что я делаю не так?
1 mikecool
 
21.05.13
08:55
у тебя разные все фио и получатели, ваш кеп
2 scanduta
 
21.05.13
08:55
Так просто сверткой не получится
3 mau89
 
21.05.13
08:56
(2) по этому я и обратился, у меня мыслей нет просто как это реализовать
4 scanduta
 
21.05.13
08:57
Иванов / 1500     / -          / Иванова И.И.
Иванов / 1500     / -          / Иванова П.П.
Иванов /          / 100        / -


определись для начала по какому алгоритму ты эту сотку распределять будешь
5 Serg_1960
 
21.05.13
09:00
У этих пчёл какой0то неправильный почтовый сбор - абстрактный :)
6 mau89
 
21.05.13
09:02
(4) в запросе есть данные на получателя почтового сбора, т.е я могу узнать кому она будет распределяться
(5) не то слово :)
7 Serg_1960
 
21.05.13
09:04
Сначало по "ФИО" суммировать "результат" и "почтовый сбор", а потом объединить с "ФИО"/"Получатель", пропорционально разделяя "почтовый сбор" каждому... как-то типа так
8 EugeniaK
 
21.05.13
09:04
(6) Вопрос в том, сумму сбора нужно отнести на последнюю строку по получателю, разбить по 50 руб на 2 строки, любой вариант подходит.
9 mau89
 
21.05.13
09:06
(7) так не получиться, если сворачивать по фио, то тот же иванов будет платить 3000, одной, а надо по 1500 двум.
(8) на кого 100 р почтового сбора повесить я знаю
10 EugeniaK
 
21.05.13
09:09
Как, вариант, в пакетном запросе сделать временную таблицу с итогами
Иванов / 3000     / 100        / Иванова П.П.
Сидоров/1000      / 200        / Сидорова С.С.
Михайлов/10000    / 300        / Михайлова М.М.

И потом ее соединять с начальной
ФИО - из исходной
результат - из исходной
ПочтовыйСбор - из итогов (либо выбираешь по какому-то принципу строку с получателем либо размазываешь как почтовыйСбор*РезультатИсходный/РезультатИтоги)
Получатель - из исходной
11 боксер
 
21.05.13
09:22
В полях Результат и почтовый сбор должны быть числа, а не -
12 mau89
 
21.05.13
09:24
(10) чет не совсем понял, как это реализовать, и как должно выглядеть в итоге
(11) - это для наглядности, там пустое значение
13 cw014
 
21.05.13
09:26
Попробуй в "ресурсах" таблицы вместо "-" ставить 0
14 боксер
 
21.05.13
09:45
(12) пустое это ноль?
должно все сворачивать
а выгружать в тз и сворачивать пробовал?
15 mau89
 
21.05.13
09:50
(14) ну по крайней мере если сворачивать вот так
РезультатЗапроса.Свернуть("ФИО", "результат, почтовыйсбор");
то все сворачивает, а если добавляется получатель то не хочет
16 боксер
 
21.05.13
09:55
получатель значит составной тип или не фиксир. длины строка
17 cw014
 
21.05.13
09:57
Иванов / 1500     / -          / Иванова П.П.
Иванов /          / 100        / -

А как он должен угадать, что получатель должен быть "Иванова П.П." а не "Иванова И.И."???
18 mau89
 
21.05.13
10:02
(16) ага, спасибо, взял другой получателя, и все заработало (17) в этом была проблема, он не мог свернуть по получателю, нашел другого где данные есть кому эту 100 писать, свернуло
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн