CRMA980 - Alterar cliente

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