Ir para conteúdo
  • Cadastre-se

Fernando Massa

Membros
  • Total de ítens

    65
  • Registro em

  • Última visita

Tudo que Fernando Massa postou

  1. Oi Italo. Realmente isso foi meio que uma dor de cabeça por mais de um mês. Me ajudou muito o exemplo do CIOT aqui do acbr . Só tem que saber onde colocar os "While" nos casos de pagamento e Notas, em fim meio que obvio, mas alguém sem experiência pode achar que o exemplo ta como deve de ser, quando na real é só um esboço com um exemplo mega simples. Sobre a adequação que vc pretende fazer, só gostaria de fazer uma observação: No Encerramento, só se for TAC agregado que vai as viagens, caso contrário não precisa. Daí internamente poderia colocar essa verificação para não exigir sempre a questão de informar a viagem.
  2. Amigo, consegui fazer os envios dos CIOTs tipo "Padrão" corretamente, do início ao fim. Mas.... do tipo TAC-Agragado, até envio ele e recebo o numero de CIOT, mas isso é metade do processo, pois TAC-Agregado tem que permitir adicionar viagens "e é isso que não ta funcionando". Também a questão do encerramento, do CIOT. Quando é TAC agregado tem que informar as viagens no encerramento também, pois essa modalidade pode ter encerramentos parciais e até pode ser gerado sem nenhuma viagem e as mesmas serem adicionadas depois. A parte ruim disso é que no manual não fala nada e só fui descobrir isso quando entrei no link citado acima no outro post onde vi a estrutura que eles pedem para encerramento. Com tudo isso, no fim o pessoal da e-Frete ta me dando um colher de chá e vão homologar sem o TAC-Agragado, até porque nunca vou usar essa modalidade, mas tive que desenvolver pois é uma exigência da homologação.
  3. Gente, mais uma grande inconsistência entre o manual e o que o webservice espera receber: https://dev.efrete.com.br/Services/PefService.asmx <== olhando na operação "EncerrarViagem" Notem que pede um monte de tags a mais com respeito a Viagens. Por que? porque para TAC Agregado, não é necessário informar viagem para obter ciot mas depois no momento de finalizar SIM, tem que informar as viagens. Isso o suporte da e-Frete me falou a 1 min atrás. portanto, seria o caso de alterar a geração dessas tags caso for tac-agregado.
  4. Agora passei a informar desta maneira.... To tentando de tudo! qryNF.First; // Aqui coloco todas as notas vinculadas ao while not qryNF.Eof do // romaneio mais distante. begin with NotasFiscais.New do begin Numero := qryNF.FieldByName('numero').AsString; Serie := qryNF.FieldByName('serie').AsString; Data := qryNF.FieldByName('Emissao').AsDateTime; ValorTotal := qryNF.FieldByName('ValorTotal').AsCurrency; ValorDaMercadoriaPorUnidade := qryNF.FieldByName('ValorProdutos').AsCurrency;// <== verificar com E-FRETE () CodigoNCMNaturezaCarga := StrToIntDef(qryRomaneio.FieldByName('NCM').AsString,0); DescricaoDaMercadoria := qryItensNF.FieldByName('Referencia').AsString; UnidadeDeMedidaDaMercadoria := umKg; TipoDeCalculo := QuebraIntegral; ValorDoFretePorUnidadeDeMercadoria := qryNF.FieldByName('ValorTotal').AsCurrency / qryRomaneio.FieldByName('peso').AsFloat; //Se tiver quebra deve ser informado QuantidadeDaMercadoriaNoEmbarque := qryRomaneio.FieldByName('peso').AsFloat; ToleranciaDePerdaDeMercadoria.Tipo := tpPorcentagem; ToleranciaDePerdaDeMercadoria.Valor := 5; //Valor da tolerância admitido. DiferencaDeFrete.Tipo := Integral; DiferencaDeFrete.Base := QuantidadeDesembarque; DiferencaDeFrete.Tolerancia.Tipo := tpNenhum; DiferencaDeFrete.Tolerancia.Valor := 0; //Valor da tolerância admitido(Nenhum: 0; Porcentagem: 0.00 – 100.00; Absoluto: Livre) DiferencaDeFrete.MargemGanho.Tipo := tpNenhum; DiferencaDeFrete.MargemGanho.Valor := 0; DiferencaDeFrete.MargemPerda.Tipo := tpNenhum; DiferencaDeFrete.MargemPerda.Valor := 0; end; qryNF.Next; end;
  5. Italo, obrigado pela rápida resposta. E concordo com vc em gênero número e grau, mas assim como ocorria antigamente com as mensagens do CEFAZ que era muito ambígua, este pessoal é do mesmo time. O olho clinico do meu chefe sugeriu que pode ser a relação entre eu ter informado que "não tem quebra" e ter mandado um valor "com quebra" . Sendo assim a mensagem além de confundir, está errada, mas em fim, mudai pra "Integral" e mandei ..... Mesma "M _ _ d a" Bom, comentei a parte no fonte onde alimento o ACBrCIOT com as notas, mas me deu o erro de que preciso informar as notas. Verifiquei que ao comentar a parte que inclui as notas o componente nem mesmo adiciona a tag de notas fiscais, mas no exemplo da e-frete aparece assim: <Viagem> <DocumentoViagem>string</DocumentoViagem> <CodigoMunicipioOrigem>int</CodigoMunicipioOrigem> <CodigoMunicipioDestino>int</CodigoMunicipioDestino> <CepOrigem>string</CepOrigem> <CepDestino>string</CepDestino> <Valores xsi:nil="true" xmlns="http://schemas.ipc.adm.br/efrete/pef/objects" /> <TipoPagamento xmlns="http://schemas.ipc.adm.br/efrete/pef/objects">TransferenciaBancaria or eFRETE or Parceiro or Outros</TipoPagamento> <InformacoesBancarias xsi:nil="true" xmlns="http://schemas.ipc.adm.br/efrete/pef/objects" /> <NotasFiscais xsi:nil="true" /> <NotasFiscais xsi:nil="true" /> </Viagem> notem que aparece assim : NotasFiscais xsi:nil="true". Agora não sei mais o que fazer...
  6. Atualizando, resposta da e-Frete: Ali no anexo. O link que me pediram pra olhar é este: https://dev.efrete.com.br/Services/PefService.asmx No caso vai aparecer uma lista e a operação é AdicionarViagem. Daí, no exemplo das criaturas, não tem nenhuma viagem adicionada com NotaFiscal Bora ignorar as notas....
  7. segue XML completo em anexo 20200619145441-ped-AdicViagem-soap.xml
  8. Boa tarde pessoal, estou com o seguinte retorno da e-Frete: ERRO: Sistema e-FRETE (www.efrete.com.br): [Negócio] (Protocolo: 1.082.783) Erro adicionando viagem: A unidade de medida da mercadoria informada na nota fiscal não é válida. Viagem: MDFe Nota Fiscal: 284882 Série: 1 Viagem.Nota.Fiscal.Unidade.Medida.Mercadoria.Invalida Estou informando o seguinte na unidade de medida: <adic:UnidadeDeMedidaDaMercadoria>Kg</adic:UnidadeDeMedidaDaMercadoria> Ta errado? (editado) estou passando isto para o campo: UnidadeDeMedidaDaMercadoria := umKg; O fragmento do XML que adiciona a nota na operação "AdicionarViagem" é este: <adic:NotasFiscais> <adic:Numero>284899</adic:Numero> <adic:Serie>1</adic:Serie> <adic:Data>2020-05-04</adic:Data> <adic:ValorTotal>25315.86</adic:ValorTotal> <adic:ValorDaMercadoriaPorUnidade>22013.7900</adic:ValorDaMercadoriaPorUnidade> <adic:CodigoNCMNaturezaCarga>1</adic:CodigoNCMNaturezaCarga> <adic:UnidadeDeMedidaDaMercadoria>Kg</adic:UnidadeDeMedidaDaMercadoria> <adic:TipoDeCalculo>SemQuebra</adic:TipoDeCalculo> <adic:ValorDoFretePorUnidadeDeMercadoria>0.0000</adic:ValorDoFretePorUnidadeDeMercadoria> <adic:QuantidadeDaMercadoriaNoEmbarque>5339.0000</adic:QuantidadeDaMercadoriaNoEmbarque> </adic:NotasFiscais>
  9. obrigado Italo. Ta resolvido
  10. Fernando Massa

    PDF CIOT eFrete

    Bom dia pessoal, tenho 1 dúvida que não estou conseguindo entender no exemplo do CIOT. - Como faço para colocar um nome personalizado no PDF que baixa da eFrete? Gostaria de poder definir esse nome e se possível colocar ele numa pasta separada dos arquivos de resposta xml. Desculpem, mas não achei isso em parte alguma.
  11. Boa tarde Fabiano, tente configurar mais ou menos como está aqui, pois pra mim dava o mesmo erro e no fim era cadastro errado. (obviamente trocando os dados de cadastro para sua situação.) note que na planilha xls em anexo que é fornecida pela eFrete tem uma lista de dados que vc pode usar para teste, pois esses são os que o ambiente de homologação está aceitando. (só esses) uma coisa importante que vc vai ter que colocar direto no fonte é telefone, pois exige essa informação e RNTCR. Claro que estou falando no caso de enviar Cadastro de proprietário de veículo, que é o exemplo que estou mostrando aqui. Tabela dados dev.xls
  12. Tem razão. Era isso mesmo. kkk beleza. Disfarça, faz de conta que não aconteceu. isso mesmo! valeu, desculpa o incomodo.
  13. Bom dia pessoal, ontem precisei fazer esta alteração no ACBrBoleto: procedure TACBrCedente.SetConta(const AValue: String); var aConta: Integer; begin if fConta = AValue then exit; { fConta:= AValue; aConta:= StrToIntDef(trim(AValue),0); if aConta = 0 then exit; fConta:= IntToStrZero(aConta, ACBrBoleto.Banco.TamanhoConta ); } fConta := trim(AValue); end; Comentei o que está em vermelho pelo seguinte: qualquer conta que terminava em ZERO, dava problema. Exemplo: uma conta que fosse: 7588950 ficava 758895 e daí quando gerava o EDI de remessa para Banrisul ficava errado pois lá está assim: PadLeft(OnlyNumber(ACBrBanco.ACBrBoleto.Cedente.Conta), 12, '0') Posto aqui, porque isso foi uma solução rápida, mas imagino que possa interferir em outros bancos. Se mais alguém tem esse problema pode resolver assim, mas sei que o pessoal aqui vai achar uma solução melhor e mais elegante do que a minha gambi.
  14. Beno, como vc fez isso? como mudou o Synapse do ACBr ?
×
×
  • 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.