Difference between revisions of "Form.BindToProperty"

From SunFlurry wiki
Jump to: navigation, search
(Created page with "{{infobox function |name=BindToProperty |object=Форма |caption=Привязка элементов |type=1 |status=2 |db=0 |exception=Невозможно превр...")
 
m (1 revision imported)
 
(No difference)

Latest revision as of 08:50, 7 February 2021

  BindToProperty (Привязка элементов)
Объект:Форма
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, ошибка параметров
Визуальность:Да

Функция используется для привязки текущего визуального элемента к реквизиту редактируемого в данный момент на форме объекта (т.е., если форма открыта в режиме редактирования, см. Form.Object). Визуальный элемент может быть следующих типов: поле редактирования, флажок, группа переключателей, поле со списком (т.е., для линейных элементов). Визуальный элемент должен быть свободным и не привязанным к какому-либо реквизиту. Функция может использоваться, к примеру, в формах макросов, чтобы привязать визуальный элемент формы макроса к определенному реквизиту, вне зависимости от того, где этот макрос будет использован.

Синтаксис

Form.BindToProperty(<Наименование реквизита объекта (STRING)>):<Операция выполнена успешно (INT)>

Аргументы

  • <Наименование реквизита объекта (STRING)> - Задает наименование реквизита объекта базы данных, который открыт для редактирования или просмотра в текущей форме.

Возвращаемое значение

Возвращает 1, если операция выполнена успешно, 0 в ином случае (если элемент уже привязан, некорректного типа и пр., функция вызывает исключение).

Примеры

//Фрагмент события OnOpen макроса, содержащего код и наименование элемента. Макрос может использоваться в любых формах справочников,
//  которые имеют реквизиты Code и Name. Поля редактирования макроса должны быть привязаны к реквизитам объекта при открытии, так как 
//  невозможно задать их привязку в Студии
Form.cName.BindToProperty("Name");
Form.cCode.BindToProperty("Code");
Form.InvokeEvent("OnStatusChange");
If Form.Object.Status()<0 Then
  //Для новых объектов активируем поле "Name", чтобы пользователь имел возможность сразу же начать редактирование.
  Form.cName.SetFocus();
Else
  Form.bPanelClose.SetFocus();
Endif;