- Как программно установить ширину колонки в табличном документе
- Табличный документ, ширина колонки
- Изменение колонок табличного документа СКД
- Управление настройкой колонок табличного поля
- Управление настройкой всех колонок табличного поля
- Управление настройкой отдельных колонок табличного поля
- Особенности работы с форматами строк табличного документа
- Создание формата строк
- Выделение и копирование
- Экспорт
Как программно установить ширину колонки в табличном документе
ШиринаКолонки (ColumnWidth)
Использование:
Чтение и запись.
Описание:
Тип: Число.
Содержит ширину колонок в области (в так называемых средних символах шрифта).
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
———————————————————————————
а может просто «Переносить» нуна сделать в параметрах ячеек?
Тип: Строка.
Имя области или адрес в формате «R1C1:R2C2», где число после «R» обозначает номер строки, число после «C» — номер колонки, символом «:» (двоеточие) разделяются координаты левого верхнего и правого нижнего угла области. В качестве имени также можно передавать пересечение двух областей, записываемое как » | «.
Тип: Число.
Номер первой строки области таблицы.
Номер первой колонки области таблицы.
Номер последней строки области таблицы.
Номер последней колонки области таблицы.
Описание варианта метода:
Если последняя строка и последняя колонка отсутствуют, то область задана единственной ячейкой. Если строки или колонки отсутствуют, то область задана диапазоном строк или колонок соответственно. Если метод вызван без параметров, то область задана всей таблицей.
Возвращаемое значение:
Тип: ОбластьЯчеекТабличногоДокумента; РисунокТабличногоДокумента.
Получает область табличного документа как область ячеек табличного документа либо как рисунок с указанным именем. Область может состоять из нескольких расположенных подряд строк или колонок либо быть прямоугольной областью таблицы.
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример:
Источник
Табличный документ, ширина колонки
(1) Я вот для таких случаев так пишу после вывода
(2) Так и сделала. криво. но.
(1) Я вот для таких случаев так пишу после вывода
(4) Данные в макете меняются. надо вычислять ширину колонок. поясню — есть печатная форма табеля.
В большинстве колонок 1 или 2 символа (8, 8К, УК, ОЖ) и так далее.. Для столбцов в макете выставлена ширина 4,5
Но бывают и изыски например — 24ДД. Тогда надо ширину колонки менять.
По идее это команда РастягиватьПоГоризонтали.
Область.РастягиватьПоГоризонтали=Истина.
Использование :
Чтение и запись.
Описание :
Тип: Булево.
Содержит признак того, что ширина колонки рассчитывается автоматически в зависимости от размера отображаемой области документа.
Доступность :
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Примечание :
Значение по умолчанию: Ложь.
Но я попробовал, что то слишком сильно растягивает, больше чем нужно для текста, а это тоже не удобно.
Еще для информации есть такая команда РежимИзмененияРазмераКолонки, которая по описанию включает выключает режим изменения ширины по двойному щелчку.
пОбласть.РежимИзмененияРазмераКолонки=РежимИзмененияРазмера.Обычный; выключен
пОбласть.РежимИзмененияРазмераКолонки=РежимИзмененияРазмера.БыстроеИзменение; включен
Но опять же, попробовал, этот режим всегда остается включенным (что конечно лучше чем выключен), но почему такие странности не понятно.
Источник
Изменение колонок табличного документа СКД
Мне нужно программно изменять ширину колонок табличного документа, который создается СКД с заданным макетом.
При попытке выполнить что-то в духе:
. я не вижу никакой реакции. Попытка через тот же код задать, например, цвет фона колонки приводит к непонятному результату: цвет меняется, однако результат выполнения СКД он не затрагивает никак (пример на приложенном скриншоте). При этом ширина раскрашенной области второй колонки уже, чем область выведенной второй колонки (это «Amount» на скриншоте).
Очевидно, я чего-то не знаю о принципах работы табличных документов 1С и / или формированию их в СКД. Возможно, кто-то подтолкнет в правильном направлении. Код (если это важно) пытаюсь выполнять в конце процедуры ПриКомпоновкеРезультата().
(1) bytecoded, там где не выделилось, в строках, свои колонки созданы.
Попробуйте выделить несколько строк и изменить ширину колонок. Почитайте внимательно текст!
(3) Agapov_Stas, к сожалению, не срабатывает. Думаю, это из-за использования кастомного макета СКД.
(2) dj_serega, работает. Но этот метод влияет на весь документ, несмотря на то, что установить размер колонок я пытаюсь для отдельных ячеек (например, на скриншоте видно, как установка ширины колонки Aging в первой таблице сплюснула колонку Balance в таблице ниже). При настройке макета СКД есть возможность убедиться, что колонки строк имеют ширину, независимую друг от друга?
(5) bytecoded, Я знаю про только визуальный метод.
Стали на ячеку и выделили колонку. Выделится только то что входит в группу.
Если ячейка в группе колонок из нескольких строк, то выделяться только колонки этих строк. Как-то так. Надеюсь понял о чем я.
Программно не смотрел. Так что если найдешь, пиши 😉
(6) dj_serega, понял. А каким образом можно разгруппировать строки макета, чтобы можно было задавать колонкам независимую ширину?
Например, на прикрепленном скриншоте видно, что в группу входят все строки, кроме второй; я хочу получить возможность разбить каждую строку на отдельную группу и управлять шириной колонок каждой группы независимо от остальных.
(7) Boneman, понял, спасибо. Попробую, если с макетом не получится — пытаюсь понять, как разбить его на отдельные, независимые друг от друга группы строк.
По-прежнему чего-то недопонимаю.
Итак, я создал для каждого фрагмента макета свой формат строк, проверил отсутствие привязки к другим фрагментам через выделение строк фрагмента + выделение колонки. Однако результирующий табличный документ все равно ведет себя так, как будто привязка существует: например, все колонки с цифрами в макете имеют ширину 14, но после генерации документа:
- Колонки с цифрами имеют разную ширину, отличную от 14 (например, колонка Amount на скрине имеет ширину 18, хотя везде, где встречается в макете, выставлена в 14 и в отдельный формат);
- Колонки выделяются так, как будто никакого формата строк не существует (т.е. выделяется полная вертикаль, хотя там чуть ли не каждая строка со своим форматом).
Соответственно, макет продолжает ехать по ширине. Куда имеет смысл посмотреть?
Поигрался немного с шириной колонок. Действительно, компоновка по-особенному подбирает ширину.
Зато стал понимать зачем нужен ИдентификаторТаблицы у объекта СтрокаТаблицыОбластиКомпоновкиДанных. Обратил внимание, что если у ячеек макетов разная ширина, но одинаковые идентификаторы, то они будут выведены в одном формате строк. Ширина колонки при этом будет подобрана как максимальная ширина всех входящих в колонку ячеек.
Теперь выполнение вот этого кода (обрати внимание на МакетКомпоновки.Макеты.Макет2.Макет[0].ИдентификаторТаблицы = «»;):
Приводит к такому результату. см вложение
Заголовок и детальная запись выведены в разных форматах строк.
(17) Armando, спасибо. Через программное искажение идентификаторов удалось добиться нужного эффекта. Не подскажешь, где можно прочитать подробнее про эти идентификаторы и порядок их назначения в стандартной обработке? Попробовал поискать информацию, но не нашел. Опасаюсь какого-то негативного эффекта от такого грубого вторжения в макет 🙂
Чистые 1с-ники — те, для которых жизнь за пределами 1с не существует
Условные 1с-ники — это мастадонты программирования, для которых 1с — просто диалект
Это была ода тем, которые видят дальше чем разработчики 1с
Источник
Управление настройкой колонок табличного поля
Существует два способа управления настройкой колонок :
Управление настройкой всех колонок табличного поля
Управлять настройкой сразу всех колонок табличного поля можно используя свойство табличного поля ИзменятьНастройкуКолонок . Данное свойство доступно из палитры свойств и из встроенного языка. Если данное свойство имеет значение Ложь , то табличному полю запрещена настройка колонок. Всем колонкам табличного поля запрещено изменять размер и позицию ( т.е. запрещено перетаскивание колонок ) , а также все свойства колонок, настраиваемые в диалоге настройки списка. Соответственно, в диалоге настройки списка становится доступной только закладка » Прочее » .
Данное свойство можно использовать, например, если необходимо создать табличное поле, содержащее фиксированный набор колонок и при этом требуется, чтобы все колонки оставались видимыми.
Управление настройкой отдельных колонок табличного поля
Управлять настройкой отдельных колонок табличного поля можно используя свойство колонки табличного поля ИзменятьНастройку . Данное свойство доступно из палитры свойств и из встроенного языка. Если данное свойство имеет значение Ложь , то колонке запрещено изменять размер и позицию, а также все свойства колонки, настраиваемые в диалоге настройки списка. Соответственно, в диалоге настройки списка данная колонка становится невидимой. Если всем колонкам табличного поля запрещено изменять настройку, то в диалоге настройки списка становится доступной только закладка » Прочее » . Также необходимо заметить, что если свойство ИзменятьНастройку имеет значение Истина , то существует возможность запретить изменение видимости или размера колонки используя для этого свойства колонки ИзменятьВидимость и ИзменениеРазмера соответственно.
Данное свойство можно использовать, например, если необходимо создать составную колонку, содержащую невидимые колонки и при этом необходимо чтобы невидимые колонки были недоступны в диалоге настройки списка.
Источник
Особенности работы с форматами строк табличного документа
Табличный документ платформы 1С:Предприятия позволяет использовать различную ширину колонок для различных строк. В данном разделе рассказывается, каким образом использовать данную возможность, описываются некоторые особенности использования данной возможности.
Создание формата строк
Для того чтобы создать новый формат строк (сделать у некоторых строк собственную ширину колонок), достаточно выделить строки, у которых необходимо изменить ширину колонки, и при помощи мыши изменить размер любой колонки. После изменения размера будет выдан запрос на создание нового формата строк. В случае подтверждения создания нового формата строк, для выделенных строк будет создан новый формат, и в дальнейшем, при изменении размеров колонок в данных строках, будут изменяться размеры колонок только в данных строках, остальные строки при этом затрагиваться не будут.
Для программной установки формата строк для определенной области табличного документа, следует воспользоваться методом СоздатьФорматСтрок() . После вызова метода строки, которые входили в область, для которой вызывался метод, будут иметь новый формат строк.
Выделение и копирование
Табличный редактор платформы 1С:Предприятие не позволяет осуществлять выделение прямоугольных областей, в которые входят несколько строк с различными форматами. Для копирования части документа, в которой присутствует более чем один формат строк, следует выделять строки целиком. Для этого можно с помощью мыши выделить заголовки строк, которые необходимо скопировать, либо воспользоваться комбинацией клавиш Alt+Shift+Вверх/Вниз.
Если при копировании строк табличного документа будут скопированы строки, у которых был установлен собственный формат строк, то при вставке таких строк в табличный документ данные строки будут также иметь отдельный формат строк. В случае если в документе, в который происходит вставка строк из буфера обмена, уже присутствуют строки с таким же форматом, вставляемые строки будут иметь тот же формат, что и присутствующие строки. Т.е. если скопировать строку с собственным форматом строк и вставить в документ, из которого было осуществлено копирование, то в документе будет две строки с одним форматом, и при изменении ширин колонок, будут изменяться ширины колонок обеих строк.
Вся выше сказанная информация о копировании строк с установленным форматом актуальна и для программного вывода строк в табличный документ — выводимые строки, которые в исходном документе имели одинаковый формат строк, будут выведены в результирующий документ с одним форматом строк.
Экспорт
Если табличный документ содержит строки с различным форматом строк, при выводе его в формат Microsoft Excel, настройки ширин колонок будут потеряны. Для того чтобы передать файл табличного документа и при этом сохранить оформление, можно воспользоваться экспортом табличного документа в формат HTML.
Источник