Ir para conteúdo
Fórum Script Brasil

DiabloX3

Membros
  • Total de itens

    143
  • Registro em

  • Última visita

Tudo que DiabloX3 postou

  1. problema resolvido. Obrigado
  2. Bom dia estou revivendo o tópico pois surgiu uma nova duvida em relação a essa mesma programação Tenho a necessidade de usar o mesmo código proposto pelo amigo Jhonas só que com MultiSelect nas grids que não tenho essa procedure zebrada, segurando ctrl + clique com mouse eu consigo selecionar apenas as linhas que eu quero, mas com esses comandos ele apenas deixa um pontinho na borda na grid. Queria saber se tem como deixar zebrado e ainda fazer a mesma coisa como se não tivesse zebrada. abraços
  3. Pelo que entendi, daria certo sim no select que você verifica o login e senha você puxa apenas esses dois campos do BD? poderia aproveita-lo e trazer mais informações no select (como essa que está querendo) mantendo a mesma cláusula. Quando o form é ativo você verifica o FieldByName da Query, o sim ou não, e daí executa um determinado comando abraço
  4. humm farei os testes então. Obrigado
  5. Mas não tem uma solução? Em uma próxima empresa que implantaremos o sistema, o cara vai mandar 300 pedidos de uma só vez. E se acontecer o mesmo? Provavelmente outras pessoas já passaram por esse problema, será que ninguém deu um jeitinho? Abraço
  6. Olá amigo veja se estes links podem lhe ajudar http://scriptbrasil.com.br/forum/index.php...2&hl=logoff http://scriptbrasil.com.br/forum/index.php...9&hl=logoff abraço
  7. Tentei utilizar o pesquisar do site mas me parece que ele não está aceitando palavras compostas, sempre retorna erro, então ficou meio complicado achar meu tópico, no máximo achei esse aqui relacionado mas que não dá a lugar algum Link Meu problema é com a impressão do relatório no fortes report. Já tirei algumas dúvidas dele por aqui, mas testando em impressões uma atrás da outra reparei isso Até a 4ª página de impressão os textos saem na folha certinho, o problema começa daí pra frente. Na verdade, desde a primeira para a segunda página, a impressão sobe cerca de 0,3cm por página, por isso chega na 5ª e o cabeçalho já está saindo na página de cima. Configurei o papel da matricial no PageSetup para fpCustom de 210x280mm que é exatamente o tamanho do papel (obs: devo medir com a bordinha que vai ser destacada ou apenas a área aproveitável da folha?) De qualquer forma a width não influencia, o problema é na height. O que eu posso fazer pra acabar com o problema? Abraço
  8. Galerinha.. instaleim o AVG Pro 8.5 aqui no note só que notei que a função Proteção Residente fica como Inativo e o ícone do AVG na bandeija com um sinal de exclamação amarelo. já tentei de tudo, ate baixar um arquivo .bat do site do AVG pra resetar umas configurações mas não resolveu. Tem como solucionar isso? No meu micro Desktop isso não acontece, só aqui. Aproveitando a barca, só uma dúvida curiosa: deixei meu note ligado por um tempo e quando voltei estava com 2% de bateria. Tem algum problema nisso? Claro que imediatamente coloquei os cabo de força, mas será que prejudicou a bateria deixá-la esgotar tanto assim? abraços
  9. Consegui resolver.. não estava passando o parametro mesmo. Agora só falta um detalhe Do jeito que estou fazendo se eu tivber 50 pedidos eu tenho que clicar 50x no OK da impressao. Será que não teria alguma forma de mandar imprimir tudo na impressora padrão ao invés de ficar selecionando 1 a 1? É que não entendi como seria a ideia do Group; se tivesse algum jeito de ir na padrão acho que seria mais facil . Estou pesquisando aqui mas ainda não encontrei nada EDIT: Resolvido. Era só mecher na opção PrintDialog e deixar False :P
  10. Não entendi a necessidade do Group. De qualquer forma não estou conseguindo carregar o relatorio (preview) ou imprimi-lo (print) qryImpVenda.First; while not qryImpVenda.Eof do begin qryImpItens.Close; qryImpItens.ParamByName('P_VEN_COD_PEDIDO').AsString := qryImpVenda.FieldByName('VEN_COD_PEDIDO').AsString; qryImpItens.Prepare; qryImpItens.Open; frmRelPedidos.frRelPedidos.Prepare; frmRelPedidos.frRelPedidos.Preview(); qryImpVenda.Next; Esse é meu botao imprimir. Eu vejo quantos registros tenho em Vendas e a cada um deles eu passo o parametro do Cod. da Venda. Assim eu tenho um formulario com campos que ligados ao DataSource dsImpItens que está ligado a query qryImpItens faz as referencias dos itens listados. O problema é que quando coloco esse laço while e clico em imprimir aparece Carregando relatorio e todas as barrinhas do loading ficam preenchidas (100%) mas não mostra o relatorio na tela e no Print ele deixa eu escolher a impressora mas quando clico em OK ele fica nessa mesma tela e não imprimi. Testei o mesmo comando só que sem o laço de repetição e deu o Preview certinho. Há algum problema com esse laço? Preciso que ele funcione seguindo essa lógica. Só não posso que, na hora dop print, em 30 pedidos a serem impressos, ele me mande selecionar 30x a impressora Essa é a qryImpItens que necessita do parametro cód da venda pra ligar Venda a Item SELECT P.PRO_CODIGO, P.PRO_DESCRICAO, I.ITE_QTD, I.ITE_VALOR_UNIT, SUM(I.ITE_QTD * I.ITE_VALOR_UNIT) AS TOTAL FROM ITENS_VENDA I, PRODUTO P, VENDAS V WHERE P.PRO_CODIGO = I.PRO_CODIGO AND V.VEN_COD_PEDIDO = I.VEN_COD_PEDIDO AND V.VEN_COD_PEDIDO = :P_VEN_COD_PEDIDO GROUP BY P.PRO_CODIGO, P.PRO_DESCRICAO, I.ITE_QTD, I.ITE_VALOR_UNIT edit: eu coloquei um ShowMessage(qryImpItens.Text); após o Open da query e mostra VEN_COD_PEDIDO = ? mas quando passo o debug, o valor do Cod da Venda é passado para o parametro sim! só que parece q não pega pra abrir. não sei se pode ser esse o problema. E agora? Abraço
  11. não é o numero de copias, é a quantidade de pedidos... vou experimentar o RecordCount da tabela nesse caso Abraço
  12. Voltando, como imaginei, surgiu o problema. Como vou mandar imprimir documentos em sequencia, por exemplo 50 pedidos de uma só vez eu dou um .Prepare e depois um .Print no relatório só que assim precsarei selecionar 50x a impressora, e dar 50 OK, ou seja, a cada impressao e eu precisaria tirar isso. É pra ser 1 OK no imprimir e mandar os 50 pedidos em sequencia. Como posso fazer isso? Abraço
  13. Ah Jhonas, eu to marcando aki.. eu já vi onde q era o problema. Mas não daria pra comparar os codigos porque são relatorios diferentes, para outra finalizade, só o básicão era igual o ruim é que perdi meio dia pra resolver isso. Só não falo pra deletar o tópico por enquanto (já q não iria ajudar a ngm com o mesmo problema) porque ainda pretendo fazer uns laços de impressao que terei que controlar e mexer com um componente extra-delphi. Se der realmente o problema voce entenderá :P Abraço
  14. Olá . Estou com um novo problema no fortes report só que um pouco estranho tenho um formulário com o RLREPORT e com os campos linkados no botao imprimir frmBaixaPed.qryImpCabecalho.Open; frmBaixaPed.qryImpVenda.Prepare; frmBaixaPed.qryImpVenda.Open; frmBaixaPed.qryImpItens.Prepare; frmBaixaPed.qryImpItens.Open; frmRelPedidos.frRelPedidos.Prepare; frmRelPedidos.frRelPedidos.Preview(); quando chega na hora de mostrar o preview (ou o print, direto) ele dá um Abstract Error e fica uma janelinha como se estivesse sendo carregado mas não carrega nada, daí tenho que finalizar pelo ctrl alt del e fechar o delphi Já tentei com prepare, sem prepare, sem close nas query, com close, de varias maneiras possiveis... E já tenho um outro relatorio no fortes feito que funciona da mesma maneira mas não tem problema nenhum. O RLReport está ligado a qryImpItens e os demais EDITs em seus respectivos campos. Também já experimentei alterar o datasource do relatorio pra qryImpVenda mas sem sucesso. Todos os dados foram captados do servidor MySql e gravados no IBExpert e a partir do banco local eu gero a impressao. Alguém sabe dizer o que pode estar acontecendo? Abraço
  15. DiabloX3

    Conexão Remota

    Consegui. Faltava liberar o acesso no MySql. No caso de possuir um ip dinâmico, a unica solução é colocar %.% nos IPs mesmo? Achei essa mas seria um tanto inseguro para as informações Abraços
  16. DiabloX3

    Conexão Remota

    Micheus, instalei o Zeoslib 6.5.1. Mandei um email pedindo as informações que necessito como o host (ip) do banco na internet juntamente com a porta (dados que me faltam para fazer a conexao. Aparentemente parece ser muito simples, gostei muito do componente. Estou aguardando essas informações para tentar conectar. Se tudo der certo (ou não) posto aqui. Quanto ao ZQuery são os mesmos comandos da IBQuery? Voce mencionou que MySql e Firebird tem algumas diferenças. Esse ZQuery vai mudar alguma coisa? edit: Bom, fiz tudo certo, mas acho que devo estar colocando usuário errado, ou o erro é outro. A mensagem que mostra é Acess denied for user xxx@189-19-xx.dsl.telesp.net.bet Eu vou verificar novamente o endereço de ip com o site pois temos varios dominios, não sei se ele me passou o IP correto. No seu código, não precisa mencionar porta nem versão mysql Micheus? Não sei se é problema mas o Zeos instalado aqui nas opções tem mysql até a versão 4.1 e eu utilizo a 5.0 begin ZDBConnectRemoto.HostName := <DB_Host>; ZDBConnectRemoto.Database := <DB_Name>; ZDBConnectRemoto.User := <DB_User_Name>; try ZDBConnectRemoto.Password := <senha aqui>; // ou solicitada antes e atribuida a propriedade ZDBConnectRemoto.Connect; except on E:Exception do begin E.Message := 'Não foi possível conectar ao banco de dados.'#10#10'Erro: '+ E.Message; end; end; end; Abraços
  17. DiabloX3

    Conexão Remota

    Humm... me pareceu que tem aqueles componentes da palheta ADO que faz esse serviço de uma forma simples, mas não deu pra testar ainda. Falaram que é so colocar o ip ou o local do banco na internet e ele já funciona, simples assim ... (?) Sobre o Zeos, terei que procura-lo então, desse não tenho a mínima noção. Sobre a estrutura, não. Já possuo o mesmo banco MySql online na forma Firebird local. Abraços
  18. DiabloX3

    Conexão Remota

    De volta aqui Agora estudando melhor, vi que não é bem consumo de webservice o meu caso. Na verdade preciso acessar um banco online e trazer as informações por meio de um select para um banco local do Delphi. O banco online é MySql e o meu em Delphi é Firebird (futuramente posso converter sem problemas), mas a ideia é essa. Pensei em proceder da seguinte forma: Criar um form que acesse esse endereço http:// , faça um select em tabelas do banco online e traga as informações para um banco local (identico ao remoto) por meio de query. Aí depois eu posso manipular esses dados capturados da forma como eu quiser. Eu só preciso conectar e puxar. Trazido para um DBGrid, por exemplo, tudo fica mais fácil. Se sim, como faço isso? Quais componentes utilizar? No portugues fica fácil, não sei se na prática tambem é No Delphi utilizo para conexao a palheta InterBase Abraços
  19. Micheus, coloquei o try pra testar lá e tirar nossa curiosidade e realmente, se clicar no Cancel aparece a mensagem "Abortou" e para tudo mesmo. Me foi bem útil para caso precise executar diferentes tipos de operação, mas no meu caso o imprimir é gerado para toda e qualquer venda (para controle dos donos, controle de relatório, enfim. Unica coisa que aconteceria quando clicasse no Cancel é não imprimir e limpar tudo o resto deixando pronto para nova venda, que é o que já estou fazendo só que utilizando da sua ultima sugestão (não sei como não pensei nisso antes ahaha) só que agora eu coloco pra imprimir na ultima linha de preogramação. Do jeito que tinha descrito, ele parava na hora que clicava nesse Cancel e não executava o que estava abaixo. Procedimento simples que passa despercebido. Obrigado Micheus. Por enquanto estou sem problemas com esse relatório :) Abraços p.s: você responde MP? Queria perguntar algo não voltado a esse assunto.
  20. DiabloX3

    Conexão Remota

    O meu obrigado a voces... estarei estudando isso nos próximos dias ;) Abraços
  21. já consegui resolver Jhonas, mas seu link não está mais me gerando uma página acessível. Abraço
  22. hehehe ta certo então, só que eu não palpitarei sobre as explicações ai porque não tenho cacife nenhum para isso ahahha só uma outra questao Micheus, o delphi controla componente de impressao que não é do programa? Bom, na verdade não sei se é ou não, mas explico melhor: quando chamo o rel.print ele abre a tela pra escolher a impressora, nº de páginas, etc. O problema é que se eu clicar em não (não imprimir) ele fecha aquela janela só que não dá o frmFinalizaVenda.Close; o que me gera um problema nas generator do IBExpert e dá pau na venda. Ele só aceita se realmente eu mandar imprimir. Tem como fazer uma condição pra clicar nesse não da janela de impressao? Abraço
  23. A questão agora era fazer 3 vendas por exemplo e a cada finalização mandar imprimir essa venda feita direto sem passar pelo preview. Exato, o codigo aí prepara os dados pra impressao que é atualizada nos TRDBText do frRelUm (e alguns captions - eu peguei quase pronto o rel, nomes de campos e tipos de campos eu nem mexi). Quanto ao qrItemVenda, ele é posicionado no começo toda vez que finaliza a venda. Quando vai realizar a venda no frmCaixa ele já está pronto. bom Micheus, mexendo aqui e ali, adicionei um simples comando no fim do relatório que resolveu meu problema. No entando estou testando em uma impressora jato de tinta, quando for atualizar na loja, lá é matricial, mas acredito que não vai ter problema nenhum, só voltar a configurar o TRLDraftPrint. Fiz o seguinte frmRelVendas1.frRelUm.Prepare; frmRelVendas1.frRelUm.Print; frmFinalizaVenda.Close; Adicionei o prepare. Agora ele está imprimindo a venda atual a cada vez que finalizado e não mantendo sempre a primeira. Não sei se foi a solução correta, quiça aparenta fixed :) Qualquer comentário é bem vindo p.s: aproveitando.. voce acha interessante usar esse prepare antes de abrir qualquer query? não sei se esse Prepare apenas "prepara" como o nome sugere ou se é importante mesmo utiliza-lo toda vez ... Abraços
  24. Bom, não estou mandando repetir a impressao. Tentei fazer alguma coisa no AfterPrint pra que seja zerado a SQLs e deixa-las prontas para impressao novamente, mas não obtive sucesso Parte do código que envio para a impressora. Está dentro do botao quer finaliza a venda mensagem:= 'Venda realizada com sucesso!'; Application.MessageBox(Pchar(mensagem), 'Informação', MB_OK+MB_ICONINFORMATION); subTotalPrint := 0; frmCaixa.qryImprimirVenda.Close; frmCaixa.qryImprimirVenda.SQL.Clear; frmCaixa.qryImprimirVenda.SQL.Add('SELECT V.VEN_DESCONTO, V.VEN_ARREDONDA, V.VEN_DATA, V.VEN_COMPRADOR, V.VEN_TOTAL, V.VEN_COD_PEDIDO, V.VEN_ORC, C.CLI_NOME, C.CLI_RG, C.CLI_CIDADE, C.CLI_UF, C.CLI_CODIGO, C.CLI_TELEFONE, C.CLI_ENDERECO, C.CLI_CNPJ_CPF, U.VE_NOME, E.EST_DESCRICAO, '+' V.VEN_TIPO_VENDA, CP.PAR_DESCRICAO, CP.PAR_NUM FROM VENDAS V, CLIENTES C, VENDEDOR U, ESTADO_PEDIDO E, CONDICAO_PAGTO CP WHERE C.CLI_CODIGO = V.CLI_CODIGO AND E.EST_CODIGO = V.EST_CODIGO AND V.VE_CODIGO = U.VE_CODIGO '+' AND CP.PAR_CP_CODIGO = V.PAR_CP_CODIGO AND VEN_COD_PEDIDO = :P_VEN_COD_PEDIDO'); frmCaixa.qryImprimirVenda.ParamByName('P_VEN_COD_PEDIDO').AsString := frmCaixa.lblCodVenda.Caption; frmCaixa.qryImprimirVenda.Open; frmCaixa.qryRelCabecalho.Open; frmCaixa.qrItemVenda.Open; frmCaixa.qrItemVenda.First; While Not frmCaixa.qrItemVenda.Eof do begin if frmCaixa.qryImprimirVenda.FieldByName('VEN_TIPO_VENDA').AsString = 'P' then subTotalPrint := subTotalPrint + frmCaixa.qrItemVenda.fieldByName('TOTAL').AsFloat else subTotalPrint := subTotalPrint + frmCaixa.qrItemVenda.fieldByName('VISTA').AsFloat; frmCaixa.qrItemVenda.Next; end; frmRelVendas1.lblSubTotal.Caption:= formatfloat('0.00', subTotalPrint); if frmCaixa.qryImprimirVenda.FieldByName('VEN_TIPO_VENDA').AsString = 'P' then begin frmRelVendas1.lblUnitario.DataField := 'ITE_VALOR_UNIT'; frmRelVendas1.lblTotal.DataField := 'TOTAL' end else begin frmRelVendas1.lblUnitario.DataField := 'ITE_VALOR_VISTA'; frmRelVendas1.lblTotal.DataField := 'VISTA'; end; frmCaixa.qryRelCondPgto.Close; frmCaixa.qryRelCondPgto.SQL.Clear; frmCaixa.qryRelCondPgto.SQL.Add('SELECT CR_VENCIMENTO, CR_VALOR_PARCELA, CR_NUM_PARCELA FROM CONTAS_RECEBER WHERE VEN_COD_PEDIDO = :P_VEN_COD_PEDIDO'); frmCaixa.qryRelCondPgto.ParamByName('P_VEN_COD_PEDIDO').AsString := frmCaixa.lblCodVenda.Caption; frmCaixa.qryRelCondPgto.Open; frmRelVendas1.frRelUm.Print;
  25. ehehe mas como voce resolveria isso no quick? talvez possa me dar alguma ideia, como falei, os componentes e comandos são semelhantes A sql da consulta da venda está correta, pois quando coloco o parametro do cod da venda ele tras os dados certinhos, é na hora do print que ele não está "atualizando" abraços
×
×
  • Criar Novo...