Form.BindToObject

From SunFlurry wiki
Revision as of 09:55, 18 July 2020 by Admin (talk | contribs) (Created page with "{{infobox function |name=BindToObject |object=Форма |caption=Привязка элементов |type=1 |status=1 |db=0 |exception=Невозможно превра...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  BindToObject (Привязка элементов)
Объект:Форма
Статус разработки: Частичная реализация
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, ошибка параметров
Визуальность:Да

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

Синтаксис

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

Аргументы

  • <Наименование объекта (STRING)> - Задает наименование объекта базы данных в виде <Тип объекта>.<Вид объекта>, к примеру Ref.Номенклатура.

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

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

Примеры

//Фрагмент события OnOpen формы выбора папки произвольного справочника по его виду.
//В форму передается набор параметров Param в виде списка
If TypeStr(Param)<>"LIST" Then
  Form.Close(0);
  Exit;
EndIf;

//Вид справочника
Вид:=Param.GetByName("Вид");
//Текущий элемент позиционирования
Элемент:=Param.GetByName("Элемент");
//Родитель справочника, если существует
Родитель:=Param.GetByName("Родитель");
//Привязать дерево Form.оСпр к нужному справочнику
Form.оСпр.BindToObject("Ref."+Вид);
If not isEmpty(Родитель) Then
  Form.оСпр.ParentElement:=Родитель;
EndIf;
//Установить сортировку, если требуется
If not isEmpty(Param.GetByName("Сортировка")) Then
  Form.оСпр.SortString:=Trim(Param.GetByName("Сортировка"));
ElseIf глЕстьРеквизитСправочника("Name",Вид) Then
  Form.оСпр.SortString:="Name+";
EndIf;
If not isEmpty(Элемент) Then
  Form.оСпр.PositionOnElement(Элемент);
EndIf;  

//Активировать дерево
Form.оСпр.SetFocus();