Ir para conteúdo
  • Cadastre-se

Élviro Cavalcanti

Membros
  • Total de ítens

    150
  • Registro em

  • Última visita

Tudo que Élviro Cavalcanti postou

  1. Felipe, notei uma melhora sim, nada absurda, mas melhorou sim.
  2. Eu migrei do firebird 2.0 para o 4.0, tive que fazer algumas coisas. Segue abaixo como fiz pra rodar tranquilo. Instruções para migrar para o firebird 4.0 1 - Criar o backup em FBK ainda usando o Firebird 2.5 2 - Zipar o backup 3 - Desistalar o Firebird 2.5 4 - Reiniciar o computador 5 - Instalar o Firebird 4.0 6 - Parar o serviço firebird 4.0 e substituir o arquivo firebird.conf que está dentro da pasta de instalação do firebird 7 - Excluir dentro da pasta gds32.dll (849 kb) do windows system ou substituir ele pelo novo com tamanho 1.604kb 8 - Ativar o serviço Firebird 4.0 9 - Restaurar o backup, pode usar o Restaurar Backup.bat
  3. Boa tarde, fui postar uma dúvida sobre SQL aqui no site e mostrou como usuário bloqueado, será alguma instabilidade no site ?
  4. Bom dia Carlos, quando você informa que é produtor Rural, você informa a série 920 ?
  5. Pelo que entendi, você está querendo pegar algo dentro de um html ou xml por exemplo, você poderia usar o seguinte: function TfrmExemplo.obterNroResultado(const aXML: XMLString; aTag, aEndTag: string): string; var _Posini, _Posfim : integer; Begin Result := ''; _Posini:= Pos(aTag,aXML); _Posfim:= Pos(aEndTag,aXML); if ( _Posini > 0 ) then begin inc(_PosIni, Length(aTag)); Result:=Copy(aXML,_Posini+1,(_PosFim-_PosIni)-1); end; end; E no botão seria esse comando pra chamar o campo desejado, seria isso ? EditResultado.Text := obterNroResultado(mmXML.Text, '<nRec','</nRec');
  6. Mas explica qual a necessidade desse last, assim posso te ajudar melhor
  7. Bom dia Luciano, você poderia me explicar melhor essa questão do last por exemplo, pra inserir os dados seria melhor insert na tabela, ou entendi errado alguma coisa, me explica melhor então. Eu uso uma rotina que fica monitorando no caso o tempo que leva pra cada processo, vou deixar aqui pra você, segue ela abaixo: var FrmPrincipal: TFrmPrincipal; t:Cardinal; //Declaro essa variável que vai pegar o tempo. t := GetTickCount(); Aqui coloco minha rotina t := GetTickCount() - t; Label25.Caption := 'Tempo de resposta : ' + FormatFloat(',0 milisegundos', t);
  8. Boa tarde, tive que apagar a tabela "transportador" e criando outra com o nome "transportadora" só assim consegui que tudo voltasse ao normal, até agora fiquei sem entender, mas segue ....
  9. Bom dia, tenho um sistema usando o Firebird 4.0 com uma tabela de TRANSPORTADOR. Quando abro o sistema e nessa tabela tem dados não existe erro, mas quando a tabela de TRANSPORTADOR não tem dados, sempre apresenta um erro "Access violation at address 0070678D in module 'Controller.exe'. Read of address 000000EC" e simplesmente não conegue fazer mais nada. Alguém já passou por esse problema e conseguiu resolver? Uso o IBX.
  10. No meu servidor, tenho o caminho de cada banco separado, nesse caso todos os meus clientes que usam esse serviço, ficam com o banco na internet, todos separados.
  11. Assim como Juliomar colocou, da mesma forma que uma conexão numa rede local
  12. Bom dia, eu trabalho com o servidor e um banco para cada cliente.
  13. Você pode usar essa rotina e tentar verificar se existe algum erro no banco, espero que lhe ajude! RecuperarFirebird.bat
  14. Opa, peço desculpas, vou anexar a partir de agora! USNGPC.pas
  15. Segue abaixo a rotina que usava e enviava para o site, pode ser que ajude procedure TFrmSNGPC.BitBtn1Click(Sender: TObject); var i,x: Word; NCorpo,NMedicamento,NData: IXMLNode; XMLDoc: TXMLDocument; var dti,dtf:string; begin dti := formatdatetime('mm/dd/yyyy',DateEdit1.DATE); dtf := formatdatetime('mm/dd/yyyy',DateEdit2.DATE); dm.IBUsuario.close; dm.IBUsuario.SelectSQL.Clear; dm.IBUsuario.SelectSQL.Add('SELECT * FROM USUARIO'); dm.IBUsuario.open; x:=1; // x:=10; // Cria o documento //Transformando a data eddataemissao.Text := copy(DateEdit1.Text, 7, 4) + '-' + copy(DateEdit1.Text, 4, 2) + '-' + copy(DateEdit1.Text, 1, 2); eddatasaida.Text := copy(DateEdit2.Text, 7, 4) + '-' + copy(DateEdit2.Text, 4, 2) + '-' + copy(DateEdit2.Text, 1, 2); eddataemissaoSalvar.Text := copy(DateEdit1.Text, 7, 4) + '_' + copy(DateEdit1.Text, 4, 2) + '_' + copy(DateEdit1.Text, 1, 2); eddatasaidaSalvar.Text := copy(DateEdit2.Text, 7, 4) + '_' + copy(DateEdit2.Text, 4, 2) + '_' + copy(DateEdit2.Text, 1, 2); //Busca todas as entradas no período dm.IBDetVenda.close; dm.IBDetVenda.SelectSQL.Clear; dm.IBDetVenda.SelectSQL.Add('SELECT * FROM DETVENDA'); dm.IBDetVenda.SelectSQL.ADD('WHERE DATA BETWEEN ' + QuotedStr(dti) + ' and ' + QuotedStr(dtf) + ' AND REGISTROMSMANVISA IS NOT NULL'); dm.IBDetVenda.open; XMLDoc:=TXMLDocument.Create(Application); with XMLDoc do begin Active:=True; Version:='1.0'; Encoding:='ISO-8859-1'; AddChild('mensagemSNGPC','urn:sngpc-schema'); with DocumentElement do begin AddChild('cabecalho'); ChildNodes.Last.AddChild('cnpjEmissor').NodeValue:=dm.IBUsuarioCPFCNPJ.text; ChildNodes.Last.AddChild('cpfTransmissor').NodeValue:=DM.IBUsuarioCPFRESPOSANVEL.Text; //Abrir no cadastro da empresa o CPF e nome do resposável ChildNodes.Last.AddChild('dataInicio').NodeValue:= eddataemissao.text; // FormatDateTime('yyyy-mm-dd',Date); ChildNodes.Last.AddChild('dataFim').NodeValue:= eddatasaida.Text; // FormatDateTime('yyyy-mm-dd',Date); end; NCorpo:=DocumentElement.AddChild('corpo'); // *************************** MEDICAMENTO ********************************* NMedicamento:=NCorpo.AddChild('medicamentos'); // Loop das [Entradas] :: MEDICAMENTO //Busca todas as entradas no período dm.IBDetEntrada.close; dm.IBDetEntrada.SelectSQL.Clear; dm.IBDetEntrada.SelectSQL.Add('SELECT * FROM DETENTRADA'); dm.IBDetEntrada.SelectSQL.ADD('WHERE DATA BETWEEN ' + QuotedStr(dti) + ' and ' + QuotedStr(dtf) + ' AND TIPOMATERIALFARMACIA = ' + QuotedStr('MEDICAMENTO') + ' AND REGISTROMSMANVISA IS NOT NULL'); dm.IBDetEntrada.open; if dm.IBDetEntrada.IsEmpty then begin ShowMessage('Nada de entrada!'); end else begin //for i:=1 to x do dm.ibdetentrada.First; While not dm.IBDetEntrada.eof do begin NData:=NMedicamento.AddChild('entradaMedicamentos'); with NData do begin ChildNodes['notaFiscalEntradaMedicamento'].ChildNodes['numeroNotaFiscal'].NodeValue:='1'; // [tipoOperacaoNotaFiscal] // 1 Compra // 2 Transferência // 3 Venda ChildNodes['notaFiscalEntradaMedicamento'].ChildNodes['tipoOperacaoNotaFiscal'].NodeValue:='1'; ChildNodes['notaFiscalEntradaMedicamento'].ChildNodes['dataNotaFiscal'].NodeValue:= copy(dm.IBDetEntradaDATA.Text, 7, 4) + '-' + copy(dm.IBDetEntradaDATA.Text, 4, 2) + '-' + copy(dm.IBDetEntradaDATA.Text, 1, 2);//'2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data da nota fiscal (2010-03-03) não pode ser maior que a data do final do periodo informado ChildNodes['notaFiscalEntradaMedicamento'].ChildNodes['cnpjOrigem'].NodeValue:= dm.IBDetEntradaCNPJFORNECEDOR.text; //'09616205000170'; //**** O CNPJ do fornecedor (09.616.205/0001-70) não existe na base de dados da ANVISA. ChildNodes['notaFiscalEntradaMedicamento'].ChildNodes['cnpjDestino'].NodeValue:= dm.IBUsuarioCPFCNPJ.text; //'02326764000105'; // O CNPJ do fornecedor (99.999.999/0001-99) não existe na base de dados da ANVISA. ChildNodes['medicamentoEntrada'].ChildNodes['registroMSMedicamento'].NodeValue:= dm.IBDetEntradaREGISTROMSMANVISA.Text; //'1071402340048'; ChildNodes['medicamentoEntrada'].ChildNodes['numeroLoteMedicamento'].NodeValue:= dm.IBDetEntradaNLOTE.Text; //'A0540'; ChildNodes['medicamentoEntrada'].ChildNodes['quantidadeMedicamento'].NodeValue:= dm.IBDetEntradaQUANTIDADE.Text; //'10'; // A data de recebimento do medicamento (2010-03-03 00:00:00) da nota fiscal (1) não pode ser maior que a data do final do período informado (2010-02-1Cool ChildNodes['dataRecebimentoMedicamento'].NodeValue:= copy(frmlogin.EdDataDia.Text, 7, 4) + '-' + copy(frmlogin.EdDataDia.Text, 4, 2) + '-' + copy(frmlogin.EdDataDia.Text, 1, 2); //'2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); end; dm.IBDetEntrada.Next; end; end; //Busca todas as entradas no período dm.IBDetVenda.close; dm.IBDetVenda.SelectSQL.Clear; dm.IBDetVenda.SelectSQL.Add('SELECT * FROM DETVENDA'); dm.IBDetVenda.SelectSQL.ADD('WHERE DATA BETWEEN ' + QuotedStr(dti) + ' and ' + QuotedStr(dtf) + ' AND TIPOMATERIALFARMACIA = ' + QuotedStr('MEDICAMENTO') + ' AND REGISTROMSMANVISA IS NOT NULL'); dm.IBDetVenda.open; if dm.IBDetVenda.IsEmpty then begin ShowMessage('Nada de venda!'); end else begin // Loop das [Saidas] :: MEDICAMENTO //for i:=1 to x do dm.ibdetvenda.First; while not dm.IBDetVenda.eof do begin NData:=NMedicamento.AddChild('saidaMedicamentoVendaAoConsumidor'); with NData do begin // [tipoReceituarioMedicamento] // 1 Receita de Controle Especial em 2 vias (Receita Branca) // 2 Notificação de Receita B (Notificação Azul) // 3 Notificação de Receita Especial (Notificação Branca) // 4 Notificação de Receita A (Notificação Amarela) //Consulta a venda para pegar os dados do médico dm.IBVenda.close; dm.IBVenda.SelectSQL.Clear; dm.IBVenda.SelectSQL.Add('SELECT * FROM VENDAS'); dm.IBVenda.SelectSQL.ADD('WHERE CODIGO = ' + QuotedStr(DM.IBDetVendaCODVENDA.Text) + ''); dm.IBVenda.open; //Consulta cliente da venda para pegar os dados do cliente dm.IBClientes.close; dm.IBClientes.SelectSQL.Clear; dm.IBClientes.SelectSQL.Add('SELECT * FROM CLIENTES'); dm.IBClientes.SelectSQL.ADD('WHERE CODIGO = ' + QuotedStr(DM.IBDetVendaCODCLI.Text) + ''); dm.IBClientes.open; ChildNodes['tipoReceituarioMedicamento'].NodeValue:='1'; ChildNodes['numeroNotificacaoMedicamento'].NodeValue:= dm.IBDetVendaREGISTROMSMANVISA.text; //'213213'; ChildNodes['dataPrescricaoMedicamento'].NodeValue:= copy(dm.IBDetVendaDATA.Text, 7, 4) + '-' + copy(dm.IBDetVendaDATA.Text, 4, 2) + '-' + copy(dm.IBDetVendaDATA.Text, 1, 2);//'2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data de prescricão (2010-03-03) não pode ser maior que a data do final do período informado ChildNodes['prescritorMedicamento'].ChildNodes['nomePrescritor'].NodeValue:= dm.IBVendaMEDICO.Text; //'XFULANO'; ChildNodes['prescritorMedicamento'].ChildNodes['numeroRegistroProfissional'].NodeValue:= dm.IBVendaREGISTROMEDICO.Text; //'99999'; // [conselhoProfissional] // CRM Conselho Regional de Medicina // CRMV Conselho Regional de Medicina Veterinária // CRO Conselho Regional de Odontologia ChildNodes['prescritorMedicamento'].ChildNodes['conselhoProfissional'].NodeValue:= dm.IBVendaCONSELHOMEDICO.Text; //'CRM'; ChildNodes['prescritorMedicamento'].ChildNodes['UFConselho'].NodeValue:= dm.IBVendaUFCONSELHOMEDICO.Text; //'SP'; // [usoMedicamento] // 1 Humano // 2 Veterinario ChildNodes['usoMedicamento'].NodeValue:='1'; ChildNodes['compradorMedicamento'].ChildNodes['nomeComprador'].NodeValue:= DM.IBVendaCLIENTE.Text; //'XCICLANO'; // [tipoDocumento] // 1 CARTEIRA DE REGISTRO PROFISSIONAL // 2 CARTEIRA DE IDENTIDADE . . . existem mais ChildNodes['compradorMedicamento'].ChildNodes['tipoDocumento'].NodeValue:='2'; ChildNodes['compradorMedicamento'].ChildNodes['numeroDocumento'].NodeValue:= DM.IBClientesRGINSC.Text; //'431053984'; ChildNodes['compradorMedicamento'].ChildNodes['orgaoExpedidor'].NodeValue:= dm.IBClientesEMISSOR.text; //'SSP'; ChildNodes['compradorMedicamento'].ChildNodes['UFEmissaoDocumento'].NodeValue:= dm.IBClientesUFEMISSOR.Text; //'SP'; ChildNodes['medicamentoVenda'].ChildNodes['registroMSMedicamento'].NodeValue:= dm.IBDetVendaREGISTROMSMANVISA.Text; //'1071402340048'; ChildNodes['medicamentoVenda'].ChildNodes['numeroLoteMedicamento'].NodeValue:= dm.IBDetVendaNLOTE.Text; //'A0540'; // O lote (RGJ0400) do produto de número de registro (1.0100.0043.021-5 - LEXOTAN) não foi encontrado nem no inventário inicial nem nas transações de compras informadas ChildNodes['medicamentoVenda'].ChildNodes['quantidadeMedicamento'].NodeValue:= dm.IBDetVendaQUANTIDADE.Text; //'1'; // A quantidade vendida (3) do produto de número de registro (1.0100.0043.021-5 - LEXOTAN) do lote (RGJ0400) é maior que a quantidade em estoque. Para obter informações sobre essa mensagem de erro visite o endereço http://www.anvisa.gov.br/hotsite/sngpc/mensagens_de_validacao.htm. ChildNodes['dataVendaMedicamento'].NodeValue := copy(dm.IBDetVendaDATA.Text, 7, 4) + '-' + copy(dm.IBDetVendaDATA.Text, 4, 2) + '-' + copy(dm.IBDetVendaDATA.Text, 1, 2); //'2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data da venda (2010-03-03 00:00:00) não pode ser maior que a data do final do periodo informado. end; dm.IBDetVenda.Next; end; end; // Loop das [Transferencias] :: MEDICAMENTO for i:=1 to x do begin NData:=NMedicamento.AddChild('saidaMedicamentoTransferencia'); with NData do begin ChildNodes['notaFiscalTransferenciaMedicamento'].ChildNodes['numeroNotaFiscal'].NodeValue:= IntToStr(i); ChildNodes['notaFiscalTransferenciaMedicamento'].ChildNodes['tipoOperacaoNotaFiscal'].NodeValue:= '2'; ChildNodes['notaFiscalTransferenciaMedicamento'].ChildNodes['dataNotaFiscal'].NodeValue:= '2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data da nota fiscal (2010-03-03 00:00:00) não pode ser maior que a data do final do período informado ChildNodes['notaFiscalTransferenciaMedicamento'].ChildNodes['cnpjOrigem'].NodeValue:= '09616205000170'; //**** não pode haver a transferência entre estas duas empresas.**** O CNPJ da empresa de origem (99.999.999/0001-99) não existe na base de dados da ANVISA. ChildNodes['notaFiscalTransferenciaMedicamento'].ChildNodes['cnpjDestino'].NodeValue:= '02326764000105'; // O CNPJ da empresa de origem (02.326.764/0001-05) não existe na base de dados da ANVISA. ChildNodes['medicamentoTransferencia'].ChildNodes['registroMSMedicamento'].NodeValue:= '1029802250061'; // AMYTRIL ChildNodes['medicamentoTransferencia'].ChildNodes['numeroLoteMedicamento'].NodeValue:= '09021207'; // O lote (153353) do produto de número de registro (1.0583.0259.002-9 - HIPOFAGIN S) não foi encontrado nem no inventário inicial nem nas transações de compras informadas. ChildNodes['medicamentoTransferencia'].ChildNodes['quantidadeMedicamento'].NodeValue:= '1'; // A quantidade transferida (2) do medicamento de número de registro (1.0583.0259.002-9 - HIPOFAGIN S) é maior que a quantidade em estoque. Para obter informações sobre essa mensagem de erro visite o endereço http://www.anvisa.gov.br/hotsite/sngpc/mensagens_de_validacao.htm. ChildNodes['dataTransferenciaMedicamento'].NodeValue:='';// '2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); end; end; // [tipoOperacaoNotaFiscal] // 1 Compra // 2 Transferência // 3 Venda // Loop das [Perdas] :: MEDICAMENTO for i:=1 to x do begin NData:=NMedicamento.AddChild('saidaMedicamentoPerda'); with NData do begin // [motivoPerdaMedicamento] // 1 Furto / Roubo // 2 Avaria // 3 Vencimento // 4 Apreensão / Recolhimento pela Visa ChildNodes['motivoPerdaMedicamento'].NodeValue:='3'; ChildNodes['medicamentoPerda'].ChildNodes['registroMSMedicamento'].NodeValue:='1071402340048'; ChildNodes['medicamentoPerda'].ChildNodes['numeroLoteMedicamento'].NodeValue:='A0540'; ChildNodes['medicamentoPerda'].ChildNodes['quantidadeMedicamento'].NodeValue:='1'; // A quantidade perdida (2) do produto de número de registro (1.0100.0075.006-1 - ROHYPNOL) é maior que a quantidade em estoque. Para obter informações sobre essa mensagem de erro visite o endereço http://www.anvisa.gov.br/hotsite/sngpc/mensagens_de_validacao.htm. ChildNodes['dataPerdaMedicamento'].NodeValue := '2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data da perda (2010-03-03 00:00:00) não pode ser maior que a data do final do período informado. end; end; // ************************************************************************* // ********************************* INSUMO ******************************** NMedicamento:=NCorpo.AddChild('insumos'); // Loop das [Entradas] :: INSUMO //Busca todas as entradas no período dm.IBDetEntrada.close; dm.IBDetEntrada.SelectSQL.Clear; dm.IBDetEntrada.SelectSQL.Add('SELECT * FROM DETENTRADA'); dm.IBDetEntrada.SelectSQL.ADD('WHERE DATA BETWEEN ' + QuotedStr(dti) + ' and ' + QuotedStr(dtf) + ' AND TIPOMATERIALFARMACIA = ' + QuotedStr('INSUMO') + ' AND REGISTROMSMANVISA IS NOT NULL'); dm.IBDetEntrada.open; dm.IBDetEntrada.First; While not dm.IBDetEntrada.eof do begin NData:=NMedicamento.AddChild('entradaInsumos'); with NData do begin ChildNodes['notaFiscalEntradaInsumo'].ChildNodes['numeroNotaFiscal'].NodeValue:= IntToStr(i); // [tipoOperacaoNotaFiscal] // 1 Compra // 2 Transferência // 3 Venda ChildNodes['notaFiscalEntradaInsumo'].ChildNodes['tipoOperacaoNotaFiscal'].NodeValue:= '1'; ChildNodes['notaFiscalEntradaInsumo'].ChildNodes['dataNotaFiscal'].NodeValue:= copy(dm.IBDetEntradaDATA.Text, 7, 4) + '-' + copy(dm.IBDetEntradaDATA.Text, 4, 2) + '-' + copy(dm.IBDetEntradaDATA.Text, 1, 2); //'2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data da nota fiscal (2010-03-03 00:00:00) não pode ser maior que a data do final do período informado. ChildNodes['notaFiscalEntradaInsumo'].ChildNodes['cnpjOrigem'].NodeValue:= dm.IBUsuarioCPFCNPJ.text; //'09616205000170'; // O CNPJ do fornecedor (99.999.999/0001-99) não pode ser igual ao CNPJ de destino. ChildNodes['notaFiscalEntradaInsumo'].ChildNodes['cnpjDestino'].NodeValue:= dm.IBFornecedorCPFCNPJ.Text; //'02326764000105'; // O CNPJ DO fornecedor (99.999.999/0001-99) não existe na base de dados da ANVISA. ChildNodes['substanciaInsumoEntrada'].ChildNodes['insumoEntrada'].ChildNodes['codigoInsumo'].NodeValue:= dm.IBDetEntradaCODPRODUTO.text; //'00075'; ChildNodes['substanciaInsumoEntrada'].ChildNodes['insumoEntrada'].ChildNodes['numeroLoteInsumo'].NodeValue:= dm.IBDetEntradaNLOTE.text; //'788cpf'; ChildNodes['substanciaInsumoEntrada'].ChildNodes['insumoEntrada'].ChildNodes['insumoCNPJFornecedor'].NodeValue:= dm.IBFornecedorCPFCNPJ.Text; //'02326764000105'; ChildNodes['substanciaInsumoEntrada'].ChildNodes['quantidadeInsumoEntrada'].NodeValue:= dm.IBDetEntradaQUANTIDADE.text; //'40000.0'; ChildNodes['substanciaInsumoEntrada'].ChildNodes['tipoUnidadeEntrada'].NodeValue:= '1'; ChildNodes['dataRecebimentoInsumo'].NodeValue:= copy(dm.IBDetEntradaDATA.Text, 7, 4) + '-' + copy(dm.IBDetEntradaDATA.Text, 4, 2) + '-' + copy(dm.IBDetEntradaDATA.Text, 1, 2); //'2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data de recebimento do insumo (2010-03-03 00:00:00) não pode ser maior que a data do final do período informado (2010-02-18 00:00:00) end; dm.IBDetEntrada.Next; end; // Loop das [Saidas] :: INSUMO //Busca todas as entradas no período dm.IBDetVenda.close; dm.IBDetVenda.SelectSQL.Clear; dm.IBDetVenda.SelectSQL.Add('SELECT * FROM DETVENDA'); dm.IBDetVenda.SelectSQL.ADD('WHERE DATA BETWEEN ' + QuotedStr(dti) + ' and ' + QuotedStr(dtf) + ' AND TIPOMATERIALFARMACIA = ' + QuotedStr('INSUMO') + ' AND REGISTROMSMANVISA IS NOT NULL'); dm.IBDetVenda.open; DM.IBDETVENDA.First; While not dm.ibdetvenda.Eof do begin NData:=NMedicamento.AddChild('saidaInsumoVendaAoConsumidor'); with NData do begin // [tipoReceituarioInsumo] // 1 Receita de Controle Especial em 2 vias (Receita Branca) // 2 Notificação de Receita B (Notificação Azul) // 3 Notificação de Receita Especial (Notificação Branca) // 4 Notificação de Receita A (Notificação Amarela) ChildNodes['tipoReceituarioInsumo'].NodeValue:= '2'; ChildNodes['numeroNotificacaoInsumo'].NodeValue:= dm.IBDetVendaCODPRODUTO.text; //'9897651'; ChildNodes['dataPrescricaoInsumo'].NodeValue:= copy(dm.IBDetVendaDATA.Text, 7, 4) + '-' + copy(dm.IBDetVendaDATA.Text, 4, 2) + '-' + copy(dm.IBDetVendaDATA.Text, 1, 2); //'2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data da prescricão (2010-03-03) não pode ser maior que a data do final do período informado. ChildNodes['prescritorInsumo'].ChildNodes['nomePrescritor'].NodeValue:= dm.IBVendaMEDICO.text; //'Dr. Antenor'; ChildNodes['prescritorInsumo'].ChildNodes['numeroRegistroProfissional'].NodeValue:= dm.IBVendaREGISTROMEDICO.text; //'8888'; // [conselhoProfissional] // CRM Conselho Regional de Medicina // CRMV Conselho Regional de Medicina Veterinária // CRO Conselho Regional de Odontologia ChildNodes['prescritorInsumo'].ChildNodes['conselhoProfissional'].NodeValue:= dm.IBVendaCONSELHOMEDICO.text; //'CRM'; ChildNodes['prescritorInsumo'].ChildNodes['UFConselho'].NodeValue:= dm.IBVendaUFCONSELHOMEDICO.text; //'PR'; // A sigla da UF da notificação de receita azul não coincide com a sigla da UF do profissional prescritor. ChildNodes['usoInsumo'].NodeValue:= '1'; ChildNodes['compradorInsumo'].ChildNodes['nomeComprador'].NodeValue:= dm.IBVendaCLIENTE.text; //'Manuela Danta'; // [tipoDocumento] // 1 CARTEIRA DE REGISTRO PROFISSIONAL // 2 CARTEIRA DE IDENTIDADE . . . existem mais ChildNodes['compradorInsumo'].ChildNodes['tipoDocumento'].NodeValue:= '2'; ChildNodes['compradorInsumo'].ChildNodes['numeroDocumento'].NodeValue:= dm.IBClientesRGINSC.Text; //'89786453'; ChildNodes['compradorInsumo'].ChildNodes['orgaoExpedidor'].NodeValue:= dm.IBClientesEMISSOR.Text; //'SSP'; ChildNodes['compradorInsumo'].ChildNodes['UFEmissaoDocumento'].NodeValue:= dm.IBClientesUFEMISSOR.Text; //'PR'; ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['insumoVendaAoConsumidor'].NodeValue:= ''; ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['insumoVendaAoConsumidor'].ChildNodes['codigoInsumo'].NodeValue:= dm.IBDetVendaCODPRODUTO.text; //'02904'; ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['insumoVendaAoConsumidor'].ChildNodes['numeroLoteInsumo'].NodeValue:= dm.IBDetVendaNLOTE.text; //'123dzp'; ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['insumoVendaAoConsumidor'].ChildNodes['insumoCNPJFornecedor'].NodeValue:= dm.IBFornecedorCPFCNPJ.text; //'02326764000105'; // O CNPJ do fornecedor (99.999.999/0001-99) não existe na base de dados da ANVISA. ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['quantidadeDeInsumoPorUnidadeFarmacotecnica'].NodeValue:= dm.IBDetVendaQUANTIDADE.text; //'5.0'; // A quantidade vendida (300) do insumo de número DCB (02904 - diazepam) do lote (123dzp) é maior que a quantidade em estoque. Para obter informações sobre essa mensagem de erro visite o endereço http://www.anvisa.gov.br/hotsite/sngpc/mensagens_de_validacao.htm. // [unidadeDeMedidaDoInsumo] // 1 Miligrama // 2 Mililitro // 3 Unidade (U) ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['unidadeDeMedidaDoInsumo'].NodeValue:= '1'; // [unidadeFarmacotecnica] // 1 Miligrama // 2 Cápsula // 3 Comprimido // 4 Mililitro ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['unidadeFarmacotecnica'].NodeValue:= '2'; ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['quantidadeDeUnidadesFarmacotecnicas'].NodeValue:= '60.0'; ChildNodes['dataVendaInsumo'].NodeValue:= '2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data da venda (2010-03-03 00:00:00) não pode ser maior que a data do final do período informado. end; dm.ibdetvenda.Next; end; // Loop das [Transferencias] :: INSUMO for i:=1 to x do begin NData:=NMedicamento.AddChild('saidaInsumoTransferenci'); with NData do begin ChildNodes['notaFiscalTransferenciaInsum'].ChildNodes['numeroNotaFiscal'].NodeValue:= IntToStr(i); // [tipoOperacaoNotaFiscal] // 1 Compra // 2 Transferência // 3 Venda ChildNodes['notaFiscalTransferenciaInsumo'].ChildNodes['tipoOperacaoNotaFiscal'].NodeValue:= '2'; ChildNodes['notaFiscalTransferenciaInsumo'].ChildNodes['dataNotaFiscal'].NodeValue:= '2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data da nota fiscal (2010-03-03 00:00:00) não pode ser maior que a data do final do período informado. ChildNodes['notaFiscalTransferenciaInsumo'].ChildNodes['cnpjOrigem'].NodeValue:= '09616205000170'; // O CNPJ do estabelecimento de origem (99.999.999/0001-99) não existe na base DO Corporativo da ANVISA. ChildNodes['notaFiscalTransferenciaInsumo'].ChildNodes['cnpjDestino'].NodeValue:= '02326764000105'; // O CNPJ do estabelecimento de destino (99.999.999/0001-99) não existe na base de dados da ANVISA. ChildNodes['substanciaInsumoTransferencia'].ChildNodes['insumoTransferencia'].ChildNodes['codigoInsumo'].NodeValue:= '02904'; ChildNodes['substanciaInsumoTransferencia'].ChildNodes['insumoTransferencia'].ChildNodes['numeroLoteInsumo'].NodeValue:= '15353'; ChildNodes['substanciaInsumoTransferencia'].ChildNodes['insumoTransferencia'].ChildNodes['insumoCNPJFornecedor'].NodeValue:= '02326764000105'; ChildNodes['substanciaInsumoTransferencia'].ChildNodes['quantidadeInsumoTransferencia'].NodeValue:= '20000.0'; // A quantidade transferida (20000) do insumo de número DCB (02904 - diazepam) é maior que a quantidade em estoque. Para obter informações sobre essa mensagem de erro visite o endereço http://www.anvisa.gov.br/hotsite/sngpc/mensagens_de_validacao.htm. ChildNodes['substanciaInsumoTransferencia'].ChildNodes['tipoUnidadeTransferencia'].NodeValue:= '1'; ChildNodes['dataTransferenciaInsumo'].NodeValue := '2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); end; end; // Loop das [Perdas] :: INSUMO for i:=1 to x do begin NData:=NMedicamento.AddChild('saidaInsumoPerda'); with NData do begin // [motivoPerdaInsumo] // 1 Furto / Roubo // 2 Avaria // 3 Vencimento // 4 Apreensão / Recolhimento pela Visa ChildNodes['motivoPerdaInsumo'].NodeValue:= '2'; ChildNodes['substanciaInsumoPerda'].ChildNodes['insumoPerda'].ChildNodes['codigoInsumo'].NodeValue:= '02904'; ChildNodes['substanciaInsumoPerda'].ChildNodes['insumoPerda'].ChildNodes['numeroLoteInsumo'].NodeValue:= '786dpz'; ChildNodes['substanciaInsumoPerda'].ChildNodes['insumoPerda'].ChildNodes['insumoCNPJFornecedor'].NodeValue:= '99999999000199'; // O CNPJ do fornecedor (99.999.999/0001-99) não foi encontrado na base de dados da ANVISA. ChildNodes['substanciaInsumoPerda'].ChildNodes['quantidadeInsumoPerda'].NodeValue:= '12345.0'; // A quantidade perdida (12345) do insumo de número DCB (02904 - diazepam) é maior que a quantidade em estoque. Para obter informações sobre essa mensagem de erro visite o endereço http://www.anvisa.gov.br/hotsite/sngpc/mensagens_de_validacao.htm. ChildNodes['substanciaInsumoPerda'].ChildNodes['tipoUnidadePerda'].NodeValue:= '1'; ChildNodes['dataPerdaInsumo'].NodeValue:= '2010-02-18'; // FormatDateTime('yyyy-mm-dd',Date); // A data da perda (2010-03-03) não pode ser maior que a data do final do período informado. ChildNodes['cnpjFornecedorInsumo'].NodeValue:='02326764000105'; // O CNPJ do fornecedor (99.999.999/0001-99) não foi encontrado na base de dados da ANVISA. end; end; // ************************************************************************* //SaveToFile(ExtractFileDir(Application.ExeName)+'\SNGPC\Sngpc_'+FormatDateTime('dd_mm_yyyy',Date)+'.xml'); SaveToFile(ExtractFileDir(Application.ExeName)+'\SNGPC\Sngpc_' + eddataemissaoSalvar.text + '_a_' + eddatasaidaSalvar.text + '.xml'); end; XMLDoc.Active:=False; XMLDoc.Free; end;
  16. Eu possuo uma rotina de SNGPC que faz assa comunicação, posso disponibilizar ela pra vocês
  17. Possivelmente você está deixando alguma transação aberta e por isso não consegue efetuar o update.
  18. Aqui em PE cupons acima de 1.000,00 era preciso colocar o CPF ou CNPJ do comprador, na Paraíba esse valor é de 500,00 se não me engano, mas agora PE mudou esse valor, só coloquei o post pois minha aplicação tem como parâmetro esse valor, assim já avisa ao usuário que precisa informar os dados do cliente acima de X valor, caso alguém não tenha pego essa informação, deixei aqui registrado
  19. Bom dia pessoal, aqui em PE a NFCe que antes era até 1.000,00 sem identificação, agora está passando com valor até 5.000,00, caso alguém tenha essa trava no sistema, pode alterar essa quantidade.
  20. Boa tarde, peço desculpas pela demora em concluir esse post, resolvido Juliomar, eu removi a unit completa do formulário de Fornecedores e importei de uma outra fazendo apenas os ajustes do componente, resolvido ! Fico grato mais uma vez !
  21. Quando clico em novo, aciono os comandos DM.UFornecedor.close; DM.UFornecedor.SQL.Clear; DM.UFornecedor.SQL.Add('SELECT codigo, dtcadastro, nomerazao, fantasia, tipo, cpfcnpj, rginsc, '); DM.UFornecedor.SQL.Add('endereco, numero, complemento, bairro, cidade, uf, cep, codmunicipio, email, '); DM.UFornecedor.SQL.Add('site, fone, fone2, contato, fonecontato, celularcontato, emailcontato, '); DM.UFornecedor.SQL.Add('ramoatividade, bloqueado, dtalteracao, usuario, dtcontato, motivocontato,'); DM.UFornecedor.SQL.Add('usuariocontato, tempocadastro, codusuario, obs FROM fornecedor'); DM.UFornecedor.SQL.ADD('WHERE codigo = -1'); DM.UFornecedor.open; DM.UFornecedor.Append; e direciono o foco para o DBEdit, mas ele não deixa nada ser digitado, e quando salvo na tabela ele salva com um registro vazio, como se estivesse funcionando normal o comando de novo e de salvar.
  22. Já sim, fiz a exclusão e criei outra, adicionei os comandos e mesmo assim continua dando o mesmo bloqueio, estou tentando saber o que é pois como é numa tabela específica fica mais complicado de achar onde está o problema.
  23. Boa tarde pessoal, estou tendo uma situação curiosa no delphi 2010 usando o componente Unidac e Mysql, apenas uma tabela do meu banco (fornecedor) eu vejo os dados usando o MySQL Workbench, mas quando tento incluir um novo registro nessa tabela o dbedit não permite digitar nada, mesmo o DBGrid não consigo exibir os dados. Alguém já passou por esse problema? Lembrando que é apenas nessa tabela, mas demais estão normais!
  24. Bom dia pessoal, tenho um banco de dados Firebird hospedado no servidor em Linux na web, pela máquina usando o windows eu tenho acesso e trabalho normal com ele, mas quando tento acessar o banco via app, aparece uma mensagem de erro : 'failed to locate host machine. Undefined services gds_db/ tcp', estou usando o componente UniConnection. Alguém já passou ou tem algo que possa ajudar?
×
×
  • 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...