MyTetra Share
Делитесь знаниями!
ЭтаФорма, Объект, и другие ключевые идентификаторы в 1С
Время создания: 30.10.2012 12:10
Автор: xintrea
Текстовые метки: 1С, форма, реквизит, элемент
Раздел: Компьютер - Windows - 1С - Теория
Запись: xintrea/mytetra_syncro/master/base/1351584652btavl1iwv8/text.html на raw.github.com

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



ЭтаФорма


Используется в модуле формы, в процедурах &НаКлиенте и &НаСервере.


Позволяет обращаться и к элементам формы и к реквизитам.


Обращение к элементу формы происходит через объект Элементы и выглядит так:


ЭтаФорма.Элементы.НомерВерсии.Заголовок = "v."+ВерсияПрограммы;


Обращение к реквизиту, существующему на форме, происходит так:


ЭтаФорма.ТекстОбъявления="Здравствуйте, товарищи!";



Упрощенное обращение к элементам формы и реквизитам


В модуле формы, в принципе, можно не указывать ключевое слово ЭтаФорма. Можно обращаться к элементам формы и к реквизитам упрощенно:


// Элемент формы

Элементы.НомерВерсии.Заголовок = "v."+ВерсияПрограммы;


// Реквизит формы

ТекстОбъявления="Здравствуйте, товарищи!";



Особенности получения реквизитов форм (важно!)


Если реквизит формы имеет простой тип - Строка, Число, Дата... то получить (установить) значение реквизита можно просто по имени:


Текст=НаименованиеТовара; // Наименование товара - это реквизит формы


Однако, таким образом невозможно получить реквизиты "сложного" типа - ТаблицаЗначений, ДеревоЗначений. При попытке получить реквизит с таким типом по наименованию, будет возвращен объект типа ДанныеФормыКоллекция.


Чтобы получить значение реквизита со "сложным" типом, нужно воспользоваться функцией РеквизитФормыВЗначение():


ТекущаяТаблица=РеквизитФормыВЗначение("ВыбранныеОбъектыСтроительства");


Для установки значения "сложного" реквизита, можно воспользоваться функцией ЗначениеВРеквизитФормы(<Значение>, <ИмяРеквизита>), оба параметра обязательны.


Функции РеквизитФормыВЗначение() и ЗначениеВРеквизитФормы() доступны только на Сервере.



Объект


Строго говоря, такого ключевого слова в пределах формы нет. Просто, когда создается форма, например, форма элемента, 1С автоматически создает на форме реквизит с именем Объект. Через данный реквизит доступны свойства текущего объекта, который редактируется на форме.


Например, можно получать ссылку на текущий открытый элемент справочника:


СсылкаНаТекущийЭлемент=Объект.Ссылка;


или, более полная запись:


СсылкаНаТекущийЭлемент=ЭтаФорма.Объект.Ссылка;



ЭтотОбъект


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

Использование: Только чтение.


Доступность: Сервер, толстый клиент, внешнее соединение.




Знаете ли вы, что:

Платформа 1С - это не только бухгалтерский учет! В интернете давно зарекомендавала себя платформа для создания сайтов 1С-Битрикс. На портале https://hrustalev.com можно заказать готовый сайт для любого направления бизнеса, созданный на платформе 1С-Битрикс. Совместимость с 1С гарантирована.


 
MyTetra Share v.0.59
Яндекс индекс цитирования