Estimado Amadis, creo que el problema podría ser el iif...
Primero: Las sentencias de asignacion a A.l1 son distintas
Código SQL
[-]
--En esta estas realizando una asignación dentro del IIF... ERROR
, iif( costoiva , A.l1 = (A.costo/A.alic * :P1) * A.alic, A.l1 = (A.costo * :P1) * A.alic )
--Aqui estas asignando a A.l1 el valor resultante del IIF...Correcta
, A.l1 = iif( A.costoiva , ((A.costo/A.alic) * :P1) * A.alic, (A.costo * :P1) * A.alic )
Te sugiero utilizar esta sentencia
Código Delphi
[-]
...
QAct.SQL.Append('A.l1 = iif(A.costoiva, (A.costo/A.alic * :P1) * A.alic, (A.costo * :P1) * A.alic)');
Saludos cordiales