Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 4934 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Olá, estou começando a usar o AcbrPisCofins e surgiu uma dúvida a respeito de sua implementação no delphi.

Por exemplo, o registro 0200, vejam meu código:

with ACBrSPEDPisCofins1.Bloco_0.Registro0200New do

begin

COD_ITEM := sp_0200.FieldByName('COD_ITEM').AsString;

DESCR_ITEM := sp_0200.FieldByName('DESCR_ITEM').AsString;

TIPO_ITEM := sp_0200.FieldByName('TIPO_ITEM').AsString;

end;

Claro, a linha destacada retornou erro pois TIPO_ITEM não é TString, é TAcbrTipoItem.

Consultando os fontes achei no código abaixo os valores válidos para TIPO_ITEM, então bastaria informar corretamente

( case TIPO_ITEM of

tiMercadoriaRevenda : strTIPO_ITEM := '00';

tiMateriaPrima : strTIPO_ITEM := '01';

tiEmbalagem : strTIPO_ITEM := '02';

etc

)

Minhas perguntas:

Porque não é utilizado no componente o valor (em string por ex.) já definido no manual, não seria mais lógico e fácil? (apenas uma curiosidade sobre o funcionamento do Acbr)

Terei que fazer um "case ao contrário" para converter as string retornada do banco de dados em TAcbrTipoItem, existe uma forma mais "inteligente" pra resolver essa questão? Isso aconteçe com vários outros tipos do Acbr...

Obs: encontrei alguns erros no projeto de exemplo, vou atualizar o Acbr e se ainda estiverem lá espero contribuir com a correção.

  • Moderadores
Postado

amigo tratamento elegante


with ACBrSPEDPisCofins1.Bloco_0.Registro0200New do

begin

COD_ITEM := sp_0200.FieldByName('COD_ITEM').AsString;

DESCR_ITEM := sp_0200.FieldByName('DESCR_ITEM').AsString;

TIPO_ITEM := TAcbrTipoItem(sp_0200.FieldByName('TIPO_ITEM').AsInteger);

end;

espero ter lhe ajudado

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Este tópico foi criado há 4934 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...