|   |   | 
| 
 | Отчет с динамическим количеством колонок | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Надо при обходе проверять добавлены ли уже колонки и если добавлены то заполнять если нет присоединять?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |