IE 2017

класс ПоказТаблиц

Программирование - Инструментарий

Класс внешней компоненты 1с++, наследник класса "ТабличноеПоле". Служит для отображения данных Документа, ТаблицаЗначений, ИндексированнаяТаблица.
Для отображения используется встроенный класс 1с++ "ТабличноеПоле";
есть возможность пользоваться его возможностями, такими как изменения порядка следования колонок, видимостью колонок.
В подвале выводится итог по числовым колонкам;
При клике на заголовках производится сортировка по соответствующим колонкам.
F5 - производится обновление отображаемых данных.

---
Методы:
Показать(ИсходныеДанные,ЗаголовокФормы="",Колонки="",ЧисловыеКолонки="",ВычисляемыеКолонки="")

ИсходныеДанные - Документ, ТаблицаЗначений, ИндексированнаяТаблица; исходные данные для показа.
Если ИсходныеДанные, то показывается шапка документа и, если есть, табличная часть - на дополнительной
закладке;

ЗаголовокФормы - необязательный; передается заголовок формы показа;

Колонки - необязательный; колонки, которые будут выведены в табличной части;
при этом невидимые колонки возможно показать из поля "i".
Если не задан - показываются все колонки. Если ИсходныеДанные - документ,
то для показа колонки с номером строки документа задается идентификатор "НомерСтроки";

ЧисловыеКолонки - необязательный; колонки, которые будут выводится с горизонтальной ориентацией
"справа", и по ним будет показан подвал; если параметр не задан, числовые колонки определяются автоматически,
если это возможно;

ВычисляемыеКолонки - необязательный. Задает начальное значение строки с описанием вычисляемых
колонок в поле на закладке "Вычисляемые колонки"
----

Добавление вычисляемых колонок:
добавление производится командой формата
НоваяКолонка(Идентификатор,Тип,Выражение), где

Идентификатор - идентификатор новой колонки;
Тип - 1 - число; 2 - не число. Если тип равен 1, то колонка выводится как числовая, т.е. по тому же
принципу, что колонки, заданные в параметре ЧисловыеКолонки метода Показать();
Выражение - выражение на языке 1с, в котором возможно использовать арифметические операции
с существующими в показываемом объекте колонками, а также с добавленными колонкам.
Возможно использовать функции из глобального модуля, определенные как экспорт.
Вычисления значений колонок производятся в том же порядке, как они заданы в строке вычисляемых колонок.

разделение между командами добавления колонок - разделительстрок;
команды можно временно отключать знаком комментария "//".
При этом добавленные ранее колонки в табличное поле удаляются.

Пример строки вычисляемых колонок:

СоздатьКолонку(ПриходМинусРасход,1, Приход - Расход)

//СоздатьКолонку(Банк,, РасчетныйСчет.Банк)

СоздатьКолонку(ИНН,, Контрагент.ИНН)


-----------------

Установка:

1) если компоненты 1с++ нет, то нужно скопировать файл 1cpp.dll

в каталог базы или каталог программы;

2) скопировать приложенный файл DefCls.prm в каталог базы данных

либо включить в существующий файл DefCls.prm строку:

класс ПоказТаблиц=Classes\ПоказТаблиц.ert : ТабличноеПоле
{};

3) скопировать файл ПоказТаблиц.ert в

КаталогИБ \ Classes\ (если этого каталога нет, то создать)

 

4) как работает - на примере конфигурации ТиС

(прилагается файл "Показ дока.ert")

 

*************

Последние изменения

Необходимо обновить строку в DefCls.prm:
класс ПоказТаблиц=Classes\ПоказТаблиц.ert : ТабличноеПоле
{};

 

11.12.09
Отображение количества строк в табличной части.
Исправлена ошибка с показом объекта ИндексированнаяТаблица;
Исправлена ошибка с выводом таблицы без задания параметра "ЧисловыеКолонки";
В шапке документа добавлен показ времени документа.


Сделан вывод итогов для колонок "ЧисловыеКолонки" для случая, когда
колонки исходного объекта не типизированы;
Добавлена расшифровка значений типа Документ, Справочник (открывает форму)
"ИндексированнаяТаблица", "ТаблицаЗначений" (создается новое окно с данными по выбранной таблице)
(т.ч. для вычисляемых полей).

18.12.09
Исправлены найденные ошибки вычисления выражений для вычисляемых колонок
Исправлена ошибка при показе объекта ИндексированнаяТаблица
Добавлена возможность показа объекта "СписокЗначений", а также любых классов, наследников от
ТаблицаЗначений, ИндексированнаяТаблица, СписокЗначений

19.12.09
Класс сделан наследником от класса "ТабличноеПоле". Как следствие этого, для табличного
поля с закладки "Табличная часть" возможно пользоваться всеми свойствами и методами предка.
Такие свойства, как: Шрифт, ЧередованиеЦветовСтрок, РежимВыделенияСтроки, РежимВыделения,
ВертикальныеЛинии, ГоризонтальныеЛинии, СтильЗаголовков, СтильАктивногоЗаголовка,
ЦветТекста, ЦветФона, ОтображатьЗаголовки передаются при расшифровке ячеек, вызывающих
данный класс; отключается параметром в методе Опции
Применять свойства и методы возможно только после применения метода Показать()


Новый метод Опции(ИдНастройки,НеНаследоватьСвойстваВоВложенныхТаблицах=0,ПоказДокументовСам=0),
где
ИдНастройки - строчный идентификатор сохраняемой настройки;
НеНаследоватьСвойстваВоВложенныхТаблицах - 0 (по умолчанию) - перечисленные выше
сохряняемые свойства для вложенных таблиц сохраняются, 1 - нет;
ПоказДокументовСам - 0 (по умолчанию) - открывается форма документа, 1 - документ открывается
классом ПоказТаблиц.


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

 

16.07.10

- Заблокирована возможность повторного использования метода Показать() для одного объекта
(в таких случаях работало с ошибкой);

- добавлено свойство "ФорматВыводаЧисел" - по умолчанию "ч019.2.'";

- при двойном клике на ячейке с простыми типами открывается диалог "ВвестиСтроку" с текущим значением
ячейки (сделал для возможности копирования значения в ячейке);

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

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

Наименование Файл Версия Размер
показтаблиц.zip
.zip 43,52Kb
07.09.10
100
.zip 43,52Kb 100 Скачать

См. также

Комментарии
1. Сергей Коцюра (CheBurator) 3403 09.12.09 03:21 Сейчас в теме
2. Олег Валуйский (waol) 227 09.12.09 09:44 Сейчас в теме
да приходило в голову что нибудь прикрутить - спасибо за ссылку :)
3. Артур Аюханов (artbear) 880 09.12.09 17:26 Сейчас в теме
4. dviro (dmitish) 153 11.12.09 11:47 Сейчас в теме
Вот если бы кнопочку Печать добавить ;)
5. Ёпрст (Ёпрст) 1021 11.12.09 12:00 Сейчас в теме
Пару раз выдавало ошибки.. потом запостю.
6. Олег Валуйский (waol) 227 11.12.09 12:05 Сейчас в теме
кое какие ошибки уже нашел (в частности, не показывает Индексированную таблицу), выложу позже;
а печать будет
7. Олег Валуйский (waol) 227 21.12.09 13:09 Сейчас в теме
8. Brr (brr) 179 07.07.10 11:21 Сейчас в теме
Спасибо, отличная разработка!
9. Олег Валуйский (waol) 227 07.07.10 12:50 Сейчас в теме
(8) не особо пользуется здесь успехом, хотя я без нее не представляю уже работы. выложу чуть позже последний вариант с некоторыми доработками
10. Артур Аюханов (artbear) 880 21.07.10 11:05 Сейчас в теме
(9) Сама ВК 1С++ не так уж популярна :(
Боится народ ВК
11. Олег Валуйский (waol) 227 21.07.10 11:37 Сейчас в теме
(10) тем ценнее специалисты :) (оптимист)
12. Александр Венгер (venger) 2049 21.07.10 13:09 Сейчас в теме
(10),(11) Я, кстати, встречал вакансии с требованием знания определенных ВК, там была и 1С++, одной из первых;-)
Оставьте свое сообщение