1с вывести значение табличного документа

Основы формирования табличного документа на основе макета

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

Области макета предназначены для однократного или многократного вывода, например, ниже представлен макет для печати расходной накладной:

Некоторые ячейки содержат только текст, который должен быть выведен. Другие ячейки содержат имена параметров (в угловых скобках). Значения этих параметров должны указываться в программном модуле. В отличие от версии 7.7, в ячейку нельзя вписать выражение. В версии 8.0 весь программный код сосредоточен в программных модулях и при выводе секций нет связи с текущим контекстом программного модуля. Назначение параметров табличного документа должно производиться явно из программного модуля через коллекцию «Параметры» объекта «ТабличныйДокумент».

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

Общая схема

Общая схема формирования печатной формы на основе макета:

Читайте также:  Вывести цвета как cmyk

  1. Создание макета в табличном редакторе (определение областей, имен параметров, форматирования).
  2. Создание нового табличного документа (этот пункт не требуется, если отчет выводится в элемент управления ПолеТабличногоДокумента).
  3. Получение макета в переменную (метод ПолучитьМакет).
  4. Получение областей макета (метод ПолучитьОбласть).
  5. Заполнение параметров области (свойство Параметры).
  6. Вывод области в табличный документ (методы Вывести и Присоединить).
  7. Установка свойств отображения табличного документа (сетка, заголовки, только просмотр и т.д.).
  8. Отображение табличного документа на экране (а может быть отправка на принтер или сохранение).

Пример вывода табличного документа

Ниже приведен пример формирования печатной формы расходной накладной из модуля документа:

Процедура Печать(ТабДок) Экспорт

//создание нового табличного документа
ТабДок = Новый ТабличныйДокумент ;

//получение макета для печати расходной накладной
Макет = Документы.РасходнаяНакладная. ПолучитьМакет («Основной»);

//получим область «Заголовок» как новый табличный документ (!)
Область = Макет. ПолучитьОбласть («Заголовок»);

//укажем параметры области
Область. Параметры .НомерДокумента = Номер;
Область.Параметры.От = Дата;
Область.Параметры.Кому = Контрагент;

//выведем заполненную область «Заголовок» в табличный документ
ТабДок. Вывести (Область);

//выведем область «Шапка» в табличный документ
ТабДок.Вывести(Макет.ПолучитьОбласть(«Шапка»));

//получение области «Строка»
//обратите внимание, что это можно сделать до цикла по строкам
Область = Макет.ПолучитьОбласть(«Строка»);

//вывод строк документа в печатную форму
Для Каждого СтрСостава Из Состав Цикл

//заполнение параметров области из строки табличной части
Область.Параметры. Заполнить (СтрСостава);

//вывод сформированной области в табличный документ
ТабДок.Вывести(Область);

//вывод области «Подвал»
Область = Макет.ПолучитьОбласть(«Подвал»);
Область.Параметры.ИтогоКоличество = Состав.Итог(«Количество»);
Область.Параметры.ИтогоСумма = Состав.Итог(«Сумма»);
ТабДок.Вывести(Область);

//установим параметры отображения табличного документа
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.ОтображатьСетку = Ложь;

//покажем табличный документ на экране
ТабДок. Показать ();

Основные методы

Основные методы формирования итогового табличного документа следующие:

Источник

Значения ячеек и элементы управления в табличном документе

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

Ниже рассмотрены следующие темы:

Свойства «Текст» и «Значение» ячейки табличного документа

Основные свойства у каждой ячейки табличного документа — это Текст и Значение , причем по умолчанию доступно свойство Текст , а свойство Значение заблокировано.

ВАЖНО! Свойства Текст и Значение не могут быть использованы одновременно! Если свойство-признак СодержитЗначение установлено в значение Истина , то свойство Текст недоступно, и наоборот, если свойство-признак СодержитЗначение равно Ложь , то свойство Значение недоступно, а также все связанные другие свойства, например, ТипЗначения и ЭлементУправления .

Ниже на рисунке показана палитра свойств для ячейки табличного документа. Обратите внимание, что флажок Содержит значение не установлен, поэтому данная ячейка будет отображать Текст .

Свойство Текст имеет тип Строка . Если в ячейке необходимо разместить какую-либо текстовую информацию, необходимо использовать именно свойство Текст , например:

Обратите внимание, что даже если вы присвоите свойству Текст значение другого типа (не строкового), то оно все равно будет интерпретировано как строка. Значения базовых типов преобразуются к строке, а для ссылочных типов данных (элементов справочников, документов и т. д.) берется их представление. Если же необходимо разместить в ячейке значение другого типа, например, число, булево, дату или ссылку, и при этом не преобразовывать это значение к строке, то нужно использовать свойство Значение .

Для того чтобы появилась возможность использовать свойство Значение , необходимо явно присвоить свойству ячейки СодержитЗначение значение Истина или установить флажок Содержит значение в палитре свойств, как это показано на следующем рисунке:

Для ячейки, у которой установлен признак СодержитЗначение , можно задать тип значения, размещаемого в ячейке. На следующем рисунке указан тип Строка , но есть также возможность указать несколько возможных типов, используя составной тип данных:

Следующий фрагмент демонстрирует, как можно управлять этими свойствами из встроенного языка:

Свойство «Формат» ячейки табличного документа

Для ячейки табличного документа можно задавать формат вывода данных. Для этого используется свойство Формат , которое содержит форматную строку. Приемы работы с форматной строкой полностью совпадают с функцией Формат() системы «1С:Предприятие 8». Свойство Формат может быть установлено как интерактивно — через палитру свойств, так и программно — из встроенного языка, например:

Элемент управления в табличном документе

Элементы управления, встроенные в ячейку

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

Элемент управления можно назначить через палитру свойств или из встроенного языка с помощью метода УстановитьЭлементУправления() . Чтобы проверить в программе, установлен ли элемент управления для конкретной ячейки, можно использовать свойство ЭлементУправления , которое возвращает элемент управления, назначенный для ячейки.

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

Ниже показан пример установки элемента управления типа Флажок из встроенного языка:

Элементы управления, не встроенные в ячейку

Существует еще один способ размещения элемента управления в ячейке: использование независимого элемента управления и его «привязка» к нужной ячейке. В этом случае сама ячейка не участвует в процессе работы, а ее значения и свойства ни на что не влияют. Значения нужно будет непосредственно получать из элемента управления как обычного элемента формы. Ячейка при этом используется только как область размещения (привязки) элемента управления.

Ниже показано, как могут выглядеть такие элементы управления (не встроенные в ячейку):

В следующем фрагменте приводится пример размещения не встроенного в ячейку элемента управления в табличном документе:

Расширение элементов управления, расположенных в поле табличного документа

Для элементов управления, расположенных в табличном документе, расширяется набор свойств, методов и событий:

Разберем самые важные свойства и методы:

  • Свойство ВстроенВЯчейку имеет тип Булево и говорит о том, что элемент управления встраивается в ячейку или просто привязывается к ней, о чем было рассказано выше.
  • Свойство Видимость позволяет показать или скрыть элемент управления.
  • Свойство Значение предоставляет доступ к значению, которое редактируется в элементе управления. Оно используется только для элементов управления, поддерживающих связь с данными.
  • Метод Расположить позволяет разместить элемент управления в конкретной области ячеек табличного документа. Именно этот метод был использован в вышеприведенном примере.

Для элементов управления, расположенных в табличном документе, можно обрабатывать события, например, При изменении . Процедура-обработчик события должен находиться в модуле формы. Вот почему элементы управления имеет смысл располагать в табличном документе, только если он выводится в диалог формы (в поле табличного документа).

Свойство «Защита» ячейки табличного документа

Это свойство имеет тип Булево и содержит признак защиты ячейки от редактирования. В режиме просмотра в табличном документе недоступны для редактирования ячейки и рисунки, у которых установлено свойство Защита .

Устанавливается это свойство так же, как и любое другое:

Источник

Вывод значения в табличный документ 1С

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

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1

(0 голосов, в среднем: 0 из 5)

Поддержите нас, расскажите друзьям!

СПРОСИТЕ в комментариях!

Пример функции:
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)

ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = “ПАРАМЕТРЫ_ПЕЧАТИ_СчетНаОплатуВРТУ”;

//заполняем шапку
ОбластьШапка = МакетОбработки.ПолучитьОбласть(“Шапка”);
ОбластьШапка.Параметры.НомерДокумента = СсылкаНаДокумент.Номер;
ОбластьШапка.Параметры.ДатаДокумента = СсылкаНаДокумент.Дата;
ОбластьШапка.Параметры.НазваниеОрганизации = СсылкаНаДокумент.Организация.Наименование;
//выводим шапку в табличный документ
ТабличныйДокумент.Вывести(ОбластьШапка);

//заполняем строки ТЧ
ОбластьСтроки = МакетОбработки.ПолучитьОбласть(“СтрокаТЧ”);

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

//заполняем подвал
ОбластьПодвал = МакетОбработки.ПолучитьОбласть(“Подвал”);
ОбластьПодвал.Параметры.КоличествоИтог = СсылкаНаДокумент.Товары.Итог(“Количество”);
ОбластьПодвал.Параметры.СуммаИтог = СсылкаНаДокумент.Товары.Итог(“Сумма”);
ОбластьПодвал.Параметры.ИмяОтветственного = СсылкаНаДокумент.Менеджер.Наименование;
//выводим подвал в табличный документ
ТабличныйДокумент.Вывести(ОбластьПодвал);

Источник

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

Недавно появилась у меня задача получить данные из MS SQL и загрузить их в 1СБП 3.0. И если задачу по получению данных я выполнил достаточно быстро, спасибо //infostart.ru/public/137872/, то с проблемой вывода этих данных на форму для визуального контроля как-то не складывалось. ТЗ на управляемой форме отображаться никак не хотела. Пришлось по-быстрому сделать табличный документ на форме и заполнять его.

Но, не бросив первоначальную идею и потратив вечер на поиск, как это правильно сделать, натыкался только на программное создание элементов на форме, что в конце-концов и пришлось сделать, но упростив для себя модуль. Я заранее вывожу нужные реквизиты на форму, чтобы это не определять программно, и точно видеть, где потом отобразятся мои данные.

Хотя на форме ТЗ и не видна, так как нет ни одной колонки, но после выполнения все встает на свои места.

В итоге предлагаю два варианта вывода ТЗ на Форму через ТЗ и через Табличный документ (чтобы можно было скопировать).

Модуль выполняется &НаСервере в форме объекта.

P.S. Здесь после всех своих поисков наткнулся на похожую статью

Специальные предложения

Статья, конечно, интересная. Но написана начинающим и для начинающих. Это, извините, то что в по простому называется быдлокодом. Не обижайтесь, но показывать начинающим, что «так» нужно и можно кодить — это больше для них вреда, чем пользы от Вашей статьи.
Во-первых, если Вы хотите показать как выводится ТЗ на форму для всех, то совершенно не нужно показывать как выводится конкретная Ваша таблица, на конкретную вашу форму. Тем кто захочет встроить Ваш код в свою обработку придется много править.
Во-вторых — зачем делать цикл в цикле и копировать ТЗ с данными в промежуточную ТЗ?
В-третьих — зачем в примере смешивать квадратное с мокрым? а именно вперемешку выводить тз в реквизит формы и табличный документ. Для тех кому хочется разобраться как делается то и другое по отдельности очень трудно это прочитать.
В-четвертых — для многократно повторяемых действий используйте отдельные логические блоки кода — процедуры и функции. Это сделает основной код короче и даст экономию времени и кармы в следующей жизни:)

На примере вывода в реквизит с типом «ТаблицаЗначений» я написал всего одну процедуру и теперь ее могут использовать без допилов все желающие в любом коде, а код для вывода нужной ТЗ на нужную форму теперь состоит всего из 2-х строк.

Источник

Оцените статью