Otavio Benini
-
Total de ítens
131 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Otavio Benini
-
-
prezados, boa tarde
hoje em dia uso Delphi 2010, Firebird 2.52, DBX (dbExpress) e tudo certo
estou migrando p/ Delphi 10.4, Firebird 3.0 e FireDAC e resolvi fazer a migração "no braço", entre outras razões para aprender sobre o novo ambientetopei com uma situação incomum, procurei informações e não encontrei
antes de reportar o problema à Embarcadero resolvei consulta-los, até mesmo para confirmar tratar-se efetivamente de um problema
num SELECT usando o FDQuery um campo tipo Numeric(7,3) ou Numeric(9,3) gera campo Currency com Precision 15 - para manutenção da configuração original só usando CAST as Numeric(18,3)
esse mesmo campo se utilizo MAX ou MIN num SELECT gera campo BCD e aqui não adiantou o CAST
e esse problema ocorre em qq tabela em campos com essa configuração (inteiros menor que 10 e decimal maior que 2) - inteiro maior que 10 está ok, ao menos até onde pude ver
então, usando Delphi 10.4 esse problema inicialmente identificado c/ Firebird 3 também se repetiu com 2.52 usando o FireDAC, mas não usando o DBX - aparentemente o problema é do FireDAC
configurando o "Data Mapping Rules" no FDConnection ou em FDQuery e mapeando esses tipos estranhos ao Firebird para FmtBCD (como é originalmente gerado) aí tudo funciona legal
pelo que sei esse mapeamento de conversão de tipo de campo seria aplicável apenas para equalizar tipos de bancos distintos usados na aplicação e compartilhando o mesmo código - foi o que vi numa apresentação do Fernando Rizzato
no caso presente o que está ocorrendo é atribuição de tipo estranho ao banco de dados - Currency e BCD não existem no Firebird
a principio o problema está resolvido mas estou agora com "a pulga atrás da orelha" pq não sei se pode haver outras implicações, se o driver do Firebird está devidamente incorporado pelo FireDAC, se não terei problemas outros em decorrência desse...
obrigado por seus comentários ou sugestão
-
boas tardes, pessoal
hoje um cliente me pediu para gerar um Evento 111500 (Pedido de Prorrogação da Suspensão do ICMS), objeto da NT 2015/001. para uma nfe de remessa para industrialização
eu nem sabia dessa possibilidade, até então, e raras vezes, uma nfe com prazo à expirar tinha uma nfe de retorno (simulado) e outra de remessa (simulada) e então o prazo se renovava
então, também não sei por onde começar...
por favor, preciso de orientação, de algum xml preenchido, o que tiver
eu já trato eventos como Cancelamento da NFe, Inutilização de Numeração e Carta de Correção e até hoje ninguém havia solicitado esse Evento
obrigado
Otavio Benini
-
obrigado !
Otavio Benini
-
obrigado por responder, BigWings
essas 2 tags foram um exemplo, dado que topei com elas na primeira investida
então, para os itens da nota fiscal tem-se TDetCollectionItem
mas e para grupos como:
- Emit (emitente)
- Dest (destinatário)
- Retirada
- Entrega
- Impostos.ICMS
- Impostos.IPI
- Impostos.PIS
- Impostos.COFINS
- Transporte
existe Collection para cada um desses ?
a idéia e ter a procedure de geração do xml limpa e curta, com chamadas diretas ou alguns if's, especialmente para impostos
com impostos a clareza de definição dos campos e códigos é importante na manutenção do programa
é essa a idéia e agradeço por suas informações
obrigado
Otavio Benini
-
Italo,
tá claro prá mim como fazer seguindo o modelo "linguiça", onde tenho uma sequencia "with componente.add.nfe do" e com if's vou montando cada trecho das informações
as questão é: eu quero poder montar determinados grupos de informações fora da "linguinça", com procedures ou functions, e comecei pela contingência
de cara faltaram então o "endereço completo" dessas propriedades para que possa fazer implementar numa procedure
por endereço completo entenda a referencia direta da propriedade dentro do componente, como em
- ACBrNFe1.Configuracoes.WebServices.UFCodigo ou
- ACBrNFe1.Configuracoes.Geral.FormaEmissao
são propriedades dentro do componente, sendo a primeira uma informação da nota fiscal que se pretende e a outra uma informação relativa à forma de apresentação do xml ao fisco
ambas as propriedades determinam e/ou vinculam outras propriedades, como a UF definirá o SVC e a forma de emissão determinará a necessidade de informações adicionais e obrigatórias como dhCont e xJust, além de alteração na formação da chave, etc.
penso que, talvez, nestes casos, faltou exibir essas propriedades no componente de forma a poder referencia-los diretamente
será que desta vez me fiz entender ?
obrigado
Otavio Benini
-
obrigado por me atender, Italo
em minha rotina eu gero o xml e só altero ambiente ou tipo de emissão no final
então, quando estou gerando o xml informo as propriedades "defaults" como no prog exemplo:
with ACBrNFe1.NotasFiscais.Add.NFe do begin
. . .
Ide.tpEmis := teNormal;
Ide.tpAmb := taProducao
. . .
end;
ao final tenho opção para alterar e se houver alteração faço, como no prog exemplo:
ACBrNFe1.Configuracoes.Geral.FormaEmissao := StrToTpEmis(Ok,IntToStr(selFormaEmissao.ItemIndex+1));
ACBrNFe1.Configuracoes.WebServices.Ambiente := StrToTpAmb(Ok,IntToStr(selAmbiente.ItemIndex+1));
a forma de referenciar cada propriedade é diferente pq no primeiro caso usa-se .Add.NFe numa "linguiça" e no segundo caso a referencia é direta e completa para a propriedade
se tenho referencias diretas para as propriedades posso "quebrar" em diversas partes a rotina
mas nos casos de Ide.dhCont e Ide.xJust, que não são referenciados na rotina com .Add.NFe, não encontro a referencia direta como nos casos que mencionei acima
teoricamente deveria encontra-las em ACBrNFe1.Configuracoes.Geral juntamente com FormaEmissao
espero ter sido mais esclarecedor em minha pergunta
obrigado
Otavio Benini
-
continuo aguardando resposta ao meu post de ontem
Otavio Benini
-
bons dias,
além de tipo de emissão = teSVCAN outras duas tags foram ditas obrigatórias:
Ide.dhCont e Ide.xJust
para o tipo de emissão usamos ACBrNFe1.Configuracoes.Geral.FormaEmissao
e para essas outras duas ? qual a ascendência ?
obrigado
Otavio Benini
-
bons dias,
o erro também está ocorrendo na tentativa de cancelamento de nfe, usando o xml aprovado na emissão (Sefaz - SP)
Otavio Benini
-
pois é, Maurício
tenho cliente que começa a emitir nota à 2:00h da manhã
vou ficar acordado prá evitar, ao menos tentar, que ele fique parado
abraço
Otavio Benini
-
prezados,
tentei agora mesmo (06/05/19 19:40), em ambiente de homologação, emitir nota fiscal, SEFAZ-SP
foram observadas as tags tpEmis = 6 = SVCAN, dhCont e xJust
houve rejeição conforme anexo
ignorando a condição de contingencia a nota é emitida normalmente, tpEmis = 1 = Normal
alguma luz ?
Otavio Benini
-
"Correto. Também precisa informar na geração do XML as tags Ide.dhCont e Ide.xJust com a data e hora de entrada em contingência e a justificativa, respectivamente."
não ter a informação acima na sexta-feira quando procurei por orientação sobre os procedimentos para operação em contingência está fazendo agora toda diferença, segunda-feira menos de 5 minutos antes do SVCAN entrar em serviço
Otavio Benini
-
obrigado, Juliana !
Otavio Benini
- 1
-
obrigado, BigWings !
Otavio Benini
- 1
-
prezados, bom dia
se o SEFAZ-SP estará em Contingência Agendada, o contribuinte poderá emitir em modo SCAN (teSCAN) ?
o que isso implica ?
alguma recomendação especial ?
que outras providencias deverão ser adotadas ?
tem algum vídeo ou outro material sobre o processo ?
obrigado
Otavio Benini
-
bons dias, pessoal
apenas o ambiente de homologação está apresentando essa "não conformidade"
o fato é que se perderam nessa tentativa de controle sobre pagamentos
vejam, por exemplo, que o campo n. da duplicata pode ter 60 dígitos (leiauteNFe_v4.00.xsd) mas não é mais o n. da duplicata, como antes, que se aponta ali, agora é apenas o n. da parcela, com 3 casas
Otavio Benini
-
Roberto,
só pode ser bug, devem estar mexendo no site, não tem lógica
verifiquei notas emitidas hj, em SP, no ambiente de produção, de outro cliente e foi normal
abs
-
boas tardes, companheiros
pegando carona neste post:
estou com o mesmo problema relatado pelo RobertoVLL, e informo tPag=15
sds
Otavio Benini
-
na minha aplicação, Daniel
eu usei o exemplo como modelo pro minha aplicação e o fiz tal e qual, sem criticar se precisa ou não, e ficou bom
obrigado
- 2
-
pessoal,
Resolvido
achei o temp.xml, como sugerido, em LoadXML, como apontado
o ACBrMail certamente faz uso dessa procedure; alterei e pronto !!
obrigado
Otavio Benini- 2
-
bom dia, pessoal
por segurança, o diretório do executável foi protegido contra gravação
meu aplicativo usa o ACBrMail para enviar o xml e o pdf para o destinatário da nfe
nesse processo está ocorrendo acesso negado ao gravar temp.xml e o processo interrompido
como direcionar esse temp.xml para outro diretório ?
obrigado
Otavio Benini
-
Juliana:
obrigado
Rafael:
orientei meu cliente a fazer isso
obrigado
Otavio Benini
- 1
-
Juliana: eu fiz a msg logado no SAC
complementando: no ambiente de homologação a mesma nota foi emitida
-
prezados, boa tarde
testei o aplicativo em ambiente de homologação e ok
entrou em produção e na primeira nota houve rejeição indicando não informar transportador e reboque
no teste não havia placa e estado do transportador
então fiz a mesma coisa com a nota real
depois disso, ao processar, o lote é recebido (msg) e depois Lote em processamento fica em loop
e meu cliente pressionando !!
tipo de dado incorreto c/ Firedac & Firebird
em Banco de Dados
Postado
obrigado por seu comentário, Juliomar
mas não pode ser retro compatibilidade pq esses tipos nem existem nesse banco de dados
o campo gerado "come" uma casa decimal quando é 3, ou seja, deforma o conteúdo
CAST deveria ser respeitado na condição especificada mas não é em alguma situações
me parece muito mais que pegaram o driver de outro banco e começaram a adapta-lo para o Firebird e não concluiram, não testaram
o problema é contornável, mas "contornar", neste caso, não deveria ser uma preocupação
vou aguardar outros comentários
obrigado mais uma vez
Otavio Benini