Имя: Пароль:
1C
1С v8
вывод таблицы значений в макет
0 Ilya Nikolaevich
 
05.08.13
11:16
есть проблема, формирую таблицу значений с двумя колонками "Номер" "Наименование" , пытаюсь их вывести в макет, НО формируется одна запись на одном листе...в итоге у меня получается 94 листа, вместо одного с 94 записями(например) как обойти эту штуку?

ОблАдресаОбъектов = Макет.ПолучитьОбласть("ОблАдресаОбъектов");
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
                   |    АдресаОбъектов.Владелец,
                   |    АдресаОбъектов.Наименование
                   |ИЗ
                   |    Справочник.АдресаОбъектов КАК АдресаОбъектов
                   |ГДЕ
                   |    АдресаОбъектов.Владелец = &Корреспондент";
        Запрос.УстановитьПараметр("Корреспондент",ЭтотОбъект.Корреспондент);
        Выборка = Запрос.Выполнить().Выбрать();
        Номер = 1;
        ТаблЗнач = Новый ТаблицаЗначений;                                                      
        ТаблЗнач.Колонки.Добавить("Номер",,"НомерОбъекта");
        ТаблЗнач.Колонки.Добавить("Наименование",,"АдресОбъекта");
        Пока Выборка.Следующий() Цикл
            ТекСтрока = ТаблЗнач.Добавить();
            ТекСтрока.Номер = Номер;
            ТекСтрока.Наименование = Выборка.Наименование;
ОблАдресаОбъектов.Параметры.НомерОбъекта = Номер;
ОблАдресаОбъектов.Параметры.АдресОбъекта = Выборка.Наименование;
ТабличныйДокумент.Вывести(ОблАдресаОбъектов);
                        
            Если (Номер = 33) или (Номер = 70) или (Номер = 100) Тогда
              ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
          КонецЕсли;
          Номер = Номер+1;
          
      КонецЦикла;
1 pessok
 
05.08.13
11:18
Если (Номер = 33) или (Номер = 70) или (Номер = 100) Тогда
              ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
          КонецЕсли;


открой для сбея ПроверитьВывод();

  ТаблЗнач = Новый ТаблицаЗначений;                                                      
        ТаблЗнач.Колонки.Добавить("Номер",,"НомерОбъекта");
        ТаблЗнач.Колонки.Добавить("Наименование",,"АдресОбъекта");
        Пока Выборка.Следующий() Цикл
            ТекСтрока = ТаблЗнач.Добавить();
            ТекСтрока.Номер = Номер;
            ТекСтрока.Наименование = Выборка.Наименование;


открой для себя Запрос.Выполнить.Выгрузить();
2 Галахад
 
гуру
05.08.13
11:21
Наверное горизонтальный разделитель в самой таблице.
3 dka80
 
05.08.13
12:52
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();

есть функция ПроверитьВывод или как то так - сама проверяет влезает ли на страницу
а (2) наверное прав
4 Ilya Nikolaevich
 
05.08.13
13:51
у меня есть вопрос: можно ли данные выборкой занести в одну структуру, и в макете добавить один параметр, который будет выводить эту таблицу?!если можно то какими средствами?!