Табличный документ разная ширина колонок

Табличный документ, ширина колонки

(1) Я вот для таких случаев так пишу после вывода

(2) Так и сделала. криво. но.

(1) Я вот для таких случаев так пишу после вывода

(4) Данные в макете меняются. надо вычислять ширину колонок. поясню — есть печатная форма табеля.
В большинстве колонок 1 или 2 символа (8, 8К, УК, ОЖ) и так далее.. Для столбцов в макете выставлена ширина 4,5
Но бывают и изыски например — 24ДД. Тогда надо ширину колонки менять.

По идее это команда РастягиватьПоГоризонтали.
Область.РастягиватьПоГоризонтали=Истина.
Использование :
Чтение и запись.
Описание :
Тип: Булево.
Содержит признак того, что ширина колонки рассчитывается автоматически в зависимости от размера отображаемой области документа.
Доступность :
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Примечание :
Значение по умолчанию: Ложь.

Но я попробовал, что то слишком сильно растягивает, больше чем нужно для текста, а это тоже не удобно.

Еще для информации есть такая команда РежимИзмененияРазмераКолонки, которая по описанию включает выключает режим изменения ширины по двойному щелчку.
пОбласть.РежимИзмененияРазмераКолонки=РежимИзмененияРазмера.Обычный; выключен
пОбласть.РежимИзмененияРазмераКолонки=РежимИзмененияРазмера.БыстроеИзменение; включен

Но опять же, попробовал, этот режим всегда остается включенным (что конечно лучше чем выключен), но почему такие странности не понятно.

Читайте также:  Амбушюры для наушников huawei freelance pro

Источник

Как программно установить ширину колонки в табличном документе

ШиринаКолонки (ColumnWidth)
Использование:

Чтение и запись.
Описание:

Тип: Число.
Содержит ширину колонок в области (в так называемых средних символах шрифта).

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
———————————————————————————

а может просто «Переносить» нуна сделать в параметрах ячеек?

Тип: Строка.
Имя области или адрес в формате «R1C1:R2C2», где число после «R» обозначает номер строки, число после «C» — номер колонки, символом «:» (двоеточие) разделяются координаты левого верхнего и правого нижнего угла области. В качестве имени также можно передавать пересечение двух областей, записываемое как » | «.

Тип: Число.
Номер первой строки области таблицы.
Номер первой колонки области таблицы.
Номер последней строки области таблицы.
Номер последней колонки области таблицы.
Описание варианта метода:

Если последняя строка и последняя колонка отсутствуют, то область задана единственной ячейкой. Если строки или колонки отсутствуют, то область задана диапазоном строк или колонок соответственно. Если метод вызван без параметров, то область задана всей таблицей.
Возвращаемое значение:

Тип: ОбластьЯчеекТабличногоДокумента; РисунокТабличногоДокумента.

Получает область табличного документа как область ячеек табличного документа либо как рисунок с указанным именем. Область может состоять из нескольких расположенных подряд строк или колонок либо быть прямоугольной областью таблицы.

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример:

Источник

Ширина колонки в макете

Вывожу печатную форму, таблицу. Количество колонок может быть разным, это как пользователь галки поставит. Проблема в том, что если не выводим какие-то колонки, то остальные нужно растягивать на ширину.
Меняю ширину колонок например так:
[1с]
КолонкаЦены1 = МакетПрайса.Область(«ШапкаТаблицы|СтрокаЦена1»);
КолонкаЦены1.ШиринаКолонки = КолонкаЦены1.ШиринаКолонки*2;
[/1с]
Меняет всю колонку по отчету, и шапка документа тоже разъезжается. Смотрел примеры, вроде должно работать. Что я делаю не так?

[1с]
КолонкаЦены1 = МакетПрайса.Область(«СтрокаЦена1»);
КолонкаЦены1.СоздатьФорматСтрок();
КолонкаЦены1.ШиринаКолонки = КолонкаЦены1.ШиринаКолонки*2;

//вывод шапки таблицы
ОбластьШапкаНомер = МакетПрайса.ПолучитьОбласть(«ШапкаТаблицы|СтрокаНомер»);
ТабДок.Вывести(ОбластьШапкаНомер);
ОбластьШапкаНомен = МакетПрайса.ПолучитьОбласть(«ШапкаТаблицы|СтрокаНоменклатура»);
ТабДок.Присоединить(ОбластьШапкаНомен);
ОбластьШапкаХарак = МакетПрайса.ПолучитьОбласть(«ШапкаТаблицы|СтрокаКомментарий»);
ТабДок.Присоединить(ОбластьШапкаХарак);
//колонки цен
Если НаПечать1 Тогда
ОбластьШапкаЦена1 = МакетПрайса.ПолучитьОбласть(«ШапкаТаблицы|СтрокаЦена1»);
ЗаполнитьЗначенияСвойств(ОбластьШапкаЦена1.Параметры, СтруктураПечати);
ТабДок.Присоединить(ОбластьШапкаЦена1);
КонецЕсли;
Если НаПечать2 Тогда
ОбластьШапкаЦена2 = МакетПрайса.ПолучитьОбласть(«ШапкаТаблицы|СтрокаЦена2»);
ЗаполнитьЗначенияСвойств(ОбластьШапкаЦена2.Параметры, СтруктураПечати);
ТабДок.Присоединить(ОбластьШапкаЦена2);
КонецЕсли;
Если НаПечать3 Тогда
ОбластьШапкаЦена3 = МакетПрайса.ПолучитьОбласть(«ШапкаТаблицы|СтрокаЦена3»);
ЗаполнитьЗначенияСвойств(ОбластьШапкаЦена3.Параметры, СтруктураПечати);
ТабДок.Присоединить(ОбластьШапкаЦена3);
КонецЕсли;
Если НаПечать4 Тогда
ОбластьШапкаЦена4 = МакетПрайса.ПолучитьОбласть(«ШапкаТаблицы|СтрокаЦена4»);
ЗаполнитьЗначенияСвойств(ОбластьШапкаЦена4.Параметры, СтруктураПечати);
ТабДок.Присоединить(ОбластьШапкаЦена4);
КонецЕсли;
Если НаПечать5 Тогда
ОбластьШапкаЦена5 = МакетПрайса.ПолучитьОбласть(«ШапкаТаблицы|СтрокаЦена5»);
ЗаполнитьЗначенияСвойств(ОбластьШапкаЦена5.Параметры, СтруктураПечати);
ТабДок.Присоединить(ОбластьШапкаЦена5);
КонецЕсли;
[/1с]

(11) Вот я вывел шапку документа. Потом сделал СоздатьФормаСтрок(). Потом вывожу шапку таблицы, которая должна быть по моим новым размерам. Выводится чистая строка, и шириной колонок поумолчанию. Ничего не заполняет. ((

Попутно ищу как сделать вертикальную область, которая будет распространятся только на определенные строки. В других макетах вижу, не пойму как сделано. Встаю на одну горизонтальную область, появляются вертикальные области. Перехожу на другую горизонтальную область, вертикальные области пропадают.

Источник

Одинакова ли в табличном документе реальная ширина колонок с одинаковой номинальной шириной

Как этот факт был обнаружен.

Решалась задача выводить в печатную форму текст, являющийся смесью неподчёркнутых и подчёркнутых фрагментов. Насколько я знаю, возможность вывести строки с разной подчёркнутостью в одну ячейку табличного документа или их объединение пока отсутствует. Было решено: разбивать текст на куски, каждый из которых либо подчёркнут, либо нет; каждый кусок выводить в область-кирпичик, получаемую как объединение подходящего количества ячеек небольшой ширины; из полученных кирпичиков формировать итоговый табличный документ.

Небольшое отступление по поводу подчёркивания. Предпочтительным вариантом было использование нижней границы ячеек табличного документа, а не подчёркнутого шрифта, так как в случае использования нижней границы результирующая печатная форма больше похожа на типографскую форму, в которую впечатана информация из конкретного документа. Это пояснение — только для того, чтобы у читателя не было лишних вопросов, на суть статьи вариант подчёркивания не влияет.

Ещё одно пояснение — по поводу конечного результата. Нужна была печатная форма некоего документа. Распечатывать его планировалось, предварительно сохраняя табличный документ в формате PDF. Скорее всего, изображение, получаемое при печати табличного документа, — такое же, как и и при его сохранении в PDF, но на всякий случай замечу, что в рамках данной статьи под печатью понимается именно получение изображения через сохранение табличного документа в PDF.

Вернёмся к основной теме раздела.
Как формировалась печатная форма поясню на примере текста «Однажды, в студёную зимнюю пору».

Сначала в макете подбиралась область для вывода строки «Однажды», и эта область выводилась в результирующий табличный документ.

Затем в макете подбиралась область для вывода строки «в студёную», и эта область (только подчёркнутая) присоединялась к результирующему табличному документу.

Затем успешно отрабатывался вывод строки «зимнюю».

А вот на строке » пору» происходило неожиданное: область с подобранной шириной после присоединения к результирующему табличному документу эту строку уже не вмещала.

Сначала я грешным делом заподозрил, что метод табличного документа ПроверитьВывод, использовавшийся при подборе ширины области, работает не так, как алгоритм, определяющий необходимость переноса строк при печати. Оказалось, что зря. Проблему решило изменение алгоритма подбора области: её нужно было подбирать, используя те же колонки, в которых эта область оказывается после присоединения к табличному документу — результату.

Примечание: фраза, использованная в примере, является отвлечённой, и была использована только для того, чтобы нагляднее пояснить что было нужно и как это достигалось. На самом деле эффект был обнаружен при выводе другой строки. Для тех кто сомневается в достоверности описанного или просто хочет воспроизвести ситуацию — следующий раздел.

Как можно воспроизвести эффект:
— создём новый табличный документ;
— у первых 100 колонок устанавливаем ширину 1;
— у первой строки устанавливаем шрифт «Times New Roman, 12», авто-высоту строки и размещение текста «переносить»;
— в первой строке делаем два объединения ячеек: в колонках с 1 по 18 и с 22 по 39;
— в каждом объединении устанавливаем границу «сплошная» со всех сторон, вертикальное положение «Верх» и текст «50 гр.Однажды,».

Получим:

Далее нажимаем «Просмотр», смотрим что получается, нажимаем два раза «увеличить» и сравниваем с тем что было до увеличения:

Далее: выходим из просмотра, сохраняем табличный документ в файл PDF, и открываем его через Acrobat Reader. Видим следующее:

Замечаем: cтрока в первой области печатается без переноса текста на следующую строку, во второй области — с переносом. Налицо тот эффект, который был описан в анонсе.

Дополнительно, из сравнения того, как выглядел табличный документ, того, что мы видели при просмотре и того, что видно в PDF’е, нелишне зафиксировать:
— табличный документ выглядит не так, как он будет выглядеть после распечатки (см. примечание по поводу распечатки выше);
— на предварительный просмотр полагаться на 100% тоже нельзя: при просмотре табличного документа получаемые картинки зависят от масштаба.

Надеюсь подобные мелкие замечания не вызовут пессимизма в душе читателя. Как оказалось в результате решения описанной в предыдущем разделе задачи, успешно предсказывать перенос строк при печати и подбирать подходящие области позволяет использование метода ПроверитьВывод.

Что касается воспроизводимости эксперимента.

Думаю, что результаты, получаемые в описанном эксперименте, могут зависеть от платформы 1С. Поэтому уточняю: версия платформы, на которой я работал — 8.3.15.1830.
Далее. Уверен, что воспроизводимость эксперимента может зависеть и от факторов, лежащих вне платформы 1С. Поэтому учточню: я работал с «Windows 7 Профессинальная», Service Pack 1.

Источник

Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download

Объединение нескольких печатных форм в один табличный документ

Зачем это нужно, где это может пригодиться

Собственно, проблема, которая может возникнуть при присоединении одного табличного документа к другому в том, что строки документов изначально могут иметь один формат строк, но при этом разную ширину колонок. При присоединении одного такого документа к другому мы получим одну и туже ширину колонок табличного документа, т.е. документ будет выглядеть не так как вы ожидаете.

Рис.1. Ширина колонок изменилась и логотип сместился вправо.

При каких сценариях это происходит:

  • При объединении нескольких печатных форм в один табличный документ;
  • При дополнении отчета на СКД областью из своего макета.

Суть решения

Все просто — в момент присоединения одного табличного документа к другому мы создаем для него новый формат строк. По сути тоже самое, что происходит при интерактивном редактировании макета, когда вы выделяете строки и изменяете для них ширину столбца.

Рис.2. Табличный документ из двух частей. Создан новый формат строк.

Рис. 3. Вопрос в редакторе табличного документа при изменении ширины столбцов.

В качестве бонуса отчет на СКД с логотипом.

Тестировалось на платформе 8.3.13.1513

Скачать файлы

Специальные предложения

Коллеги доброго времени суток, есть функция которая получает сформированные Печатные формы(далее ПФ) у каждого табдока есть параметр «ШиринаТаблицы» для всех сформированных ПФ разный(зависит от макета) и объединяет их в большойТАбДОк.
При попытке вывести на печать наш большойТАбДОк (при условии что для него АвтоМасштаб = Истина) получается что та ПФ которая с меньшим параметром «ШиринаТаблицы» становится нечитаемым(скрин прилагается) . Хотелось узнать можно ли как то решить эту проблему не унифицируя все макеты ПФ?

ПЫСЫ: параметр ШиринаТаблицы недоступен для записи.

Обновление 17.11.18 22:36

См. также

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула Промо

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

29.12.2017 54515 38 agent00mouse 0

Источник

Оцените статью
Наименование Файл Версия Размер