Универсальный 1С++ класс вывода таблицы значений в объекты Таблица или Текст с дополнительными возможностями

13.08.13

Разработка - Инструментарий разработчика

ПечатьТаблицыЗначений - это универсальный 1С++ класс для любых конфигураций 1С 7.7, который может представить данные из таблицы значений в виде объектов Таблица или Текст с предварительным или последующим форматированием ячеек, снабженными гистограммами, подобными Sparklines в Excel, и рассчитанными итогами.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Печать таблицы значений
.zip 28,81Kb ver:1.0
9
9 Скачать (1 SM) Купить за 1 850 руб.

Как это работает

Вся графика формируется текстовыми символами как в старые времена. Для вывода гистограмм в Таблицу выводим символы шрифтом Terminal (идея отсюда //infostart.ru/public/71675/), для текста используем символы "|", минус и пробел. Процедуру формирования ТЗ в Текст удобно использовать для формирования логов, отправки текстовых данных непосредственно в сообщении. Конечно для визуального восприятия потребуется моноширинный шрифт.

Установка

Просто подключите класс к конфигурации. Требуется 1С++ и FormEx.

Краткое описание класса

Поля

  1. Заголовок. Это поле выводится в качестве основного заголовка в Таблицу.
  2. Подзаголовок. Это поле выводится в качестве дополнительного заголовка в Таблицу.
  3. ФайлШаблона. Позволяет использовать внешний mxl файл в качестве исходной таблицы для изначального форматирования вывода. В нем должны находится все секции из базового mxl.

Методы

  • Процедура Инит(аКонтекст). После создания возможно инициализировать класс, передав в него вызывающий контекст. Это нужно делать, если требуется постобработка Таблицы после вызова процедур аКонтекст по событиям вывода ячеек или секций. Список событий см. ниже.
  • Функция Сформировать(Знач аТЗ, Знач аКолонкиИтогов = "", Знач аКолонкиГистограмм = "", Знач аКолонкиНевидимые = ""). Основной метод, возвращающий сформированнаю Таблицу.
    • аТЗ: ТаблицаЗначений или ИндексированнаяТаблица данных.
    • аКолонкиИтогов. Список названий колонок данных через "," для которых вывести суммовые итоги.
    • аКолонкиГистограмм. Список названий колонок данных через "," для которых добавить рядом колонки с графиками гистограмм. В конце имени колонки может присутствовать модификатор, который на график выведет соответствующее ему значение. Сейчас по модификаторам дополнительно выводится только сами значения. Планирую добавить разные модификаторы, например, вывод самих значений, долей и т.д.
    • аКолонкиНевидимые. Какие колонки исходной аТЗ не выводить в результирующую Таблицу. Если были добавлены колонки с гистограммами, то чтобы не дублировать данные, полезно скрыть колонки с исходными данными.
  • Функция ВТекст(Знач аТЗ). Выводить таблицу в текст. Границы рисуются символами "|" и "-". Выравнивание происходит пробелами.

События

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

  1. Процедура _НаВыводШапка(Знач аТаб). Вызывается после вывода шапки таблицы и передается аТаб - результирующая Таблица.
  2. Процедура _НаВыводЗаголовокЯчейка(Знач аТаб, Знач аНомерКолонки). Вызывается после вывода очередной ячейки заголовка таблицы, где аТаб - результирующая Таблица, а аНомерКолонки - номер выведенной колонки.
  3. Процедура _НаВыводЗаголовок(Знач аТаб). Вызывается после вывода заголовка таблицы и передается аТаб - результирующая Таблица.
  4. Процедура _НаВыводСтрокаЯчейка(Знач аТаб, Знач аНомерСтроки, Знач аНомерКолонки). Вызывается после вывода очередной ячейки очередной строки таблицы, где аТаб - результирующая Таблица, и позиция выведенной ячейки (аНомерСтроки, аНомерКолонки).
  5. Процедура _НаВыводСтрока(Знач аТаб). Вызывается после вывода завершения вывода очередной строки таблицы и передается аТаб - результирующая Таблица.
  6. Процедура _НаВыводИтогоЯчейка(Знач аТаб, Знач аНомерКолонки). Вызывается после вывода очередной ячейки итогов таблицы, где аТаб - результирующая Таблица, а аНомерКолонки - номер выведенной колонки.
  7. Процедура _НаВыводИтого(Знач аТаб). Вызывается после вывода всей строки итогов таблицы и передается аТаб - результирующая Таблица.

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


Использование

См. Пример_ПечатьТаблицыЗначений.ert.

ToDo

Добавить в вывод Текст формирование гистограмм другим символом.

Не изменять исходную таблицу методами Сформировать() и ВТекст().

 

ТЗ ИТЗ график гистограмма моноширинный таблица спарклайн sparkline

См. также

Инструментарий разработчика Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    22370    57    Gvozdod    8    

16

Инструментарий разработчика Системный администратор Программист Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    168652    1885    Alexoniq    1600    

499

Инструментарий разработчика Программист Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    33450    61    O-Planet    78    

49

Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21876    Reptile    5    

35

Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Встала недавно задача для одной организации, которая все еще на 1С 7.7 немного автоматизировать работу отдела продаж. А именно уйти от ручного заполнения договоров, сделанных юристами в MS Word. Договора от разных фирм и разного назначения отличались. Переводить их в таблицы 1С очень не хотелось и нашел способ прямо в файлах Word сделать небольшие дополнения, чтобы можно было печатать, используя именно эти заготовки юристов.

1 стартмани

14.07.2013    27710    56    adamx    11    

14

Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........

1 стартмани

21.02.2013    18379    36    MarSeN    14    

17

Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    36387    51    venger    7    

23
Оставьте свое сообщение