Ir para conteúdo
Fórum Script Brasil

flavioavilela

Membros
  • Total de itens

    375
  • Registro em

  • Última visita

Tudo que flavioavilela postou

  1. Boa noite, no meu sistema de automação comercial, preciso trabalhar com as informações localmente e tendo um servidor (tipo supermercado, onde tem um servidor e vários caixas)... no sistema é obrigatório ter esse recurso. Atualmente trabalho com XML. Ao iniciar o sistema, é carregado para a estação, os produtos e clientes... cada vez que se cadastrar um produto, atualiza-se nas estações. Só que isso está ficando muito lento com XML e estou melhorando, fazendo da seguinte forma: criei outro banco (para as estações) somente com as tabelas responsáveis por trabalhar local (produtos, clientes, venda, itens_venda etc)... e no servidor, fica o banco central. Ao gerar uma venda E se houver rede, manda os dados da venda pro servidor e limpa os dados na estação... Na inicialização do sistema, eu mando dar um Drop Table Estacao.Tabela e depois um Select Servidor.Tabela.* Into Estacao.Tabela, copiando todo o cadastro de produto para a estação. Minha dúvida é: essa é a melhor opção para sincronizar os dados do servidor para a estação??? Teria algo que poderia fazer diferente??? Desde já, obrigado a todos.
  2. Bom dia, estou utilizando delphi 2010 e preciso com que meus clientes, possam gerar pedidos (pizzaria) atraves de um monitor touch screen... minha dúvida é: basta apenas o monitor ser touch e já basta ou os componentes do sistema (botões, formulários, edit's) devem estar ligados a um componente??? Eu vi que em cada componente tem uma propriedade Touch mas não entendi pra que serve... Desde já, obrigado...
  3. certo, obrigado mais uma vez pela sua explicação... pretendo atuar no ramo de padarias, restaurantes, pizzarias e demais... posteriormente, entrar no ramo de supermercado... só não entrei ainda, pois já imaginava o quanto é burocrático esse ramo... e mais uma vez, obrigado pelas explicações... Caso Resolvido!
  4. obrigado pela atenção Jhonas em me ajudar a entender e graças a você já posso entender melhor o assunto. Estive vendo um artigo que você postou no tópico sobre as balanças eletrônicas... lá, pude ver que há maneiras de se cadastrar um código para o bolo, pão, queijo e etc... produtos vendidos a peso... logo, esse mesmo código cadastrado na balança é o mesmo cadastrado no sistema.... não é isso mesmo???
  5. entendi... mas quando o usuário opta por cadastrar as mercadorias direto na balança... quando é gerado a etiqueta, o código de cadastro do produto já estará "dentro" do código de barras gerado??? por exemplo: gerou o código 20012548745321... o 25 seria o código de cadastro... é isso???
  6. na minha opinião, Delphi e Object Pascal é igual Java e Eclipse (ou NetBeans)... Java é a linguagem, NetBeans é a IDE... Object Pascal é a linguagem, Delphi é a IDE...
  7. entendi, só que conversando com esse novo cliente, ele me disse assim: lá na balança, o produto tal está cadastrado como 53 e aqui no sistema também... ou seja, pelo que entendi, os produtos (bolos, salgados, quitandas) são cadastrados também na balança, além de já estar no sistema???
  8. Boa noite pessoal, tenho um sistema comercial e estou entrando também no ramo de supermercado, padarias e etc; e agora preciso saber mais sobre códigos de barras... já vi que o código de barras gerado pelas balanças, são uma combinação de algumas informações já cadastrada do produto. Portanto, tenho algumas perguntas e se alguém puder me ajudar, agradeço. 1) Quando o usuário do meu sistema passar o leitor de código de barras no produto, qual dos 13 caracteres do código de barras gerado, o sistema deverá pegar para encontrar o produto??? 2) Logo após encontrar, é necessário o produto ir para o cupom fiscal. Visto que alguns caracteres que compoe do código EAN13, de acordo com alguns artigos, são do código do produto cadastrado no sistema, qual deles deve ir para o cupom fiscal: o EAN13 gerado ou o original está no sistema cadastrado??? Desde já, obrigado a todos pela ajuda.
  9. boa tarde amigo, eu trato da forma em que o Jhonas lhe indicou, usando exceções... Try //trecho de codigo except // o que deve acontecer caso ocorra algum erro no trecho de código se você já faz o relacionamento no bd, quando você for excluir um registro por exemplo, ele não irá excluir caso esteja sendo usado e logo, cairá no except....
  10. certo Jhonas, mas, tipo assim... preciso fazer uma tela do meu sistema funcionar independente de estiver conectado a rede ou não... Visto isso, estou usando XML como um banco de dados local entende e a cada fim de transação, se tiver rede, manda pro servidor... Estive pensando em criar dois bancos de dados, um do servidor como já está e outro com apenas as tabelas necessárias para funcionar essa janela que preciso... ai, a cada transação, eu atualizo o banco do servidor com o banco da estação que funcionará (ou não) sem a rede, ou seja, localmente... Qual dessas duas opções será mais rápido??? Desde já, obrigado.
  11. se entendi o que precisa, você pode dar um update na tabela de produtos, setando o campo Estoque := Estoque + ou - Valor_Desejado. coloca esse código dentro de uma query. exemplo: query.close; query.clear; query.add('update Produto set Estoque = :Estoque where Pro_Codigo = :Codigo'); Parameters.ParamByName('Estoque').AsFloat:= Estoque_Atual + ou - Quantidade; Parameters.ParamByName('Codigo').AsInteger:= CODIGO DO PRODUTO DESEJADO; query.execSQL;
  12. Boa tarde. Estive muito tempo ausente do fórum, mas agora estou na ativa novamente. Quero saber a opinião de quem já usou essas três ferramentas e qual é mais rápido. Tenho em um sistema aqui uma tela que funciona independente da rede estar ligada ou não (Stand-Alone). Então, uso XML para trabalhar com o banco localmente e depois jogar para o banco físico (sql server express). A velocidade é até legal, mas aaaaaacho que poderia ser um pouquinho mais rápido. Alguém aqui já usou isso e sabe me dizer qual opção mais rápida??? Desde já, obrigado.
  13. olá, boa tarde... tenho vários softwares prontos... automação comercial, agrícola, pecuário, pizzaria entre outros... te add no MSN... caso queira saber, meu MSN é flavio@favsis.com.br... abraço
  14. bom, não conheço nada com o nome de browser gallery rsrs... o que exatamente está tentando fazer?
  15. funciona assim... independente pra qualquer tabela... você tem uma tabela chama Teste... você quer criar uma cópia da teste... ai você faz esses comandos que lhe passei de copiar tabela que ele cria a cópia da Teste para outro nome que você colocar no comando...
  16. não sei se os moderadores do forum vão gostar desse tópico aqui, pois é a respeito de banco de dados que você quer saber rsrs... mas, vai minha dica: procure na net ai pela clausula Distinct... as vezes pode solucionar seu problema... espero ter ajudado...
  17. não, você tem que ter so a origem... o destino a rotina cria sozinha...
  18. bom, acabei de fazer outro teste pelo delphi, fiz assim: var qAux: TADOQuery; begin qAux:= TADOQuery.Create(self); //estou criando a query em tempo de execução, mas, pode-se colocar igual está fazendo with qAux, sql do begin close; Connection:= dm.ADOConnection1; clear; add('select * into Teste2 from teste where 1=1'); ExecSQL; end; end; faça rigorosamente igual eu fiz, veja se da certo... eu acabei de testar, funcionou perfeitamente... faça igual, sem tirar sem por nada.... crie uma tabela chamada teste e faça igual o código acima...... depois, troca o nome das tabelas (para o nome das suas), apenas isso e veja se da certo... é pra funcionar, pois aqui funcionou perfeitamente.... outra coisa... o meu banco é sql server, o seu, pelo que vi é firebird... pode ser que a sintaxe seja diferente... tente assim: Insert into <TABELA_Destino> (<Campo1>, <Campo2>, .. , <Campon>) Select <Campo1>, <Campo2>, .., <Campon> From <Tabela_Origem> alterando o nome da tabela de origem e destino e os campos..
  19. é, pode ser uma boa idéia também.. também tenho um relatório aqui do modulo financeiro que uso ele, para unir dois relatórios... eu uso dessa forma que passei, pois é uma forma de criar o relatório em apenas um qreport e unindo vários filhos com um pai... mas beleza... que bom que resolveu seu problema...
  20. pelo que vi, tem um ; logo após o "1Menu", na linha do drop... como disse anteriormente, faça um breakpoint e veja em qual linha está o erro... ai você posta em qual linha está ou você mesmo já ve o que está de errado... acabei de fazer um teste aqui sem o ; deu tudo certo...
  21. ok, viu como o recurso do breakpoint ajuda e muito rsrsrs...??? quanto a copiar, excluir ou renomear as tabelas, eu já postei anteriormente, mas, qualquer coisa, posta ai... espero ter ajudado...
  22. tente deletar qualquer tabela só com esse comando: ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text := ( 'drop table 0MENU (ou qualquer outra que quiser... bom tentar fazer com as tres'); ADOQuery1.ExecSQL; outra coisa... eu digo pra você fazer um breakpoint, funciona assim: supondo que seja um botão que você aperta para executar esse comando... vai na janela de codificação e posiciona o cursor na primeira linha (excluindo a linha que cria a procedure, que cria variaveis e etc, a primeira linha "valida") e pressione F5... você vai ver que vai aparecer uma bolinha vermelha do lado esquerdo.......... dai, executa a aplicação... quando você clicar no botão para executar o comando desejado, o foco vai parar em cima dessa linha que você escolheu e pressinou F5... dai, você vai pressionando F8 para prosseguir com o cursor... dai, você vai saber em qual linha de comando ele vai dar o erro... dai você posta ai qual a linha que deu erro ou então já vai sacar na hora porque que está dando erro..... sacou??? espero ter ajudado... qualquer coisa, posta ai...
  23. bom, imagino que já seja uma questão de lógica esse caso... você verificou se as tabelas que não estão deletando tem algum relacionamento com outras tabelas? está sendo usada por outra ou algo parecido? experimente fazer um breakpoint, para ver realmente em qual linha está dando o erro, as vezes fica mais fácil saber onde está o erro... você pode também, a título de testes, colocar só assim: ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text := ( 'drop table 0MENU (ou qualquer outra que quiser... bom tentar fazer com as tres'); ADOQuery1.ExecSQL; sem nenhum tipo de validação, só para ver se vai dar o erro ou não... tente fazer esses dois testes ai... esse que coloquei em código e o breakpoint...
  24. seu objeto L, que é uma StringList, você cria ela no inicio... beleza... quando você passa o primeiro comando para deletar a tabela Menu, ele deleta... só que, logo após isso, você libera da memória o L, com L.Free.... e logo após, você chama o L (que já está destruído) novamente para deletar o 1Menu... experimenta colocar o L.Free no final de tudo, após deletar a última tabela.... ou após liberar com L.Free e ao criar novamente o método para deletar o 1Menu, criar o L novamente com L:= TStringList.Create; ou você pode criar um objeto StringList L1, L2, L3... enfim... um para cada tabela que deseja deletar... ai sim, você cria o L1, por exemplo, passa o comando para deletar e destroi com L1.Free. ai você cria o L2, passa o comando para deletar e destroi com L2.Free... e por ai vai... espero ter ajudado...
  25. que mensagem aparece? pode ser que esses caracteres sejam especiais para o seu bd... tente mudar o nome delas, colocando caracteres "normais"
×
×
  • Criar Novo...