- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Botão para gravação de dados
×
Linguagem de Programação ADVPL
Perguntas Botão para gravação de dados
- gustavo
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 70
- Obrigados Recebidos: 0
10 anos 5 meses atrás #23242
por gustavo
Botão para gravação de dados foi criado por gustavo
Bom dia, estou desenvolvendo uma tela MSDIALOG mas e não consigo criar um botão ou uma função para gravar os dados. Alguém tem um fonte de rotina de inclusão?
Obrigado
Obrigado
Por favor Acessar ou Registrar para participar da conversa.
- inocenciojr
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 114
- Obrigados Recebidos: 1
10 anos 5 meses atrás - 10 anos 5 meses atrás #23245
por inocenciojr
Respondido por inocenciojr no tópico Botão para gravação de dados
Gustavo,
Segue anexo um exemplo que tenho.
PS: Não anexou . Então vai aqui mesmo.
Segue anexo um exemplo que tenho.
PS: Não anexou . Então vai aqui mesmo.
#INCLUDE "PROTHEUS.CH"
/**************************************************************************************************
Função de inclusão do numero de coleta
**************************************************************************************************/
User Function DRDEFCOLE()
Local oDlgCO
Local aAreaAtu := GetArea()
Local aAreaC5 := SC5->(GetArea())
Local cNumColeta := CriaVar("C5_DR_NCOL")
//Local cInfCompl := Space(TamSX3("F1_MENNOTA")[1])
Local oNumColeta := NIL
//Local oInfCompl := NIL
Local lContinua := .F.
If Empty(SC5->C5_DR_NCOL)
lContinua := .T.
Else
If MsgYesNo("Numero de Coleta já informado: "+Alltrim(SC5->C5_DR_NCOL)+". Deseja altera-lo ?","DRDEFCOLE")
cNumColeta := SC5->C5_DR_NCOL
lContinua := .T.
EndIf
EndIf
If lContinua
DEFINE MSDIALOG oDlgCO FROM 100,100 TO 220,500 TITLE Iif(Empty(SC5->C5_DR_NCOL),"Inclusão","Alteração")+" - Coleta" Of oMainWnd PIXEL
@ 015, 005 SAY "Num. Coleta:" Of oDlgCO SIZE 45,25 PIXEL
@ 015, 060 MSGET oNumColeta VAR cNumColeta Picture PesqPict("SC5","C5_DR_NCOL") SIZE 080,010 OF oDlgCO PIXEL
//@ 030, 005 SAY "Informações Complementares:" Of oDlgCO SIZE 45,25 PIXEL
//@ 030, 060 MSGET oInfCompl VAR cInfCompl SIZE 270,10 OF oDlgCO PICTURE "@!" PIXEL
ACTIVATE MSDIALOG oDlgCO CENTERED ON INIT EnchoiceBar(oDlgCO, {|| Iif(GravaCO(cNumColeta), oDlgCO:End(), MsgAlert("Não foi possível gravar a Coleta.","DRDEFCOLE"))},{|| oDlgCO:End()},,)
Endif
// Restaura area original
RestArea(aAreaC5)
RestArea(aAreaAtu)
Return (.T.)
/**************************************************************************************************
Função:
GravaCO
Descrição:
Grava dados da Coleta
Parâmetros:
Retorno:
cRet => .T. - Caso tenha gravado com sucesso, .F. caso contrário.
**************************************************************************************************/
Static Function GravaCO(cNumColeta)
Local aAreaAtu := GetArea()
Local aArea := IIf(!Empty(Alias()), SGetArea(), {})
Local lRET := .T.
If RecLock("SC5", .F.)
SC5->C5_DR_NCOL := cNumColeta
SC5->(MsUnLock())
Else
lRET := .F.
EndIf
SRestArea(aArea) // Restaura areas originais
RestArea(aAreaAtu) // Restaura area original
Return (lRET)
Ultima edição: 10 anos 5 meses atrás por inocenciojr.
Por favor Acessar ou Registrar para participar da conversa.
- gustavo
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 70
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Botão para gravação de dados
Tempo para a criação da página:0.069 segundos