Страница 1 из 1

Ввод значения в вычисляемое поле и его обработка

Добавлено: 03 июл 2012, 02:16
Friendlyman
Нужно сохранить число, но в таблице уже не осталось свободных числовых полей, для сохранения числа использую текстовое поле (ArxShtrf.SCHPOL2).
Для отображения в интерфейсе сделал вычисляемое поле логической таблицы с помощью конструкции
GetDouble(ArxShtrf.SCHPOL2) (fieldname = SumVacationTaxFld),
собственно SumVacationTaxFld в интерфейсе и свечу.

При попытке ввести что либо в это поле, естественно ничего не сохраняется - нужно введенное значение упаковать в исходное поле-хранилище ArxShtrf.SCHPOL2
Ввод значения в это поле обработал событием cmCheckField на поле #SumVacationTaxFld.

Вопрос: как словить введенное в поле значение?
Поможет ли GetVieverData?
Какой синтаксис использования этой функции?

Re: Ввод значения в вычисляемое поле и его обработка

Добавлено: 03 июл 2012, 10:43
KATZ
Правильное название функции GetViewerData.

Вы хотите совместить 2 противоречивых требования. С одной стороны, используется вычисляемое поле, а, с другой стороны, вы хотите иметь возможность вручную в него вводить данные. ИМХО, вам надо пристегнуть к этому полю кнопку выбора, по ее нажатию показывать диалог для ввода числа, а после завершения диалога обновлять значение ArxShtrf.SCHPOL2.

Хотя, возможно, существуют более элегантные способы. У вас в профиле написано ТопСофт, так что есть неплохие шансы найти где-нибудь в соседней комнате другое решение, получше.

Re: Ввод значения в вычисляемое поле и его обработка

Добавлено: 03 июл 2012, 13:13
edward_K
событие
cmExprFieldChanged :
в нем можно получить значение текущего выч.выражения через ExprFieldValue. Функция строковая, так что если нужно сохранять в поле другого типа лучше преобразовать явно.

Re: Ввод значения в вычисляемое поле и его обработка

Добавлено: 03 июл 2012, 15:51
Friendlyman
edward_K писал(а):событие
cmExprFieldChanged :
в нем можно получить значение текущего выч.выражения через ExprFieldValue. Функция строковая, так что если нужно сохранять в поле другого типа лучше преобразовать явно.
Спасибо! Работает!