No vídeo de hoje, vamos demonstrar em como gravar uma observação ao excluir uma nota de saída através de um ponto de entrada.
A dúvida de hoje, nos perguntaram, se seria possível forçar um usuário a informar um motivo para exclusão de uma nota de saída no sistema (SF2).
Pensando nisso, montamos um exemplo, onde vamos demonstrar em como usar essa lógica no ponto de entrada SF2520E.
Segue abaixo o vídeo exemplificando:
E abaixo o código fonte desenvolvido:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function SF2520E Ponto de entrada na Exclusão do Documento de Saída @type Function @author Atilio @since 17/06/2024 @see https://centraldeatendimento.totvs.com/hc/pt-br/articles/360018257391-Cross-Segmento-Backoffice-Linha-Protheus-ADVPL-Ponto-de-entrada-SF2520E @obs O campo F2_X_MTCAN pode ser criado como Caractere tamanho 100 /*/ User Function SF2520E() Local aArea := FWGetArea() Local aAreaSF2 := SF2->(FWGetArea()) Local aPergs := {} Local cMotivCan := Space(100) Local aBackupPar := {} Local lGravou := .F. //Faz backup dos parâmetros aBackupPar := NgSalvaMvPa() //Adiciona os parâmetros aAdd(aPergs, {1, "Motivo Cancelamento", cMotivCan, "", ".T.", "", ".T.", 100, .T.}) //Enquanto não gravou While ! lGravou //Exibe a pergunta If ParamBox(aPergs, "Informe os parâmetros", /*aRet*/, /*bOk*/, /*aButtons*/, /*lCentered*/, /*nPosx*/, /*nPosy*/, /*oDlgWizard*/, /*cLoad*/, .F., .F.) //Atualiza o motivo de cancelamento RecLock("SF2", .F.) SF2->F2_X_MTCAN := MV_PAR01 SF2->(MsUnlock()) lGravou := .T. EndIf EndDo //Volta backup dos parâmetros NgRetAuMVPa(aBackupPar) FWRestArea(aAreaSF2) FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.