Оглавление (нажмите, чтобы раскрыть)
- Как сформировать печатную форму из табличного документа
- Как настроить колонтитулы печатной формы
- Как настроить параметры печати табличного документа
- Как изменить табличный документ программно
- Как в обработать расшифровку в отчёте
- Как вывести табличный документ на форму
- Как использовать табличный документ для ввода данных
- Скачать и выполнить эти примеры на компьютере
Работа с табличным документом в языке 1С 8.3, 8.2 (в примерах)
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Источник: helpme1s.ru
Табличный документ
Табличные документы в 1С обычно используются для вывода отчетов и печатных форм. Его структура на внешний вид напоминает Excel и доступны похожие средства форматирования и оформления. Следует отметить, что хорошим в 1С считается построение отчетов в системе СКД, а вывод данных напрямую в табличный документ, оставлен для печатных форм.
1С вывод табличного документа
Макет
Макет – описание полей или областей табличного документа, которые будут выведены пользователю. Другими словами это каркас или схема итогового табличного документа.
Области в отчете выводятся сверху вниз и слева направо. Область может иметь имя, через которое к ней можно обращаться. Имя области задается следующим образом: нужно выделить область которой вы хотите задать имя (можно выделить целиком строкустроки или колонкуколонки) и после этого выбрать меню Таблица — Имена — Назначить имя .
Макеты используются не только для хранения заранее заготовленного оформления отчета, но и к примеру для настройки авторегистрации отчета(так сделано в большинстве типовых конфигураций построенных на обычном приложении), там могут быть какие то бинарные данные или отчет СКД. Макеты могут быть у документов, справочников или у большинства других типов метаданных. Предусмотрены помощники создания печатных форм, которые на основании реквизитов выбранного объекта строят макет, генерируют процедуру и установку кнопки на форму по его заполнению и выводу на печать готового табличного документа.( Куда нить приляпать замечание о том что можно сделать у одной строки свою ширину колонок) Ячейки в макете могут иметь следующий тип:
Текст – будет выведен текст указанный в ячейке
Параметр – при формировании табличного документа можно установить значение параметра указанного в ячейке макета.
Шаблон – этот тип ячейки который необходим для вывода текста и параметра одновременно, например в ячейке с типом «Шаблон» можно указать: «Итоговая сумма: [СуммаИтого]», затем при формировании табличного документа мы получим такой вывод: «Итоговая сумма: 1350». Бывает очень удобно при построении сложных макетов.
Общий пример работы с макетом
Заполнение макета конструктором печати документа реализация товаров и услуг
//>_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
Вкратце, схема следующая:
Создание табличного документа, который будет показан пользователю.
Получение макета с нужной нам структурой.
Получение из макета области которую нужно вывести(можно использовать разные макеты).
Заполнение параметров, области, если они есть.
Вывод области в табличный документ
Вывод табличного документа.
Теперь подробно. Создаем табличный документ, куда будет выводиться макет
ТабДок = Новый ТабличныйДокумент;
Получаем нужный нам макет:
Макет = Документы.РеализацияТоваровУслуг.ПолучитьМакет(«Печать»);
Получаем область из этого макета
Шапка = Макет.ПолучитьОбласть(«Шапка»);
Устанавливаем значения параметров существующих в этой области
Шапка.Параметры.Заполнить(ЭтотОбъект); //если есть коллекция откуда заполнять данные //или Шапка.Параметры. Номер = ЭтотОбъект.Номер;
Выводим эту область в табличном документе
ТабДок.Вывести(Шапка);
Показываем табличный документ
ТабДок.Показать();
Табличный документ можно вывести не только на экран пользователю, но и например в эксель, этот метод бывает чрезвычайно полезным, так как бывает гораздо удобнее сделать печатную форму, и сохранить ее средствами платформы в эксель, чем самому его «мастерить» с помощью com. Делается это следующим образом:
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLS);
Источник: wiki-1c.ru
Создание макета табличного документа в 1С 8.3
При помощи табличных документов, в 1С можно организовывать вывод печатных форм. В этой статье мы научимся создавать макеты табличных документов объектов, на примере макета печатной формы документа.
Разработка макета табличного документа в 1С
Чтобы при помощи табличного документа вести какую-то печатную форму, необходимо создать макет табличного документа. Научимся создавать макеты конкретных объектов (справочники, документы). Для этого в конфигураторе 1С нужно выделить ветку «Макеты» ветки соответствующего объекта, вызвать правой клавишей мышки контекстное меню
После выполнения команды откроется конструктор 1С, где можно поменять название макета, но необходимо оставить тип макета «Табличный документ».
Нажимаем кнопку «Готово», после этого будет создан макет табличного документа, который имеет форму таблицы.
Этот макет состоит из строк, столбцов и ячеек. Каждая ячейка имеет свои свойства. Для того, чтобы открыть палитру свойств ячейки, необходимо выделить нужную ячейку, вызывать контекстное меню, и в этом меню выполнить команду «Свойства».
В палитре свойств ячейки можно осуществлять различные настройки, мы же заполним текст ячейки.
Этот текст отобразится в нашей ячейки, и вы заметили, что он как бы сдвинулся относительно самой ячейки. И у нас автоматически появились пунктирные линии. Пунктирные линии ограничивают область, которая выведется на печать. И как вы видите на предыдущей картинке, наш текст немного сдвинулся относительно пунктира. Это значит, что мы хоть и увидим весь текст при просмотре, на печать выйдет только та часть текста, что была до пунктира.
В том случае, когда текст не помещается в ячейку (как у нас сейчас), сделать так, чтобы он весь отображался можно двумя способами: расширить саму ячейку и объединить ячейки.
Объединим ячейки. Для этого выделим нужную область, вызовем контекстное меню и выполним команду «Объединить»
После этого, ячейки, куда входит наша строка, объединятся, а линии печати сдвинутся.
Области макета табличного документа 1С
В макете табличного документа существует возможность задать области. Для чего нужны области? Для того, чтобы более оптимально работать с макетом в программном коде: мы можем несколько раз получать одну и туже область и выводить её в результирующем табличном документе (по сути, на печать).
Зададим в нашем макете табличного документа три области: Шапка, ШапкаТаблицы, СтрокаТаблицы и Подвал. Это будут области строк.
Для того, чтобы задать область, необходимо выделить нужное количество строк (или столбцов), из которых мы хотим сделать область, после выполнить команду «Назначить имя» (Главное меню – Таблица – Имена).
После этого нужно указать имя области (все имена в макете должны быть уникальны)
После этого внешний вид нашего макета изменится – слева появится название области.
После того, как мы добавим ещё три области, наш макет табличного документа будет выглядеть следующим образом.
Области Шапка, ШапкаТаблицы и Подвал будут выводится один раз, а область СтрокаТаблицы будет выводится столько раз сколько строк в табличной части документа.
В нашей выводимой таблице будет 5 столбцов: номер, номенклатура, количество, цена и сумма. Оформим теперь шапку таблицы, написав название каждого столбца. Также мы расширим или сузим ячейки для более удобного просмотра. И сдвинем наш заголовок в шапке на одну ячейку влево (для этого нужно выделить объединенные ячейки и перетащить их мышкой влево)
Параметры макета табличного документа
В область СтрокаТаблицы скопируем те же названия, что из области шапки (кроме №, его так и назовем НомерТаблицы), но это у нас будут не просто названия, а параметры, в которые мы будем передавать данные, при формировании табличного документа. Для того, чтобы сделать данные названия параметрами, первым делом выделим все заполненные ячейки области СтрокаТаблицы, вызовем контекстное меню и выполним команду свойства.
У свойств всех пяти ячеек мы изменим одно только свойство Заполнение — выберем у него значение Параметр.
После этого вид нашего макета табличного документа опять изменится.
Теперь нам осталось сделать нашу таблицу таблицей в прямом смысле. Для этого нужно выделить каждую ячейку шапки и строки (удерживаете клавишу CTRL, кликаете по каждой ячейке мышкой, тогда будет выделена каждая ячейка в отдельности), вызвать, уже знакомым способом, контекстное меню, и в группе Оформление, изменить параметр Обвести.
После этих действий, все нужные ячейки будут обведены.
Печатная форма почти готова, нам осталось сделать, чтобы в шапке вместе с поступлением товара выходил номер и дата документа. Для этого мы выделим ячейку, где введен тест «Документ…» вызовем контекстное меню и в свойстве Заполнение укажем значение Шаблон.
И в тексте ячейки укажем параметры, в которые будем передавать значения. Если в тексте шаблона мы указываем какое-то слово в квадратных скобках, то в эту «переменную» будут переданы параметры при формировании отчета.
Я добавил левую ячейку в объединение ячеек. Чтобы это сделать нужно снять объединение, и создать новое объединение ячеек с еще одной ячейкой.
Всё наш макет готов, в следующей статье научимся выводить его на печать.
Более подробно и основательно работа с печатными формами в 1С дается в моей книге: «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Вступайте в мои группы:
2 Replies to “Создание макета табличного документа в 1С 8.3”
Максим :
Добрый день, осень сильно помог ваш видео ролик, но хотелось бы узнать полный способ вывода реквизитов табличной части (на 19 минуте и 32 секунде вы указали что нету смысла расписывать каждый реквизит), если не трудно не могли бы вы расписать как это делается, а то маюсь уже не первые сутки.
Signum :
Вам, в принципе, можно использовать Заполнить, и когда нужно заполнить меньше параметров, чем в запросе. Например, в запросе 10 полей, а в таблице 5 параметров, они и заполнятся. А так, если не хотите использовать Заполнить, то просто указываете параметр через точку, как это делали в шапке в статье, где заполняли табличный документ. Например, так:
ОбластьСтрокаТаблицы.Параметры.Цена = стрТовар.Цена;
Также можно параметры использовать, после метода Заполнить:
Для Каждого стрТовар из Объект.
СписокТоваров Цикл ОбластьСтрокаТаблицы.Параметры.Заполнить(стрТовар); ОбластьСтрокаТаблицы.Параметры.Цена = //какая-то цена ТабДок.
Вывести(ОбластьСтрокаТаблицы); КонецЦикла;
Источник: www.1s-up.ru