× Linguagem de Programação ADVPL

Perguntas TELA PARA ALTERAÇAO DE CAMPO NO SE1

Mais
11 anos 3 meses atrás #9194 por Edilaine
Pessoal , preciso criar uma tela onde tenha prefixo e nr do titulo + campo customizado que criei "obs"
ao abrir o usuario digita o prefixo e nr e localiza o titulo e abre esse campo para inserir a obs que eu quero
Preciso que seja uma tela pois nao quer que o usuaro altere todo o se1. somente abrir o campo que ele pode alterar.. alguem pode me ajudar tem algum exemplo?

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #9312 por rcaps
Edilaine, boa tarde;

Abaixo tem um programinha que fiz que tem a mesma característica das sua necessidades, bastanto
para isto alterar o nome da tabela e dos campos que precisa, ajusta o tamanho da tela e retirar
o objetos que não for usar, que acho que vai servir para o seu propósito.

Qualquer duvida, manda aí !

#Include "PROTHEUS.CH"
#INCLUDE "rwmake.ch"
User Function Cadativ()
Private aButtons := {}
Private oComboBo1
Private nComboBo1 := 1
Private oFont1 := TFont():New("MS Serif",,016,,.T.,,,,,.F.,.F.)
Private oFont2 := TFont():New("Arial Narrow",,013,,.F.,,,,,.F.,.F.)
Private oGet2
Private cGet2 := space(5)
Private oGet3
Private cGet3 := Space(40)
Private oMultiGe1
Private oSay1
Private oSay2
Private oSay3
Static oDlg
Private oGet1
Private cGet1 := Space(6)
Private nComboBo1 := ''
Private cMultiGe1 := ''
DEFINE MSDIALOG oDlg TITLE "Cadastro de Atividades - Cliente" FROM 000, 000 TO 600, 650 COLORS 0, 16777215 PIXEL

@ 022, 003 SAY oSay1 PROMPT "Codigo do Cliente" SIZE 045, 007 OF oDlg FONT oFont1 COLORS 8388608, 16777215 PIXEL
// @ 019, 049 MSGET oGet1 VAR cGet1 SIZE 040, 010 OF oDlg PICTURE "@e 999999" COLORS 255É, 16777215 ON CHANGE {Posicione("SA1",1,xFilial("SA1") + Alltrim(cGet1) + ' ' ,"A1_COD"),Listar()} PIXEL
@ 019, 049 MSGET oGet1 VAR cGet1 SIZE 040, 010 OF oDlg PICTURE "@e 999999" COLORS 255É, 16777215 ON CHANGE {SA1->(DbSeek(xFilial("SA1") + Alltrim(cGet1))),Listar()} PIXEL
@ 019, 093 MSCOMBOBOX oComboBo1 VAR nComboBo1 ITEMS {"1.01 Food Service -DISTRIBUIDOR FOOD SERVICE ","1.02 Food Service -DISTRIBUIDOR PANIFICAÇÃO ","1.03 Food Service -PADARIA ","1.04 Food Service -Cozinha Industrial ","2.01 Artesanal - DISTRIBUIDOR DE DOCES ","2.02 Artesanal - ATACADO ESPECIALIZADO DOCES ","2.03 Artesanal - LOJA DE DOCES ","2.04 Artesanal - LOJA DE EMBALAGENS ","2.05 Artesanal - LOJA DE FESTAS ","3.01 B2B - INDÚSTRIA PEQUENO PORTE ","3.02 B2B -INDÚSTRIA ","3.03 B2B - MARCA PROPRIA ","3.04 B2B - Taylor Made ","4.01 Sorvetes - Distribuidor de Sorveteria ","4.02 Sorvetes - Indústria de Sorvete ","5.01 Varejo - ATACADO Generalista ","5.02 Varejo - ATACAREJO OU C&C ","5.03 Varejo - DISTRIBUIDOR Varejo ","5.04 Varejo - SUPERMERCADOS ATE 10 CXS ","5.05 Varejo - SUPERMERCADOS ATE 10 A 30 CXS ","5.06 Varejo - SUPERMERCADOS ACIMA 30 CXS ","5.07 Varejo - KA (CONTAS CHAVES) ","5.08 Varejo - REDES E COOPERATIVAS","9.99 - OUTROS"} SIZE 130, 010 OF oDlg COLORS 0, 16777215 PIXEL
EnchoiceBar(oDlg, {||Salvar(cGet1)}, {||Close(Odlg)},,aButtons)
@ 039, 003 SAY oSay2 PROMPT "Atividade Cadastrada" SIZE 060, 007 OF oDlg FONT oFont1 COLORS 8388608, 16777215 PIXEL
@ 036, 074 MSGET oGet2 VAR cGet2 SIZE 060, 010 OF oDlg COLORS 0, 16777215 READONLY PIXEL
@ 057, 003 SAY oSay3 PROMPT "Descrição da Atividade" SIZE 065, 007 OF oDlg FONT oFont1 COLORS 8388608, 16777215 PIXEL
@ 054, 074 MSGET oGet3 VAR cGet3 SIZE 150, 010 OF oDlg COLORS 0, 16777215 READONLY PIXEL
@ 072, 003 GET oMultiGe1 VAR cMultiGe1 OF oDlg MULTILINE SIZE 318, 210 COLORS 255, 16777215 FONT oFont2 READONLY HSCROLL PIXEL

ACTIVATE MSDIALOG oDlg CENTERED

Return

/*
*/
Static Function Listar()
/*
*/
If SA1->(Eof())
msgalert('Cliente não encontrado','Atenção')
cGet1 := Space(6)
cGet2 := Space(5)
cGet3 := Space(40)
cMultiGe1 := ''
Return
Endif
cGet2 := sa1->a1_sativ1

dbSelectArea("SX5")
dbSetOrder(1)
dbSeek(xFilial()+"Z5"+SA1->A1_SATIV1)

cGet3 := SX5->X5_DESCRI
cMultige1 := ''

While SA1->A1_COD == cGet1 .AND. ! SA1->(Eof())
cMultiGe1 += 'LOJA - '+Alltrim(SA1->A1_LOJA)+' - '+alltrim(sa1->a1_nome)+' - '+alltrim(sa1->a1_bairro) + ' - '+alltrim(sa1->a1_est)+chr(10)+chr(13)
SA1->(DbSkip())
End
oMultiGe1:Refresh()
oGet2:Refresh()
oGet3:Refresh()
Return

/*
*/
Static Function Salvar()
/*
*/

If MsgYesNo("Deseja Salvar os Dados ?","Atenção")
Posicione("SA1",1,xFilial("SA1") + Alltrim(cGet1) + '01' ,"A1_COD")

While SA1->A1_COD == cGet1 .AND. ! SA1->(Eof())
Reclock("SA1",.F.)
SA1->A1_SATIV1 := Substr(nCombobo1,1,4)
SA1->A1_SATIV2 := SPACE(6)
SA1->A1_SATIV3 := SPACE(6)
SA1->A1_SATIV4 := SPACE(6)
SA1->A1_SATIV5 := SPACE(6)
SA1->A1_SATIV6 := SPACE(6)
SA1->A1_SATIV7 := SPACE(6)
SA1->A1_SATIV8 := SPACE(6)
SA1->(MsUnlock())
SA1->(DbSkip())
End

msgalert('Cliente - '+cGet1+chr(10)+chr(13)+nCombobo1+' salvo com sucesso.','Atenção')
cGet1 := Space(6)
cGet2 := Space(5)
cGet3 := Space(40)
cMultiGe1 := ''
Endif*
Return

Por favor Acessar ou Registrar para participar da conversa.

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