× Linguagem de Programação ADVPL

Perguntas Tela de Saldo em Estoque na Venda assistida

Mais
10 anos 7 meses atrás #22151 por andreia296
Valeu !!!


Obrigada

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 7 meses atrás #22153 por lalberto
Olha não testei, mas este ponto de entrada adiciona um botão na tela ao lado direito senão me engano,
ai o usuário em cima do item desejado clica no botao e vai abrir esta janela.

bom não testei pois não tenho o módulo funcionando aqui aonde estou ok.

User Function FT701BTN()
aReturn := { "NOTE", {|| U_Estoq(aColsDet[n,aScan(aHeaderDet,{|x| AllTrim(x[2]) == "L1_PRODUTO"})])} }
Return aReturn

User Function Estoq(cCodPro)
Local aArea := GetArea()

If SB1->(dbSetOrder(1), dbSeek(xFilial("SB1")+cCodPro))
MaViewSB2(SB1->B1_COD)
Endif

RestArea(aArea)
Return .t.

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 7 meses atrás #22154 por andreia296
Beleza !!

vou testar e te falo amanhã
Mas desde ja te agradeço muito

Bjss


Andreia Domingos

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 7 meses atrás #22157 por andreia296
Bom dia Luiz


Não funcionou, não criou nem o botão

Esse ponde de entrada e para o venda direta eu uso venda assistida tentei achar
um ponto que criar um ponto de entrada no venda assistida mas mesmo assim não cria o bota

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 7 meses atrás #22162 por lalberto
Puxa sacanagem em Andreia, bom mais tarde vou ver se consigo achar uma solução pra vc ok.


:oops:

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 7 meses atrás #22170 por andreia296
Oi Luiz

eu acabei criando uma tela nova e usei o ponte de entrada LJ7045() e personalizei a padrao que chamamos pelo ctrl+a

ficou assim :

User Function LJ7045()

Local nPosProd := aPosCpo[Ascan(aPosCpo,{|x| Alltrim(Upper(x[1])) == "LR_PRODUTO"})][2]
// Posicao da codigo do produto
Local nPosDtLocal := Ascan(aPosCpoDet,{|x| Alltrim(Upper(x[1])) == "LR_LOCAL"}) // Posicao do local (armazem)
Local cProduto := "" // Cod. do produto
Local oEstoque // Obj. dialog Estoque
Local lContinua :=.T. // Define se continua a execucao da funcao
Local xRet // Retorno do Ponto de Entrada LJ7045
Private aVetor := {}
Private oLbx := Nil


If lContinua
If !Empty(aCols[n][nPosProd]) .AND. Len(aColsDet) >= n
cProduto := aCols[n][nPosProd]
cLocal := aColsDet[n][nPosDtLocal]

DbSelectArea( "SB1" )
DbSeek( xFilial() + cProduto )

DbSelectArea( "SB2" )
DbSeek( xFilial() + cProduto + cLocal )

DbSelectArea( "SB0" )
DbSeek( xFilial() + cProduto )

DbSelectArea( "SB9" )
DbSeek( xFilial() + cProduto + cLocal )


cQuery := "SELECT B2_LOCAL, B2_QATU,B2_QPEDVEN,B2_QEMPN "+CRLF
cQuery += "FROM "+RETSQLNAME("SB2")+" SB2 "+CRLF
cQuery += "WHERE "+CRLF
cQuery += "SB2.B2_FILIAL = '"+xFilial("SB2")+ "'AND SB2.D_E_L_E_T_ = ' ' AND "+CRLF
cQuery += "B2_COD='"+cProduto+"'"+CRLF
cQuery := ChangeQuery(cQuery)
dbUseArea(.T.,"TOPCONN",TCGENQRY(,,cQuery),"TRB",.F.,.F.)

dbselectarea("TRB")
dbGoTop()
While (!Eof())
AAdd(aVetor, {TRB->B2_LOCAL,; //1
TRB->B2_QATU,; //2
TRB->B2_QPEDVEN,; //3
TRB->B2_QEMPN}) //4



dbSkip()


EndDo
dbclosearea("TRB")
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Desabilita as teclas de atalho ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Lj7SetKeys(.F.)

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Mostra dados do Produto. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
// DEFINE MSDIALOG oEstoque FROM 200,200 TO 700,700 TITLE Consulta Estoque OF oDlgVA; //"Consulta Estoque"
//STYLE nOr( DS_MODALFRAME, WS_DLGFRAME ) OF oDlgVA

DEFINE MSDIALOG oDlgVA FROM 200,200 TO 700,700 TITLE "Consulta de Saldo em Estoque" PIXEL OF oMainWnd

//ÚÄÄÄÄÄÄÄÄ¿
//³ Dados ³
//ÀÄÄÄÄÄÄÄÄÙ
@ 12, 2 TO 43, 187 OF oEstoque PIXEL
@ 53, 2 TO 70, 187 OF oEstoque PIXEL
@ 78, 2 TO 135, 187 OF oEstoque PIXEL

@ 4, 2 SAY "Dados do Produto:" SIZE 56, 7 OF oEstoque PIXEL // Dados do Produto:
@ 16, 4 SAY "Codigo" SIZE 21, 7 OF oEstoque PIXEL // C¢digo
@ 15, 26 MSGET SB1->B1_COD SIZE 49, 9 OF oEstoque PIXEL When .F.
@ 16, 83 SAY "Unidade" SIZE 25, 7 OF oEstoque PIXEL // Unidade
@ 15, 110 MSGET "SB1->B1_UM" SIZE 14, 9 OF oEstoque PIXEL When .F.
@ 16, 137 SAY "Grupo" SIZE 18, 7 OF oEstoque PIXEL // Grupo
@ 15, 158 MSGET SB1->B1_GRUPO SIZE 14, 9 OF oEstoque PIXEL When .F.
@ 30, 4 SAY "Descrição" SIZE 32, 7 OF oEstoque PIXEL // Descri‡Æo
@ 29, 36 MSGET SB1->B1_DESC SIZE 130, 9 OF oEstoque PIXEL When .F.
@ 40, 335 TO 40, 335 OF oEstoque PIXEL
@ 46, 3 SAY "Armazém: " + cLocal SIZE 60, 7 OF oEstoque PIXEL // "Estoque - Armazém "

//ÚÄÄÄÄÄÄÄÄ¿
//³ Saldo ³
//ÀÄÄÄÄÄÄÄÄÙ
@ 57, 4 SAY "Inicial" SIZE 21, 7 OF oEstoque PIXEL // Inicial
@ 56, 25 MSGET SB9->B9_QINI Picture PesqPict("SB9","B9_QINI") SIZE 49, 9 OF oEstoque PIXEL When .F.
@ 57, 89 SAY "Atual" SIZE 18, 7 OF oEstoque PIXEL // Atual
@ 56, 107 MSGET SaldoSb2() Picture PesqPict("SB2","B2_QATU") SIZE 49, 9 OF oEstoque PIXEL When .F.

//ÚÄÄÄÄÄÄÄÄÄÄ¿
//³ Precos ³
//ÀÄÄÄÄÄÄÄÄÄÄÙ
@ 71, 3 SAY "Precos de Venda:" SIZE 53, 7 OF oEstoque PIXEL // Pre‡os de Venda:
@ 82, 6 SAY "1 -" SIZE 11, 7 OF oEstoque PIXEL
@ 93, 6 SAY "2 -" SIZE 11, 7 OF oEstoque PIXEL
@ 103, 6 SAY "3 -" SIZE 11, 7 OF oEstoque PIXEL
@ 122, 6 SAY "5 -" SIZE 11, 7 OF oEstoque PIXEL
@ 83, 93 SAY "6 -" SIZE 11, 7 OF oEstoque PIXEL
@ 103,93 SAY "8 -" SIZE 11, 7 OF oEstoque PIXEL
@ 93, 93 SAY "7 -" SIZE 11, 7 OF oEstoque PIXEL
@ 112,93 SAY "9 -" SIZE 11, 7 OF oEstoque PIXEL
@ 112, 6 SAY "4 -" SIZE 11, 7 OF oEstoque PIXEL

@ 82, 18 MSGET SB0->B0_PRV1 Picture PesqPict("SB0","B0_PRV1") SIZE 49, 9 OF oEstoque PIXEL When .F.
@ 91, 18 MSGET SB0->B0_PRV2 Picture PesqPict("SB0","B0_PRV2") SIZE 49, 9 OF oEstoque PIXEL When .F.
@ 101, 18 MSGET SB0->B0_PRV3 Picture PesqPict("SB0","B0_PRV3") SIZE 49, 9 OF oEstoque PIXEL When .F.
@ 111, 18 MSGET SB0->B0_PRV4 Picture PesqPict("SB0","B0_PRV4") SIZE 49, 9 OF oEstoque PIXEL When .F.
@ 121, 18 MSGET SB0->B0_PRV5 Picture PesqPict("SB0","B0_PRV5") SIZE 49, 9 OF oEstoque PIXEL When .F.
@ 82, 106 MSGET SB0->B0_PRV6 Picture PesqPict("SB0","B0_PRV6") SIZE 49, 9 OF oEstoque PIXEL When .F.
@ 91, 106 MSGET SB0->B0_PRV7 Picture PesqPict("SB0","B0_PRV7") SIZE 49, 9 OF oEstoque PIXEL When .F.
@ 101,106 MSGET SB0->B0_PRV8 Picture PesqPict("SB0","B0_PRV8") SIZE 49, 9 OF oEstoque PIXEL When .F.
@ 111,106 MSGET SB0->B0_PRV9 Picture PesqPict("SB0","B0_PRV9") SIZE 49, 9 OF oEstoque PIXEL When .F.
DEFINE SBUTTON FROM 010,192 TYPE 1 ACTION oDlgVA:End() ENABLE OF oEstoque

@ 136, 3 SAY "Saldo por Armazem:" SIZE 53, 7 OF oEstoque PIXEL
@ 145,3 LISTBOX oLbx VAR cVar FIELDS HEADER "Armazem",;
"Saldo Atual",;
"Qtd Pedido Venda",;
"Qtd Empenhada" SIZE 220,80 OF oDlgVA PIXEL
oLbx:SetArray( aVetor )
oLbx:bLine := {||{ aVetor[oLbx:nAt,1],;
aVetor[oLbx:nAt,2],;
aVetor[oLbx:nAt,3],;
aVetor[oLbx:nAt,4]}}

ACTIVATE MSDIALOG oDlgVA CENTERED

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Habilita as teclas de atalho ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Lj7SetKeys(.T.)
lContinua :=.F.


Else
Aviso( "Atenção", "Selecione um produto na tela de vendas e então chame essa rotina novamente.", {"Ok"} ) //"Atenção" ### "Selecione um produto na tela de vendas e então chame essa rotina novamente." ### "Ok"
EndIf
EndIf





Return (lContinua)



Funcionou se quiser dar uma aprimorada nao vou ligar nao :P


Valeu pela ajuda

bjss

Andreia

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.086 segundos
Joomla templates by a4joomla