Ir para conteúdo
  • Cadastre-se

carlessoflu

Membros
  • Total de ítens

    221
  • Registro em

  • Última visita

Tudo que carlessoflu postou

  1. Estou querendo pegar o usuário logado no sistema Delphi para informar nas tabelas no BD Firebird 2.1, estou fazendo da seguinte forma: Depois de logar com o usuário no sistema uso o comando abaixo para set_context: Faço um set_context para informar o número do usuário na variável USUARIO DMMov.QGen2.Close; // DMMov.QGen2 é meu IBQuery DMMov.QGen2.Sql.Clear; //número do usuário DMMov.QGen2.Sql.Add('select rdb$set_context(''USER_SESSION'',''USUARIO'','''+F0Menu.Label4.Caption+''') from rdb$database;'); DMMov.QGen2.Open; //aqui é só para verificar se deu certo, e deu, a variável está setada com o número do usuário DMMov.QGen2.Close; DMMov.QGen2.Sql.Clear; DMMov.QGen2.Sql.Add('select rdb$get_context(''USER_SESSION'',''USUARIO'') as usu from rdb$database;'); DMMov.QGen2.Open; showmessage('usuario '+DMMov.qgen2.fieldbyname('usu').asstring); na minha tabela ENTRSAIDAS criei um campo USUARIO integer, e criei uma trigger active before insert da seguinte forma: CREATE OR ALTER trigger entrsaidas_usuario for entrsaidas active before insert position 0 AS begin new.usuario = RDB$GET_CONTEXT('USER_SESSION', 'USUARIO'); end Mas o usuário está sempre ficando null, esse é o problema. Tem alguma ideia do que pode ser? Fiz um teste e percebi que quando faço um insert da seguinte forma funciona, o campo usuário fica preenchido. DMMov.IBSQL.Close; DMMov.IBSQL.Sql.Clear; DMMov.IBSQL.Sql.Add('INSERT INTO ENTRSAIDAS (GRUPO, TIPO, LOJA, EMISSAO, HISTORICO, VALOR, ENTR_SAIDAS, LOJAANT, DATA, BANCODIN, TURNO, LJ, SELECIONAR, CONFIRMADO, SETOR, NUM_NFCE, REG_CARTAO, LOCACAO_REG, USUARIO) VALUES (''1'', ''Dinheiro'', ''1'''); DMMov.IBSQL.Sql.Add(', ''04/05/2023 00:00:00'', ''TRANSFERENCIA DAS LOJAS'', ''1'', ''Saida'', ''1'', ''04/05/2023 00:00:00'', ''-1'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);'); DMMov.IBSQL.ExecQuery; DMMov.IBSQL.Transaction.CommitRetaining; Mas quando faço dando um insert pelo ClientDataSet ele não funciona, e dessa forma é que eu uso no sistema inteiro. TEntrSaidas.Insert; É isso mesmo? O Get e set context não funciona quando usa dessa forma? Obrigado!
  2. Consegui resolver fazendo a consulta das notas, uma por uma dentro do For que percorre as notas no final do ChecarResposta. //consulto a nota para saber se deu certo ou deu erro ACBrNFSeX1.ConsultarNFSePorRps(DMTables.TNotaServicosNOTAFISCAL.AsString, DMTables.TNotaServicosSERIE.AsString, '1', DMTables.TNotaServicosNF_COD_VERIFICACAO.AsString); ChecarResposta(tmConsultarNFSePorRps); with ACBrNFSeX1.WebService do begin with ConsultaNFSeporRps do begin if Erros.Count = 0 then begin PageControl1.ActivePage := TNotas; DMTables.TNotaServicosNF_STATUS.AsString := 'Enviada'; DMTables.TNotaServicosNF_NUMERO.AsString := ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Numero; DMTables.TNotaServicosNF_DT_AUTORIZACAO.AsDateTime := Data;// ACBrNFSeX1.NotasFiscais.Items[0].NFSe.dhRecebimento; DMTables.TNotaServicosNF_COD_VERIFICACAO.AsString := ACBrNFSeX1.NotasFiscais.Items[i].NFSe.CodigoVerificacao; DMTables.TNotaServicosCAMINHO_XML.AsString := ACBrNFSeX1.NotasFiscais.Items[i].NomeArq; Definir_Path_PDF(DMTables.TNotaServicosCAMINHO_XML.AsString); if ACBrNFSeX1.NotasFiscais.Items[0].NFSe.SituacaoNfse = ACBrNFSeXConversao.snCancelado then begin DMTables.TNotaServicosNF_STATUS.AsString := 'Cancelada'; DMTables.TNotaServicosCAN.AsString := 'S'; DMTables.TNotaServicosNF_DT_CAN.AsDateTime := DataCanc; end; end else begin PageControl1.ActivePage := TLog; DMTables.TNotaServicosNF_STATUS.AsString := 'Erro de envio'; DeuErro := 'S'; end; end; end;
  3. Como faço para tratar erros quando envio em lote? Por exemplo, envio 10 notas em um lote, as 9 primeiras deram certo, e na décima deu erro. Como faço para colocar que deu certo nas 9 primeiras e erro na décima? No demo tem a função ChecarResposta(tmRecepcionar); No final dessa função tem o seguinte código: for i := 0 to ACBrNFSeX1.NotasFiscais.Count -1 do begin memoLog.Lines.Add(' '); memoLog.Lines.Add('NFS-e Numero....: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Numero); memoLog.Lines.Add('Cod. Verificacao: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.CodigoVerificacao); memoLog.Lines.Add('Prestador.......: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Prestador.RazaoSocial); memoLog.Lines.Add('Tomador.........: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Tomador.RazaoSocial); if ACBrNFSeX1.NotasFiscais.Items[i].NFSe.SituacaoNfse = ACBrNFSeXConversao.snCancelado then memoLog.Lines.Add('A Nota encontra-se Cancelada.'); if ACBrNFSeX1.NotasFiscais.Items[i].NomeArq <> '' then begin memoLog.Lines.Add('Nome do arquivo.: ' + ACBrNFSeX1.Configuracoes.Arquivos.GetPathNFSe() + '\' + ACBrNFSeX1.NotasFiscais.Items[i].NomeArq); if ACBrNFSeX1.Configuracoes.Arquivos.Salvar then memoLog.Lines.Add('==> Xml da nota salvo na pasta e com o nome informado acima.') else memoLog.Lines.Add('==> Xml da nota não salvo em disco.'); // Na propriedade XmlNfse temos o XML da NFS-e LoadXML(ACBrNFSeX1.NotasFiscais.Items[i].XmlNfse, WBXmlNotas); end; end; Ele percorre todas as notas enviadas no lote, mas os retornos vem em branco quando dá um erro, vem em branco para todas as notas e não somente na que deu erro. Pensei em verificar, por exemplo, se o campo ACBrNFSeX1.NotasFiscais.Items[i].NFSe.CodigoVerificacao vier preenchido quer dizer que deu certo, porém ele vem em branco para todas as notas quando tem erro. Como vocês fazem? Alguma dica?
  4. Consegui achar aqui, é o campo InformacoesComplementares Só a questão de separar por pastas que não deu certo, mas tudo bem, vou deixar assim mesmo.
  5. Na verdade tenho que informar no campo observação, e não em outras informações. Mas não encontrei um campo de Observações. Existe esse campo? A imagem abaixo foi gerado direto pelo site da prefeitura. Preciso add essa informação na observação.
  6. Então não dá para eu enviar essas informações? O problema é que o contador pediu para informar algumas coisas nas observações.
  7. Bom dia! Estou enviando NFS-e para a cidade de Linhares/ES, o provedor é EL 2.04. Estou preenchendo a tag OutrasInformacoes, mas não está indo no XML as informações: with NotasFiscais.New.NFSe do begin . . OutrasInformacoes := DMTables.TNotaServicosDADOS1.AsString+' '+DMTables.TNotaServicosDADOS2.AsString+' '+DMTables.TNotaServicosDADOS3.AsString+' '+DMTables.TNotaServicosDADOS4.AsString; end; Outra coisa, no programa Demo as pastas ficam separadas dessa forma: Gostaria que no meu ficasse assim tbm, mas não está criando essas pastas, os xmls do RPS e da NFSe estão ficando todos na mesma pasta. Acredito que a opção seja essa: Pelo que vi no demo essa opção é a arquivos.salvar, estou preenchendo tbm no meu, mas não está separando as pastas. ACBrNFSeX1.Configuracoes.Arquivos.Salvar := True; ACBrNFSeX1.Configuracoes.Arquivos.SepararPorMes := True; O separarPorMes está funcionando, o que não separa são as pastas Can, Notas e Recibos.
  8. Descobri o motivo. Simplesmente o campo ACBrNFSeX1.Configuracoes.Geral.Emitente.CNPJ não estava sendo preenchido. Eu copiei todos os campos do demo, mas por algum motivo justamente esse pelo jeito eu esqueci. É sempre assim, quando trava em alguma coisa é sempre por uma bobeira rsrs. Obrigado a todos que responderam.
  9. Pelo que pude perceber, essa informação do prestador parece que vem da resposta de alguma consulta, e não está vindo nenhum informação, a data de envio está vindo como 30/12/1899, segue o log: Requisição Ambiente: 1 Cidade : Linhares/ES Provedor: EL Versão: 2.04 Método Executado: Enviar Lote Síncrono Parâmetros de Envio Numero do Lote: 18 Parâmetros de Retorno Data de Envio : 30/12/1899 Numero do Prot: Numero da Nota: Link : Código Verif. : Sucesso : False Erro(s): Código : X800 Mensagem: Erro de Validação: --> 1871 - Element '{http://www.abrasf.org.br/nfse.xsd}CpfCnpj': Missing child element(s). Expected is one of ( {http://www.abrasf.org.br/nfse.xsd}Cpf, {http://www.abrasf.org.br/nfse.xsd}Cnpj ). Correção: --------- Método Executado: ConsultarLote Parâmetros de Envio Numero do Prot: Numero do Lote: Parâmetros de Retorno Situação Lote : Sucesso : False NFS-e Numero....: 000018 Cod. Verificacao: Prestador.......: LOJA Tomador.........: CLIENTE TESTE
  10. Boa tarde! @Italo Giurizzato Junior Coloquei alguns breakpoints no meu sistema e no demo do acbr, e no método FProvider.Emite, no AssinarEmitir(EmiteResponse);, no demo está vindo com a tag Cnpj do prestador preenchida (Código abaixo), já no do meu sistema essa tag não está sendo preenchida(Código mais abaixo), mas eu estou preenchendo todas informações do prestador, vou postar uma imagem mais abaixo. Depois existe outra tag de Cnpj do prestador, e ela está preenchida, mas a primeira tag não está preenchendo, então acredito que seja por isso o erro de CNPJ. Mas pq não está preenchendo será? EmiteResponse do demo: ('', '', '1507', False, '', '', 0, 0, '', '', '', '', '', '', teCancelamento, 0, $4B732A0, $4B732BC, $4B732D8, '', '', '<EnviarLoteRpsSincronoEnvio xmlns="http://www.abrasf.org.br/nfse.xsd"><LoteRps Id="Lote_1507" versao="2.04"><NumeroLote>1507</NumeroLote><Prestador><CpfCnpj><Cnpj>05117571000205</Cnpj></CpfCnpj><InscricaoMunicipal>0000001</InscricaoMunicipal></Prestador><QuantidadeRps>1</QuantidadeRps><ListaRps><Rps><InfDeclaracaoPrestacaoServico><Rps Id="Rps_150785"><IdentificacaoRps><Numero>1507</Numero><Serie>85</Serie><Tipo>1</Tipo></IdentificacaoRps><DataEmissao>2023-03-29</DataEmissao><Status>1</Status></Rps><Competencia>2023-03-29</Competencia><Servico><Valores><ValorServicos>100.35</ValorServicos><ValorCofins>2.00</ValorCofins><ValorIss>2.01</ValorIss><Aliquota>2.00</Aliquota></Valores><IssRetido>2</IssRetido><ResponsavelRetencao>1</ResponsavelRetencao><ItemListaServico>01.07</ItemListaServico><CodigoCnae>107010</CodigoCnae><CodigoTributacaoMunicipio>01.07</CodigoTributacaoMunicipio><Discriminacao>discriminacao I; discriminacao II</Discriminacao><CodigoMunicipio>3203205</CodigoMunicipio><CodigoPais>1058</CodigoPais><ExigibilidadeISS>1</ExigibilidadeISS><MunicipioIncidencia>3203205</MunicipioIncidencia></Servico><Prestador><CpfCnpj><Cnpj>05117571000205</Cnpj></CpfCnpj><InscricaoMunicipal>0000001</InscricaoMunicipal></Prestador><TomadorServico><IdentificacaoTomador><CpfCnpj><Cpf>09836195572</Cpf></CpfCnpj></IdentificacaoTomador><RazaoSocial>CLIENTE TESTE</RazaoSocial><Endereco><Endereco>AV GUACUI</Endereco><Numero>100</Numero><Complemento>APTO 11</Complemento><Bairro>CENTRO</Bairro><CodigoMunicipio>3203205</CodigoMunicipio><Uf>ES</Uf><Cep>29901620</Cep></Endereco><Contato><Telefone>1622223333</Telefone><Email>[email protected]</Email></Contato></TomadorServico><RegimeEspecialTributacao>1</RegimeEspecialTributacao><OptanteSimplesNacional>1</OptanteSimplesNacional><IncentivoFiscal>2</IncentivoFiscal></InfDeclaracaoPrestacaoServico></Rps></ListaRps></LoteRps></EnviarLoteRpsSincronoEnvio>', '', '', 50, meLoteSincrono, '', '') EmiteResponse do sistema: ('', '', '17', False, '', '', 0, 0, '', '', '', '', '', '', teCancelamento, 0, $79CA6E8, $79CA704, $79CA720, '', '', '<EnviarLoteRpsSincronoEnvio xmlns="http://www.abrasf.org.br/nfse.xsd"><LoteRps Id="Lote_17" versao="2.04"><NumeroLote>17</NumeroLote><Prestador><CpfCnpj></CpfCnpj></Prestador><QuantidadeRps>1</QuantidadeRps><ListaRps><Rps><InfDeclaracaoPrestacaoServico><Rps Id="Rps_1785"><IdentificacaoRps><Numero>17</Numero><Serie>85</Serie><Tipo>1</Tipo></IdentificacaoRps><DataEmissao>2023-03-29</DataEmissao><Status>1</Status></Rps><Competencia>2023-03-29</Competencia><Servico><Valores><ValorServicos>100.35</ValorServicos><ValorCofins>2.00</ValorCofins><ValorIss>2.00</ValorIss><Aliquota>2.00</Aliquota></Valores><IssRetido>2</IssRetido><ResponsavelRetencao>1</ResponsavelRetencao><ItemListaServico>01.07</ItemListaServico><CodigoCnae>107010</CodigoCnae><CodigoTributacaoMunicipio>01.07</CodigoTributacaoMunicipio><Discriminacao>discriminacao I; discriminacao II</Discriminacao><CodigoMunicipio>3203205</CodigoMunicipio><CodigoPais>1058</CodigoPais><ExigibilidadeISS>1</ExigibilidadeISS><MunicipioIncidencia>3203205</MunicipioIncidencia></Servico><Prestador><CpfCnpj><Cnpj>05117571000205</Cnpj></CpfCnpj><InscricaoMunicipal>0000001</InscricaoMunicipal></Prestador><TomadorServico><IdentificacaoTomador><CpfCnpj><Cpf>09836195572</Cpf></CpfCnpj></IdentificacaoTomador><RazaoSocial>CLIENTE TESTE</RazaoSocial><Endereco><Endereco>AV GUACUI</Endereco><Numero>100</Numero><Complemento>APTO 11</Complemento><Bairro>CENTRO</Bairro><CodigoMunicipio>3203205</CodigoMunicipio><Uf>ES</Uf><Cep>29901620</Cep></Endereco><Contato><Telefone>1622223333</Telefone><Email>[email protected]</Email></Contato></TomadorServico><RegimeEspecialTributacao>1</RegimeEspecialTributacao><OptanteSimplesNacional>1</OptanteSimplesNacional><IncentivoFiscal>2</IncentivoFiscal></InfDeclaracaoPrestacaoServico></Rps></ListaRps></LoteRps></EnviarLoteRpsSincronoEnvio>', '', '', 50, meLoteSincrono, '', '') Prestador preenchido no sistema:
  11. Mas acredito que esse erro no tortoise não tem a ver com o meu problema na NFSe, pq no demo está funcionando. Eu copiei todo o código do demo e joguei para minha aplicação para fazer um teste, e não vai, da sempre o erro de CNPJ, já estou a 2 dias nisso e não consigo entender o motivo.
  12. Bom dia! Já atualizei, mas ultimamente sempre que estou atualizando está dando esse erro: Disseram que é um falso positivo, mas não sei se está interferindo em alguma coisa.
  13. Na ACBrNFSeX1.ConsultarNFSePorRps(NumeroRps, SerieRps, TipoRps, CodVerificacao); está dando o mesmo erro no sistema, e no demo está funcionando, deve ser alguma configuração errada, mas já olhei tudo e não encontrei. Só está funcionando o Emitir no método meUnitario, mas preciso enviar em lotes.
  14. Boa tarde! Eles estão usando o padrão ABRASF agora, versão 2.04. No meu sistema, o método emitir em automático, ou com meLoteSincrono está dando o seguinte erro: Erro(s): Código : X800 Mensagem: Erro de Validação: --> 1871 - Element '{http://www.abrasf.org.br/nfse.xsd}CpfCnpj': Missing child element(s). Expected is one of ( {http://www.abrasf.org.br/nfse.xsd}Cpf, {http://www.abrasf.org.br/nfse.xsd}Cnpj ). Todos os CNPJs estão preenchidos. Mas quando uso o método emitir como meUnitário funciona. Já no Demo do ACBr funciona em automático ou com meLoteSincrono. Eu copiei do demo e passei para o sistema. Tem alguma ideia do que pode ser?
  15. Minha cidade, Linhares/ES, utiliza o provedor EL e mudou para o padrão nacional hoje, dia 27/03/2023. A versão é a 2.04, porém no Demo do ACBrNFSeX só tem a versão 1.0. Vou implementar NFSe no meu sistema agora, nunca tinha usado antes. O Demo já consegue enviar com essa nova versão do provedor? O link para o site da prefeitura é esse: https://notafiscal.linhares.es.gov.br/#/login Nesse site tem o seguinte link: Link RPS:https://notafiscal-backend.linhares.es.gov.br/producao/NfseWSService?wsdl . Tenho que alterar esse link em algum local no ACBr? Aceito todas as dicas possíveis, obrigado!
  16. Não estou conseguindo atualizar o ACBr, está acusando virus. Can't open file 'C:\ACBr\.svn\pristine\99\990996673fa4c4bed97acd9e5d478eed0f44db83.svn-base': Não foi possível concluir a operação com êxito porque o arquivo contém um vírus ou software possivelmente indesejado. Agora ao tentar atualizar novamente está dando essa mensagem.
  17. Olá. Estou com um problema com uma impressora de etiquetas, é uma Argox OS 214plus PPLB, com etiqueta do tipo para jóias. As vezes ela fica pulando etiquetas, imprime umas 5 e pula 3, e por ai vai. Mas só acontece as vezes. Consegui uma outra impressora igual a essa emprestado para fazer teste, porém a outra é PPLA, e com ela deu tudo certo, não aconteceu de pular as etiquetas. A configuração é a mesma, só mudei o tipo para PPLA e diminuí o tamanho da fonte, pq aparentemente a fonte da PPLA é maior. A impressora parece que perde a calibragem, e só calibra novamente depois de pular 3 etiquetas em branco, e imprime umas 5 erradas depois. Quando mando uma impressão logo em seguida de outra, as vezes, a impressora da uma travada e pisca a luz Ready e não imprime, ai quando mando novamente acontece o problema. Fiz vários testes mandando imprimir uma atrás da outra com apenas uma etiqueta, depois com 2, depois com 3 e a impressora não travou. Quando fiz o teste mandando imprimir 4 etiquetas de vez, na terceira impressão travou e aconteceu o problema. Fazendo outros testes, percebi que quando mando imprimir enquanto ainda está imprimindo a primeira impressão, a impressora trava e logo depois acontece o problema. Repare que está imprimindo normalmente, ai do nada acontece o problema, ela imprime uma errada, pula 3 etiquetas em branco, depois volta imprimir, mas fica errado pq está calibrando a etiqueta, e só depois de umas 5 etiquetas começa ficar correta a impressão. Alguém tem alguma ideia do que posso fazer para acertar isso? A impressora já foi mandada para a manutenção e disseram que está tudo certo com ela. O cliente disse que no sistema antigo ela funcionava corretamente.
  18. Olá, preciso fazer uma alteração em um sistema já existente que faz integração com WooCommerce. O que eu preciso é adicionar as dimensões do Produto, que são Altura, Largura e Comprimento. Mas essas dimensões ficam dentro de um Objeto, e não sei acessar esse objeto. Seguem os exemplos: DMComponentes.RESTClient1.BaseURL := BaseURL + 'products?' + 'consumer_key='+ ConsumerKProduto + '&consumer_secret=' + ConsumerSProduto; DMComponentes.RESTRequestCadProduto.Execute; if assigned(DMComponentes.RESTResponse1.JSONValue) then begin JsonToDataset(DMTabelas.FDMemTableProdutosSite,DMComponentes.RESTResponse1.JSONText); DMTabelas.FDMemTableProdutosSite.Open; //Os códigos abaixo adicionam os campos normalmente, porém, as dimensões ficam dentro de um objeto, conforme imagem abaixo DMComponentes.RESTRequestCadProduto.Params.AddItem('sku',fieldbyname('referencia').asstring,TRESTRequestParameterKind.pkGETorPOST); DMComponentes.RESTRequestCadProduto.Params.AddItem('weight','0.400', TRESTRequestParameterKind.pkGETorPOST); end; Segue o link do manual de integração: https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties Como seria o código para acessar esse objeto e informar as dimensões length, width e height?
  19. Estou usando o seguinte código para consultar as notas: ACBrNFe1.DistribuicaoDFePorUltNSU(StrToInt(UFCOD), CNPJ, edtUltNSU.Text); E está dando o seguinte erro: Alguém sabe o que pode ser? Atualizei o ACBr hoje e está dando isso. Estou consultando em homologação para o estado do ES.
  20. No segundo parâmetro coloquei uma variável string e deu certo. Não entendi pq, sendo que antes era um Edit.Text, mas resolveu.
  21. Atualizei o ACBr hoje e está dando erro no método CarregarImagem do ACBrETQ. Este é o meu código. como sempre foi e não dava erro. CarregarImagem(DMTables2.TEtiqConfigCliLOGOMARCA.AsString, Edit2.Text); Abaixo segue o erro: Olhei o demo do ACBr e está parecido com o meu e não está dando esse erro. Vi que teve algumas mudanças no ACBrETQ, talvez seja alguma unit que tenho que declarar, alguém sabe o que pode ser?
  22. Eu até gostaria de migrar para o Delphi mais novo, mas o sistema que trabalho é muito grande, já existe a mais de 20 anos, e o trabalho para migrar seria gigante.
×
×
  • 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.