Ir para conteúdo
  • Cadastre-se

carlosmarian

Membros
  • Total de ítens

    235
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que carlosmarian postou

  1. Olá EMBarbosa De acordo com manual da versão 2.0.15 alguns outros campos tbm possuem este tratamento de que em alguns momentos podem ser gerados como vazio: Exemplo : No reg C100 os campos 25 e 26 reg C170 do campo 25 ao 36 Obs: no reg 460, 470 e 500 tbm tem isso. Sabe me informar se existe tratamento para tbm converter estes campos para Variant? Obrigado pela atenção.
  2. Olá, Estou ajustando a aplicação para permitir uso de impressoras do convênio 09/09. Verifiquei que não existe comando(no SCU) para obter o nro do último item vendido/registrado; Fiz um pequeno ajuste no fonte "ACBrECFEscECF.pas", será que pode ser adicionado ao repositório? A alteração consiste em um contador interno que é alimentado pelo retorno do comando de vende item. .. procedure TACBrECFEscECF.VendeItem(Codigo, Descricao: String; ... RespostasComando.AddField( 'NumUltItem', EscECFResposta.Params[0] ); RespostasComando.AddField( 'TotalItem', EscECFResposta.Params[1] ); RespostasComando.AddField( 'SubTotal', EscECFResposta.Params[2] ); fsEmPagamento := false ; fsNroUltimoItem := StrToIntDef(EscECFResposta.Params[0], 1); ... Obrigado pela atenção. ACBrECFEscECF.pas
  3. Referente ao MDFe.infMDFe.ID, foi ajustado na revisão 7947. Obrigado.
  4. Olá. Reexecutei os testes usando a mesma impressora só que agora conectando ela pela serial, neste caso a impressão ocorreu com sucesso. Deve ser algum problema na impressora ou no driver da Bematech. Agradeço a atenção,
  5. Olá, Estou fazendo testes com o uso da Impressora Bematech MP-4000 TH FI(USB), ao executar a impressão dos Parâmetros de Configuração do PAF(Exemplo: ACBrECF1.PafMF_RelParametrosConfiguracao(ACBrECF1.AAC.IdentPAF.Paf)), alguns dados estão sendo impressos em duplicidade(exemplo: IDENTIFICAÇÃO E CARACTERISITICAS DO PROGRAMA APLICATIVO FISCAL). Sempre duplica neste impressora de teste. Em outras impressoras esta duplicidade de dados não ocorre. Será que isso seria só um erro na impressora? Outro fato que percebi, é que ao final deste mesmo relatório, o papel não é cortado e a impressora permanece com o relatório aberto. Fis os testes usando minha aplicação e o "ECFTeste.exe". Revisão atual do ACBr: 8242 Exemplo de dados duplicados gerados pelo relatório a partir do "ECFTeste.exe".
  6. Olá Italo, Sua sugestão é correta, mas temos algumas atividades/processos que devem ser executados durante cada fase de emissão da nota e por isso trabalhamos desta forma. Obrigado.
  7. Olá, Estou gerado uns MDFe para homologar a atualização do ACBr e me deparei um com problema que pode estar relacionado a este post. Ao validar o XML apresenta o erro: "'42141211111111111111580010000000201003358722' violates pattern constraint of 'MDFe[0-9]{44}'. The attribute 'Id' with value '42141211111111111111580010000000201003358722' failed to parse." Avaliando XML pude verificar que o atributo "Id" da tag "infMDFe" foi gerado sem o prefixo "MDFe". Acredito que a unit "pmdfeMDFeR" tbm precise de ajustes. Ao executar o load de um XML, esta lendo o atributo ID da seguinte forma: MDFe.infMDFe.ID := SomenteNumeros(Leitor.rAtributo('Id=')); Desta forma lê somente os nros e não o prefixo MDFe; Minha forma de trabalho é a seguinte: 1º Carrego o componente com as informações; Atribuindo os valores ao atributos; 2º Gerado o XML; 3º Carrego o componente através da leitura do XML; 4º Solicito a validação; Neste ponto apresenta o erro. Não tenho ideia de como resolver isso. Avaliando os commits na revisão 7173 foi adicionado o uso do método "SomenteNumeros" ao obter o valor o atributo ID, e adicionado um tratamento para verificar se o campo esta preenchido. Valeu.
  8. Complementando... Encontrei no item "7.8.1 Formulário A-4 em Modo Retrato" o destaque de alguns itens do destinatário em negrito como CNPJ, "DATA DA ENTRADA/SAÍDA" e "HORA DA ENTRADA/SAÍDA".
  9. Olá, A informação do destinatário no DANFe é impressa em destaque(fonte maior), isso é uma recomendação da Legal? Olhei no Manual e não localizei texto que recomente ou solicite que esta informação seja destacada. Exemplo: Obrigado pela atenção.
  10. Desculpa, é que como já estavam fanado neste post sobre "ACBrLFD", achei que não seria necessário informar. Mas é referente ao ACBrLFD. |At+
  11. Possível falha no método "TBloco_A.WriteRegistroA350(RegA001: TRegistroA001);" A chamado do "WriteRegistroA360(A350);" esta fora do loop; procedure TBloco_A.WriteRegistroA350(RegA001: TRegistroA001); var intFor: Integer; A350: TRegistroA350; begin if Assigned(RegA001.RegistroA350) then begin for intFor := 0 to RegA001.RegistroA350.Count - 1 do begin A350 := RegA001.RegistroA350.Items[intFor]; with A350 do begin .... end; RegistroA990.QTD_LIN_A := RegistroA990.QTD_LIN_A + 1; end; //FORA DO LOOP WriteRegistroA360(A350); FRegistroA350Count := FRegistroA350Count + RegA001.RegistroA350.Count; end; end; procedure TBloco_A.WriteRegistroA350(RegA001: TRegistroA001); var intFor: Integer; A350: TRegistroA350; begin if Assigned(RegA001.RegistroA350) then begin for intFor := 0 to RegA001.RegistroA350.Count - 1 do begin A350 := RegA001.RegistroA350.Items[intFor]; with A350 do begin .... end; RegistroA990.QTD_LIN_A := RegistroA990.QTD_LIN_A + 1; WriteRegistroA360(A350); end; FRegistroA350Count := FRegistroA350Count + RegA001.RegistroA350.Count; end; end;
  12. Olá, Isso ao tentar inutilizar novamente tenho este retorno 563; at+
  13. Uma forma que usei para contornar este problema foi tratar o status 563, caso tenha este retorno eu obtenho os dados de inutilização(protocolo) que vem no retorno e inutilizo meu registro interno de nota. Só neste caso não tenho o XML de Inutilização, mas... desta forma consegui contornar parcialmente. at+
  14. Como eu tenho acesso a lista com os responsáveis por cada projeto? Na sua opinião, qual seria o projeto mais adequado para tentar iniciar este tipo de gerenciamento? LEvando em conta tamanho, nro de commits e tbm o fator humano, onde possua um colaborar disposto e de fácil acesso para tentar implantar isso
  15. Sr Isaque, Só implantar suas alterações não trouxe uma melhoria muto grande, ainda estava com problemas no C481 e C485 do Contribuições; Para contornar, além dos seus ajustes fiz a seguinte alteração: De: procedure TBloco_C.WriteRegistroC481(RegC405: TRegistroC405); var intFor: integer; NullVL_BC_PIS: Boolean; NullALIQ_PIS: Boolean; NullQUANT_BC_PIS: Boolean; NullALIQ_PIS_QUANT: Boolean; NullVL_PIS: Boolean; begin NullVL_BC_PIS := false; NullALIQ_PIS := false; NullQUANT_BC_PIS := false; NullALIQ_PIS_QUANT := false; NullVL_PIS := false; Para: procedure TBloco_C.WriteRegistroC481(RegC405: TRegistroC405); var intFor: integer; NullVL_BC_PIS: Boolean; NullALIQ_PIS: Boolean; NullQUANT_BC_PIS: Boolean; NullALIQ_PIS_QUANT: Boolean; NullVL_PIS: Boolean; begin NullVL_BC_PIS := true; NullALIQ_PIS := true; NullQUANT_BC_PIS := true; NullALIQ_PIS_QUANT := true; NullVL_PIS := true; Mudei o valor padrão dos flags de FALSE para TRUE. Mesmo critério foi aplicado ao "WriteRegistroC485". Obrigado pela atenção.
  16. OK EMBarbosa, Hj no ACBr temos alguns usuários com permissão de commit de alterações. O que poderíamos estar iniciando agora seria levantar quais implementações/ajustes estão sendo feitos por estes usuários. Identificar com cada responsável quais das datas legais(limite legal para atender solicitações do governo, por exemplo) que devem ser atendidas, desta forma seria(na minha opinião) uma boa forma de agendar as datas previstas de liberação destas versões; Dentro de cada versão principal criar pequenos releases de ajustes que possam ser gerados depois de uma liberação de versão. Para não causar um grande impacto, poderíamos escolher um projeto menor, que hj apresenta um nro menor de melhorias, desta forma poderíamos esta melhorando nosso processo e depois replicar este conhecimento para os demais projetos. Acredito que muitos de vc´s já fazem uso de versionamento de liberação, basicamento seria só colocar em prática no ACBr os mesmo conhecimentos e experiências obtidas em suas vivências profissionais. at+
  17. Olá, Ok vou verificar. Só um detalhe... analisando as alterações que foram desfeitas, isso esta correto? exemplo "WriteRegistroC405" Antes de vc voltar a versão: with RegC400.RegistroC405.Items[intFor] do begin Add( LFill('C405') + LFill( DT_DOC ) + LFill( CRO,3 ) + LFill( CRZ,6 ) + LFill( NUM_COO_FIN,6 ) + LFill( GT_FIN,0,2 ) + LFill( VL_BRT,0,2 ) ) ; end; Depois de vc voltar a versão: with RegC400.RegistroC405.Items[intFor] do begin Add( LFill('C405') + LFill( DT_DOC ) + LFill( CRO,3 ) + LFill( CRZ,6 ) + IfThen( DT_INI >= EncodeDate(2013,10,01), LFill( NUM_COO_FIN, 9) , LFill( NUM_COO_FIN, 6) ) + LFill( GT_FIN,0,2 ) + LFill( VL_BRT,0,2 ) ) ; end; Isto confere? OBS: revisão base 6642; at+
  18. Olá Sr. Isaque. Só reiterando minha opinião, em nenhum momento que ofender ou criticar as pessoas que implementam código e disponibilizam junto ao ACBr, pelo contrário agradeço ao empenho de todos. Sobre o seu comentário(acima) referente ao impacto da alteração, sim meu problema foi constatado nos registros C481 e C485 do Contribuições. No código implementávamos o C481 desta forma : with Pai.RegistroC481.New do begin CST_PIS := StrToCstPis(QAux.FieldByName('codcst').AsString) ; VL_ITEM := QAux.FieldByName('valtot').AsFloat; VL_BC_PIS := QAux.FieldByName('bascal').AsFloat; ALIQ_PIS := QAux.FieldByName('aliimp').AsFloat; QUANT_BC_PIS := 0.00; ALIQ_PIS_QUANT := 0.00; VL_PIS := QAux.FieldByName('valimp').AsFloat; COD_ITEM := QAux.FieldByName('codpro').AsString; COD_CTA := CampoSpedS(StrRegistro, 'COD_CTA'); end; Desta forma com a atualização do ACBr o valor gerado pelo <b>TBloco_C.WriteRegistroC481</b>(ACBrEPCBloco_C_Class), passou a gerar um valor inconsistente, com "0,00" onde deveria ser vazio; Minha revisão atual do ACBr em uso é 6642. Só um comentário: Aqui na empresa não conseguimos manter nossa versão do ACBr sempre atualizada, visto que em virtude e erros anterior do ACBr causaram grandes impactos, e geraram uma grande rejeição por parte dos diretores e demais membros da equipe em manter sempre o ACBr atualizado com a última revisão. Para nós existe um grande custo(tempo, profissionais, dinheirooo) envolvido a cada atualização do ACBr. Talvez isso minimize caso fosse implementado um versionamento das liberações, talvez aé um versionamento para cada componente do ACBr, onde cada versão seria elaborada(montada) identificando quais novas implementações e ajustes iriam compor a versão. Similar como ocorre em outros projetos. Mas isso tudo é papo para um outro momento.
  19. Olá Juliomar, Obrigado pelo retorno, não quero gerar polêmica ou criticar quem trabalhando esta disponibilizando as atualizações/implementações no ACBr mas este é um exemplo que pode ser usado como cuidado para novas implementações. Se existe a necessidade de atender a um exceção, o padrão deve ser mantido e quem necessitar atender a exceção então deveria ajustar sua implementação, neste caso por exemplo usando o evento "onbeforewriteregistroc481" e "onbeforewriteregistroc485". Novamente, não que criticar o senhor ou o Sr. Isaque só verificar a possibilidade de usar este critério durante as implementações. At++++
  20. Olá, só uma dúvida, os valores não deveriam ficar vazios? ao invés de receber zero? tbm estou tendo um série de erros gerados em virtude disso. Se existe a necessidade de que em alguns casos o valor seja gerado com ZERO e não VAZIO, que fique por conta do implementador, no momento de alimentar os campos(usando o novo método LFILL com variant). Só para constar, esta pequena alteração me causou e esta causando muita dor de cabeça. At+
  21. Olá, O DFM que coloquei como sugestão foi uma solução imediata para atender ao meu cliente, no caso dele só existe um documento originário por isso reduzi o tamanho da banda para deixar tudo na mesma página; Vou tentar implementar este relatório usando Report Manager, este gerador de relatório tem apresentado(aqui nos nossos projetos) uma maior flexibilidade e estabilidade em comparação ao QuickReport. At+
  22. Olá, para ajustar temporariamente eu rejustei o tamanho dos componentes(banda) do relatórios. Desta forma não teve quebra de página e consequentemente não duplicou o cabeçalho dos "DOCUMENTOS". Em anexo DFM revisado. at+ ACBrCTeDACTeQRRetrato_dfm.zip
  23. Olá, depois que mudei o campo Lotação para NÃO, os dados do veículo não estão mais sendo gerados no XML e muito menos sendo impressos. at+
  24. Dupliquei meu XML e troquei a informação de "<lota>1</lota>" para "<lota>0</lota>" e a impressão passou a ocorre em uma página. Realmente, no meu caso estava sendo gerado XML incorreto, já que não era Lotação.
  25. Olá, tbm estou tendo este problema de impressão em duas páginas; Comparando a impressão antiga a e anova, parece que a impressão esta se perdendo no item "DOCUMENTOS ORIGINARIOS", foi impresso o cabeçalho deste trecho mais de uma vês mesmo tendo somente 1 documento vinculado ao CT-e Ainda o Ct-e foi impresso na seguinte ordem: Página 1: Dados do emitente: OBSERVACOES DADOS ESPECIFICOS DO MODAL RODOVIARIO - LOTACAO <Aki pulou de página> Página 2: DOCUMENTOS ORIGINARIOS COMPONENTES DO VALOR DA PRESTACAO DE SERVICO INFORMACOES RELATIVAS AO IMPOSTO DOCUMENTOS ORIGINARIOS DOCUMENTOS ORIGINARIOS Minha revisão do acbr é 6638 At+
×
×
  • 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...