Ir para conteúdo
  • Cadastre-se

Mario Inacio

Membros Pro
  • Total de ítens

    385
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Mario Inacio postou

  1. Boa tarde. Acho um tanto confuso para o usuário final. Como ele lê a palavra "Previsão" já presume do que se trata, mas ele não consegue interpretar Protocolado e Não Protocolado, que seriam os termos na camada de baixo da aplicação. Mas é só uma opinião.
  2. Bom dia. Alterei a função procedure TfrmDACTeRLRetrato.rlb_09_ObsBeforePrint incluindo a verificação se o CT-e possui protocolo, caso não possua, imprime a mensagem de previsão. if fpCTe.Ide.tpAmb = taHomologacao then begin if rlmObs.Lines.Count < 5 then begin rlmObs.Lines.BeginUpdate; for i:=rlmObs.Lines.Count to 5 do rlmObs.Lines.Add(''); rlmObs.Lines.EndUpdate; end; if fpCTe.procCTe.nprot = '' then rllMsgTeste.Caption := ACBrStr('Previsao do DACTE - AMBIENTE DE HOMOLOGAÇÃO') else rllMsgTeste.Caption := ACBrStr('AMBIENTE DE HOMOLOGAÇÃO - SEM VALOR FISCAL'); rllMsgTeste.Visible := True; rllMsgTeste.Enabled := True; end else ACBrCTeDACTeRLRetrato.dfm ACBrCTeDACTeRLRetrato.pas
  3. Boa tarde. Uso o Fortes, vou implementar e enviar pra aprovação então.
  4. Boa tarde. Procurei no componente de CT-e e não encontrei nenhuma forma de sair na previsão de CT-e, a mensagem "Previsão DACTE" como usado no componente da Tecnospeed. Há a alguma forma de fazer isso disso?
  5. Boa tarde José. Acho que já corrigiram o componente, pois a procedure TACBrBancoBrasil.LerRetorno240, agora monta a leitura do nosso número com outra função, a NossoNumeroSemFormatacaoLerRetorno. if copy(Linha, 14, 1) = 'T' then begin SeuNumero := copy(Linha, 106, 25); NumeroDocumento := copy(Linha, 59, 15); Carteira := copy(Linha, 58, 1); TempData := copy(Linha, 74, 2) + '/'+copy(Linha, 76, 2)+'/'+copy(Linha, 78, 4); if TempData<>'00/00/0000' then Vencimento := StringToDateTimeDef(TempData, 0, 'DDMMYY'); ValorDocumento := StrToFloatDef(copy(Linha, 82, 15), 0) / 100; NossoNumero := NossoNumeroSemFormatacaoLerRetorno(ACBrBoleto.Cedente.Convenio, Carteira, Linha); ValorDespesaCobranca := StrToFloatDef(copy(Linha, 199, 15), 0) / 100; OcorrenciaOriginal.Tipo := CodOcorrenciaToTipo(StrToIntDef(copy(Linha, 16, 2), 0)); IdxMotivo := 214; while (IdxMotivo < 223) do begin if (trim(Copy(Linha, IdxMotivo, 2)) <> '') then begin MotivoRejeicaoComando.Add(Copy(Linha, IdxMotivo, 2)); DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo, StrToIntDef(Copy(Linha, IdxMotivo, 2), 0))); end; Inc(IdxMotivo, 2); end; end
  6. Eu não estava considerando esse formato do arquivo. Obrigado
  7. Bom dia. Ainda em fase de finalização de operação com ACbrCTe, não consigo mudar o nome do arquivo gerado num evento de cancelamento. Passo assim os parâmetros: with New do begin infevento.Id := '42200504632696000120570010000041701376700136'; infEvento.chCTe := '42200504632696000120570010000041701376700136'; infEvento.cOrgao := '42'; infEvento.CNPJ := '04632696000120'; infEvento.dhEvento := now; infEvento.tpEvento := teCancelamento; infEvento.detEvento.xJust := aJustif; infEvento.detEvento.nProt := editprotocolo.text; end; E o arquivo de cancelamento gera um nome aleatório, que não consigo descobrir de onde ele busca. 1101114220050463269600012057001000004167194976947901-procEventoCTe Dentro dele, o conteúdo refere-se certinho ao CTe que mandei cancelar, apenas o nome do XML mesmo.
  8. Boa tarde. Sim, testei com vários retornos do CNAB240.
  9. Bingo. Era isso mesmo. Obrigado
  10. Boa tarde. Estou configurando o CT-e pelo ACBR, e me deparei com a atribuição no seguinte trecho: with infCarga.InfQ.New do begin cUnid := StrToUniMed(ok,'1'); Ao compilar, retorna incompatibilidade de tipos: [Error] ucte.pas(3347): Incompatible types: 'TUnidMed' and 'TpUniMed' Esse campo '1', coloquei apenas como exemplo, mas vai variar conforme a seleção do usuário, dentro das unidades permitidas. Notei que a propriedade cUnid espera o tipo TUnidMed e a função retorna TpUniMed. function StrToUniMed(out ok: Boolean; const s: String): TpUniMed; begin result := StrToEnumerado(ok, s, ['1','2','3','4','5'], [umKG, umKGG, umLitros, umTI, umUnidades]); end; Vasculhei o código e não consegui entender, poderiam me auxiliar?
  11. Bom dia. Não há no manual isso, entendo que o convênio lá no banco determina a carteira como 17. Nesse trecho da imagem acima, vimos que no arquivo de remessa não vai o número da carteira, mas sim o tipo de carteira, nesse caso '7'. A função CalcularTamMaximoNossoNumero faz a análise do tamanho pela variavel "carteira", que na remessa está como '17'. No retorno, na função LerRetorno240, (imagem em anexo) linha 1253, a variável Carteira recebe apenas um caractere, que é justamente o '7', enviado na remessa como sendo o tipo de cobrança. "Carteira := copy(Linha, 58, 1);" Então, ao passar novamente na função CalcularTamMaximoNossoNumero no retorno, a variável Carteira possui o código '7', portanto, resultará na entrada no outro IF. Estou anexando também um arquivo de retorno nessa situação. IEDCBR42611504202012727.ret
  12. Ola. O que retorna no arquivo não é o '17', mas sim, o wTipoCarteira setado na remessa, que no caso é o '7'. A função alterada serve para remessa e retorno, mas como no retorno não voltará a carteira 17 (ele lê a posição 58 do CNAB240), a função CalcularTamMaximoNossoNumero quando da remessa Resulta em 5 e quando retorno, não entrará nesse IF, retornando sempre 11.
  13. Boa tarde. O retorno do Banco do Brasil CNAB240 não estava setando corretamente o tamanho do nosso número de retorno, pois o número do convênio que na remessa era 17, no retorno estava com apenas 07 (posição 58/1). Corrigi esse trecho incluindo a carteira 07 no IF para que o fosse selecionado para tamanho 5. ACBrBancoBrasil.pas
  14. Claro, tem muita documentação disponível, mas em local nenhum consegui identificar: - se haverá uma certificação de conformidade - como provar que os dados estão seguros - haverá fiscalização disso ou apenas em caso de suposto vazamento - clientes que hoje recebem mensagens e emails dos nossos clientes deverão autorizar esse recebimento de que forma A dúvida está realmente na operacionalização da conformidade, o que ela propõe é fácil de interpretar, mas o fato é como nosso pequeno cliente de uma loja minuscula deverá agir ou documentar, e cabe a nós levar isso mastigado a eles.
  15. Bom dia. Sim, a legislação já está pronta, claro, faltando ainda a criação do órgão fiscalizador e as regras de como isso vai ocorrer. Tenho buscado e encontrado material que falam superficialmente sobre as normas, mas nada prático de como devemos agir em nossos sistemas e como auxiliar nossos clientes. Para nós como pequenas empresas, fica mais complicado de interpretar e aplicar a lei, pois na maioria, fazemos todos os setores da empresa. 1568922173wk_LGPD.pdf
  16. Bom dia. Com essa alteração, mesmo os boletos que "Não" eram pra negativar, estavam emitindo com a mensagem de Negativação. Correção em anexo. ACBrBoleto.pas
  17. Bom dia. Infelizmente temos mais isso pra ver em nosso dia a dia. Estamos lendo muito também, mas de fato, o que vimos, foram muitas cópia de artigos que falam a mesma coisa, e nada ainda de como implementar isso em nossos ERP´s. É um assunto novo e nem mesmo foi criada a Agência que vai regulamentar a forma de verificação e comprovação da aplicação dessa Lei. Temos que trocar experiências para evoluir no assunto.
  18. Bom dia. Alterei a Unit ACBrBoleto para exibir a mensagem de negativação caso ela seja diferente de "cnNenhum". Função: AdicionarMensagensPadroes Linha: 2049 Segue fonte para análise ACBrBoleto.pas
  19. Boa tarde. Diretamente no site da Febraban em https://portal.febraban.org.br/pagina/3053/33/pt-br/layout-240 E nesse link, as particularidades do Banco do Brasil. https://www.bb.com.br/docs/pub/emp/empl/dwn/CNAB240SegPQRSTY.pdf
  20. Boa tarde. Pelo que notei, as alterações acima referentes a Negativação não contemplaram a geração do arquivo, e sim a impressão. Fiz a mudança no fonte para gerar no Banco do Brasil CNAB240, como seguem anexo. ACBrBancoBrasil.pas
  21. Olá Juliana. Estou me referindo a retorno no CNAB 240 e não possui essa informação de carteira nessas posições, como segue o arquivo de retorno em anexo. IEDCBR4020605201935631.ret
  22. Bom dia Juliana. Mas no header de retorno não há informação de carteira.
  23. Boa tarde. Notei que para um cliente que configurou como carteira 11, também não está entrando no IF da primeira imagem, a solução foi alterar conforme abaixo:
  24. Boa tarde. Meu cliente emite boleto BB na carteira 17. Para retornar o nosso número gerado a função abaixo esta analisando e retornando 5 digitos: Já no retorno, ele não está entrando no mesmo lugar, pois quando atribui a Carteira na leitura, está atribuindo apenas o '7, que está na posição 58': Arquivo de retorno para teste. IEDCBR4020605201935631.ret
×
×
  • 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...
The popup will be closed in 10 segundos...