В классе CCADOField нет метода setValue. Добавьте его сами:
X++:
// Установка значения (real, date, int, str)
void setValue(anytype _value)
{
switch (typeof(_value))
{
case Types::Date:
field.value(COMVariant::createFromDate(_value));
break;
case Types::Enum, Types::Integer:
field.value(COMVariant::createFromInt(_value));
break;
case Types::Real:
field.value(COMVariant::createFromReal(_value));
break;
case Types::RString, Types::String, Types::VarString:
field.value(COMVariant::createFromStr(_value));
break;
default:
field.value(COMVariant::createNoValue());
}
}
Данный метод неприменим для типа даты, времени, массива и булевого. Эти типы преобразуются легко:
X++:
// Установка значения DateTime
void setDateTimeValue(date _valueDate, int _valueTime)
{
field.value(COMVariant::createFromDateAndTime(_valueDate, _valueTime));
}
// Установка значения Time
void setTimeValue(int _value)
{
field.value(COMVariant::createFromTime(_value));
}
// Установка значения boolean
void setBooleanValue(boolean _value)
{
field.value(COMVariant::createFromBoolean(_value));
}
// Установка значения Array
void setArrayValue(Array _value)
{
field.value(COMVariant::createFromArray(_value));
}