-
Total de ítens
6 -
Registro em
-
Última visita
Sobre janderson@atron
janderson@atron's Achievements
-
ACBrNFe - ACBrNFe.WebServices.Enviar.dhRecbto
janderson@atron replied to janderson@atron's tópico in Dúvidas gerais
Boa tarde, pessoal. Fontes atualizados, reinstalados e também feito novos testes. Agora a data esta vindo corretamenta utilizando o ACBrNFe.WebServices.Enviar.dhRecbto 13/09/2024. Agradeço pela atenção de todos. Obrigado -
janderson@atron changed their profile photo
-
ACBrNFe - ACBrNFe.WebServices.Enviar.dhRecbto
janderson@atron replied to janderson@atron's tópico in Dúvidas gerais
Boa tarde. O envio esta sendo feito no modo Sincrono - ACBrNFe.Enviar(1,False,True); Os fontes estão atualizados. E abaixo o retorno do webservise. O campo dhRecbto vem no XML vem correto, mas o utilizando ACBrNFe.WebServices.Enviar.dhRecbto para pegar esta dada ainda continua vindo 30/12/1899 <retEnviNFe versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe"> <tpAmb>2</tpAmb> <verAplic>SVRS2408131252</verAplic> <cStat>104</cStat> <xMotivo>Lote processado</xMotivo> <cUF>11</cUF> <dhRecbto>2024-08-28T15:06:06-04:00</dhRecbto> <protNFe versao="4.00"> <infProt> <tpAmb>2</tpAmb> <verAplic>SVRS2408131252</verAplic> <chNFe>11240835329956000116550020000000471681663024</chNFe> <dhRecbto>2024-08-28T15:06:06-04:00</dhRecbto> <nProt>311240000013707</nProt> <digVal>geaGeTmmKtUcH5+nZzkEfExX3AU=</digVal> <cStat>100</cStat> <xMotivo>Autorizado o uso da NF-e</xMotivo> </infProt> </protNFe> </retEnviNFe> O @Juliomar Marchetti através do Discord sugeriu utilizar o ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto Este campo vem com a data correta somente com a nota é autorizada, mas se tiver uma rejeição ela vem tamém como 30/12/1899 Em resumo... ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto com nota autoriza vem a data e hora correta. Caso tenha rejeição vem a data 30/12/1899 ACBrNFe.WebServices.Enviar.dhRecbto Tanto a nota AUTOZIADA quanto a REJEITADA vem a data 30/12/1899 Eu salvo estes dados no banco de dados qry := TFDQuery.Create(nil); qry.Connection := Model.Connection.FConnection; qry.Active := False; qry.sql.Clear; qry.sql.Add('insert into erp.nfe_eventos('); qry.SQL.Add(' id_empresa,'); qry.SQL.Add(' id_nfe,'); qry.SQL.Add(' tpevento,'); qry.SQL.Add(' tpamb,'); qry.SQL.Add(' veraplic,'); qry.SQL.Add(' cstat,'); qry.SQL.Add(' xmotivo,'); qry.SQL.Add(' cuf,'); qry.SQL.Add(' dhrecbto,'); qry.SQL.Add(' protocolo,'); qry.SQL.Add(' recibo,'); qry.SQL.Add(' retws,'); qry.SQL.Add(' xml'); qry.SQL.Add(') values ('); qry.SQL.Add(' :id_empresa,'); qry.SQL.Add(' :id_nfe,'); qry.SQL.Add(' :tpevento,'); qry.SQL.Add(' :tpamb,'); qry.SQL.Add(' :veraplic,'); qry.SQL.Add(' :cstat,'); qry.SQL.Add(' :xmotivo,'); qry.SQL.Add(' :cuf,'); qry.SQL.Add(' :dhrecbto,'); qry.SQL.Add(' :protocolo,'); qry.SQL.Add(' :recibo,'); qry.SQL.Add(' :retws::xml,'); qry.SQL.Add(' :xml::xml'); qry.SQL.Add(')'); qry.ParamByName('id_empresa').Value := Fid_empresa; qry.ParamByName('id_nfe').Value := Fid_nfe; qry.ParamByName('tpevento').Value := 'Envio NFe'; case ACBrNFe.WebServices.Enviar.TpAmb of taProducao: qry.ParamByName('tpamb').Value := '1 - Produção'; taHomologacao: qry.ParamByName('tpamb').Value := '2 - Homologação'; end; qry.ParamByName('veraplic').Value := ACBrNFe.WebServices.Enviar.verAplic; qry.ParamByName('cstat').Value := ACBrNFe.WebServices.Enviar.cStat; qry.ParamByName('xmotivo').Value := ACBrNFe.WebServices.Enviar.xMotivo; qry.ParamByName('cuf').Value := ACBrNFe.WebServices.Enviar.cUF; qry.ParamByName('dhrecbto').Value := {ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto; //}ACBrNFe.WebServices.Enviar.dhRecbto; qry.ParamByName('protocolo').Value := ACBrNFe.WebServices.Enviar.Protocolo; qry.ParamByName('recibo').Value := ACBrNFe.WebServices.Enviar.Recibo; //xml de resposta do webservice qry.ParamByName('retws').DataType := ftWideMemo; qry.ParamByName('retws').Value := ACBrNFe.WebServices.Enviar.RetWS; //xml completo da nfe qry.ParamByName('xml').DataType := ftWideMemo; qry.ParamByName('xml').Value := ACBrNFe.NotasFiscais.Items[0].XML; qry.ExecSQL; qry.Free; -
janderson@atron started following ACBrCargaBal e ACBrNFe - ACBrNFe.WebServices.Enviar.dhRecbto
-
ACBrNFe - ACBrNFe.WebServices.Enviar.dhRecbto
um tópico no fórum postou janderson@atron Dúvidas gerais
Estou com uma situação que ao utilizar ACBrNFe.WebServices.Enviar.dhRecbto estou recebendo uma data 30/12/1899. Os outros campos, como por exemplo ACBrNFe.WebServices.Enviar.Protocolo e ACBrNFe.WebServices.Enviar.cStat vem correto, somente o dhRecbto esta vindo errado. Não seria essa a forma de pegar a data? Teria uma outra forma entao? -
BigWings e Juliomar Marchetti Com os fontes atualizados fiz as alterações e seguindo as intruções o BigWings executei o ACBrInstall_Trunk2. Passei a informação do lote e importei no MGV e funcionou, agora é possivel informar o lote. O lote é informado no txt quando selecionado o modToledoMGV5, modToledoMGV6 e modToledoMGV7 no arquivo ITENSMGV.TXT Para mim funcionou, vou anexar o .pas com a alteração ACBrCargaBal.pas
-
Bom dia, Desculpe pela demora xD Vou testar fazer como vc disse e ver se da certo... obrigado Juliomar, atualizei mas o campo de lote não esta disponivel. Olhei nos fontes e foi adicionado a procedure PreencherToledoMGV7 e nela também nao tem como passar o lote. Esta assim stlArquivo.Add(LFIll(Produtos[i].Setor.Codigo, 2) + GetTipoProdutoToledo(Produtos[i].Tipo) + LFIll(Produtos[i].Codigo, 6) + LFIll(Produtos[i].ValorVenda, 6, 2) + LFIll(Produtos[i].Validade, 3) + RFIll(Produtos[i].Descricao, 50) + LFIll(Produtos[i].ObterCodigoInfoExtra(modToledoMGV6), 6)+ // codigo inf extra LFIll('0', 4)+ // codigo imagem LFIll(Produtos[i].Nutricional.Codigo,6)+ // codigo inf nutricional RFill(IntToStr(Produtos[i].ImpValidade), 1)+ // imprime data de validade RFill(IntToStr(Produtos[i].ImpEmbalagem), 1)+ // imprime data embalagem LFIll(Produtos[i].CodigoFornecedor, 4)+ // codigo fornecedor //LFIll('0', 4)+ // codigo fornecedor lFill('0', 12)+ // lote lFill('0', 11)+ // codigo especial LFIll('0', 1)+ // versao do preco LFIll('0', 4)+ // codigo do som LFIll(IntToStr(Produtos[i].CodigoTara),4)+ // codigo da tara //LFIll('0', 4)+ // codigo da tara LFIll(Produtos[i].CodigoFracionador, 4)+ // codigo da fracionador LFIll(Produtos[i].CodigoExtra1, 4)+ // Código do Campo Extra 1 LFIll(Produtos[i].CodigoExtra2, 4)+ // Código do Campo Extra 2 LFIll(Produtos[i].CodigoConservacao, 4)+ // Código da Conservação LFIll(Produtos[i].EAN13Fornecedor, 12) // EAN-13, quando utilizado Tipo de Produto EAN-13 ); a linha do campo lote lFill('0', 12)+ // lote igual na outra procedure PreencherToledo
-
Estou utilizando o componente ACBrCargaBal para gerar os arquivos par importar no software de balança, pra ser mais exato, estou utilizando o MGV6. Recentemente, recebi a solicitação de que seria preciso enviar junto as informações do produto o campo lote. Manul da toledo do layout de cadastro de itens: https://help.toledobrasil.com/mgv6/v1_6_/Html_Pages/arquivos_de_cadastro.html Nessa imagem, observei que na procedure PreencherToledo existe o campo do lote, mas nao consigo passar a informação que vai ai... Tentei então fazer a alteração no componente e adicionei no private o FLote: Smallint; e no public property Lote: Smallint read FLote write FLote; TACBrCargaBalItem = class private FValorVenda: Currency; FModeloEtiqueta: Smallint; FDescricao: String; FCodigo: Integer; FTipo: TACBrCargaBalTipoVenda; FValidade: Smallint; FLote: Smallint; FTipoValidade: TACBrCargaBalTipoValidade; FSetor: TACBrCargaBalSetor; FNutricional: TACBrCargaBalNutricional; FTara: TACBrCargaBalTaras; FFornecedor: TACBrCargaBalFornecedor; FFracionador: TACBrCargaBalFracionador; FConservacao: TACBrCargaBalConservacao; FCodigoTexto1: Integer; FCodigoTexto2: Integer; FCodigoTexto3: Integer; FCodigoInfoNutr: Integer; FCodigoTara: Integer; FCodigoFornecedor: Smallint; FCodigoFracionador: Smallint; FCodigoConservacao: Smallint; FImpValidade: Smallint; FImpEmbalagem: Smallint; FEAN13Fornecedor: string; FInformacaoExtra: TACBrCargaBalInformacaoExtra; FTeclado: TAcbrCargaBalTeclado; function ObterCodigoInfoExtra(AModelo : TACBrCargaBalModelo) : Integer; Public constructor Create; destructor Destroy; override; property Setor: TACBrCargaBalSetor read FSetor write FSetor; property ModeloEtiqueta: Smallint read FModeloEtiqueta write FModeloEtiqueta; property Tipo: TACBrCargaBalTipoVenda read FTipo write FTipo; property TipoValidade: TACBrCargaBalTipoValidade read FTipoValidade write FTipoValidade; property Codigo: Integer read FCodigo write FCodigo; property ValorVenda: Currency read FValorVenda write FValorVenda; property Validade: Smallint read FValidade write FValidade; property Lote: Smallint read FLote write FLote; property Descricao: String read FDescricao write FDescricao; property InformacaoExtra: TACBrCargaBalInformacaoExtra read FInformacaoExtra write FInformacaoExtra; property Teclado: TAcbrCargaBalTeclado read FTeclado write FTeclado; property Nutricional: TACBrCargaBalNutricional Read FNutricional Write FNutricional; property Tara: TACBrCargaBalTaras Read FTara Write FTara; property Fornecedor: TACBrCargaBalFornecedor Read FFornecedor Write FFornecedor; property Fracionador: TACBrCargaBalFracionador Read FFracionador Write FFracionador; property Conservacao: TACBrCargaBalConservacao Read FConservacao Write FConservacao; property CodigoTexto1: Integer read FCodigoTexto1 write FCodigoTexto1; property CodigoTexto2: Integer read FCodigoTexto2 write FCodigoTexto2; property CodigoTexto3: Integer read FCodigoTexto3 write FCodigoTexto3; property CodigoInfoNutr: Integer read FCodigoInfoNutr write FCodigoInfoNutr; property CodigoTara: Integer Read FCodigoTara Write FCodigoTara Default 0; property CodigoFornecedor: Smallint Read FCodigoFornecedor Write FCodigoFornecedor Default 0; property ImpValidade: Smallint Read FImpvalidade Write FImpvalidade Default 1; property ImpEmbalagem: Smallint Read FImpEmbalagem Write FImpEmbalagem Default 1; property CodigoFracionador: Smallint Read FCodigoFracionador Write FCodigoFracionador Default 0; property CodigoConservacao: Smallint Read FCodigoConservacao Write FCodigoConservacao Default 0; property EAN13Fornecedor: string read FEAN13Fornecedor write FEAN13Fornecedor; end; Na procedure PreencherToledo da primeira imagem, substitui onde estava lFill('0',12)+ // lote por lFill(Produtos[i].Lote, 12)+ // lote Mas, na hora de utilizar e passar o valor da property Lote me retorna o seguinte erro: Caso eu nao tente passar o valor, o projeto compila, mas caso passe, da erro. ACBrCargaBal.pas