7.7 Ширина таблицы

olga13

Well-known member
10.10.2008
208
0
#1
Добрый день. У меня таблица с вертикальными секциями. В зависимости от режима, в результирующую таблицу может выводиться разное количество столбцов. Чтобы при печати выводилось красиво, пытаюсь задать область печати:
Таб.ОбластьПечати(,,, Таб.ШиринаТаблицы());
Но почему-то Таб.ШиринаТаблицы() всегда возвращает число столбцов в исходной таблице, независимо от того, сколько секций было присоединено.
Может, кто-нибудь подскажет, в чем дело?
 

Дайнеко

Well-known member
19.11.2009
951
0
#2
Не понятен замысел архитектора. Таб.ОбластьПечати(), нужна, когда программа вывела 5 столбиков, человек их видит. А когда печатает на принтер, Таб.ОбластьПечати() задает, что печатать только 3.
В чем красота?

Таб.ШиринаТаблицы(). Выдает число выведенных столбцов. Вы могли не заметить, сколько их вывели.

Код:
Таб.ВывестиСекцию("Шапка");
Таб.ВывестиСекцию("Строка|Название");
Если Нужно = 1 Тогда
Таб.ПрисоединитьСекцию("Строка|СтолбикИнфо");
Конец
Так вот первая команда вывела все столбики из исходной.
 

olga13

Well-known member
10.10.2008
208
0
#3
Не понятен замысел архитектора.
Я хочу, чтобы справа от таблицы не было пустого места, чтобы таблица была по ширине страницы. А у меня в исходной таблице 13 столбцов, а в сформированной - только 11. Но ширина таблицы все равно почему-то 13 (смотрела в отладчике), и на печать выводятся ПУСТЫЕ столбцы.
 

olga13

Well-known member
10.10.2008
208
0
#5
Повторюсь по-проще.
Таб.ВывестиСекцию("Шапка"); есть в модуле?
Код:
Процедура ПечатьЧека(реж)

Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Чек");
Таб.ВывестиСекцию("Шапка|Товар");
Если ФлСкидка = 1 Тогда
Таб.ПрисоединитьСекцию("Шапка|Скидка");
КонецЕсли;
Если реж = 2 Тогда
Таб.ПрисоединитьСекцию("Шапка|НДС");
КонецЕсли;
Если реж = 3 Тогда
Таб.ПрисоединитьСекцию("Шапка|СуммыВал");
КонецЕсли;
Таб.Опции(0,0,Таб.ВысотаТаблицы(),0,,"Товарный Чек");

ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Таб.ВывестиСекцию("Строка|Товар");
Если ФлСкидка = 1 Тогда
Таб.ПрисоединитьСекцию("Строка|Скидка");
КонецЕсли;
Если реж = 2 Тогда
Таб.ПрисоединитьСекцию("Строка|НДС");
КонецЕсли;
Если реж = 3 Тогда
Таб.ПрисоединитьСекцию("Строка|СуммыВал");
КонецЕсли;
КонецЦикла;

Таб.ВывестиСекцию("Подвал|Товар");
Если ФлСкидка = 1 Тогда
Таб.ПрисоединитьСекцию("Подвал|Скидка");
КонецЕсли;
Если реж = 2 Тогда
Таб.ПрисоединитьСекцию("Подвал|НДС");
КонецЕсли;
Если реж = 3 Тогда
Таб.ПрисоединитьСекцию("Подвал|СуммыВал");
КонецЕсли;

Таб.ОбластьПечати(1, 1,, Таб.ШиринаТаблицы());
Таб.ПараметрыСтраницы(1,,,,,,,,,1,,);
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать ТоварнЧек","");

КонецПроцедуры
 

Дайнеко

Well-known member
19.11.2009
951
0
#6
Все правильно. Да уберите вообще "ОбластьПечати".
Сформируйте отчет, нажмите меню Вид/Авторазбиение, посмотрите таблицу в предварительный просмотр.
 

olga13

Well-known member
10.10.2008
208
0
#7
Все правильно. Да уберите вообще "ОбластьПечати".
Сформируйте отчет, нажмите меню Вид/Авторазбиение, посмотрите таблицу в предварительный просмотр.
В том-то и дело, что менеджеры хотят сразу: сформировал отчет - и на печать. А лишние телодвижения их нервируют.
 

Дайнеко

Well-known member
19.11.2009
951
0
#8
Естественно. Правильно хотят.
Это Вы посмотрите - проблемы быть не должно.
Выложите файл MXL.
 

olga13

Well-known member
10.10.2008
208
0
#9
Естественно. Правильно хотят.
Это Вы посмотрите - проблемы быть не должно.
Выложите файл MXL.
А как его выложить, стесняюсь спросить? По кнопочке "Загрузить" ругается:

Неудачная загрузка. Вам запрещено загружать такой тип файлов
 

Дайнеко

Well-known member
19.11.2009
951
0
#12
Я имел в виду выложить результат печати. Как это делать:
- в модуле закомментируйте / удалите строку "Область печати"
- в 1с нажать на кнопку которая печатает чек
- меню Файл / Сохранить
- упаковать
- загрузить на форум.
 

olga13

Well-known member
10.10.2008
208
0
#13
Я имел в виду выложить результат печати. Как это делать:
- в модуле закомментируйте / удалите строку "Область печати"
- в 1с нажать на кнопку которая печатает чек
- меню Файл / Сохранить
- упаковать
- загрузить на форум.

Посмотреть вложение Rez.rar
 

Вложения

  • 46.3 КБ Просмотры: 38

Дайнеко

Well-known member
19.11.2009
951
0
#14
Отсутствовал в отпуске. Просматриваю старые вопросы.

Эх-х! (на лице разочарование в человечестве) :)
Да у Вас, гражданочка, результат не соответствует макету!
_____.JPG
Посмотрите на концовку. После вывода сумм (секция "Подвал") читаем про работу склада.
_________.JPG

Как говорил юморист: "И не надо лохматить бабушку!".
В правильно сделанной таблице метод "ОбластьПечати" не нужен.
Больше к этому вопросу не возвращаюсь.
 

Вложения