1с как вывести таблицу значений на форму

Задача в том, чтобы отображать на форме таблицу значений, структура которой может меняться. К примеру в результате запроса к первой таблице мы получаем пять колонок, а в результате запроса ко второй таблице семь колонок. Соответственно при выполнении каждого из запросов, старые колонки нужно убрать, а новые добавить.

Создаем реквизит формы ДанныеТаблицы , тип ТаблицаЗначений , на форму его не выносим. И саму таблицу формы и ее колонки будем создавать программно. Для удобства тестирования добавим еще команду формы СоздатьТаблицу .

Реквизит НомерТаблицы поочередно принимает значение нуля или единицы и нужен лишь для того, чтобы каждый раз получать другую таблицу значений.

Справка

УправляемаяФорма.ИзменитьРеквизиты()

  • ДобавляемыеРеквизиты (необязательный, тип Массив ). Массив, содержащий объекты типа РеквизитФормы . Добавлять можно реквизиты верхнего уровня и вложенные реквизиты, являющиеся колонками. К добавленным реквизитам верхнего уровня из модуля можно обращаться только с помощью конструкции ЭтотОбъект .
  • УдаляемыеРеквизиты (необязательный, тип Массив ). Массив, содержащий строки, описывающие пути к удаляемым реквизитам. Удалять можно только ранее программно добавленные реквизиты.
  • Изменяет структуру реквизитов формы. Сначала выполняется удаление реквизитов. Таким образом массивы добавляемых и удаляемых реквизитов могут содержать реквизиты с одинаковым путём.
  • Внимание! Действия добавления и удаления выполняются за один вызов. Следует учитывать, что операция изменения состава реквизитов является ресуркоемкой, поэтому операции изменения состава реквизитов формы выполняются пакетным образом.
  • Сервер, мобильное приложение (сервер).

ВсеЭлементыФормы.Добавить()

  • Имя (обязательный, тип Строка ). Уникальное имя добавляемого элемента.
  • ТипЭлемента (обязательный, тип Тип ). Тип добавляемого элемента.
  • Родитель (необязательный, тип: ГруппаФормы ; ТаблицаФормы ; УправляемаяФорма ). Родитель для добавляемого элемента. Если не указан, то добавляется на верхний уровень.
  • Тип: ДекорацияФормы ; ГруппаФормы ; КнопкаФормы ; ТаблицаФормы ; ПолеФормы .
  • Добавляет элемент в коллекцию.
  • Сервер, мобильное приложение (сервер).

Nav view search

Navigation

Search

Универсальная печать таблицы значений для 1С 8

Если требуется выводить на печать данные из таблицы значений (табличного поля), то можно воспользоваться кодом из примера ниже. Код можно встроить в общий модуль и вызывать из любой обработки или формы документа.

Второй вариант распечатать произвольную таблицу значений это использовать макет. В этом варианте надо подготовить макет, поместить его, например, в «общие макеты». В макете надо сделать табличку с 2-мя именованными вертикальными областями «Основной», «Показатели»; с 3-мя именованными горизонтальными областями «Шапка», «Строка», «Итог». Далее перебором всех колонок ТЗ вывести их в табличный документ.

Результат печати ниже. Обработку с примером можно скачать здесь.

личный блог

С задачей вывода каких либо данных в Таблицу Значений (ТЗ) на форме сталкиваются наверное все программисты. Если раньше до выхода Управляемого Интерфейса все решалось довольно просто, то теперь все немного изменилось.

Для обычных форм.

Стоит отметить, что предварительно нужно создать соответствующие РезультатуЗапроса колонки таблицы значений. Делается это также просто. Добавить ТаблицуЗначений следует в реквизиты Формы. Еще раз акцентирую внимание — Названия колонок и типы данных колонок ТЗ должны совпадать и на форме и в запросе. Можно вообще не создавать ТЗ на форме, а описать ее программно, примерно как то так:

Для управляемых форм все ровно тоже самое кроме того что нужно на сервере получить значение данных ТЗ на форме, записать в них результат запроса и потом снова вернуть их на форму.

Ниже пример такого преобразования.

Во всей этой истории следует обратить внимание на 2 строчки.

Первая

Вторая

Первый из типа данных ДанныеФормыКоллекция преобразует данные в тип ТаблицаЗначений. Второй соответственно конвертирует в обратном направлении.

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: