IE2017

Вывод таблицы значений и компоновка (обычное приложение)

Программирование - Практика программирования

Просмотр таблицы значений(дерева значений) и отчет по произвольной ТЗ с помощью СКД
Загрузка таблицы значений из файлов xls/dbf/mxl

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

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

Таблицу значений можно передать в форму командами:

ПросмотрТЗ=ВнешниеОбработки.Создать("C:\EPF\ПросмотрТЗ.epf");//Обработки.ПросмотрТЗ.Создать();

ПросмотрТЗ.ЗаголовокФормы="наша таблица";
ПросмотрТЗ.ОткрытьОбъект(ТЗ);

-либо загрузить из файла (xls/dbf/mxl/тз)

обработку можно встроить в конфигурацию и прописать в общем модуле функцию ОткрытьТЗ(ТЗ,тхтЗаголовок="")

Обработка принимает на вход Таблицу ,дерево и список значений; массив, соответствие, структуру, COMSafeArray, результат запроса.

 

По таблице значений можно построить отчет на СКД (кнопка СКД)- а СКД можно настроить так, что бы вывести варианты значений колонки, настроить группировки вывода, отборы.

 

Другие обработки на Инфостарт:

РедакторТЗ для восьмёрки //infostart.ru/public/104099/

В инструментах разработчика есть исследователь объекта и редактор тЗ/массива (не смотрел) //infostart.ru/public/15126/

Использование СКД для настройки отбора ТЗ //infostart.ru/public/105453/

Более удобно строить СКД с помощью отчета: //infostart.ru/public/120528/

Обработка таблиц значений //infostart.ru/public/65575/   (есть редактор формул,перенос в таб.часть документа)

 

В планах на будущее: добавить в эту обработку запрос по ТЗ, консоль кода,  формулы для дополнительных колонок. Расширение принимаемых на вход значений как в //infostart.ru/public/97707/  , добавить возможность установить галочки если использовать обработку для выбора значений  

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

Наименование Файл Версия Размер
ПросмотрТЗ.epf
.epf 21,09Kb
03.05.12
153
.epf 21,09Kb 153 Скачать
Анализ ТЗ для 77.ert
.ert 181,00Kb
10.02.12
11
.ert 181,00Kb 11 Скачать

См. также

Комментарии
1. Sergey Ivanov (sergb1979) 22.03.12 11:11 Сейчас в теме
Еще бы было неплохо добавить функционал просмотра таблиц которые, например по оле получаем.
2. Илья (i132) 115 22.03.12 19:21 Сейчас в теме
При получении таблицы по ОЛЕ трудно определить что это ТЗ именно из 1Сv8.
ОлеТаблицу из 1С8 легко преобразовать в простую ТЗ если там нет объектов (или GUID совпадают, и таблица не слишком большая):

ЗапросОЛЕ=ОбъектПодключения.NewObject("Запрос");
ЗапросОЛЕ.Текст=ТекстЗаполнения;
ТЗЭтойБазы = ЗначениеИзСтрокиВнутр(ЗначениеВстрокуВнутр(ЗапросОЛЕ.Выполнить().Выгрузить()));
3. Роман Хусяинов (rom-x) 152 31.03.12 19:13 Сейчас в теме
По моему не хватает кнопки вывода на печать таблицы, чтобы посмотреть и сохранить например в xls. Просвятите почему список значений нельзя как и тз вывести?
4. Илья (i132) 115 02.04.12 10:58 Сейчас в теме
(3) список пока не попадался под руку, обязательно сделаю.
Красивую печатную форму можно получить по кнопке СКД. для сохранения в xls надо дать команнду сохранить как, для меня это быстрее, чем писать кнопку сохранения.
5. Илья (i132) 115 13.04.12 18:23 Сейчас в теме
(3) спасибо за совет про список значений, вывод списка сделал через преобразование к ТЗ.
Вывод напрямую в таблично поле не удобен тем, что метод СоздатьКолонки() создает только одну колонку Значение, а остальные колонки: Представление,Отметка и Картинка надо добавлять програмно, кроме того в моей версии 1с 8.2.14.540 баг: при изменнии отметки меняется значение на Истину или ложь.

-сохранение в xls может быть удобным - в отдаленных планах.
6. Сергей Ожерельев (Поручик) 3574 14.04.12 21:33 Сейчас в теме
(0) http://infostart.ru/public/125020/
>>>> как определить что это табчасть -напишите в комментариях к http://infostart.ru/public/116645/
Может, это поможет?

Метаданные.НайтиПоТипу(ЭлементыФормы.Какое_то_табличное_поле.Значение).Родитель() <> Неопределено

или так, надёжнее
Метаданные.Документы[Метаданные.НайтиПоТипу(ТипЗнч(ЭлементыФормы.Какое_то_табличное_поле.Значение)).Родитель().Имя] <> Неопределено
7. Илья (i132) 115 16.04.12 10:44 Сейчас в теме
(6) спасибо, за совет как взять метаданные, таб часть может быть не только у документа.
Правильный ответ:

МДТабчасти = Метаданные.НайтиПоТипу(Тип(ТекТаблица));
ЭтоТабчасть = (МДТабчасти.Родитель().ТабличныеЧасти.Найти(МДТабчасти.Имя)=МДТабчасти)
Поручик; +1 Ответить
Оставьте свое сообщение