SISTEMA DE VENDAS
Gente, Para tudoooo!!!...
Vcs estão debatendo sobre algo que vcs mesmo nem sabe como o cliente do cara quer !!!!!
Para isso existe as REGRAS DE NEGÓCIO, e CASOS DE USO.
Não adianta falar que tal forma está correta ou errada, que tal campo deveria ou não existir na tabela xxxxx.
Eu por exemplo tenho um cliente que necessita que na tabela de itens lançados tenha o campo DATA, isso para facilitar as coisas, pois se não, eu teria que criar uma outra tabela só para armazenar as datas em que os itens foram incluidos na dita tabela.
Isso ocorre muito tbem em lojas onde se tem ORDEM DE SERVIÇO. Ou seja HISTÓRICO DOS LANÇAMENTOS.
Vou exemplificar :
Há casos em que até o campo HORA deverá ser informado, pois em casos onde o cliente faça algum tipo de transação onde tal transação seja fechada dias após sua abertura e deve-se ter um histórico dos dos lançamentos(haja vista leilões) é de muita importância que se tenha esse controle( e é com certeza mil vezes melhor ter que controlar um campo a ter que controlar outra tabela.).
Então sejamos mais coerentes no momento de exemplificar algo para nossos amigos, pois CADA CASO é UM CASO.
o que é bom para um pode não ser bom para outro.
Vcs estão debatendo sobre algo que vcs mesmo nem sabe como o cliente do cara quer !!!!!
Para isso existe as REGRAS DE NEGÓCIO, e CASOS DE USO.
Não adianta falar que tal forma está correta ou errada, que tal campo deveria ou não existir na tabela xxxxx.
Eu por exemplo tenho um cliente que necessita que na tabela de itens lançados tenha o campo DATA, isso para facilitar as coisas, pois se não, eu teria que criar uma outra tabela só para armazenar as datas em que os itens foram incluidos na dita tabela.
Isso ocorre muito tbem em lojas onde se tem ORDEM DE SERVIÇO. Ou seja HISTÓRICO DOS LANÇAMENTOS.
Vou exemplificar :
Há casos em que até o campo HORA deverá ser informado, pois em casos onde o cliente faça algum tipo de transação onde tal transação seja fechada dias após sua abertura e deve-se ter um histórico dos dos lançamentos(haja vista leilões) é de muita importância que se tenha esse controle( e é com certeza mil vezes melhor ter que controlar um campo a ter que controlar outra tabela.).
Então sejamos mais coerentes no momento de exemplificar algo para nossos amigos, pois CADA CASO é UM CASO.
o que é bom para um pode não ser bom para outro.
Caro FOXMAN, o caso que ADILSOO passou foi genérico, o exemplo do OMAR2011 bem básico.
é em cima disso que estamos desenvolvendo argumentos.
é em cima disso que estamos desenvolvendo argumentos.
vou dar uma estudada, desenvolver um pouco e posto os resultados, nesse caso é uma coisa generica mesmo, mas é muito importante também oque o FOXMAN disse, pois depois que eu desenvolver uma logica de como montar um sistema de vendas, a hora que for montar para o uso do cliente certamente ele ira pedir algo parecido, então desde ja muito obrigado a todos..
Fala galera blz? consegui fazer algumas coisas, mas assim, eu to fazendo uma venda e vou adicionando os itens, mas e se o usuario cancelar a venda? e no caso de alteração? nesse caso eu to usando uma tabtemp e um grid, vou adicionando os itens na tabtemp e ao concluir a venda eu apago os itens e adiciono a tabitens, será que ta certo isso? eu achei meio complicado, estava pensando em ir adicionando em um listbox ou listviewer será que á possibilidades de adicionar todos os itens na tabitens depois?, desde já obrigado...
Achei esse código que adiciona bem, o problema é como adicionar cada coluna em cada campo?
Dim contador As Long
Dim retList As String
For contador = 0 To List1.ListCount - 1
retList = List1.List(contador)
[ô]--------------------------------------adiciona aqui
rsItens.AddNew
rsItens!codvenda = retList
rsItens.Update
[ô]-------------------------------------------------------
Next contador
Dim contador As Long
Dim retList As String
For contador = 0 To List1.ListCount - 1
retList = List1.List(contador)
[ô]--------------------------------------adiciona aqui
rsItens.AddNew
rsItens!codvenda = retList
rsItens.Update
[ô]-------------------------------------------------------
Next contador
Citação::
Fala galera blz? consegui fazer algumas coisas, mas assim, eu to fazendo uma venda e vou adicionando os itens, mas e se o usuario cancelar a venda? e no caso de alteração? nesse caso eu to usando uma tabtemp e um grid, vou adicionando os itens na tabtemp e ao concluir a venda eu apago os itens e adiciono a tabitens, será que ta certo isso? eu achei meio complicado, estava pensando em ir adicionando em um listbox ou listviewer será que á possibilidades de adicionar todos os itens na tabitens depois?, desde já obrigado...
A forma como você faz isso, depende do tipo de documento que será impresso: NFe ou Cupom Fiscal
No Cupom Fiscal, a lei obriga você a enviar direto pra impressora os itens que estão sendo comprados (é só observar o procedimento num supermercado), utilizando rotinas da própria impressora. Esses itens devem ser incluidos no BD a medida que vc vai inserindo no sistema. Se houver erro nos itens, é necessário cancelar o Cupom Fiscal e gerar um novo.
Se for NFe, vc inserir tudo num LISTVIEW ou MSFLEXGRID e depois salvar no BD e por fim enviar executar os procedimentos para gerar o arquivo XML e enviar para SEFAZ autorizar.
Citação:vc inserir tudo num LISTVIEW ou MSFLEXGRID e depois salvar no BD
SAMUKA, desculpa a ignorancia mas até onde eu sei no MSFLEXGRID ele pega os dados do BD certo? sendo assim os dados já deveram estar no BD para que possa ser exibido, estou certo? ou tem alguma outra forma?
e no caso do LISTVIEW é oque eu estava pensando em fazer, seria a melhor forma, mas como que seria o processo de gravar todos os itens após finalizar a venda?
Adilsoo, olha eu aqui dando pitaco também, rs...
AVISO: é só mais uma ideia referente a duvida sobre a logica da coisa, esta não será passÃvel de discussão, rsrsrs
a duvida:
[Ô]..., como ficaria o codvenda? sendo que se irá se repetir a cada iten, em uma compra com mais de um item já nao daria certo, se eu mesmo mandar gravar o codvenda repetido poderia até da certo, mas o problema ficaria trabalhando em rede...[Ô]
bom quando desenvolvi um sistema deste para um amigo cheguei a esta duvida também porém resolvi de forma simples, uni dois dados para formar um numero de registro, ex:
nr venda = 00132
itens vendidos
01 - 200 gramas de café
02 - 07 pctes de esponja
03 - 3 Kilos de Farinha
bom o codigo desta venda ficaria assim
codvenda = nr venda + item vendido
0013201 - 200 gramas de café
0013202 - 07 pctes de esponja
0013203 - 03 Kilos de Farinha
reparou que nenhum código se repetiu, quando um outro usuário da rede chamar um código bastaria vc extrair os cinco primeiros digitos do código da venda (00132) adicionar 1 (0133) e fazer a mesma coisa.
porém se não deseja ficar extraindo para cadeia de caracteres, você pode colocar um campo só com o numero da venda, ex:
0013201 - 00132 - 200 gramas de café
0013202 - 00132 - 07 pctes de esponja
0013203 - 00132 - 03 Kilos de Farinha
ficará tudo ao seu critério, lembrando que lanço os itens vendidos em um FlexGrid e quando terminada a venda salvo no banco.
AVISO: é só mais uma ideia referente a duvida sobre a logica da coisa, esta não será passÃvel de discussão, rsrsrs
a duvida:
[Ô]..., como ficaria o codvenda? sendo que se irá se repetir a cada iten, em uma compra com mais de um item já nao daria certo, se eu mesmo mandar gravar o codvenda repetido poderia até da certo, mas o problema ficaria trabalhando em rede...[Ô]
bom quando desenvolvi um sistema deste para um amigo cheguei a esta duvida também porém resolvi de forma simples, uni dois dados para formar um numero de registro, ex:
nr venda = 00132
itens vendidos
01 - 200 gramas de café
02 - 07 pctes de esponja
03 - 3 Kilos de Farinha
bom o codigo desta venda ficaria assim
codvenda = nr venda + item vendido
0013201 - 200 gramas de café
0013202 - 07 pctes de esponja
0013203 - 03 Kilos de Farinha
reparou que nenhum código se repetiu, quando um outro usuário da rede chamar um código bastaria vc extrair os cinco primeiros digitos do código da venda (00132) adicionar 1 (0133) e fazer a mesma coisa.
porém se não deseja ficar extraindo para cadeia de caracteres, você pode colocar um campo só com o numero da venda, ex:
0013201 - 00132 - 200 gramas de café
0013202 - 00132 - 07 pctes de esponja
0013203 - 00132 - 03 Kilos de Farinha
ficará tudo ao seu critério, lembrando que lanço os itens vendidos em um FlexGrid e quando terminada a venda salvo no banco.
Citação:... até onde eu sei no MSFLEXGRID ele pega os dados do BD certo?
Errado...
Os dados que você coloca no MSFLEXGRID não precisam estar no db...
Você pode simplesmente adicionar linhas no componente e preencher as celulas com as informações desejadas...
FEDERHEN, valeu, nao tinha prestado atenção no additem...
MARCELO, nesse caso a numeração é manual? pelo que eu entendi vc pega nrvenda+nritem, pelo que eu estava entendendo até agora eu teria que gravar na tabitens o codvenda repetido, para depois eu poder ver qual venda foi de qual, o problema seria pegar esse cod venda antes de gravar, sendo que uso numeração automatica, alguem sabe alguma forma de fazer isso? eu tava pensando em adicionar o codvenda em primeiro lugar, assim ja reservaria um numero pra quela venda, se for cancelada eu excluo o registro.
MARCELO, nesse caso a numeração é manual? pelo que eu entendi vc pega nrvenda+nritem, pelo que eu estava entendendo até agora eu teria que gravar na tabitens o codvenda repetido, para depois eu poder ver qual venda foi de qual, o problema seria pegar esse cod venda antes de gravar, sendo que uso numeração automatica, alguem sabe alguma forma de fazer isso? eu tava pensando em adicionar o codvenda em primeiro lugar, assim ja reservaria um numero pra quela venda, se for cancelada eu excluo o registro.
Tópico encerrado , respostas não são mais permitidas