![]() |
![]() |
![]() |
|
Отчет с динамическим количеством колонок | ☑ | ||
---|---|---|---|---|
0
goldwirt
01.10.12
✎
13:40
|
Делаю запрос, результат 4ре поля: Номенклатура, ТипЦен, Цена, Разница. Надо что бы результат выводился : в колонках ТипЦен и каждый тип цен разделен на 2е колонки(Цена и Разница), в строках - Номенклатура. но должна быть еще одна фиксированная колонка(ТипЦен конкретный, выводится только цена). Получается что надо делать фиксированный макет с 2мя колонками - "Номенклатура", "Минимальный"(ТипЦен), а остальные колонки(для каждого типа цена) должны присоединяться.
Я не понимаю как это осуществить. (группировки в запросе по номенклатуре и типу цен) |
|||
1
shuhard
01.10.12
✎
13:41
|
(0) а мы не понимаем, о чем с ТС говорить без фотки
|
|||
2
Zmich
01.10.12
✎
13:48
|
(0). Покажи код, как пытаешься сделать и в чем конкретно проблема.
|
|||
3
goldwirt
01.10.12
✎
14:01
|
Проблема в том что не понимаю метода присоединить. Как и когда присоединять,что в итоге присоединяется и как заполнять присоединенную область данными.
Мне бы пример отчета в котором присоединяются области, или какой нибудь отрывок кода... Только начала осваивать 1с и много чего пока не знаю. |
|||
4
Zmich
01.10.12
✎
14:32
|
(3) Ну примерно так:
Запрос = Новый Запрос; Запрос.Текст = "...."; // скажем, как у тебя - 2 группировки: по Номенклатуре и Типу цен // 2 вертикальные секции в макете - Номенклатура и // та, которую надо присоединять - ТипЦен ОбластьМакетаСтрокаНоменклатура = Макет.ПолучитьОбласть("Строка|Номенклатура"); ОбластьМакетаСтрокаТипЦен = Макет.ПолучитьОбласть("Строка|ТипЦен"); РезультатЗапроса = Запрос.Выполнить(); ВыборкаНоменклатуры = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура"); Пока ВыборкаНоменклатуры.Следующий() Цикл ОбластьМакетаСтрокаНоменклатура.Параметры.Номенклатура = ВыборкаНоменклатуры.Номенклатура; ТабДокумент.Вывести(ОбластьМакетаСтрокаНоменклатура); ВыборкаТиповЦен = ВыборкаНоменклатуры.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТипЦен"); Пока ВыборкаТиповЦен.Следующий() Цикл //... заполняешь параметры вертикальной секции ТипЦен ТабДокумент.Присоединить(ОбластьМакетаСтрокаТипЦен); КонецЦикла; КонецЦикла; |
|||
5
НЕА123
01.10.12
✎
14:34
|
(4)
эхххх. малай... весь форум без фотки оставил. |
|||
6
goldwirt
01.10.12
✎
15:15
|
Так я пробую, спасибо, уже стала ближе к результату, но пока далеко от понимания.
Пока такой вопрос: получается что нам надо в цикле после перехода на новую номенклатуру, изменять область "ОбластьМакетаСтрокаТипЦен" на область строкой ниже? А то все данные(для всех номенклатур) по типам цен выводятся в строку соответствующую первой номенклатуре. |
|||
7
Zmich
01.10.12
✎
16:25
|
(6). Чтобы выводилось строкой ниже, надо использовать Вывести, а не Присоединить. Внимательно пример посмотри в (4).
|
|||
8
goldwirt
01.10.12
✎
16:48
|
В верхенм цикле вывести во внутреннем присоединить, просто почему то при выполнении такого кода получается
Ном1 ТипЦен1 ТипЦен2 ТипЦен4 ТипЦен1 ТипЦен2 ТипЦен3 и т.д. все типы цен Ном2 , а должно быть: Ном1 ТипЦен1 ТипЦен2 ТипЦен4 Ном2 ТипЦен1 ТипЦен2 ТипЦен3 На самом деле есть еще и другие ошибки, но пока что не пойму эту. |
|||
9
zladenuw
01.10.12
✎
16:49
|
покаж выборку свою
|
|||
10
goldwirt
01.10.12
✎
16:50
|
Надо при обходе проверять добавлены ли уже колонки и если добавлены то заполнять если нет присоединять?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |