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

Тема в разделе "1C и всё что с ней связано", создана пользователем olga13, 12 авг 2011.

  1. olga13

    olga13 Well-Known Member

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

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Не понятен замысел архитектора. Таб.ОбластьПечати(), нужна, когда программа вывела 5 столбиков, человек их видит. А когда печатает на принтер, Таб.ОбластьПечати() задает, что печатать только 3.
    В чем красота?

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

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

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0
    Я хочу, чтобы справа от таблицы не было пустого места, чтобы таблица была по ширине страницы. А у меня в исходной таблице 13 столбцов, а в сформированной - только 11. Но ширина таблицы все равно почему-то 13 (смотрела в отладчике), и на печать выводятся ПУСТЫЕ столбцы.
     
  4. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Повторюсь по-проще.
    Таб.ВывестиСекцию("Шапка"); есть в модуле?
     
  5. olga13

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0
    Код ( (Unknown Language)):
    Процедура ПечатьЧека(реж)

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

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

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

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

    КонецПроцедуры
     
  6. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Все правильно. Да уберите вообще "ОбластьПечати".
    Сформируйте отчет, нажмите меню Вид/Авторазбиение, посмотрите таблицу в предварительный просмотр.
     
  7. olga13

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0
    В том-то и дело, что менеджеры хотят сразу: сформировал отчет - и на печать. А лишние телодвижения их нервируют.
     
  8. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Естественно. Правильно хотят.
    Это Вы посмотрите - проблемы быть не должно.
    Выложите файл MXL.
     
  9. olga13

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0
    А как его выложить, стесняюсь спросить? По кнопочке "Загрузить" ругается:

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

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    упакуй в архив rar или zip
     
  11. olga13

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0
  12. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Я имел в виду выложить результат печати. Как это делать:
    - в модуле закомментируйте / удалите строку "Область печати"
    - в 1с нажать на кнопку которая печатает чек
    - меню Файл / Сохранить
    - упаковать
    - загрузить на форум.
     
  13. olga13

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0

    Посмотреть вложение Rez.rar
     
  14. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Отсутствовал в отпуске. Просматриваю старые вопросы.

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

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

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0
    Очень жаль, что моя невнимательность явилась причиной разочарования во всем человечестве. :)
    Спасибо за подсказку!
     
Загрузка...

Поделиться этой страницей