|
Как распечатать таблицу значений? | ☑ | ||
---|---|---|---|---|
0
D_Pavel
05.02.16
✎
10:54
|
Есть таблица значений с неизвестными заранее колонками.
Макета табличного документа нет. Как проще всего вывести таблицу значений на экран с возможностью печати? |
|||
1
ДенисЧ
05.02.16
✎
10:55
|
Запихнуть её в ТЧ обработки и юзать стандартный Вывести список
|
|||
2
D_Pavel
05.02.16
✎
10:55
|
ЗЫ: Программно, не добавляя макетов в конфигурацию.
|
|||
3
D_Pavel
05.02.16
✎
10:55
|
(1) Спасибо. Темку можно закрыть.
|
|||
4
Лефмихалыч
05.02.16
✎
11:04
|
(2) программно создать табличный документ и вывести в него программно же.
|
|||
5
D_Pavel
05.02.16
✎
11:11
|
(4) Не годится. Это хуже чем (1)
|
|||
6
aka AMIGO
05.02.16
✎
11:14
|
(0) была-б у тебя 7, я-б сказал, как сделать. Или выложил соответств. отчетик.
|
|||
7
Ёпрст
05.02.16
✎
11:16
|
(0)можно, через построитель, например:
Процедура ПечатьТаблицыЗначений(Объект) ПострПечать = Новый ПостроительОтчета; ПострПечать.ИсточникДанных = Новый ОписаниеИсточникаДанных(Объект); ПострПечать.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Зима); ПострПечать.Выполнить(); Для каждого Колонка Из ПострПечать.ВыбранныеПоля Цикл Колонка.Представление = Объект.Колонки[Колонка.Имя].Заголовок; КонецЦикла; ПострПечать.Вывести(); КонецПроцедуры |
|||
8
Cyberhawk
05.02.16
✎
11:18
|
||||
9
KuAl
05.02.16
✎
11:19
|
Как вариант универсальная функция: (откуда-то взята)
//Функция для печати таблицы значений в макет. //Параметры: П - Структура, в которой указывается сама ТЗ, макет, параметры Функция ТаблицаЗначенийВывести(П) Экспорт Перем ТЗ, //Таблица значений, выводимая в отчет Макет, //Макет, который используется для вывода в отчет, может отсутствовать Т, //Таблица, в которую выводить отчет, если не задана, создается ПараметрыШапки, //Параметры, передаваемые в шапку ПараметрыПодвала,//Параметры, передаваемые в подвал ИмяШапки, //Имя шапки в макете ИмяСтроки, //Имя строки в макете ИмяПодвала, //Имя подвала Показывать, //Показывать ли таблицу, по умолчанию истина Заголовок // Заголовок табличного документа ; П.Свойство("ТЗ", ТЗ); П.Свойство("Макет", Макет); П.Свойство("Т", Т); П.Свойство("ПараметрыШапки", ПараметрыШапки); П.Свойство("ПараметрыПодвала", ПараметрыПодвала); П.Свойство("Заголовок",Заголовок); Если НЕ П.Свойство("ИмяШапки", ИмяШапки) Тогда П.Вставить("ИмяШапки", "Шапка"); КонецЕсли; Если НЕ П.Свойство("ИмяСтроки", ИмяСтроки) Тогда П.Вставить("ИмяСтроки", "Строка"); КонецЕсли; Если НЕ П.Свойство("ИмяПодвала", ИмяПодвала) Тогда П.Вставить("ИмяПодвала", "Подвал"); КонецЕсли; Если НЕ П.Свойство("Показывать", Показывать) Тогда П.Вставить("Показывать", Истина); КонецЕсли; Если Т=Неопределено Тогда Т=Новый ТабличныйДокумент(); КонецЕсли; Если ИмяШапки<>Неопределено И Макет<>Неопределено Тогда Шапка=Макет.ПолучитьОбласть(П.ИмяШапки); Если ПараметрыШапки<>Неопределено Тогда Шапка.Параметры.Заполнить(ПараметрыШапки); КонецЕсли; Т.Вывести(Шапка); Иначе //выводим шапку Для Каждого Кол ИЗ ТЗ.Колонки Цикл Заг=СокрЛП(Кол.Заголовок); Заг=?(Заг="",Кол.Имя, Заг); Т.Область("R1C"+Формат(1+ТЗ.Колонки.Индекс(Кол), "ЧГ=")).Текст=Заг; Т.Область("R1C"+Формат(1+ТЗ.Колонки.Индекс(Кол), "ЧГ=")).Шрифт = Новый Шрифт(Т.Область("R1C"+Формат(1+ТЗ.Колонки.Индекс(Кол), "ЧГ=")).Шрифт,,10,Истина,); ; КонецЦикла; КонецЕсли; Для Каждого Стр ИЗ ТЗ Цикл Если ИмяСтроки<>Неопределено И Макет<>Неопределено Тогда Строка=Макет.ПолучитьОбласть(П.ИмяСтроки); Строка.Параметры.Заполнить(Стр); Т.Вывести(Строка); Иначе //выводим строки Для Каждого Кол ИЗ ТЗ.Колонки Цикл Т.Область("R"+Формат(2+ТЗ.Индекс(Стр), "ЧГ=")+"C"+Формат(1+ТЗ.Колонки.Индекс(Кол), "ЧГ=")).Текст=Стр[Кол.Имя]; КонецЦикла; КонецЕсли; КонецЦикла; Если ИмяПодвала<>Неопределено И Макет<>Неопределено Тогда Подвал=Макет.ПолучитьОбласть(П.ИмяПодвала); Если ПараметрыПодвала<>Неопределено Тогда Подвал.Параметры.Заполнить(ПараметрыПодвала); КонецЕсли; Т.Вывести(Подвал); КонецЕсли; Если П.Показывать Тогда Т.Показать(П.Заголовок); КонецЕсли; КонецФункции |
|||
10
Анцеранана
05.02.16
✎
11:31
|
Через отладчик, еще проще)
|
|||
11
D_Pavel
05.02.16
✎
11:48
|
(10) Мне как раз это и нужно! Расскажи как?
|
|||
12
Ёпрст
05.02.16
✎
11:54
|
(11) F2
|
|||
13
D_Pavel
05.02.16
✎
11:54
|
(7) Отличный вариант, спасибо
|
|||
14
D_Pavel
05.02.16
✎
11:56
|
(12) Брехня! F2 не распечатывается.
|
|||
15
lera01
05.02.16
✎
12:00
|
(11) Отладчик, точка останова после формирования ТЗ, просмотр ТЗ в отладчике и там сверху кнопочка вывести список.
|
|||
16
D_Pavel
05.02.16
✎
12:06
|
(15) О, точно! Спасибо. Не замечал этой маленькой иконки с принтером раньше.
|
|||
17
Ma3eIIa
05.02.16
✎
12:09
|
(16) ужас. а полоска длинная :)
|
|||
18
D_Pavel
05.02.16
✎
12:29
|
(7) А можно чтобы еще и расшифровка работала? Чтобы тыкнуть на "Товар" в ячейке и открылась карточка товара?
|
|||
19
Ёпрст
05.02.16
✎
12:37
|
(18) так воткни еще
ПострПечать .ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.Расшифровка; |
|||
20
Ёпрст
05.02.16
✎
12:39
|
если не покатит, пробуй .ЗначенияГруппировок в вид пихать
|
|||
21
Лефмихалыч
05.02.16
✎
12:53
|
(5) чем хуже? Чем (1)?..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |