Jump to content

Curso Dominando o ACBrMonitor
Novo Módulo Soluções de Varejo
Assine o SAC ACBr em qualquer plano e tenha acesso

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Mario Inacio

Membros
  • Content Count

    75
  • Joined

  • Last visited

  • Days Won

    1

Mario Inacio last won the day on June 3 2018

Mario Inacio had the most liked content!

Community Reputation

4 Neutral

1 Follower

About Mario Inacio

  • Rank
    Membro
  • Birthday 03/26/1972

Profile Information

  • Sexo
    Masculino
  • Localização
    Sombrio

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. 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
  2. Eu não estava considerando esse formato do arquivo. Obrigado
  3. 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.
  4. Boa tarde. Sim, testei com vários retornos do CNAB240.
  5. 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?
  6. 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
  7. 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.
  8. 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
  9. Boa tarde. Fiz mudanças no fonte pra direcionar o envio pro WsBlocoX. Está me retornando erro HTTP 500 ao enviar o arquivo. Alguem pode me auxiliar?
  10. Boa tarde. Como setar para os novos WS do BlocoX? Já alterei os fontes, recompilei e continua caindo no antigo
  11. 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.
  12. 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
  13. 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
×
×
  • Create New...