Cделали себе метод в глобале. Тонны SQL через него преобразуются. У sqlLiteral ограничение кажется 128 символов.
X++:
static str any2sql(anytype _value)
{
#define.LEN_FOR_SPLIT(100)
SqlSystem sqlSystem = new SqlSystem();
int i,nLen;
str ret,curSubStr;
if (typeOf(_value) == Types::String)
{
nLen = strLen(_value);
if (nLen <= #LEN_FOR_SPLIT)
{
return sqlSystem.sqlLiteral(_value);
}
while (nLen)
{
curSubStr = subStr(_value, 1, #LEN_FOR_SPLIT);
curSubStr = sqlSystem.sqlLiteral(curSubStr);
if (ret)
{
ret = subStr(ret, 1, strLen(ret)-1) + subStr(curSubStr, 3, strLen(curSubStr)-2);
}
else
{
ret = curSubStr;
}
_value = subStr(_value, #LEN_FOR_SPLIT + 1, nLen);
nLen = strLen(_value);
}
return ret;
}
return sqlSystem.sqlLiteral(_value);
}