ПланОбменаОбъект.<Имя плана обмена>.ЭтотОбъект

Свойства · ThisObject

Тип: ПланОбменаОбъект.<Имя плана обмена>. Содержит сам объект. Предназначено для получения объекта в модуле объекта или модуле формы.

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

ПланОбменаОбъект.<Имя плана обмена>.ЭтотОбъект (ExchangePlanObject.<Exchange plan name>.ThisObject)

ПланОбменаОбъект.<Имя плана обмена> (ExchangePlanObject.<Exchange plan name>)

ЭтотОбъект (ThisObject)

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

Использование:
Только чтение.
Описание:
Тип: ПланОбменаОбъект.<Имя плана обмена>.
Содержит сам объект. Предназначено для получения объекта в модуле объекта или модуле формы.
Доступность:

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

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

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

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

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

Использовать ЭтотОбъект в модуле своего узла

Экспортный метод получает собственный новый узел через контекст модуля. Это не параметр ИсходныйОбъект и не поиск чужой записи.

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

Текст экспортной процедуры для модуля объекта Планы обмена → УчебныйОбмен. Не вставляйте эту процедуру внутрь ВыполнитьПример или общего модуля; вызов своего экземпляра указан отдельно в подготовке.

Подготовка

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

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.

  6. В отдельной пустой конфигурации Учебная85 создайте Планы обмена → УчебныйОбмен: длина кода 9, тип Строка, наименование длиной 100. Распределённая информационная база выключена; состав плана пустой.

  7. Добавьте реквизит АдресУчебногоУзла: Строка длиной 100, Проверка заполнения = Показывать ошибку. Модуль объекта и подписки должны быть пустыми; не добавляйте отправку сообщений или внешние действия.

  8. Добавьте макет УчебнаяПамятка типа Текстовый документ, одна строка: Этот узел используется только для учебных примеров. История данных для плана не включена. Обновите конфигурацию базы данных.

  9. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи. УчебныйОбмен не является существующим рабочим обменом КА2 или УТ.

  10. Узел каждый раз новый и периферийный. Существующие узлы и текущий узел базы не меняются. Запись, блокировка и удаление далее выполняются только над своим новым UUID в собственной отменяемой транзакции.

  11. Только для этого урока вставьте приведённый экспортный метод в конец модуля объекта Планы обмена → УчебныйОбмен. Это обычный метод, не обработчик события; остальные уроки не вызывают его.

  12. После обновления учебной базы в серверной ВыполнитьПример() создайте свой экземпляр и вызовите метод: Узел = ПланыОбмена.УчебныйОбмен.СоздатьУзел(); Узел.Наименование = "Узел проверки контекста"; Узел.УчебныйПаспортЧерновика();

  13. Не объявляйте локальную переменную, параметр или модульную Перем с именем ЭтотОбъект. Они могут затенить контекст и изменить смысл примера.

Процедура УчебныйПаспортЧерновика() Экспорт
    Если ЭтотОбъект.Метаданные().Имя <> "УчебныйОбмен" Или ЭтотОбъект.ЭтотУзел Тогда
        ВызватьИсключение "Нужен собственный периферийный учебный узел";
    КонецЕсли;
    Сообщить(ЭтотОбъект.Наименование = "Узел проверки контекста");
    Сообщить(ЭтотОбъект.ЭтоНовый());
    Сообщить(ЭтотОбъект.Ссылка.Пустая());
КонецПроцедуры

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

  1. Метод находится именно в модуле объекта учебного плана обмена, а не в общем модуле.

  2. Новый узел создаётся явным вызовом в подготовке и передаётся методу через контекст самого экземпляра.

  3. ЭтотОбъект.Метаданные и ЭтотУзел защищают от вызова на другом плане или текущем узле.

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

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

  1. Три сравнения Истина при точном вызове из подготовки.

  2. Новый учебный узел по-прежнему только в памяти; процедура не принимает внешний объект и не обращается к рабочим узлам.

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

Показан правильный контекст ЭтотОбъект на своём реальном экземпляре.

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

  1. В общем модуле этот код не получает контекст плана обмена автоматически.

  2. Имя ЭтотОбъект нельзя использовать для другого локального значения в этом примере.

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

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

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

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

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