ТабличныйДокумент.Параметры

Свойства · Parameters

Тип: ПараметрыМакетаТабличногоДокумента. Содержит коллекцию параметров макета табличного документа.

Полное описание, параметры и ограничения

ТабличныйДокумент.Параметры (SpreadsheetDocument.Parameters)

ТабличныйДокумент (SpreadsheetDocument)

Параметры (Parameters)

Доступен, начиная с версии 8.0.

Использование:
Только чтение.
Описание:
Тип: ПараметрыМакетаТабличногоДокумента.
Содержит коллекцию параметров макета табличного документа.
Доступность:

Мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

См. также:
ПараметрыМакетаТабличногоДокумента

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Создать макет в памяти и подставить имя товара в копию

Параметр ячейки — не текстовая замена по всему документу. Обозначаем параметр именем, получаем отдельную область и заполняем её перед выводом.

Где и как запускать

Полный модуль управляемой формы собственной учебной внешней обработки. Построение выполняется на сервере без контекста; показ — на клиенте. Вставляйте на уровне модуля.

Подготовка

  1. Создайте новую внешнюю обработку с управляемой основной формой в учебной базе. Каждый урок — отдельная копия модуля.

  2. На форме создайте команду УчебныйПример и перетащите её на форму как кнопку. В действии команды выберите процедуру УчебныйПример(Команда).

  3. Вставьте весь модуль из примера: УчебныйПример, ПостроитьУчебныйДокумент и УчебнаяТаблица. Серверный вызов возвращает собственный табличный документ клиенту; директивы не удаляйте.

  4. Никакие макеты, документы и справочники конфигурации не нужны. Всё построение — в памяти, без печати, записи файлов и отправки в сервисы.

  5. Показ и ручную проверку выполняйте в тонком клиенте Windows 8.5.1.1343. Каждый урок — отдельная копия формы с пустым модулем до вставки.

&НаКлиенте
Процедура УчебныйПример(Команда)
    ТабДок = ПостроитьУчебныйДокумент();

    ТабДок.Показать("Учебный документ — без печати и сохранения");
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПостроитьУчебныйДокумент()
    ТабДок = Новый ТабличныйДокумент;
    Макет = Новый ТабличныйДокумент;
    Макет.Макет = Истина;
    ЯчейкаИмени = Макет.Область(1, 1);
    ЯчейкаИмени.Текст = "НаименованиеТовара";
    ЯчейкаИмени.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр;
    Макет.Область(1, 2).Текст = "Товар для учебного примера";
    Макет.Область(, 1, , 1).ШиринаКолонки = 25;
    Макет.Область(, 2, , 2).ШиринаКолонки = 35;
    Сообщить(Макет.Параметры.Количество() = 1);
    ОбластьВывода = Макет.ПолучитьОбласть(1, 1, 1, 2);
    ОбластьВывода.Параметры.Заполнить(Новый Структура("НаименованиеТовара", "Книга"));
    ТабДок.Вывести(ОбластьВывода);
    Сообщить(ТабДок.Область(1, 1).Текст = "Книга");
    Сообщить(Макет.Область(1, 1).Текст = "НаименованиеТовара");
    Сообщить(Не ТабДок.Макет);
    Возврат ТабДок;
КонецФункции

Разбор по шагам

  1. Собственный Макет создаётся на сервере. Текст параметрической ячейки задаёт имя НаименованиеТовара; тип заполнения Параметр отличает его от обычной надписи.

  2. ПолучитьОбласть возвращает отдельный табличный документ. Заполнить берёт значение из одноимённого свойства структуры.

  3. Вывести вставляет область с подставленным значением в новый результат. Исходное имя параметра в макете не переписано.

  4. Результат — обычный табличный документ, а не редактор макета. Показ выполняется после возврата клиенту.

Как проверить результат

  1. Четыре проверки дают Истина.

  2. В первой ячейке результата Книга, во второй Товар для учебного примера.

  3. Замените только значение структуры на Ручка: результат меняется, имя параметра остаётся прежним.

Ожидаемый результат

Полностью собственный минимальный макет с проверкой заполнения и независимости исходной области.

На что обратить внимание

  1. Параметры и Макет имеют ограничения по доступности: здесь они используются на сервере, а не в клиентском обработчике тонкого клиента.

  2. Имена структуры должны совпадать с параметрами макета. Это не обращение к реквизиту Наименование справочника.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Заполнить подпись и расшифровку рисунка из макета

Параметр определяет подпись, ПараметрРасшифровки — отдельное значение для расшифровки. В макете используем собственный код товара, не внешнюю ссылку.

Где и как запускать

Полный модуль управляемой формы собственной учебной внешней обработки. Построение выполняется на сервере без контекста; показ — на клиенте. Вставляйте на уровне модуля.

Подготовка

  1. Создайте новую внешнюю обработку с управляемой основной формой в учебной базе. Каждый урок — отдельная копия модуля.

  2. На форме создайте команду УчебныйПример и перетащите её на форму как кнопку. В действии команды выберите процедуру УчебныйПример(Команда).

  3. Вставьте весь модуль из примера: УчебныйПример, ПостроитьУчебныйДокумент и УчебнаяТаблица. Серверный вызов возвращает собственный табличный документ клиенту; директивы не удаляйте.

  4. Никакие макеты, документы и справочники конфигурации не нужны. Всё построение — в памяти, без печати, записи файлов и отправки в сервисы.

  5. Показ и ручную проверку выполняйте в тонком клиенте Windows 8.5.1.1343. Каждый урок — отдельная копия формы с пустым модулем до вставки.

&НаКлиенте
Процедура УчебныйПример(Команда)
    ТабДок = ПостроитьУчебныйДокумент();

    ТабДок.Показать("Учебный документ — без печати и сохранения");
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПостроитьУчебныйДокумент()
    ТабДок = Новый ТабличныйДокумент;
    Макет = Новый ТабличныйДокумент;
    Макет.Макет = Истина;
    Макет.Область(, 1, , 10).ШиринаКолонки = 8;
    Макет.Область(1, 1, 8, 10).ВысотаСтроки = 12;
    Макет.Область(8, 1).Текст = "Учебная карточка — не данные базы";
    Надпись = Макет.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
    Надпись.Имя = "УчебнаяПодписьТовара";
    Надпись.Лево = 5;
    Надпись.Верх = 5;
    Надпись.Ширина = 80;
    Надпись.Высота = 15;
    Надпись.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр;
    Надпись.Параметр = "ПодписьТовара";
    Надпись.ПараметрРасшифровки = "ДанныеТовара";
    Надпись.Гиперссылка = Истина;
    ДанныеТовара = Новый Структура("УчебныйНомер,Источник", 1, "Только учебный макет");
    Макет.Параметры.Заполнить(Новый Структура("ПодписьТовара,ДанныеТовара", "Книга: 750 руб.", ДанныеТовара));
    ТабДок.Вывести(Макет);
    Результат = ТабДок.Рисунки.Получить(0);
    Сообщить(Результат.Текст = "Книга: 750 руб.");
    Сообщить(Результат.Расшифровка.УчебныйНомер = 1);
    Сообщить(Результат.Расшифровка.Источник = "Только учебный макет");
    Сообщить(Результат.Гиперссылка);
    ТабДок.ТолькоПросмотр = Истина;
    Возврат ТабДок;
КонецФункции

Разбор по шагам

  1. Макет имеет собственную область 8×10 и контрольную подпись в восьмой строке. Так явно задан размер выводимого блока, а рисунок расположен над подписью.

  2. Параметр и ПараметрРасшифровки — два разных имени. Первый получает строковую подпись, второй — структуру с собственным номером 1.

  3. Заполняем параметры макета и выводим его в результат. Получить(0) допустим здесь, потому что в собственном макете ровно один рисунок.

  4. Гиперссылка задаёт представление/поведение гиперссылки, а Расшифровка содержит полезную нагрузку. Структура не превращается автоматически в URL.

  5. Обработчик открытия карточки товара здесь не реализован и не вызывается. Урок показывает подготовку подписи и данных для такого обработчика.

Как проверить результат

  1. Четыре проверки дают Истина.

  2. В показе подпись Книга: 750 руб. с признаком гиперссылки. Нажатие не подтверждает интеграцию или открытие реального товара.

Ожидаемый результат

Раздельные параметры подписи и собственной расшифровки без внешних переходов.

На что обратить внимание

  1. Не подставляйте секреты в расшифровку: она передаётся с документом.

  2. Прикладной обработчик должен отдельно проверять тип расшифровки, допустимые команды и права.

  3. Это не универсальная подстановка всех реквизитов рабочего макета.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.