Bom dia.
Procurei no TDN e no google e não achei nada como chamar a nova rotina para fazer a alteração do cadastro do cliente, alguêm sabe de alguma documentação ou exemplo de como fazer?
A unica informação que encontrei foi sobre ExecAuto, mas preciso alterar o cliente sem precisar entrar no cadastro do cliente e voltar ao que estava fazendo, processo muito lento.
Se alguem tiver um exemplo ou a documentação por favor enviar.
Obrigado.
Bom dia.
Abaixo segue documentação solicitada. Basicamente é só alterar o parâmetro MV_MVCSA1 para .T.
Ao alterar o parâmetro, todos os pontos de entrada deixarão de funcionar, então deverá fazer a compatibilização antes.
Abaixo segue link do Terminal de Informação para auxiliar nesse processo:
1 curtida
oModel := FWLoadModel("MATA030")
//Alimenta o array para o execauto
For nX:=1 To Len(aCampos)
aAdd(aFields, {aCampos[nX], oObjJson[aCampos[nX]], Nil})
Next nX
//Chama o execauto da rotina
If FWMVCRotAuto(oModel, "SA1", 3, {{"MATA030_SA1", aFields}} ,,.T.)
lRet := .T.
Else
aErro := oModel:GetErrorMessage()
//Monta o Texto que será mostrado na tela
cMsg := "Id do formulário de origem:" + ' [' + cValToChar(aErro[01]) + '], '
cMsg += "Id do campo de origem: " + ' [' + cValToChar(aErro[02]) + '], '
cMsg += "Id do formulário de erro: " + ' [' + cValToChar(aErro[03]) + '], '
cMsg += "Id do campo de erro: " + ' [' + cValToChar(aErro[04]) + '], '
cMsg += "Id do erro: " + ' [' + cValToChar(aErro[05]) + '], '
cMsg += "Mensagem do erro: " + ' [' + cValToChar(aErro[06]) + '], '
cMsg += "Mensagem da solução: " + ' [' + cValToChar(aErro[07]) + '], '
cMsg += "Valor atribuído: " + ' [' + cValToChar(aErro[08]) + '], '
cMsg += "Valor anterior: " + ' [' + cValToChar(aErro[09]) + ']'
//Mostra mensagem de erro
lRet := .F.
cCod := "N"
EndIf
Segue PE utilizado em produção.
User Function CRMA980()
Local aParam := PARAMIXB
Local xRet := .T.
Local lIsGrid := .F.
Local cIDPonto := ‘’
Local cIDModel := ‘’
Local cIDForm := ‘’
Local oObj := NIL
// Tratativa para executar somente quando for grupo 04
if (cEmpAnt <> "04")
Return .T.
EndIf
If aParam <> NIL
oObj := aParam[1]
cIDPonto := aParam[2]
cIDModel := aParam[3]
cIDForm := oObj:GetID()
lIsGrid := (Len(aParam) > 3)
nOperation := oObj:GetOperation()
If cIdPonto == "FORMPOS" // Antes da gravação da tabela do formulário.
If nOperation == 4
oObj:SetValue('A1_XINTJOB', '2')
EndIf
EndIf
EndIf
Return xRet