А если как-то вот так?
X++:
static void test_SQL_Imitation(Args _args)
{
#macrolib.SQL_Imitation
LedgerTable ledgerTable;
;
// имитация: WHERE ledgerTable.AccountNum BETWEEN '01' AND '02яяяя'
while select ledgerTable
where #sqlBetween( ledgerTable.AccountNum, ['01','02яяяя'] )
{
info (ledgerTable.AccountNum);
}
info ('-------------------------');
// имитация: WHERE ledgerTable.AccountNum IN ('01.20.00','01.50.00','01.70.00','02.30.00','02.40.00','02.60.00')
// ! для прогона здесь следует подставить конкретные значения из плана счетов своей системы
while select ledgerTable
where #sqlIn( ledgerTable.AccountNum, ['01.20.00','01.50.00','01.70.00','02.30.00','02.40.00','02.60.00'] )
{
info (ledgerTable.AccountNum);
}
}
где глобальный макрос SQL_Imitation примерно следующий:
X++:
#LOCALMACRO.sqlBetween
(%1 >= conpeek(%2, 1) && %1 <= conpeek(%2, 2))
#ENDMACRO
#LOCALMACRO.sqlIn
( %1 == conpeek(%2, 1)
|| %1 == conpeek(%2, 2)
|| %1 == conpeek(%2, 3)
|| %1 == conpeek(%2, 4)
|| %1 == conpeek(%2, 5)
|| %1 == conpeek(%2, 6)
|| %1 == conpeek(%2, 7)
|| %1 == conpeek(%2, 8)
|| %1 == conpeek(%2, 9)
|| %1 == conpeek(%2,10)
)
#ENDMACRO
P.S. 13.08.2010. Через 2 года история имела продолжение здесь:
select в X++ и список значений в условии where