ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>.ПолучитьФорму

Методы · GetForm

Получает форму элемента плана видов характеристик, на который указывает ссылка.

Синтаксис

ПолучитьФорму(<Форма>, <Владелец>, <КлючУникальности>)
Полное описание, параметры и ограничения

ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>.ПолучитьФорму (ChartOfCharacteristicTypesRef.<Chart of characteristic types name>.GetForm)

ПланВидовХарактеристикСсылка.<Имя плана видов характеристик> (ChartOfCharacteristicTypesRef.<Chart of characteristic types name>)

ПолучитьФорму (GetForm)

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

Синтаксис:
ПолучитьФорму(<Форма>, <Владелец>, <КлючУникальности>)
Параметры:

<Форма> (необязательный)
Тип: Строка, ОбъектМетаданных: Форма.
Имя формы, как оно задано в конфигураторе, или объект описания метаданного требуемой формы. Если параметр не указан, то используется основная форма, заданная в конфигураторе.

<Владелец> (необязательный)
Тип: Форма; Элемент управления.
Объект, который будет являться владельцем открываемой формы.

<КлючУникальности> (необязательный)
Тип: Произвольный.
В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм.
При поиске учитываются значения свойств открытых форм соответствующим значениям параметров метода. Если найдена открытая форма (по совпадению всех параметров), то она будет возвращена вместо новой формы.
Если из некой формы (один и тот же владелец) требуется открывать новые экземпляры другой формы, то при каждом вызове метода значение данного параметра должно быть уникально (в рамках соответствующих значений свойств открытых форм).
Значение параметра присваивается свойству открываемой формы КлючУникальности.
Следует учитывать, что при получении формы из "объекта" система получает форму для конкретного экземпляра объекта с учетом совокупности переданных параметров, в то время как для "ссылки" всегда существует только один объект в базе данных и форма получается одна (для одинаковой совокупности параметров).
Возвращаемое значение:
Тип: Форма, Неопределено.
Неопределено - если в обработчике ПриСозданииНаСервере установлен признак отказа от создания формы.
Описание:

Получает форму элемента плана видов характеристик, на который указывает ссылка.

Доступность:

Толстый клиент.

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

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

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

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

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

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

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

Полный модуль собственной ОБЫЧНОЙ формы обработки, толстый клиент с обычным приложением 8.5.1.1343. Собственная заранее подготовленная запись и именованная форма; здесь не запускался.

Подготовка

  1. Создайте НОВУЮ пустую файловую базу и назовите корень конфигурации Учебная85. Не добавляйте учебные объекты в УТ/КА2/УНФ/БП и не подключайте расширения.

  2. Конфигуратор → Планы видов характеристик → Добавить: имя УчебныеСвойства, синоним Учебные свойства. Укажите длину кода 10, длину наименования 100, автонумерацию и контроль уникальности включите.

  3. Включите иерархию плана. В свойстве Тип выберите только Число (12 цифр, 2 дробных, неотрицательное) и Строка (30 символов, переменная длина). Дополнительные значения характеристик не назначайте.

  4. В собственной иерархии разрешите группы и элементы с двумя уровнями ниже корня. Реквизитов, табличных частей и предопределённых элементов не создавайте; история выключена.

  5. Модули собственных объектов/менеджеров пустые, подписок, расширений и внешних действий нет. Не используйте рабочую базу или её копию с действующими обработчиками.

  6. Код здесь в 1С не запускался. HTML показывает урок: проверены исходники и установленная справка именно 8.5.1.1343, но запись/открытие формы в ваших базах не выполнялись.

  7. Ссылка идентифицирует запись, объект служит для её изменения. Свойства ссылки readonly, ВерсияДанных — непрозрачная строка, не номер версии конфигурации.

  8. Непустая плановая ссылка не подтверждает существование записи; перед чтением данных отсутствующая запись исключается отдельно.

  9. У подготовленного FORM-85 ТипЗначения задайте только Строка 30; никакое значение цвета товара не создаётся.

  10. У собственного плана создайте ОБЫЧНУЮ форму элемента УчебнаяФормаСсылкиСвойства с пустым модулем. Поля кода/наименования сделайте недоступными; кнопки Записать/ОК/Удалить и внешние обработчики не добавляйте.

  11. Вручную заранее подготовьте один собственный элемент: Код=FORM-85, Наименование=Собственное описание цвета формы. Это не предопределённая запись и не группа. Урок его только находит и открывает, не создаёт/не удаляет.

  12. Запускайте именно толстый клиент в режиме обычного приложения, не тонкий/веб-клиент и не управляемую форму.

  13. В собственной обработке создайте обычную форму с кнопкой, назначьте действием ПоказатьУчебнуюКарточку и вставьте весь модуль урока в модуль этой формы. ЭтаФорма — её настоящий владелец; это не серверный общий модуль.

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

Процедура ПоказатьУчебнуюКарточку(Кнопка)
    Если Метаданные.ПланыВидовХарактеристик.Найти("УчебныеСвойства") = Неопределено Тогда
        ВызватьИсключение "Создайте собственный план УчебныеСвойства по подготовке";
    КонецЕсли;

    СсылкаКарточки = ПланыВидовХарактеристик.УчебныеСвойства.НайтиПоКоду("FORM-85");
    Если СсылкаКарточки = Неопределено Тогда
        ВызватьИсключение "Собственная заранее подготовленная запись не найдена";
    КонецЕсли;
    Если СсылкаКарточки.Пустая() Тогда
        ВызватьИсключение "Сначала вручную подготовьте запись по коду FORM-85";
    КонецЕсли;
    Если СсылкаКарточки.Наименование <> "Собственное описание цвета формы" Или СсылкаКарточки.ПометкаУдаления Тогда
        ВызватьИсключение "Запись не совпала с собственной подготовленной карточкой";
    КонецЕсли;
    Если СсылкаКарточки.ЭтоГруппа Тогда
        ВызватьИсключение "Ожидался собственный подготовленный элемент, не группа";
    КонецЕсли;
    КлючОкна = Новый УникальныйИдентификатор;
    Карточка = СсылкаКарточки.ПолучитьФорму("УчебнаяФормаСсылкиСвойства", ЭтаФорма, КлючОкна);
    Если Карточка = Неопределено Тогда
        Сообщить("Форма не создана; отказ не является успешным открытием");
        Возврат;
    КонецЕсли;
    Карточка.Открыть();
    Сообщить("Открыта собственная обычная форма; запись кодом не выполнялась");
КонецПроцедуры

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

  1. Проверить точную платформу и собственные метаданные своей пустой базы.

  2. Найти только заданный собственный код; отдельно остановить Неопределено и пустую ссылку.

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

  4. Передать именованную обычную форму, настоящую ЭтаФорма и новый UUID уникальности окна.

  5. Отказ создания отдельно сообщить; только готовую форму открыть без записи/удаления/транзакции.

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

  1. Открыта только именованная собственная обычная форма подготовленной карточки.

  2. Отсутствующая/неподходящая запись или отказ создания не объявляются успехом.

  3. В коде нет Записать, Удалить, сетевых вызовов и удержания транзакции.

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

Правильно использован толстоклиентский контракт ПолучитьФорму ссылки.

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

  1. Это обычная Форма, не управляемое ОткрытьФорму.

  2. ПолучитьФорму ещё не означает Открыть: результат проверяется на Неопределено.

  3. Не подставляйте первую запись из рабочей конфигурации вместо подготовленного собственного кода.

  4. Код сам не сохраняет изменения; действия оператора в 1С здесь не выполнялись и не проверялись.

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

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

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

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

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