1с построитель отчета изменить ширину колонок

Программная доработка макета построителя отчета

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

Свойство построителя отчета «Макет»

Объект ПостроительОтчета имеет свойство Макет. Это свойство содержит макет — табличный документ, который будет использован для вывода отчета. В случае, когда данное свойство не установлено, построитель отчета генерирует макет автоматически при каждом доступе к значению данного свойства и использует сгенерированный макет для вывода отчета. Если программно изменить значение данного свойства, то построитель отчета перестает генерировать макет, а для вывода отчета будет использовать установленный макет. Для того чтобы построитель отчета продолжил автоматическую генерацию макета, необходимо «сбросить» свойство Макет, присвоив ему значение Неопределено.

Пример установки макета:

Пример сброса макета и получения автоматически сгенерированного макета:

Изменение сгенерированного макета

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

Читайте также:  Все кассетные автомагнитолы pioneer

В данном примере были изменены цвет фона и цвет текста во всем макете.

Изменение оформительских свойств для определенных полей

Если необходимо доработать формат некоторого поля, выводимого в отчет, необходимо найти ячейку, в которой располагается данное поле, и изменить значение формата в данной ячейке.

В приведенном примере в макете ищется поле Количество и устанавливается формат поля — два знака после запятой.

Аналогичным приемом можно воспользоваться для установки ширины колонки, в которой располагается поле.

Изменение полей для определенных группировок

Иногда возникает потребность исключения некоторых ресурсов из определенных группировок. Например, требуется выводить поле ВалютнаяСуммаОборот только для группировок, которые располагаются после группировки Валюта, и не выводить для всех вышестоящих группировок. Такой функциональности можно достичь, если доработать макет, удалив из группировок, которые находятся выше группировки Валюта, поле ВалютнаяСуммаОборот.

Работа с макетом оформления

При необходимости использования макета оформления для доработанных макетов следует установить построителю отчета макет оформления после доработки маета и вызвать метод построителя ОформитьМакет(). В приведенном ранее примере следует перед указанным кодом сбросить макет оформления построителя отчета, присвоив ему значение Неопределено, а после доработки макета установить требуемый макет оформления и вызвать метод ОформитьМакет().

Источник

Подсказки «1с»

Примеры по программированию в 1с 7.7, 8.1, 8.2

понедельник, 9 февраля 2015 г.

Настройка ширины колонок результата построителя отчета

Настройка ширины колонок (скрыть колонки) результата построителя отчета

Процедура ШиринаКолонок(Тд,МассивКолонокУдалить)
ТабличныйДокумент = Тд;
НачалоДанных = 0;

// Найдем в результирующем документе область шапки таблицы
ОбластьШапки = ТабличныйДокумент.Области.Найти(«ШапкаТаблицы»);

Если ТипЗнч(ОбластьШапки) = Тип(«ОбластьЯчеекТабличногоДокумента») Тогда

// Из шапки таблицы получим начальную строку с которой будем рассчитывать ширины
НачальнаяСтрока = ОбластьШапки.Верх;
НачалоДанных = ОбластьШапки.Низ + 1;

// Если область шапки таблицы не найдена, найдем область шапки строк
ОбластьШапки = ТабличныйДокумент.Области.Найти(«ШапкаСтрок»);

Если ТипЗнч(ОбластьШапки) = Тип(«ОбластьЯчеекТабличногоДокумента») Тогда

// Из шапки таблицы получим начальную строку с которой будем рассчитывать ширины
НачальнаяСтрока = ОбластьШапки.Верх;
НачалоДанных = ОбластьШапки.Низ + 1;

ШиринаТаб = ТабличныйДокумент.ШиринаТаблицы;
КолМасс = МассивКолонокУдалить.количество();//всегда должно быть меньше

Для Сч = 0 По КолМасс-1 Цикл
ТекущаяКолонка=ШиринаТаб-сч;
Зн = МассивКолонокУдалить.Получить(КолМасс-1-сч);
Если ПустаяСтрока(Зн) Тогда Продолжить;КонецЕсли;//В массиве указаны имена колонок на удаление, если нет нименования колонки — значит не удаляем

ТабличныйДокумент.Область(, ТекущаяКолонка, НачалоДанных, ТекущаяКолонка).ШиринаКолонки = 0;

Пример отчета, в котором настраивается ширина колонок результата постоителя отчета:

Источник

Как изменить размер колонок в отчете?

Есть ли возможность в 1С изменить размер колонок отчета так, чтобы изменение запомнилось программой? Каждый раз вынуждены раздвигать одни колонки и уменьшать ширину других. Хотелось бы ручной труд свести к минимуму. Это возможно?

Если вы перешли на Платформу 8.3.16, то для решения задачи выполните следующие действия:

  1. В сформированном отчете, например, Карточка учета страховых взносов : раздел Зарплата и кадры — Отчеты по зарплате кликните мышкой по любому полю таблицы отчета для активизации команд группы Таблица.
  2. Установите возможность редактировать отчет по кнопке Меню (три вертикальные точки) — Таблица — Вид — Редактирование .
  3. Выделите колонки, размер которых хотите изменить, например:
    • Январь ;
    • Февраль ;
    • Март ;
    • Апрель ;
    • Май ;
    • Июнь ;
    • Июль ;
    • Август ;
    • Сентябрь ;
    • Октябрь ;
    • Ноябрь ;
    • Декабрь .

Границы выделенных колонок помечаются желтыми линиями.

После переформирования отчета по кнопке Сформировать все выполненные настройки отчета сбрасываются.

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

См. также:

Если Вы являетесь подписчиком системы «БухЭксперт8: Рубрикатор 1С Бухгалтерия», тогда смотрите материалы по теме:

Если Вы еще не подписаны:

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

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Похожие публикации

Карточка публикации

Разделы:
Рубрика: ПРОМО: 1С Бухгалтерия / Работа с отчетами
Объекты / Виды начислений:
Последнее изменение: 30.03.2020

ID задана и содержит ID поста $termini = get_the_terms( $post->ID, ‘post_tag’ ); // так как функция вернула массив, то логично будет прокрутить его через foreach() foreach( $termini as $termin )< echo '' . $termin->name . »; > /* * Также вы можете использовать: * $termin->ID — понятное дело, ID элемента * $termin->slug — ярлык элемента * $termin->term_group — значение term group * $termin->term_taxonomy_id — ID самой таксономии * $termin->taxonomy — название таксономии * $termin->description — описание элемента * $termin->parent — ID родительского элемента * $termin->count — количество содержащихся в нем постов */ —>

(1 оценок, среднее: 5,00 из 5)

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Вы можете задать еще вопросов

Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8

Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>

Как не попасть в ловушку, работая с контрагентами из ЕАЭС

[29.10.2021 запись] Пообъектный учет ОС и подходы к определению и пересмотру СПИ

[14.10.2021 запись] 6-НДФЛ в 1С

[11.10.2021 запись] Учет ОС по-новому: ФСБУ 6/2020, ФСБУ 26/2020, ФСБУ 25/2018

Отчетность за 9 месяцев 2021 в 1С

ТОП-20 вопросов по 6-НДФЛ за 9 месяцев 2021

Спасибо за вебинар. Все понятно. Особенно нравятся ваши схемы — очень наглядно, легко запоминается.

Источник

Построитель отчета

Отчет сделан построителем отчета, без макета, одно из полей имеет размерность 1024 символов и выводится соответственно огромным полем, что крайне неудобно. Можно как то сделать без макета значение «Переносить»?

Процедура ВедомостьВыбытияОСВывести()
//<<КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ВЫПОЛНИТЬ(ВедомостьВыбытияОС)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны.

ПостроительОтчетаВедомостьВыбытияОС.Параметры.Вставить(«ДатаНачала», ДатаНачала);
ПостроительОтчетаВедомостьВыбытияОС.Параметры.Вставить(«ДатаОкончания», ДатаОкончания);
ПостроительОтчетаВедомостьВыбытияОС.Параметры.Вставить(«Передача», Перечисления.ВидыСобытийОС.Передача);
ПостроительОтчетаВедомостьВыбытияОС.Параметры.Вставить(«Списание», Перечисления.ВидыСобытийОС.Списание);
ПостроительОтчетаВедомостьВыбытияОС.Параметры.Вставить(«ЧастичнаяЛиквидация», Перечисления.ВидыСобытийОС.ЧастичнаяЛиквидация);

ПостроительОтчетаВедомостьВыбытияОС.Выполнить();
ВыбранныеПоля = ПостроительОтчетаВедомостьВыбытияОС.ВыбранныеПоля;
Поле = ВыбранныеПоля.Найти(«НаименованиеОбъекта»);
Если Не ОбщегоНазначения.ЗначениеНЕЗаполнено(Поле) Тогда
Поле.Представление = «Наименование объекта»;

КонецЕсли;
Поле = ВыбранныеПоля.Найти(«НачальнаяСтоимость»);
Если Не ОбщегоНазначения.ЗначениеНЕЗаполнено(Поле) Тогда
Поле.Представление = «Начальная стоимость»;
КонецЕсли;
Поле = ВыбранныеПоля.Найти(«ИнвНомер»);
Если Не ОбщегоНазначения.ЗначениеНЕЗаполнено(Поле) Тогда
Поле.Представление = «Инв. номер»;
КонецЕсли;
Поле = ВыбранныеПоля.Найти(«ГосНомер»);
Если Не ОбщегоНазначения.ЗначениеНЕЗаполнено(Поле) Тогда
Поле.Представление = «Гос. номер»;
КонецЕсли;
Поле = ВыбранныеПоля.Найти(«ПричинаСписания»);
Если Не ОбщегоНазначения.ЗначениеНЕЗаполнено(Поле) Тогда
Поле.Представление = «Причина списания»;
КонецЕсли;

ПостроительОтчетаВедомостьВыбытияОС.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;
ПостроительОтчетаВедомостьВыбытияОС.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
ПостроительОтчетаВедомостьВыбытияОС.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
Поле = ВыбранныеПоля.Найти(«НаименованиеОбъекта») ;
ПостроительОтчетаВедомостьВыбытияОС.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);
ПостроительОтчетаВедомостьВыбытияОС.МакетОформления.Вывод = ТипРазмещенияТекстаТабличногоДокумента.Переносить;
//ПостроительОтчетаВедомостьВыбытияОС.МакетОформления.ТекущаяОбласть.РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Переносить;
ЭлементыФормы.ПолеТабличногоДокумента.ФиксацияСверху = 4;
ЭлементыФормы.ПолеТабличногоДокумента.АвтоМасштаб = Истина;
ЭлементыФормы.ПолеТабличногоДокумента.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ПостроительОтчетаВедомостьВыбытияОС.ТекстЗаголовка = «Ведомость выбытия ОС (упр) за период с » + Формат(ДатаНачала,»ДЛФ=DD; ДП=-«) + » по » + Формат(ДатаОкончания,»ДЛФ=DD; ДП=-«);
ПостроительОтчетаВедомостьВыбытияОС.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);

Очень не хочется макет рисовать для десяти подобных отчетов, чувствую что дело тут в ерунде какой нибудь, гугл не помогает(

Источник

Как в 1С СКД изменить ширину колонок отчета

В 1С при создании отчетов с помощью системы компоновки данных (СКД) очень часть необходимо настроить ширину колонок отчета. Так как в большинстве случаев в отчет выводиться очень много данных и в все они могут не поместиться на экран монитора. Может быть и другая ситуация, например, в отчет выводиться колонка «Наименование» чего либо, по умолчанию ширина колонки при формирование отчета будет равна максимальному количеству символов в наименование, т.е если у вас все наименование примерно 15-20 символов но одно будет 30 то и ширина всей колонки будет 30, визуально все это будет смотреться не красиво. Поэтому при создании какого либо отчета об этом нужно подумать и ограничить максимальную ширину колонок.

Так же рекомендую ознакомиться со следующими статьями.

Настройка колонок в 1С СКД

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

Лучше сразу настроить ширину в СКД, тем боле что делается это очень просто. Открываем основную схему компоновки данных, в полях ищем нужную колонку и в правой части открываем оформление.

Далее ищем пункт «Максимальная ширина» и указываем необходимое количество символов.

Сохраняем и пробую сформировать отчет заново и видим что ширина колонки изменилась.

Все это необходимо продумывать на этапе создания отчета. Хороший отчет должен всегда помещаться на экран монитора пользователя.

Источник

Оцените статью