Ir para conteúdo
  • Cadastre-se

GustavoKato

Membros
  • Total de ítens

    152
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

GustavoKato's Achievements

Collaborator

Collaborator (7/14)

  • Collaborator Rare
  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

4

Reputação

6

Community Answers

  1. Antes utilizava o Quick Report, e o pdf do DACTE ficava em torno de 90k, no Fast 178k e no Fortes 50k Pra enviar os documentos via e-mail faz toda a diferença (em grande quantidade)
  2. na verdade é com cunho construtivo, sem confusão.
  3. bug resultado do commit 9086, ocasionou baixa de vários títulos sem identificação em um cliente
  4. Bom dia, identifiquei um problema na leitura do layout da Caixa SIGCB 240. A leitura do campo "SeuNumero" está pegando a mesma informação do campo "NumeroDocumento" if Copy(Linha,14,1)= 'T' then begin SeuNumero := Trim(copy(Linha,59,11)); NumeroDocumento := copy(Linha,59,11); segundo o manual: Número Documento (Seu Nº) | Número do Documento de Cobrança | 59 | 69 | 11 Uso da Empresa | Identificação do Título na Empresa | 106 | 130 | 25 Trecho alterado: if Copy(Linha,14,1)= 'T' then begin SeuNumero := Trim(copy(Linha,106,25)); NumeroDocumento := copy(Linha,59,11);
  5. Bom dia Italo, Fiz a simulação aqui e finalmente entendi. Achei que os retornos eram gravados no índice respectivo ao envio dos CT-es. Fica abaixo a forma em que utilizei para "sincronizar". for i := 0 to (Lote.WebServices.Retorno.CteRetorno.ProtCTe.Count - 1) do begin for j := 0 to (Lote.Conhecimentos.Count - 1) do begin if Copy(Lote.Conhecimentos.Items[j].CTe.inFCTe.ID,4,44) = Lote.WebServices.Retorno.CteRetorno.ProtCTe.Items[i].chCTe then break; end; //resto da rotina end; grato pela ajuda e atenção de todos. Ótima semana
  6. boa tarde, Luis. vc consulta a chave no SEFAZ? Se sim cuidado com o tal do "Consumo indevido"
  7. A rotina a baixo sempre funcionou e gravo utilizando a chave, houve alteração na rotina do ACBr recentemente? for i := 0 to (Lote.WebServices.Retorno.CteRetorno.ProtCTe.Count - 1) do begin sDataHora := DateTimeToStr(Lote.WebServices.Retorno.CteRetorno.ProtCTe.Items[i].dhRecbto); sProtocolo := Lote.WebServices.Retorno.CteRetorno.ProtCTe.Items[i].nProt; sStat := IntToStr(Lote.WebServices.Retorno.CteRetorno.ProtCTe.Items[i].cStat); sMotivo := Lote.WebServices.Retorno.CteRetorno.ProtCTe.Items[i].xMotivo; sConhecimento := Copy(Lote.WebServices.Retorno.CteRetorno.ProtCTe.Items[i].chCTe, 26, 3) + '.' + Copy(Lote.WebServices.Retorno.CteRetorno.ProtCTe.Items[i].chCTe, 29, 3) + '.' + Copy(Lote.WebServices.Retorno.CteRetorno.ProtCTe.Items[i].chCTe, 32, 3); MemoStatus.Add(' ' + sConhecimento + ' ' + sProtocolo + ' ' + sDataHora + ' ' + sStat + ' - ' + sMotivo); if ((Lote.WebServices.Retorno.CTeRetorno.ProtCTe.Items[i].cStat = 100) or //Só grava na tabela CONHECIMENTOS se Autorizada ou Denegada (Lote.WebServices.Retorno.CTeRetorno.ProtCTe.Items[i].cStat = 110)) then begin try //Conhecimento qUpdConhecimento.SQL.Clear; qUpdConhecimento.SQL.Add('UPDATE CONHECIMENTOS SET'); qUpdConhecimento.SQL.Add(' CTE_EMISSAO = :xEmissao,'); qUpdConhecimento.SQL.Add(' CTE_ENVIADO = :xEnviado,'); qUpdConhecimento.SQL.Add(' CTE_PROTOCOLADO = :xProtocolado,'); qUpdConhecimento.SQL.Add(' CTE_PROTOCOLO = :xProtocolo,'); qUpdConhecimento.SQL.Add(' CTE_IMPRESSO = :xImpresso,'); qUpdConhecimento.SQL.Add(' CTE_XML = '+ QuotedStr(Lote.Conhecimentos.Items[i].XML)); // qUpdConhecimento.SQL.Add(' CTE_XML = :xXML,'); qUpdConhecimento.SQL.Add(' , CTE_STATUS_CODIGO = :xStatus,'); qUpdConhecimento.SQL.Add(' CTE_STATUS_DESCRICAO = :xDescricao'); qUpdConhecimento.SQL.Add(' WHERE CTE_CHAVE = ' + QuotedStr(Copy(Lote.Conhecimentos.Items[i].CTe.inFCTe.ID,4,44))); qUpdConhecimento.ParamByName('xEmissao' ).AsDateTime := Lote.Conhecimentos.Items[i].CTe.Ide.dhEmi; qUpdConhecimento.ParamByName('xEnviado' ).AsString := 'S'; qUpdConhecimento.ParamByName('xProtocolado').AsString := 'S'; qUpdConhecimento.ParamByName('xProtocolo' ).AsString := sProtocolo; qUpdConhecimento.ParamByName('xImpresso' ).AsString := 'N'; qUpdConhecimento.ParamByName('xStatus' ).AsSmallInt := Lote.WebServices.Retorno.CteRetorno.ProtCTe.Items[i].cStat; qUpdConhecimento.ParamByName('xDescricao' ).AsString := Copy(Lote.WebServices.Retorno.CteRetorno.ProtCTe.Items[i].xMotivo, 1, 130); // qUpdConhecimento.ParamByName('xXML' ).AsWideString := Lote.Conhecimentos.Items[i].XML; qUpdConhecimento.ExecSQL;
  8. Bom dia, pessoal. Está ocorrendo um problema quando há envio de um lote e entre eles há uma rejeição, por exemplo: CT-es 1,2 e 3 ocorre a rejeição no 2, ele grava no 1 (I.E inválida por exemplo). 1 - Autorizado porém recebe Rejeição (I.E inválida) referente ao 2 2 - Recebe status 100 porém houve rejeição (I.E inválida). 3 - Autorizado Em resumo, parece que há um problema no índice ao processar o retorno fazendo com que meu sistema receba status 100 sendo que não foi autorizado e outro que foi autorizado receber uma rejeição.
  9. Bom dia Aqui também voltou. Obrigado
  10. Bom dia, estou com problemas no cancelamento também, desde ontem recebo o seguinte erro: Rejeição: Erro não catalogado (código de status não localizado: 999 (Erro ao ler informações do banco de dados)) mais alguém com este caso?
  11. boa tarde, será que não é a codificação (ANSI, unicode, UTF-8, etc) do txt que está salvando?
  12. experimentem utilizar o servidor de dns do google (8.8.8.8)
  13. aqui tbm está assim, acontece um dia melhora em outro, volta a acontecer... vou ver se consigo debugar
  14. aqui está horrível, retornando o erro O identificador não está no estado correto para a operação solicitada - URL:https://nfe.fazenda....etRecepcao.asmx- SOAPAction:http://www.portalfiscal.inf.br/cte/wsdl/CteRetRecepcao/cteRetRecepcao as vezes autoriza porém não recebe retorno, alguma sugestão Italo?
×
×
  • 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.