Ir para conteúdo
  • Cadastre-se

Rodrigo - Digibyte

Membros Pro
  • Total de ítens

    284
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Rodrigo - Digibyte postou

  1. O CFOP está declarado de forma diferente conforme abaixo: Nos registros c181/c185 o CFOP é string. Nos registros c191/c195 o CFOP é integer.
  2. Aqui não estava gerando o registro M410, filho do 400. Comparei com o 800/810 e existe a diferença destacada abaixo, a não ser que seja por algum motivo específico creio que seja um erro. procedure TBloco_M.WriteRegistroM400(RegM001: TRegistroM001) ; var intFor : integer; strCST_PIS : AnsiString; begin if Assigned(RegM001.RegistroM400) then begin for intFor := 0 to RegM001.RegistroM400.Count - 1 do begin with RegM001.RegistroM400.Items[intFor] do begin case CST_PIS of stpisValorAliquotaNormal : strCST_PIS := '01'; stpisValorAliquotaDiferenciada : strCST_PIS := '02'; stpisQtdeAliquotaUnidade : strCST_PIS := '03'; stpisMonofaticaAliquotaZero : strCST_PIS := '04'; stpisValorAliquotaPorST : strCST_PIS := '05'; stpisAliquotaZero : strCST_PIS := '06'; stpisIsentaContribuicao : strCST_PIS := '07'; stpisSemIncidenciaContribuicao : strCST_PIS := '08'; stpisSuspensaoContribuicao : strCST_PIS := '09'; stpisOutrasOperacoesSaida : strCST_PIS := '49'; stpisOperCredExcRecTribMercInt : strCST_PIS := '50'; stpisOperCredExcRecNaoTribMercInt : strCST_PIS := '51'; stpisOperCredExcRecExportacao : strCST_PIS := '52'; stpisOperCredRecTribNaoTribMercInt : strCST_PIS := '53'; stpisOperCredRecTribMercIntEExportacao : strCST_PIS := '54'; stpisOperCredRecNaoTribMercIntEExportacao : strCST_PIS := '55'; stpisOperCredRecTribENaoTribMercIntEExportacao : strCST_PIS := '56'; stpisCredPresAquiExcRecTribMercInt : strCST_PIS := '60'; stpisCredPresAquiExcRecNaoTribMercInt : strCST_PIS := '61'; stpisCredPresAquiExcExcRecExportacao : strCST_PIS := '62'; stpisCredPresAquiRecTribNaoTribMercInt : strCST_PIS := '63'; stpisCredPresAquiRecTribMercIntEExportacao : strCST_PIS := '64'; stpisCredPresAquiRecNaoTribMercIntEExportacao : strCST_PIS := '65'; stpisCredPresAquiRecTribENaoTribMercIntEExportacao : strCST_PIS := '66'; stpisOutrasOperacoes_CredPresumido : strCST_PIS := '67'; stpisOperAquiSemDirCredito : strCST_PIS := '70'; stpisOperAquiComIsensao : strCST_PIS := '71'; stpisOperAquiComSuspensao : strCST_PIS := '72'; stpisOperAquiAliquotaZero : strCST_PIS := '73'; stpisOperAqui_SemIncidenciaContribuicao : strCST_PIS := '74'; stpisOperAquiPorST : strCST_PIS := '75'; stpisOutrasOperacoesEntrada : strCST_PIS := '98'; stpisOutrasOperacoes : strCST_PIS := '99'; end; Add( LFill('M400') + LFill( strCST_PIS ) + LFill( VL_TOT_REC,0,2 ) + LFill( COD_CTA ) + LFill( DESC_COMPL ) ) ; end; // Registros FILHOS WriteRegistroM410( RegM001.RegistroM400.Items[intFor] ); ********* faltavam as duas linhas acima destacadas em vermelho *********** /// RegistroM990.QTD_LIN_M := RegistroM990.QTD_LIN_M + 1; end; /// Variavél para armazenar a quantidade de registro do tipo. FRegistroM400Count := FRegistroM400Count + RegM001.RegistroM400.Count; end; end;
  3. Quando instalei o demo também observei alguns erros. Agora está corrido mas assim que der um tempinho (alguns dias) e ninguém fizer mando um demo atualizado.
  4. As áreas de sintegra, pis/cofins, fiscal, etc poderiam ser separadas
  5. O meu gera vazio, será que seu acbr está atualizado?
  6. Aqui gera normal, creio que os zeros estão retornando do seu banco de dados. Para quem é de fora informe em branco ( '' ).
  7. Muito obrigado, isso mesmo que precisava, esqueçi que poderia usar o cast
  8. 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.
×
×
  • 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.