|
Ламерский вопрос | ☑ | ||
---|---|---|---|---|
0
panzer
10.04.12
✎
09:06
|
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
Пока Выборка.Следующий() Цикл ОбластьМакета.Параметры.Заполнить(Выборка); Таб.Вывести(ОбластьМакета,1); Таб.ЗакончитьГруппуСтрок(); КонецЦикла; хотел сгруппировать строки по покупателям, получаю ерунду |
|||
1
Wobland
10.04.12
✎
09:06
|
а где вопрос?
|
|||
2
Wobland
10.04.12
✎
09:07
|
отвечаю: НачатьАвтогруппировкуСтрок - цикл - ЗакончитьАвтогруппировкуСтрок
|
|||
3
DarKySiK
10.04.12
✎
09:08
|
Ты в СП пример посмотри чтоли. Там хороший есть на метод "Вывести" табличного документа.
|
|||
4
butterbean
10.04.12
✎
09:10
|
(0) а где НачатьГруппуСтрок()??
|
|||
5
panzer
10.04.12
✎
09:24
|
получается самая верхняя группировка включает в себе те которые ниже. и так для каждой
|
|||
6
butterbean
10.04.12
✎
09:28
|
(5) весь код покажи
|
|||
7
panzer
10.04.12
✎
10:23
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | Сделка.Ссылка КАК Документ, | Сделка.Покупатель КАК Покупатель, | Сделка.Менеджер, | Сделка.Фирма |ИЗ | Документ.Сделка КАК Сделка |ГДЕ | Сделка.ДатаОтгрузки >= &НачПериода | И Сделка.ДатаОтгрузки <= &КонецПериода | И Сделка.Статус <> &Статус | И НЕ Сделка.ПометкаУдаления |ИТОГИ ПО | Покупатель"; Запрос.УстановитьПараметр("НачПериода", Отчет.Период.ДатаНачала); Запрос.УстановитьПараметр("КонецПериода", Отчет.Период.ДатаОкончания); Запрос.УстановитьПараметр("Статус", Перечисления.Статусы.Отмена); РезультатЗапроса = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Таб = Новый ТабличныйДокумент; Макет = Отчеты.ОтчетПоОтсутствующимСФ_Покупатели.ПолучитьМакет("Макет"); ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.Заголовок = "Отсутствующие счета-фактуры покупателям по следующим сделкам по отгрузкам за " + Отчет.Период; ОбластьМакета.Параметры.Организ = Организ; таб.Вывести(ОбластьМакета); Таб.Вывести(Макет.ПолучитьОбласть("Шапка")); Таб.ФиксацияСверху=Макет.Области.Шапка.Низ; ПорядковыйНомер = 1; ОбластьМакета = Макет.ПолучитьОбласть("Строка"); Пока РезультатЗапроса.Следующий() Цикл Таб.НачатьГруппуСтрок(); ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ОбластьМакета.Параметры.Докум = Докум; ОбластьМакета.Параметры.Номер = ПорядковыйНомер; ПорядковыйНомер = ПорядковыйНомер + 1; ОбластьМакета.Параметры.ДатаОтгрузки = Формат(Докум.ДатаОтгрузки,"ДЛФ=Д"); ОбластьМакета.Параметры.Покупатель = Докум.Покупатель; ОбластьМакета.Параметры.ТипРеализации = Докум.ПокупательТипРеализации; ОбластьМакета.Параметры.Поставщик = Докум.Поставщик; ОбластьМакета.Параметры.СчетНаТовар = Докум.ПокупательСчетТовар; ОбластьМакета.Параметры.СчетНАЖД = Докум.ПокупательСчетЖД; ОбластьМакета.Параметры.Менеджер = Докум.Менеджер; ОбластьМакета.Параметры.Товар = Докум.Товар; ОбластьМакета.Параметры.Вес = Докум.Вес; Таб.ЗакончитьГруппуСтрок(); Таб.Вывести(ОбластьМакета); КонецЦикла; |
|||
8
butterbean
10.04.12
✎
10:26
|
(7) заканчивать группу строк нужно после вывода области
но у тебя тут вообще группировка не нужна т.к. уровень всего 1 |
|||
9
Ork
10.04.12
✎
10:27
|
(7)
Таб.НачатьГруппуСтрок(); ... Таб.ЗакончитьГруппуСтрок(); Таб.Вывести(ОбластьМакета); Всмысле начать, тут же закончить и только потом выводить? |
|||
10
panzer
10.04.12
✎
10:28
|
это я сюда с ошибкой скопировал.
|
|||
11
panzer
10.04.12
✎
10:28
|
всмысле группировка не нужна?
|
|||
12
butterbean
10.04.12
✎
10:29
|
(11) ну у тебя уровень-то всего один
или ты опять не весь код выложил?? |
|||
13
panzer
10.04.12
✎
10:31
|
ну вот вообщем покупатель должен разворачиваться, что не так?
|
|||
14
Ork
10.04.12
✎
10:33
|
(11) Что тебе нужно - решай сам. Логически правильно было бы :
ОбластьМакета = Макет.ПолучитьОбласть("Строка"); Таб.НачатьГруппуСтрок(); Пока РезультатЗапроса.Следующий() Цикл ... Таб.Вывести(ОбластьМакета); КонецЦикла; Таб.ЗакончитьГруппуСтрок(); |
|||
15
panzer
10.04.12
✎
10:35
|
в таком случае это все не будет одной большой группой?
|
|||
16
butterbean
10.04.12
✎
10:35
|
(13) ты на код в (7) посмотри - там ОДИН цикл ну и уровень соответственно один
|
|||
17
Ork
10.04.12
✎
10:36
|
(15) Будет.
|
|||
18
Serg_1960
10.04.12
✎
10:39
|
Ну ё-маю :(
Ты написал, что "РезультатЗапроса" - обход по группировка (дерево!), а далее написано - "РезультатЗапроса.Следующий()"... Ну и что ты получил в итоге? Детальные записи группы верхнего уровня кто считывать будет? "Дед Мазай и зайцы" :( Цикл чтения - вижу. Пусть горбатый - но есть. А где использование того что ты считываешь? Не вижу :( |
|||
19
Serg_1960
10.04.12
✎
10:42
|
Имхо: отступ строк со строки "РезультатЗапроса = ..." наводит на мысль что тс "выдрал" кусок алгоритма откуда-то, не понимая смысла его :(
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |