Opinião sobre melhor forma de se baixar uma venda
Olá amigos, estou com dúvida sobre a melhor forma de baixar os estoques durante uma venda, é melhor a cada produto lançado ou no final? Se for a cada produto, é necessário abrir uma transação?
Um outra dúvida, criei algumas funções que serão utilizadas em vários programas, é melhor transformar essa unit em uma dll?
Um abraço a todos.
Mario
Um outra dúvida, criei algumas funções que serão utilizadas em vários programas, é melhor transformar essa unit em uma dll?
Um abraço a todos.
Mario
Aldus
Curtidas 0
Respostas
Oberdan
19/09/2004
Se você optar por baixar produto a produto vai distribuir melhor seu tempo de processamento no servidor poi este irá processar menos informação de cada vez, e isso pode até vir a agilizar um pouco a operação. Sem dúvida que você terá que trabalhar com transação, pois se a venda for cancelada no meio do lançamento basta desfazer a transação para anular as baixas que foram realizadas até o momento.
Porém como proceder depende muito da forma como está sendo feito seu código, e a melhor maneira é a que gerar um código mais enchuto.
Oberdan. :!:
Porém como proceder depende muito da forma como está sendo feito seu código, e a melhor maneira é a que gerar um código mais enchuto.
Oberdan. :!:
GOSTEI 0
Aldus
19/09/2004
Olá Oderban, da forma que você me esplanou, eu poderia ao clicar sobre o botão nova venda, por exemplo, abrir a transação e ao encerrar a venda gravo tudo e fecho a transação. Há um limite de operações para cada transação? Tipo em um supermercado uma compra pode ter muitos itens. Em cada caixa, quando é chamada uma nova transação, ela assume uma sequência por solicitação? Ou devo colocar alguma instrução para isso pois hoje uso assim:
A identificação trs.TransactionID := 1 deve ser alterada no código?
Um abraço
Mario
trs.TransactionID := 1; trs.IsolationLevel := xilReadCommitted; DM.Conexao.StartTransaction(trs); DM.SQLDataSet_Bairros.Close ; DM.SQLDataSet_Bairros.CommandText := ´INSERT INTO bairros (codbai,nombai) values (:vcodbai,:vnombai)´; vvcodbai := StrToInt(cCodBai.Text); DM.SQLDataSet_Bairros.ParamByName(´vcodbai´).AsInteger := vvcodbai; DM.SQLDataSet_Bairros.ParamByName(´vnombai´).AsString := cNomBai.Text ; DM.SQLDataSet_Bairros.ExecSQL; DM.Conexao.Commit(trs);
A identificação trs.TransactionID := 1 deve ser alterada no código?
Um abraço
Mario
GOSTEI 0