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


Просмотр таблицы значений(дерева значений) и отчет по произвольной ТЗ с помощью СКД
Загрузка таблицы значений из файлов 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/  , добавить возможность установить галочки если использовать обработку для выбора значений  

7 Comments

  1. sergb1979

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

    Reply
  2. i132

    При получении таблицы по ОЛЕ трудно определить что это ТЗ именно из 1Сv8.

    ОлеТаблицу из 1С8 легко преобразовать в простую ТЗ если там нет объектов (или GUID совпадают, и таблица не слишком большая):

    ЗапросОЛЕ=ОбъектПодключения.NewObject(«Запрос»);

    ЗапросОЛЕ.Текст=ТекстЗаполнения;

    ТЗЭтойБазы = ЗначениеИзСтрокиВнутр(ЗначениеВстрокуВнутр(ЗапросОЛЕ.Выполнить().Выгрузить()));

    Reply
  3. rom-x

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

    Reply
  4. i132

    (3) список пока не попадался под руку, обязательно сделаю.

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

    Reply
  5. i132

    (3) спасибо за совет про список значений, вывод списка сделал через преобразование к ТЗ.

    Вывод напрямую в таблично поле не удобен тем, что метод СоздатьКолонки() создает только одну колонку Значение, а остальные колонки: Представление,Отметка и Картинка надо добавлять програмно, кроме того в моей версии 1с 8.2.14.540 баг: при изменнии отметки меняется значение на Истину или ложь.

    -сохранение в xls может быть удобным — в отдаленных планах.

    Reply
  6. Поручик

    (0) http://infostart.ru/public/125020/

    >>>> как определить что это табчасть -напишите в комментариях к http://infostart.ru/public/116645/

    Может, это поможет?

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

    или так, надёжнее

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

    (6) спасибо, за совет как взять метаданные, таб часть может быть не только у документа.

    Правильный ответ:

    МДТабчасти = Метаданные.НайтиПоТипу(Тип(ТекТаблица));

    ЭтоТабчасть = (МДТабчасти.Родитель().ТабличныеЧасти.Найти(МДТабчасти.Имя)=МДТабчасти)

    Reply

Leave a Comment

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