Discussão sobre outras linguagens de programação.
01 Mar 2010 09:03
Mocada , alguem tem alguma dica de como posso agilizar a venda com cupom de forma a ficar + rapido.
Hj faco da seguinte maneira:
append
insiro dados na tabela (que ira mostrar no dbgrid)
post
mando pra ecf
So que no mercado to achando lento,dependendo do caixa, perco itens na impressao, pq é passado muito rapido.
Eu acho que isso se da apenas no abrir cupom, que o povo fica passando venda, pq apos aberto o cupom vai normal.
Obrigado por qqer dica.
01 Mar 2010 11:16
Amiguinho,
Quando desenvolvi meu primeiro programa para supermercado, lembro de usar Clipper, FGLib e comunicação via Bemafi.exe também tive este problema.
Geralmente estava na lentidão entre passar o item e imprimir no cupom, concomitancia, se não me engano fiz alguma alteração, na época o termo TypeAhead tinha alguma coisa a ver.
Acho até que voce poderá melhorar a recepção dos dados pela impressora através de algum comando dela que permita recebe-los com maior velocidade.
Talvez o ideal fosse:
- ao passar os itens, jogá-los num arquivo temporário e no final descarregar na impressora e juntá-los ao database.
- ou, usar um arquivo temporário, sempre esvaziado, para cada novo cupom.
- desligar rotinas de movimentação do estoque durante a passagem do item.
- ou, usar matrizes para o armazenamento e depois descarregue tudo movimentando o estoque.
- ou deixar aberto um novo cupom sempre após finalizar o ultimo, ultimo recurso(Eleven Hour).
A lentidão pode ser causada pelo simples fato de voce estar usando o arquivo de itens diretamente e a filtragem inicial esteja causando a demora de abertura.
Lembro me também que na época passei a usar a SUBNTX para filtrar e deixei de usar o arquivo temporário externo, mas no seu caso voce deve reduzir as verificaçõesde abertura e impressão deixando-os mais clean(limpo) possivel..
01 Mar 2010 12:23
Obrigado pelas dica Rochinha, vou comecar a desabilitar o esquema de baixa Estoque apos passar o item.
valeu
01 Mar 2010 13:46
Mas o que vc acha + rapido , usar tabela temporatia(clientdataset) ou matriz ?
Hj uso tabela tmp.
01 Mar 2010 13:51
Caso use Matriz, como se declara uma matriz para armazena
posicao,qtde,codproduto ?
01 Mar 2010 21:57
Amiguinho,
Faça assim:
- Código:
...
FUNCAO PDV()
LOCAL aCupomItens
...
do while .not. eof()
// Verifica o leitor de codigo de barras
...
// Seleciona estoque e pega dados do item
...
// Adiciona itens na matriz
AADD( aCupomItens, { nCodigo, cDescricao, nQuantidade, nValor, nSubTotal }
...
// Imprime item no cupom
enddo
// Repassa os itens no estoque
for i = 1 to len( aCupomItens )
// Adiciona no arquivo de itens principal
dbSelectArea( itens )
dbAppend()
replace itens->CODIGO with aCupomItens[ i ][ 1 ] // nCodigo
replace itens->DESCRICAO with aCupomItens[ i ][ 2 ] // cDescricao
replace itens->QUANTIDADE with aCupomItens[ i ][ 3 ] // nQuantidade
replace itens->VALOR with aCupomItens[ i ][ 4 ] // nValor
replace itens->SUBTOTAL with aCupomItens[ i ][ 5 ] // nSubTotal
// Repassa o estoque
dbSelectArea( estoque )
dbSeek( aCupomItens[ i ][ 1 ] )
if found()
dbRLock()
replace estoque->QUANTIDADE with estoque->QUANTIDADE - aCupomItens[ i ][ 3 ]
endif
next
01 Mar 2010 22:15
obrigado pela atencao rochina, mas é em Delphi.
valeu
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.