Fórum Converter .AsVariant em Asstring #428954
17/11/2012
0
pois o campo CSTICMS no banco de dados esta em varchar(5) com o seguinte valor = cst10 ?
Andre Ucella
Curtir tópico
+ 0Posts
17/11/2012
Claudia Nogueira
Tentou assim:
CST := Dmnfe.QpedidositensCSTICMS.AsString;
pois o campo CSTICMS no banco de dados esta em varchar(5) com o seguinte valor = cst10 ?
Gostei + 0
17/11/2012
Andre Ucella
[Error] ufrmgeraxml.pas(205): Incompatible types: 'TpcnCSTIcms' and 'String'
[Fatal Error] SOSCommerce.dpr(21): Could not compile used unit 'ufrmgeraxml.pas'
Gostei + 0
17/11/2012
Claudia Nogueira
Esse TpcnCSTIcms é um type?
Gostei + 0
17/11/2012
Claudia Nogueira
Esse TpcnCSTIcms é um type?
Gostei + 0
18/11/2012
Andre Ucella
Gostei + 0
18/11/2012
Andre Ucella
// itens da nfe
anumiten :=0;
Dmnfe.Qpedidositens.First;
while not Dmnfe.Qpedidositens.Eof do
begin
inc(anumiten);
with det.Add do
begin
Prod.nItem := anumiten;
Prod.cProd := inttostr(Dmnfe.QpedidositensIDPRODUTO.AsInteger);
Prod.cEAN := Dmnfe.QpedidositensEAN13.AsString;;
Prod.xProd := Dmnfe.QpedidositensDESCRICAO.AsString;
Prod.NCM := Dmnfe.QpedidositensNCM.AsString;
Prod.EXTIPI := '';
Prod.CFOP := Dmnfe.QpedidositensCFOP.AsString;
Prod.uCom := Dmnfe.QpedidositensPRODUTO.AsString;
Prod.qCom := Dmnfe.QpedidositensQUANTIDADE.AsFloat;
Prod.vUnCom := Dmnfe.QpedidositensVALOR.AsFloat;
Prod.vProd := Dmnfe.QpedidositensVALOR_TOTAL.AsFloat;
Prod.cEANTrib := Dmnfe.QpedidositensEAN13.AsString;
Prod.uTrib := Dmnfe.QpedidositensPRODUTO.AsString;
Prod.qTrib := Dmnfe.QpedidositensQUANTIDADE.AsFloat;
Prod.vUnTrib := Dmnfe.QpedidositensVALOR.AsFloat;
Prod.vFrete :=0;
Prod.vSeg :=0;
Prod.vDesc := Dmnfe.QpedidositensDESCONTO.AsFloat;
with imposto do
begin
with ICMS do
begin
if Dmnfe.QpedidositensALIQUOTA.AsString = 'Tributado' then
begin
//CST := Dmnfe.QpedidositensCSTICMS.AsVariant;//
CSOSN := csosn101;
ICMS.orig := oeNacional;
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := Dmnfe.QpedidositensBASE_ICMS.AsFloat;
ICMS.pICMS := Dmnfe.QpedidositensALIQUOTA_ICMS.AsFloat;
ICMS.vICMS := Dmnfe.QpedidositensVALOR_ICMS.AsFloat;
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST :=0;
ICMS.pRedBCST :=0;
ICMS.vBCST :=0;
ICMS.pICMSST :=0;
ICMS.vICMSST :=0;
ICMS.pRedBC :=0;
end;
if Dmnfe.QpedidositensALIQUOTA.AsString ='Substituicao' then
begin
//CST := Dmnfe.QpedidositensCSTICMS.AsVariant;//
CSOSN := csosn500;
ICMS.orig := oeNacional;
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := Dmnfe.QpedidositensBASE_ICMS.AsFloat;
ICMS.pICMS := 0;
ICMS.vICMS := 0;
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := Dmnfe.QpedidositensMG_SUBST.AsFloat;
ICMS.pRedBCST :=0;
ICMS.vBCST := Dmnfe.QpedidositensBASE_ST.AsFloat;
ICMS.pICMSST := Dmnfe.QpedidositensMG_SUBST.AsFloat;
ICMS.vICMSST := Dmnfe.QpedidositensVALOR_ST.AsFloat;;
ICMS.pRedBC :=0;
if Dmnfe.QpedidositensALIQUOTA.AsString = 'Isento' then
begin
with II do
begin
vBc :=0;
vDespAdu :=0;
vII := Dmnfe.QpedidositensVALOR_TOTAL.AsFloat;
vIOF := 0;
end;
end;
end;
end;
end;
end;
Dmnfe.Qpedidositens.Next;
end;
Gostei + 0
18/11/2012
Claudia Nogueira
if Dmnfe.QpedidositensCSTICMS.Value = csts10 then CST = '10' else if Dmnfe.QpedidositensCSTICMS.Value = csts00 then CST = '00' elae if Dmnfe.QpedidositensCSTICMS.Value = csts60 then CST = '60';
E vai fazendo if com todos os CSTs.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)