Tela de PDV

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Tela de PDV

Mensagem por microvolution »

JoséQuintas escreveu:A saída seria trocar esse elemento do array por um novo, com o novo texto.
sim... exatamente é o que pensei e já estava tentando fazer há muito tempo.
Mas, não estou conseguindo juntar o quebra cabeças pra alterar apenas o elemento específico da wvg_label()
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Tela de PDV

Mensagem por microvolution »

veja aí QUINTAS a tela de PDV com uso do CONSOLE com GTWVG:
pdv - wvg
pdv - wvg
os seguintes códigos inclusos:
1 ) desenhar a tela pela primeira vez:

Código: Selecionar todos

   AAdd( aPaint, { "Box_1_descricao_produto", {|| wvt_DrawColorRect( 00, 00, 02, 79 , , RGB( 063, 096, 150 ))}, 																									{ WVT_BLOCK_LABEL, 00, 00, 03, 79 } } )
   AAdd( aPaint, { "Box_2_cupom_fiscal", {|| wvt_DrawColorRect( 03, 00, 20, 40 , , RGB( 255, 255, 206 ))}, 																									{ WVT_BLOCK_LABEL, 03, 00, 20, 40 } } )
   AAdd( aPaint, { "Box_3_codigo_produto", {|| Wvt_DrawBoxGroup( 03, 41, 05, 79 ) }, { WVT_BLOCK_BOX, 03, 41, 05, 79 } } ) // box pra dentro (fundo) 26/2/18w
   AAdd( aPaint, { "Box_4_quantidade", {|| Wvt_DrawBoxGroup( 07, 41, 09, 79 ) }, { WVT_BLOCK_BOX, 07, 41, 09, 79 } } ) // box alto relevo (pra fora) 26/2/18w
   AAdd( aPaint, { "Box_5_preco_unitario", {|| Wvt_DrawBoxGroup( 11, 41, 13, 79 ) }, { WVT_BLOCK_BOX, 11, 41, 13, 79 } } ) // box só desenhado por fora (não tem relevo algum) 26/2/18w
   AAdd( aPaint, { "Box_6_subtotal", {|| Wvt_DrawBoxGroup( 15, 41, 17, 79 ) }, { WVT_BLOCK_BOX, 15, 41, 17, 79 } } ) // desenha um box na cor selecionada (sem relevo algum) 26/2/18w
   AAdd( aPaint, { "Label1_descricao_produto", {|| Wvt_DrawLabel( 00, 00, HB_AnsiToOem("DESCRIÇÃO DO PRODUTO")	, 00, 00, RGB( 220, 220, 220 )	, RGB( 063, 096, 150 ), "Arial"			, 20, , , , , .f., .f., .f. ) }, 		{ WVT_BLOCK_LABEL, 00, 00, 03, 50 } } )
   AAdd( aPaint, { "Label2_cupom_fiscal", {|| Wvt_DrawLabel( 03, 15, HB_AnsiToOem("CUPOM FISCAL")			, 00, 00, RGB( 000, 000, 000 )	, RGB( 255, 255, 206 ), "VisualLib"		, 24, , , , , .f., .f., .f. ) }, 	{ WVT_BLOCK_LABEL, 03, 15, 03, 50 } } )
   AAdd( aPaint, { "Label3_item_cod_descrica_qt_vrunit_vrtot", {|| Wvt_DrawLabel( 04, 00, HB_AnsiToOem("Ítem Código   Descrição                       Qtd.     Unitário R$     SubTotal R$")			, 00, 00, RGB( 000, 000, 000 )	, RGB( 255, 255, 206 ), "VisualLib"		, 11, 08, , , , .f., .f., .f. ) }, 	{ WVT_BLOCK_LABEL, 04, 00, 03, 50 } } )
   AAdd( aPaint, { "Label4_codigo_produto", {|| Wvt_DrawLabel( 03, 42, HB_AnsiToOem("CÓDIGO DO PRODUTO")		, 00, 00, RGB( 078, 078, 078 )	, RGB( 192, 192, 192 ), "Lucida Console"		, 14, , , , , .f., .f., .f. ) }, 			{ WVT_BLOCK_LABEL, 03, 42, 03, 50 } } )
   AAdd( aPaint, { "Label5_quantidade", {|| Wvt_DrawLabel( 07, 42, HB_AnsiToOem("QUANTIDADE")				, 00, 00, RGB( 078, 078, 078 )	, RGB( 192, 192, 192 ), "Lucida Console"				, 14, , , , , .f., .f., .f. ) }, 					{ WVT_BLOCK_LABEL, 07, 42, 03, 50 } } )
   AAdd( aPaint, { "Label6_preco_unitario", {|| Wvt_DrawLabel( 11, 42, HB_AnsiToOem("PREÇO UNITÁRIO R$")		, 00, 00, RGB( 078, 078, 078 )	, RGB( 192, 192, 192 ), "Lucida Console"		, 14, , , , , .f., .f., .f. ) }, 			{ WVT_BLOCK_LABEL, 11, 42, 03, 50 } } )
   AAdd( aPaint, { "Label7_subtotal", {|| Wvt_DrawLabel( 15, 42, HB_AnsiToOem("SUBTOTAL R$")				, 00, 00, RGB( 078, 078, 078 )	, RGB( 192, 192, 192 ), "Lucida Console"				, 16, , , , , .f., .f., .f. ) }, 			{ WVT_BLOCK_LABEL, 15, 42, 03, 50 } } )
   AAdd( aPaint, { "Gets"  , {|| AEval( GetList, {| oGet | Wvt_DrawBoxGet( oGet:Row, oGet:Col, Len( Transform( oGet:VarGet(), oGet:Picture ) ) ) } ) }, NIL } )
   ExecForm( aPaint )
2 ) após desenhar a TELA:

Código: Selecionar todos

AAdd( aPaint1, { "Label_preco_unitario"   	, {|| wvg_Label( 12, 64, , "210.0000"	, 00, 00, RGB( 255, 255, 255 )	, RGB( 192, 192, 192 ), "Arial"			, 36, , , , , .f., .f., .f. ) }	, 		{ WVT_BLOCK_LABEL, 12, 64, 12, 64 } } ) // aqui é o preço unitário
AAdd( aPaint1, { "Label_descricao_produto"   	, {|| Wvg_Label( 01, 00, , "KIT EMBREAGEM"		, 00, 00, RGB( 255, 255, 255 )	, RGB( 063, 096, 150 ), "verdana"		, 50, , , , , .f., .f., .f. ) }	, 		{ WVT_BLOCK_LABEL, 01, 00, 01, 00 } } ) // aqui desenha o título do produto após a primeira desenhada de telas
AAdd( aPaint1, { "Label_preco_total" , {|| wvg_Label( 16, 66, , "0,00"	, 00, 00, RGB( 255, 255, 255 )	, RGB( 192, 192, 192 ), "Arial"			, 36, , , , , .f., .f., .f. ) }	, 		{ WVT_BLOCK_LABEL, 12, 50, 12, 50 } } ) // esta linha é do preço de venda que está zerado, apenas pra teste
ExecForm1(aPaint1)
3 ) função EXECFORM()

Código: Selecionar todos

STATIC FUNCTION ExecForm( aPaint )
   LOCAL cColor    := SetColor()
   LOCAL aPnt // sem estas 3 linhas não se consegue cancelar os gráficos da tela 12/3/18w
   aPnt := WvtSetPaint( aPaint ) // sem estas 3 linhas não se consegue cancelar os gráficos da tela 12/3/18w
********
******** se não houver essas linhas, tudo que é feito fica por cima do que já existe. dependendo fica uma coisa horrível 26/2/18w
   SetColor( "N/W" ) // cores básicas da tela
   CLS
   SetColor( "N/W,N/GR*,,,N/W*" ) // ativar cores após limpar a tela
******** se não houver essas linhas, tudo que é feito fica por cima do que já existe. dependendo fica uma coisa horrível 26/2/18w
********
   CAD_PRODUTOS_WVG ()
   WvtSetPaint( aPnt ) // esta função em conjunto a acima finaliza os gráficos da WVG 26/2/18w // se não for aplicada essas linhas, as imagens não desaparecem.  // sem estas 3 linhas não se consegue cancelar os gráficos da tela 12/3/18w
RETURN NIL
4 ) função EXECFORM1()

Código: Selecionar todos

STATIC FUNCTION ExecForm1( aPaint )
   LOCAL cColor    := SetColor() , aPnt
   aPnt := WvtSetPaint( aPaint )
   SetColor( "N/W" ) // cores básicas da tela
   CLS
   SetColor( "N/W,N/GR*,,,N/W*" ) // ativar cores após limpar a tela
   GtSetupPalette() // funcionou só que preciso entender melhor 26/2/18w
   SetColor( cColor ) // esta função em conjunto a abaixo finaliza os gráficos da WVG 26/2/18w //se não for aplicada essas linhas, as imagens não desaparecem.
   WvtSetPaint( aPnt ) // esta função em conjunto a acima finaliza os gráficos da WVG 26/2/18w // se não for aplicada essas linhas, as imagens não desaparecem.
RETURN NIL
obs.:
1 - a função CAD_PRODUTOS_WVG() não postei, pois é a parte dos GETs;
2 - percebi que se não colocar os GETs antes de chamar a função EXECFORM() eles não aparecem;
3 - as funções EXECFORM() e EXECFORM1() são idênticas, pois, se eu não fizer duas chamadas não aparecem os gráficos, ou não aparecem os GETs. Bom mesmo é resumir/limpar o código pra ficar mais enxuto/profissional com apenas uma chamada à função EXECFORM().
É isso aí, por enquanto.
Vlw pessoal!
:*
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Tela de PDV

Mensagem por microvolution »

ah! mais observações:
1 - se não colocar o CLS - mesmo depois da tela pronta, os gráficos da EXECFORM1() não são desenhados
2 - É como eu sempre disse e volto a dizer. As libs free não possuem manuais, apenas exemplos. No caso da GTWVG - até mesmo o QUINTAS, já disse por diversas vezes, que não tutoriais, apenas pouquíssimos exemplos de uso do WVT, mas, dos WVG, quase nada. Temos que ficar "chutando" e "atirando pedras em avião" por não saber o "caminho por onde andar" e o "porto pra ancorar".
evaldo
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 27 Out 2005 23:29

Tela de PDV

Mensagem por evaldo »

https://prnt.sc/jamrtj
https://prnt.sc/jamrtj
olá pessoal,
esse PDV eu fiz em 2001 com clipper 5,2 (100%) sem usar lib de terceiro, ele estava em produção ate 2007, eu tinha cliente com ele com 8PDV on line
como vi esse tópico resolvi postar, com poucos ajuste podera implementar NFC-e com ACBR, se alguem tiver interesse e for utilizar posso enviar os fonte sem custo.

skype: soft.tres
e-mail: soft-tres.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tela de PDV

Mensagem por JoséQuintas »

evaldo escreveu:esse PDV eu fiz em 2001 com clipper 5,2 (100%) sem usar lib de terceiro
Eu diria que é impossível.
Visivelmente usa recursos gráficos e o Clipper 5.2 não tinha isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tela de PDV

Mensagem por JoséQuintas »

microvolution escreveu:veja aí QUINTAS a tela de PDV com uso do CONSOLE com GTWVG:
Estranhei esta parte. Não deveria ser função?
Pelo que imagino é pra bloquear uma parte da tela.

Código: Selecionar todos

{ WVT_BLOCK_BOX, 03, 41, 05, 79 } 
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
evaldo
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 27 Out 2005 23:29

Tela de PDV

Mensagem por evaldo »

https://prnt.sc/janckf

corrigindo a versao do COMPILADOR 5.3B rev. 338 1996
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Tela de PDV

Mensagem por Fernando queiroz »

DESENVOLVENDO rotina de PDV
DESENVOLVENDO rotina de PDV
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Tela de PDV

Mensagem por Fernando queiroz »

ABERTURA DO CAIXA
ABERTURA DO CAIXA
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Tela de PDV

Mensagem por Fernando queiroz »

TELA DE SUPRIMENTO
TELA DE SUPRIMENTO
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Tela de PDV

Mensagem por Fernando queiroz »

PDVFECHAMENTO.jpg
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Tela de PDV

Mensagem por Fernando queiroz »

PDVALIVIO.jpg
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Tela de PDV

Mensagem por Fernando queiroz »

PDVCANCELA.jpg
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Tela de PDV

Mensagem por Fernando queiroz »

PDVPAGAMENTO.jpg
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Tela de PDV

Mensagem por Fernando queiroz »

AMIGOS gostaria de criticas e sugestões sobre as telas do me PDV.

algumas duvidas surgiram tais como:

Se o Operador do Caixa sair - tenho de travar o caixa com senha ?

Se no Fechamento do caixa tenho de colocar os valores supridos e aliviados do caixa?

A minha ideia de ITEM vai ser acumulando no mesmo produto itens iguais , o que acham disso ?

:D :D :D :D :D
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Responder