Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как программно сформировать и заполнить табличный документ по таблице значений в 1С 8
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > База знаний > Наши статьи > 1С Предприятие 8
Vofka
Сделаю небольшой опус.

В результате каких-то манипуляций появилась у нас таблица значений, которую нам надо показать пользователю. Кто-то скажет: "Ну и что? Кидаем на форму табличное поле и вуаля". Если такой вариант всех устраивает - то пожалуйста. Но в таком случае, как минимум, нужно размещать табличное поле и занимать пространство на форме.

Добавлю к условию задачи ещё такой пункт: таблицу нам надо показывать не всегда, а по определенным условиям. В таком случае, я считаю, размещение бесполезного табличного поля на бОльшую часть формы - расточительство. Наверняка, найдется умник, который предложит создать ещё одну форму, в которой разместить табличный документ и которую показывать по определенным условиям. Да, можно. Но я предложу, как мне кажется, более красивое решение.

Суть решения сводится к тому, чтобы получить некое подобие отчета и показать его пользователю. Я уже слышу негодование откуда-то со стороны по поводу того, что рисовать макет, чертить области, программировать его заполнение и вывод и прочее куда более затратно (лениво), чем варианты, оговоренные выше. Но спешу успокоить вас, что ничего этого делать не нужно. Всё что нам надо будет сделать - это следующее:

ТаблицаЗначений = ПолучитьКакиеТоДанные(); // я, надеюсь, понятно, что здесь демонстрируется момент, что переменная ТаблицаЗначений у нас как-то получается

Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаЗначений);
Построитель.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);
Построитель.Выполнить();
Для каждого Колонка Из Построитель.ВыбранныеПоля Цикл
    Колонка.Представление = ТаблицаЗначений.Колонки[Колонка.Имя].Заголовок;
КонецЦикла;
Построитель.Вывести();


Спасибо за внимание. smile.gif

Если знаете ещё способы - пишите в коментах.
nikora
Vofka @ 04.01.13, 14:24 необходимо зарегистрироваться для просмотра ссылки ,
а как сделать тоже самое только в фоновом задании из под сервера?
Vofka
nikora, так как выше написано не работает?
nikora
Vofka @ Вчера, 9:09 необходимо зарегистрироваться для просмотра ссылки ,
ПолучитьМакетОформления(СтандартноеОформление.Классика) - не работает под сервером.

решил путем помещения ТабличногоДокумента в ХранилищеЗначений и записью в Константу. Из под сервера получаю ТабличныйДокумент из константы и вуаля.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.