Ir para conteúdo
  • Cadastre-se

carlessoflu

Membros
  • Total de ítens

    226
  • Registro em

  • Última visita

Tudo que carlessoflu postou

  1. Usar o LoadFromFile para importar notas eu já faço, da tudo certo, porém, esse xml tem várias notas dentro do mesmo xml, ai quando uso o loadfromfile não lê.
  2. Pessoal, alguma ideia? Preciso fazer a importação até o fim do ano. Obrigado.
  3. Boa tarde! Na minha cidade(Linhares-ES) não tem implementado ainda a nota de serviço pelo ACBr. Meu cliente entra no site da prefeitura e emite as notas por lá. No final do mês tenho que pegar essas notas e importar para meu sistema, porém, vem apenas um arquivo XML com todas as notas nele. Tem como fazer a importação por esse arquivo? eu tentei algo assim, mas não deu certo. if OpenDialog1.Execute then begin ACBrNFSe1.NotasFiscais.Clear; ACBrNFSe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName); For i:= 0 to ACBrNFSe1.NotasFiscais.Count-1 do begin //restante do código end; end; O comando "LoadFromFile" lê apenas uma nota no xml? Existe alguma forma de ler todas as notas do xml, como um looping? Segue em anexo o xml com as notas. NotasFiscais.xml
  4. Bom dia! Estou com o mesmo problema do Dall'ara. Preciso importar as notas de serviço para meu sistema, mas na minha cidade (Linhares-ES) não existe essa opção. No site da prefeitura eu baixo um arquivo xml que vem com todas as notas do período. Como faço para importar essas notas para o meu sistema, uma por uma? Segue o xml em anexo. NotasFiscais.xml
  5. Bom dia Fagner. Cara, como já tem um tempo não lembro exatamente o que foi feito. Mas quem acertou foi o administrador da rede, ele alterou alguma coisa na impressora e acertou o problema. Mas infelizmente não sei dizer o que ele fez.
  6. Bom dia! Tenho um sistema em Delphi e estou enviando alguns dados para o banco de dados MySql para fazer uma sincronização de arquivos. Funciona da seguinte forma: Faço um cadastro/alteração no sistema Delphi, depois jogo para o MySql, no MySql tenho uma procedure que verifica se o arquivo já existe, se sim faz um UPDATE, se não existir faz um INSERT. O problema é o seguinte: tenho duas tabelas MESTRE/DETALHE, tabela FAZENDAS que são os dados da fazenda, e tabela FAZENDAS_MAPAS, que são os mapas de uma fazenda. na tabela FAZENDAS_MAPAS tem um campo COD_FAZENDA, que é o numero do registro da tabela FAZENDAS. Esse campo registro é autoincremento. Quero saber como faço para retornar o número do campo REGISTRO da tabela FAZENDAS quando faço um UPDATE. Quando faço um INSERT já consegui, usei o seguinte código no Delphi: function TForm1.mysql_insert_id(SQLConnection: TSQLConnection): Integer; var SqlDataSet: TSqlDataSet; begin result:= 0; SqlDataSet:= TSqlDataSet.Create(nil); try SqlDataSet.SQLConnection:= SQLConnection; SqlDataSet.CommandText:= 'select LAST_INSERT_ID()'; SqlDataSet.Open; result:= SqlDataSet.Fields[0].AsInteger; SqlDataSet.Close; finally SqlDataSet.Free; end; end; O código "select LAST_INSERT_ID()" retorna o número do ultimo registro inserido. Mas para retornar o ultimo registro alterado não consegui fazer. Abaixo segue a procedure de importar fazendas no MySql. Se dentro dessa procedure desse para retornar o numero do registro seria ótimo. CREATE DEFINER=`innetsistemas15`@`%%` PROCEDURE `ImportaFazendas`( PREGISTRO int(11), PCLIENTE int (11), PNOME_FAZENDA varchar(80), PENDERECO varchar(80), PNUMERO varchar(10), PBAIRRO varchar(60), PCIDADE varchar (60), PESTADO varchar (2), PCEP varchar(10), PRESPONSAVEL varchar(80), POBS varchar(250), PTEL_RESPONSAVEL varchar(16), PDATAMOD timestamp) BEGIN DECLARE cli int (11); declare nome varchar(80); Set cli = 0; set nome = '0'; SELECT cliente, nome_fazenda From FAZENDAS where cliente = PCLIENTE and nome_fazenda = PNOME_FAZENDA into cli, nome; if ((cli <> 0) and (nome <> '0')) then UPDATE `FAZENDAS` SET DATAMOD=PDATAMOD, CLIENTE = PCLIENTE, NOME_FAZENDA = PNOME_FAZENDA, ENDERECO = PENDERECO, NUMERO = PNUMERO, BAIRRO = PBAIRRO, CIDADE = PCIDADE, ESTADO = PESTADO, CEP = PCEP, RESPONSAVEL = PRESPONSAVEL, OBS = POBS, TEL_RESPONSAVEL = PTEL_RESPONSAVEL WHERE DATAMOD < PDATAMOD and cliente = cli and nome_fazenda = nome; else Insert into FAZENDAS (CLIENTE, NOME_FAZENDA, ENDERECO, NUMERO, BAIRRO, CIDADE, ESTADO, CEP, RESPONSAVEL, OBS, TEL_RESPONSAVEL, DATAMOD) values (PCLIENTE, PNOME_FAZENDA, PENDERECO, PNUMERO, PBAIRRO, PCIDADE, PESTADO, PCEP, PRESPONSAVEL, POBS, PTEL_RESPONSAVEL, PDATAMOD); end IF; END
  7. Aconteceu a mesma coisa comigo. Conseguiu resolver?
  8. É que um cliente quer que o sistema funcione dessa forma para ele, por isso estou fazendo essa modificação. Muito obrigado pela ajuda, consegui resolver pegando a base do que vcs me ajudaram. Vou postar o código da trigger na tabela de estoque de matéria prima, caso alguém tbm tenha essa dúvida. CREATE TRIGGER ESTOQUE_ATU_PROD FOR MATERIAPEST ACTIVE AFTER UPDATE POSITION 0 AS declare ASSOCIADO varchar(15); declare DESCRICAO varchar(120); declare ASSOC_LOJA integer; declare ASSOC_COR integer; declare ATU integer; begin --verificar se é para fazer ou não o código da trigger - se for 0 não faz se for 1 faz --essa verificação é feita para não entrar em looping, ex: atualiza estoque_prod ai a trigger atualiza o estoque_mat --e vice-versa e fica no looping Select atu from atu_estoque_pela_trigger into :ATU; if (coalesce(:atu,0) = 1) then begin --buscar dados da materia prima Select assoc_loja, assoc_cor, associado, descricao from cad_materia where referencia = new.referencia into :ASSOC_LOJA, :ASSOC_COR, :associado, :DESCRICAO; if ((:ASSOCIADO is not null) and (:ASSOCIADO <> '')) then begin --faz um update colocando o atu = 0 para não fazer o codigo da trigger na tabela de estoque (produtos) update atu_estoque_pela_trigger set atu = 0; --atualizar estoque do produto update estoque set q1 = new.quant, quant_total = new.quant where referencia = :ASSOCIADO and loja = :ASSOC_LOJA and cor = :ASSOC_COR; --faz um update colocando o atu = 1 para voltar ao normal update atu_estoque_pela_trigger set atu = 1; --inserir registro no kardex insert into kardex (data, referencia, descricao, operacao, QUANT, cor, loja, tam, registro) values (current_date, :ASSOCIADO, :DESCRICAO, 'Associação a matéria-prima', (new.quant-old.quant), :ASSOC_COR, :ASSOC_LOJA, 'U', GEN_ID(gen_kardex,1)); end end end
  9. Fica meio inviável pq são várias telas que fazem entrada/saída do estoque, se for colocar para fazer em cada tela vai ficar muito trabalhoso, e ainda posso esquecer de colocar em alguma né.
  10. Boa tarde Gr@c@, muito obrigado pela resposta, mas não entendi muito bem, poderia me explicar melhor por favor? - o que é esse campo Flag? - Esse campo Flag ficaria onde? nas tabelas de estoque ou na própria trigger? Muito obrigado por enquanto!
  11. Tenho a seguinte situação: tenho uma tabela de estoque de produtos (ESTOQUE_PROD) e uma tabela de estoque de matéria-prima (ESTOQUE_MAT), preciso que ao atualizar qualquer uma das tabelas a outra tbm atualize, ex: ao atualizar o estoque de um produto atualize tbm o estoque da matéria-prima referente ao produto e vice versa. Para isso criei uma trigger em cada tabela, quando atualizo a tabela ESTOQUE_PROD a trigger atualiza tbm a tabela ESTOQUE_MAT e vice versa, porém, isso faz com que o sistema fique em looping, um atualizando o outro sempre. Tive a ideia de desabilitar a trigger antes de fazer o update e habilitar depois do update, porem o firebird não aceita a palava chave ALTER dentro da trigger. Segue a trigger da tabela de ESTOQUE_PROD: #Código 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CREATE TRIGGER ESTOQUE_ATU_MATP FOR ESTOQUE_PROD ACTIVE AFTER UPDATE POSITION 0 AS begin --desabilitar a trigger da tabela ESTOQUE_MAT para não entrar em looping alter trigger estoque_atu_prod inactive; --atualizar estoque de matéria-prima update ESTOQUE_MAT set quant = new.q1 where referencia = new.referencia; --habilitar a trigger da tabela materiapest alter trigger estoque_atu_prod active; end end Alguém sabe o que devo fazer?
  12. Descobri o problema. coloquei para abrir o sistema, o processo ficou aberto e o sistema não abriu, como vinha acontecendo, ai fui fechando os processos um por um, até que quando fechei o spoolsv.exe o sistema abriu na hora, fiz outros testes e percebi que quando fechava esse processo funcionava normalmente. Então descobri que o pessoal da rede instalou uma impressora HP LaserJet Pro MFP M127fn em rede, foi justamente a partir desse dia que começou o problema. O problema é que o spoolsv não pode ficar fechado, senão não vai dar para imprimir nada, alguém sabe o que pode ser feito?
  13. Bom dia Solivan! Sim, executo algumas funções, por exemplo: * acesso um arquivo .ini para verificar o local do banco de dados e o serial para entrar no sistema; * um código para alterar o formato da data no windows; * um código para verificar se a versão do exe é inferior a versão do exe que está no servidor, se for atualiza o exe; (não está fazendo esse código pq a versão é a mesma); * um código para buscar o serial no servidor ftp caso o serial do sistema esteja incorreto ou expirar; (tbm não está fazendo pq o serial está certo);
  14. Vou tentar entrar em contato com o suporte do Avast. Mas já até desinstalei o Avast e continuou o problema.
  15. Infelizmente não é o antivirus. Desabilitei o antivirus e continua a mesma coisa. O antivirus é o Avast.
  16. Bom dia! Peço desculpas pois sei que este fórum é para o componente ACBr, mas os membros deste são tão prestativos que vou escrever aqui o meu problema. Tenho um sistema feito em Delphi 7, o sistema funciona perfeitamente já tem 10 anos, porém, em alguns clientes não está mais querendo abrir. Acontece o seguinte: o processo abre mas o sistema não abre, aí se clico para abrir novamente abre outro processo, e o sistema não abre, e por ai vai. Algumas vezes, somente as vezes, acontece depois de um tempão abrir vários sistemas, de todos os processos que ficaram abertos. obs: quando reinicio o computador e tento da primeira vez o sistema abre, depois de um tempo ele trava e precisa ser fechado, ai já não abre mais, e tem que reiniciar o computador novamente. Já passei antivirus, antimalware, etc... por favor me ajudem. As máquinas são Windows xp, e algumas windows 7. Desde já agradeço!
  17. Não aparece nenhuma mensagem de erro. Como assim qual o nome do mapeamento? O redirecionamento na verdade quem fez foi uma empresa que administra a rede do meu cliente. Normalmente eu coloco no campo Porta o seguinte: \\IP_do_computador\nome_de_compartilhamento_da_impressora. Porém no windows server 2008 não dá para compartilhar o redirecionamento. Como eu deveria colocar no campo Porta do Acbr?
  18. Bom dia! Uso o AcbrEtq para fazer impressão em impressoras térmicas, Argox, Zebra... Até agora sempre deu tudo certo, porém, um cliente resolveu fazer uma mudança e agora não consigo mais imprimir. A situação é a seguinte: O cliente tem a fábrica e tem a loja, ficam em locais diferentes, para acessar o sistema na loja foi feito um acesso remoto (Conexão de Área de trabalho remota) onde a loja acessa a fabrica e usa o sistema. A impressora Argox OS 214-Plus PPLA está instalada no computador da loja, e o cliente precisa acessar o servidor e de lá mandar imprimir na impressora que está na loja. Para isso foi feito um redirecionamento da impressora, instalando o driver da impressora no servidor e de lá imprime na loja. Quando manda imprimir uma página de teste pelo próprio driver no servidor a impressão funciona, mas quando tento mandar imprimir pelo sistema não vai. Já tentei fazer o esquema da porta compartilhada: \\nome do computador\nome da impressora. Já tentei fazer o esquema de instalar uma impressora LPT1, marcar o spool de impressão e setar a porta da impressora. Ambos não funcionaram. máquina da loja: Windows 7. Servidor : Windows server 2008. Por favor me ajudem, não sei mais o que fazer. Talvez se desse para imprimir diretamente pelo driver da impressora funcione, mas não sei se tem como fazer isso pelo AcbrEtq.
  19. Era isso mesmo... Muito obrigado. RESOLVIDO.
  20. ok Rondinele Martins, muito obrigado! vou ligar para o sefaz.
  21. Bom dia a todos! Estou implementando o MDF-e, estou usando a versão 100a com os schemas novos, aparentemente está tudo certo, porém quando tento enviar em ambiente de homologação está dando o seguinte erro: Rejeição: Emissor não habilitado para emissão do MDF-e. o "Emissor" nesse caso é a minha empresa que está emitindo o MDF-e ou é o estado? Sou do Espírito Santo. Já pesquisei no fórum mas não encontrei nada a respeito. Desde já agradeço. [RESOLVIDO]
  22. Resolvido! a ordenação no delphi estava assim: indexfieldnames := 'T1;T2;T3;T4'; e no groupkey no rave eu estava colocando dessa mesma forma e não estava dando certo, então coloquei da seguinte maneira e funcionou: T1 + ; + T2 + ; T3 + ; T4. Tudo certo, Vlw!
  23. Não tem isso não Juliomar.
×
×
  • 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.

The popup will be closed in 10 segundos...