Элемент управления формой, встроенный в свойство DS visible

Я добавил элемент управления SalesId в форму из CustInvoiceTable DS.

Элемент управления не виден даже с кодом в активном методе CustInvoiceTable DS.

CustInvoiceTable_ds.object(fieldNum(CustInvoiceTable, SalesId)).visible(true);

в AOT для свойства видимости CustInvoiceTable.SalesId установлено значение «нет». Если я изменю его на Да, то элемент управления будет виден в форме.

Есть ли способ оставить SalesId видимым «нет» в таблице и с помощью кода установить его видимым (истинным) в форме?

Спасибо.


person AYETY    schedule 27.02.2015    source источник


Ответы (2)


Справка по свойству Visible полей гласит:

Определяет, должно ли поле отображаться в пользовательском интерфейсе.

Если установлено, поле не отображается в формах или отчетах, а также не может быть принудительно отображено программно (кроме изменения свойства поля!).

Единственный другой вариант — сделать метод отображения, но в этом случае сделать поле видимым.

person Jan B. Kjeldsen    schedule 27.02.2015

Вы должны установить видимость управления (вместо DataSource).

Если для элемента управления AutoDeclaration установлено значение Yes, вы можете получить доступ к свойству visible.

controlName.visible(true);

Каждый элемент управления формы также доступен через метод element.control(). controlId можно получить с помощью controlId. метод.

Для безопасности во время компиляции используйте функцию formControlStr.

element
    .control(element.controlId(formControlStr(FormName, ControlName)))
    .visible(true);
person Matej    schedule 27.02.2015
comment
Если для свойства поля таблицы установлено значение Visible=No, это не сработает. - person Alex Kwitny; 27.02.2015
comment
@AlexK Затем вам нужно установить поле DataSource visible(true). Это уточняется в вопросе. - person Matej; 28.02.2015
comment
Я тоже не верю, что это изменит. Ты это пробовал? Наличие свойства поля таблицы AOT в Visible=false? - person Alex Kwitny; 28.02.2015