на форме реаловское поле из таблицы, в ds на нем перекрыт Lookup
X++:
void lookup(FormRealControl _formControl, str _filterStr)
{
Query lookupQuery = new Query();
QueryBuildDataSource queryBuildDataSource;
QueryBuildRange queryBuildRange;
SysTableLookup sysTableLookup;
TableId tableId;
FieldId fieldId;
;
tableId = tableNum(PriceDiscTable);
fieldId = fieldNum(PriceDiscTable, Amount);
sysTableLookup = SysTableLookup::newParameters(tableId, _formControl);
sysTableLookup.addLookupfield(fieldId);
sysTableLookup.addLookupfield(fieldNum(PriceDiscTable, FromDate));
sysTableLookup.addLookupfield(fieldNum(PriceDiscTable, ToDate));
sysTableLookup.addLookupfield(fieldNum(PriceDiscTable, QuantityAmount));
queryBuildDataSource = lookupQuery.addDataSource(tableId);
queryBuildDataSource.orderMode(OrderMode::OrderBy);
queryBuildDataSource.addSortField(fieldId);
queryBuildDataSource.addRange(fieldNum(PriceDiscTable, AccountRelation)).value(RContractTable.RContractPartnerCode);
queryBuildDataSource.addRange(fieldNum(PriceDiscTable, ItemRelation)).value(OR_ContractSpecification.ItemId);
// queryBuildDataSource.addRange(fieldNum(PriceDiscTable, FromDate)).value(strfmt('<%1, %1, ""', RContractTable.ContractDate));
queryBuildDataSource.addRange(fieldNum(PriceDiscTable, ToDate)).value(strfmt('>%1, %1, ""', RContractTable.ContractDate));
queryBuildDataSource.addRange(fieldNum(PriceDiscTable, Currency)).value(RContractTable.CurrencyCode);
sysTableLookup.parmQuery(lookupQuery);
_formControl.performFormLookup(sysTableLookup.formRun());
}
при выборе из Lookup выпадает ошибка:
ошибка при вводе значения
Ошибка в формате числа.
Ошибка возникает если целая часть числа бльше 4 знаков, те 999.99 нет ошибки 1000.01 ошибка. Если руками вводить значение в поле ошибки нет( Что не так и что делать?