ДополнительныеПараметры

Темы платформы · AdditionalParameters

Тип: Структура. Дополнительные параметры формы, открываемой при нажатии кнопки "Создать". На мобильной платформе параметр не используется.

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

ДополнительныеПараметры (AdditionalParameters)

Расширение формы клиентского приложения для объекта таблицы внешнего источника данных

ДополнительныеПараметры (AdditionalParameters)

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

Описание:
Тип: Структура.
Дополнительные параметры формы, открываемой при нажатии кнопки "Создать".
На мобильной платформе параметр не используется.
Использование в версии:

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

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

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

ДополнительныеПараметры: своя внешняя карточка книги

Параметр передаётся настоящему расширению своей формы и имеет конкретный собственный источник.

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

Основная команда — своя управляемая обработка; указанные обработчики формы / объекта — в своих точных модулях.

Подготовка

  1. Только собственный локальный SQL Server и отдельная учебная база 1С без рабочих внешних источников. SQL-блок выполните вручную в SSMS своего экземпляра: он создаёт новую GuideExternalBooks и две собственные таблицы. Если имя уже занято, существующую базу не удаляйте и не заменяйте.

  2. В ODBC Data Sources разрядности серверного процесса 1С создайте собственный System DSN GuideOwnBooks: ваш localhost SQL Server, база GuideExternalBooks, Windows-аутентификация. Пользователь серверного процесса 1С должен иметь доступ только к этой учебной базе. Настройте нормальное доверие сертификату драйвера, проверку TLS не отключайте.

  3. В Конфигураторе создайте ВнешниеИсточникиДанных → УчебныеКниги, автоматическое управление блокировками. Таблица Карточки: имя dbo.lesson_items, тип ОбъектныеДанные, ТолькоЧтение Ложь; Код=book_id Строка20, Название=title Строка100, Количество=quantity Число9.0. Null запрещён, ПоляКлюча и ПоляБлокировкиДанных — Код, представление — Название.

  4. Таблица Строки: имя dbo.lesson_lines, тип НеобъектныеДанные, ТолькоЧтение Ложь; Урок=lesson_id Строка20, Номер=line_no Число9.0, Название=title Строка100, Количество=quantity Число9.0. Null запрещён, поля ключа / блокировки — Урок и Номер именно в этом порядке.

  5. Мастером создайте у Карточки управляемую форму объекта УчебнаяКарточка, а у Строки управляемую форму записи УчебнаяСтрока. Сохраните настоящие основные реквизиты и привяжите поля. Назначьте эти формы основными для редактирования таблиц и создайте стандартные формы списков.

  6. В своей обработке с управляемой формой создайте команду ПодготовитьУчебноеСоединение. Отдельный блок настройки соединения относится только к модулю этой обработки; пользователь имеет административные права на свой источник. Настраивается только сеанс, не общие параметры чужого подключения.

  7. Основной обработчик — новая клиентская команда ОткрытьУчебнуюФорму в своей управляемой обработке. Сначала подключите собственное сеансовое соединение отдельной командой подготовки.

  8. При ручном опыте открывается только собственная форма УчебнаяКарточка. Записать не вызывается; закрывайте новые / скопированные данные без сохранения. BSL, SQL, открытие форм и запись внешней таблицы при сборке HTML не выполнялись.

  9. У формы УчебнаяКарточка объявите свой параметр ПояснениеУчебное типа Строка 100 и реквизит СтатусУрока Строка 200 с видимым полем. Дополнительный обработчик назначьте самой форме.

  10. В открывшемся учебном выборе нажмите стандартную Создать. ДополнительныеПараметры предназначены именно для формы, открываемой этой командой, а не автоматически становятся реквизитами текущей формы. На мобильной платформе параметр не используется.

&НаКлиенте
Процедура ОткрытьУчебнуюФорму(Команда)
    Параметры = Новый Структура;
    Параметры.Вставить("РежимВыбора", Истина);
    Дополнительные = Новый Структура("ПояснениеУчебное", "Памятка книг");
    Параметры.Вставить("ДополнительныеПараметры", Дополнительные);
    ОткрытьФорму("ВнешнийИсточникДанных.УчебныеКниги.Таблица.Карточки.Форма.УчебнаяКарточка", Параметры);
    Сообщить("Открыта собственная форма с параметром ДополнительныеПараметры");
КонецПроцедуры
SSMS своего SQL Server: новый изолированный источник
CREATE DATABASE GuideExternalBooks;
GO
USE GuideExternalBooks;
GO
CREATE TABLE dbo.lesson_items (
    book_id nvarchar(20) NOT NULL PRIMARY KEY,
    title nvarchar(100) NOT NULL,
    quantity numeric(9,0) NOT NULL
);
CREATE TABLE dbo.lesson_lines (
    lesson_id nvarchar(20) NOT NULL,
    line_no numeric(9,0) NOT NULL,
    title nvarchar(100) NOT NULL,
    quantity numeric(9,0) NOT NULL,
    PRIMARY KEY (lesson_id, line_no)
);
INSERT INTO dbo.lesson_items VALUES (N'BOOK-1', N'Учебная книга', 3);
INSERT INTO dbo.lesson_lines VALUES (N'LESSON-1', 1, N'Учебная строка книги', 3);
Модуль собственной обработки: настройка только своего сеансового соединения
&НаКлиенте
Процедура ПодготовитьУчебноеСоединение(Команда)
    НастроитьСвойИсточник();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура НастроитьСвойИсточник()
    Источник = ВнешниеИсточникиДанных.УчебныеКниги;
    Параметры = Источник.ПолучитьПараметрыСоединенияСеанса();
    Параметры.СУБД = "MSSQLServer";
    Параметры.СтрокаСоединения = "DSN=GuideOwnBooks;";
    Параметры.АутентификацияОС = Истина;
    Параметры.АутентификацияСтандартная = Ложь;
    Параметры.ИмяПользователя = "";
    Параметры.Пароль = "";
    Источник.УстановитьПараметрыСоединенияСеанса(Параметры);
    Источник.УстановитьСоединение();
КонецПроцедуры
Модуль своей формы УчебнаяКарточка: получить дополнительный параметр новой формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Пояснение = Неопределено;
    Если Параметры.Свойство("ПояснениеУчебное", Пояснение) Тогда
        СтатусУрока = "Создание из учебного выбора: " + Строка(Пояснение);
    КонецЕсли;
КонецПроцедуры

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

  1. Подготовьте собственный SQL и метаданные по точному контракту.

  2. Настройте свой сеанс и откройте форму основным кодом.

  3. Сравните описанный результат / создание / копирование и закройте без записи.

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

  1. Внешняя карточка имеет ссылку; необъектная строка — составной ключ Урок / Номер. Эти два типа не подменяются строкой кода.

  2. Открытие формы не означает запись новой или скопированной SQL-строки. Для её записи потребуются свободный собственный ключ и явная команда пользователя.

  3. У новой формы, открытой командой Создать, СтатусУрока получает собственную подпись Памятка книг. Самостоятельно скопированная структура без открытия дочерней формы это поведение не проверяет.

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

Есть реальная форма внешней таблицы, корректный вид ключа и наблюдаемое назначение параметра.

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

  1. Эти самостоятельные уроки не надо объединять в один вызов с конфликтующими Ключ / ЗначениеКопирования / Основание.

  2. BSL и подключение к SQL при сборке справочника не выполнялись.

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

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

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

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

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