No vídeo de hoje, vamos demonstrar como salvar as respostas de uma tela de parâmetros usando ParamBox.
A dúvida de hoje, nos perguntaram, se seria possível num ParamBox ter o mesmo comportamento de um Pergunte, onde quando o usuário confirmar, gravarmos as respostas que o usuário deu.
Pensando nisso, montamos um exemplo, onde vamos demonstrar em como usar a função ParamSave com algumas parametrizações do ParamBox.
Segue abaixo o vídeo exemplificando:
E abaixo o código fonte desenvolvido:
//Bibliotecas
#Include "tlpp-core.th"
//Declaração da namespace
Namespace custom.terminal.youtube
#Define CRLF Chr(13) + Chr(10) //Carriage Return Line Feed
/*/{Protheus.doc} User Function video0163
Exemplo de como salvar os parâmetros em um ParamBox
@type Function
@author Atilio
@since 10/06/2024
@example custom.terminal.youtube.u_video0163()
/*/
User Function video0163()
Local aArea := FWGetArea() As Array
Local aParameters := {} As Array
Local cInitID := Space(TamSX3('B1_COD')[1]) As Character
Local cLastID := StrTran(cInitID, " ", "Z") As Character
Local cLoadName := "video0163" As Character
Local aAnswers := {} As Array
Local lOK := .F. As Logical
//Adicionando os parâmetros da tela de perguntas
aAdd(aParameters, {1, "Produto De", cInitID, "", ".T.", "SB1", ".T.", 070, .F.})
aAdd(aParameters, {1, "Produto Até", cLastID, "", ".T.", "SB1", ".T.", 070, .T.})
//Mostra a tela de parâmetros
lOK := ParamBox(aParameters, "Informe os parâmetros", @aAnswers, /*bOk*/, /*aButtons*/, /*lCentered*/, /*nPosx*/, /*nPosy*/, /*oDlgWizard*/, cLoadName, .T., .T.)
//Somente se o usuário confirmou que vai acionar a ParamSave
If lOK
//Realiza a gravação das respostas no Profile do Usuário
ParamSave(cLoadName, aAnswers, "1")
FWAlertInfo("Aqui você aciona sua função...", "Atenção")
EndIf
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.