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

27.07.12

Разработка - Работа с интерфейсом

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

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

Молочников Олег Spb. 2012.

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

 

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

Что-б заголовок  выводился, убедитесь, что в схеме компоновки данных есть соответствующие настройки (текст заголовка может быть любым):

 

 

Сформировать программно заголовок отчета  нам поможет следующий код:

Настройки = КомпоновщикНастроек.Настройки;
ЗаголовокНастроек = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Title"));
ЗаголовокНастроек.Значение ="Сравнение остатков по взаиморасчетам в базе "+СокрНаимБазы1+" и "+СокрНаимБазы2;

 

Для формирования заголовков колонок используем заголовки из схемы в качестве шаблонов (“_1” и “_2” будут позже заменены на сокращенные наименования баз данных в примере ниже):

 

 

Тогда формирование имен колонок в любых выбранных пользователем полях можно сформировать простейшим кодом:

Для Каждого ВыбранноеПоле из Настройки.Выбор.Элементы Цикл
ДоступноеПоле =Настройки.ПользовательскиеПоля.ДоступныеПоляЗначений.НайтиПоле(ВыбранноеПоле.Поле);
ТекстЗаголовка= ДоступноеПоле.Заголовок;
ТекстЗаголовка=СтрЗаменить(ТекстЗаголовка,"_1",СокрНаимБазы1);
ВыбранноеПоле.Заголовок=СтрЗаменить(ТекстЗаголовка,"_2",СокрНаимБазы2);
КонецЦикла;

Готовый отчет будет выглядеть так:

 

 

 

PS: Надеюсь вам понравится эта и другие мои разработки на //infostart.ru/profile/48714/.

Очень жду ваших комментариев  и пожеланий.

Молочников Олег Spb. 2012.

 

См. также

Работа с интерфейсом Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    55300    17    23    

43

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    63692    44    59    

82

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    19543    27    6    

42

Работа с интерфейсом Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

1500 руб.

06.10.2020    10762    7    7    

11

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

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

20.08.2024    20787    mrXoxot    44    

128

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

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

27.05.2024    10273    smielka    37    

105

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    17734    1223    elcoan    53    

125
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
0. milkers 2943 27.07.12 12:44 Сейчас в теме
Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.

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


Перейти к публикации

1. Поручик 4661 27.07.12 15:06 Сейчас в теме
(0) Статья из серии: читал СП, много думал.

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

ЗаголовокНастроек = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Title"));
ЗаголовокНастроек.Использование = Истина;
ЗаголовокНастроек.Значение = "Что-то будет в заголовке";

А можно и проще
Настройки.ПараметрыВывода.УстановитьЗначениеПараметра("Заголовок", "Что-то будет в заголовке");

Ну и остальные параметры аналогично. Ещё раз перечитай СП, никаких хитростей нет.
maikl007; Serj1C; nsirotkin@mail.ru; alses; +4 Ответить
2. milkers 2943 29.07.12 09:52 Сейчас в теме
(1) Следует заметить,что использование
ЗаголовокНастроек.Использование = Истина
приведет к тому, что заголовок будет выводиться в не зависимости от настроек пользователя, что не всегда хорошо.
3. Hany 30.07.12 11:25 Сейчас в теме
ну и где сами хитрости?:)
4. alizgo 30.07.12 11:32 Сейчас в теме
(3) Hany, нет никаких хитростей. Просто 1С всегда позиционировала СКД как "создание отчетов без написания кода". Поэтому многие просто не догадываются даже, что там можно еще и кодом управлять выводом информации в отчет
5. milkers 2943 30.07.12 11:35 Сейчас в теме
(3) Сдесь два варианта: Либо вы такой опытный,что Вам все это кажется банальным. Либо Вы могли их не заметить по какой-либо другой причине :)
Трактор; +1 Ответить
6. Поручик 4661 30.07.12 19:25 Сейчас в теме
(3) Хитрости в использовании суффиксов полей и использовании СтрЗаменить() в цикле.
7. RustIG 1833 31.07.12 22:45 Сейчас в теме
Отличная статья в числе прочих статей на ИС!
(6) Друзья и коллеги, мы здесь делимся опытом. Зачем вам оценивать этот опыт? Жизнь оценит...
Хоть и спасибо за конструктивные замечания, Поручик. ;)
RomanRomans; +1 Ответить
8. пользователь 01.08.12 12:47
Сообщение было скрыто модератором.
...
9. mari0210 10 21.08.12 15:06 Сейчас в теме
здравствуйте! а что у Вас есть интересного для бюджета? занимаетесь БГУ? я бьюсь с отчетом акт сверки взаиморасчетов с разворотом по договорам не только оборотов ,но и остатков..пока получается не очень....
10. BaShaKo 16.12.21 12:02 Сейчас в теме
Не буду вдаваться в обсуждение "в чем хитрости и т.д.".
Спасибо! Вы мне помогли, выручили!
Оставьте свое сообщение