×
Linguagem de Programação ADVPL
Perguntas Grid com F3
- michaelrdo
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 10
- Obrigados Recebidos: 0
7 anos 10 meses atrás #31623
por michaelrdo
Grid com F3 foi criado por michaelrdo
Boa tarde,
Estou desenvolvendo um wizard que auxilia na criação da proposta comercial. Já criei quase todas as etapas porém estou travado na inserção dos itens da proposta.
Minha ideia era fazer algo parecido com a entrada de itens da NF. Seguindo o modelo de grade.
Pois bem, como estou desenvolvendo em advpl a pouco tempo não estou conseguindo entender bem os códigos que encontrei e que utilizam esse grid.
Alguém tem algum exemplo, bem básico, de como poderia fazer essa tela que realiza buscas F3 em cada linha?
Estou desenvolvendo um wizard que auxilia na criação da proposta comercial. Já criei quase todas as etapas porém estou travado na inserção dos itens da proposta.
Minha ideia era fazer algo parecido com a entrada de itens da NF. Seguindo o modelo de grade.
Pois bem, como estou desenvolvendo em advpl a pouco tempo não estou conseguindo entender bem os códigos que encontrei e que utilizam esse grid.
Alguém tem algum exemplo, bem básico, de como poderia fazer essa tela que realiza buscas F3 em cada linha?
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
7 anos 10 meses atrás #31624
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Grid com F3
Usa MsNewGetDados() ele irá respeitar a configuração dos campos, inclusive habilitar
o F3.
o F3.
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.
- michaelrdo
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 10
- Obrigados Recebidos: 0
7 anos 10 meses atrás #31629
por michaelrdo
Respondido por michaelrdo no tópico Grid com F3
Vlw Luiz! Estou dando uma estudada no código aqui para entender em qual momento "linkamos" o preenchimento a um F3. Vai me ajudar muito esse seu arquivo, obrigado novamente.
Por favor Acessar ou Registrar para participar da conversa.
- michaelrdo
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 10
- Obrigados Recebidos: 0
7 anos 10 meses atrás #31631
por michaelrdo
Respondido por michaelrdo no tópico Grid com F3
Pessoal, bom dia.
Com a ajuda de vocês consegui desenvolver a tela onde irão entrar os itens da minha proposta comercial.
O problema agora é que os gatilhos de preenchimento dos campos não estão funcionando. Segue o código para avaliação:
#include "protheus.ch
User Function Proposta()
Static oDlg
DEFINE MSDIALOG oDlg TITLE "New Dialog" FROM 000, 000 TO 620, 800 COLORS 0, 16777215 PIXEL
fMSNewGe1()
ACTIVATE MSDIALOG oDlg CENTERED
Return
//
Static Function fMSNewGe1()
//
Local nX
Local aHeaderEx := {}
Local aColsEx := {}
Local aFieldFill := {}
Local aFields := {"ADZ_ITEM","ADZ_PRODUT","ADZ_DESCRI","ADZ_UM","ADZ_YIDUNI","ADZ_QTDVEN","ADZ_PRCVEN","ADZ_TOTAL"}
Local aAlterFields := {}
Static oMSNewGe1
DbSelectArea("SX3")
SX3->(DbSetOrder(2))
For nX := 1 to Len(aFields)
If SX3->(DbSeek(aFields[nX]))
Aadd(aHeaderEx, {AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,;
SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_F3,SX3->X3_CONTEXT,SX3->X3_CBOX,SX3->X3_RELACAO})
Endif
Next nX
For nX := 1 to Len(aFields)
If DbSeek(aFields[nX])
Aadd(aFieldFill, CriaVar(SX3->X3_CAMPO))
Endif
Next nX
Aadd(aFieldFill, .F.)
Aadd(aColsEx, aFieldFill)
aAlterFields := {"ADZ_PRODUT","ADZ_QTDVEN","ADZ_PRCVEN","ADZ_YIDUNI"}
oMSNewGe1 := MsNewGetDados():New( 020, 005, 100, 405, GD_INSERT+GD_DELETE+GD_UPDATE, "AllwaysTrue", "AllwaysTrue", "+Field1+Field2", aAlterFields,, 999, "AllwaysTrue", "", "AllwaysTrue", oDlg, aHeaderEx, aColsEx)
Return
Com a ajuda de vocês consegui desenvolver a tela onde irão entrar os itens da minha proposta comercial.
O problema agora é que os gatilhos de preenchimento dos campos não estão funcionando. Segue o código para avaliação:
#include "protheus.ch
User Function Proposta()
Static oDlg
DEFINE MSDIALOG oDlg TITLE "New Dialog" FROM 000, 000 TO 620, 800 COLORS 0, 16777215 PIXEL
fMSNewGe1()
ACTIVATE MSDIALOG oDlg CENTERED
Return
//
Static Function fMSNewGe1()
//
Local nX
Local aHeaderEx := {}
Local aColsEx := {}
Local aFieldFill := {}
Local aFields := {"ADZ_ITEM","ADZ_PRODUT","ADZ_DESCRI","ADZ_UM","ADZ_YIDUNI","ADZ_QTDVEN","ADZ_PRCVEN","ADZ_TOTAL"}
Local aAlterFields := {}
Static oMSNewGe1
DbSelectArea("SX3")
SX3->(DbSetOrder(2))
For nX := 1 to Len(aFields)
If SX3->(DbSeek(aFields[nX]))
Aadd(aHeaderEx, {AllTrim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,;
SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_F3,SX3->X3_CONTEXT,SX3->X3_CBOX,SX3->X3_RELACAO})
Endif
Next nX
For nX := 1 to Len(aFields)
If DbSeek(aFields[nX])
Aadd(aFieldFill, CriaVar(SX3->X3_CAMPO))
Endif
Next nX
Aadd(aFieldFill, .F.)
Aadd(aColsEx, aFieldFill)
aAlterFields := {"ADZ_PRODUT","ADZ_QTDVEN","ADZ_PRCVEN","ADZ_YIDUNI"}
oMSNewGe1 := MsNewGetDados():New( 020, 005, 100, 405, GD_INSERT+GD_DELETE+GD_UPDATE, "AllwaysTrue", "AllwaysTrue", "+Field1+Field2", aAlterFields,, 999, "AllwaysTrue", "", "AllwaysTrue", oDlg, aHeaderEx, aColsEx)
Return
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
7 anos 10 meses atrás #31632
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Grid com F3
Cara fiz essa correção ai no ADZ_ITEM, porém em relação aos gatilhos é muito estranho, como estão configurados ? está usando M->ADZ... ?
oMSNewGe1 := MsNewGetDados():New( 020, 005, 100, 405, GD_INSERT+GD_DELETE+GD_UPDATE, "AllwaysTrue", "AllwaysTrue", "+ADZ_ITEM", aAlterFields,, 999, "AllwaysTrue", "", "AllwaysTrue", oDlg, aHeaderEx, aColsEx)
oMSNewGe1 := MsNewGetDados():New( 020, 005, 100, 405, GD_INSERT+GD_DELETE+GD_UPDATE, "AllwaysTrue", "AllwaysTrue", "+ADZ_ITEM", aAlterFields,, 999, "AllwaysTrue", "", "AllwaysTrue", oDlg, aHeaderEx, aColsEx)
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.
Tempo para a criação da página:0.102 segundos