Tiempo aproximado de lectura: 00:05:00 min
Duda
¿Cómo se ocupa el ExecAuto para la Modificación de una Meta de Venta en la rutina FATA050?
Ambiente
Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - SIGAFAT - Todas las versiones 12
Solución
Función utilizada para la inclusión, alteración o exclusión de Objetivos de Venta a través de la rutina automática ( ExecAuto ).
Sintaxis
MSExecAuto({|a, b, c| FATA050(a, b, c)}, aCabec, aGrid, nOpcX)
Ejemplo de uso
MODIFICACION
#INCLUDE "PROTHEUS.CH"#INCLUDE "TBICONN.CH"User Function MyFATA050Local cMeta := "Meta00001" //Meta a ser alteradaLocal cDescri := "META DE VENDA ALT"Local nOpcX := 4Local nCount := 0Local cSequen := "002"Local aErroAuto := {}Private lMsErroAuto := .F.Private lAutoErrNoFile := .F.//* Abertura do ambienteConOut("Inicio: " + Time()) ConOut(Repl("-",80))ConOut(PadC("Alteracao de Meta de Venda", 80)) PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "SCT","SA3"// Verifica se o registro que sera alterado existeSCT->(DBSetOrder(1))If SCT->(! MsSeek(xFilial("SCT") + cMeta + cSequen)) cMsgLog += "Não foi localizada a Meta de Venda: " + cB1Cod + ",Sequencia: " + cSequen + CRLF lOk := .F.EndIf//* Alteracao - INÍCIOaCabec := {}aGrid := {}aLinha := {}//************************************************************************************************//*** Neste exemplo estamos alterando a descrição no cabeçalho e a quantidade da sequencia 002 ***//************************************************************************************************//--- Informando os dados do Cabeçalhoaadd(aCabec, {"CT_DOC", cMeta, Nil})aadd(aCabec, {"CT_DESCRI", cDescri, Nil})//--- Informando os dados da GridaLinha := {}aadd(aLinha,{"LINPOS", "CT_SEQUEN", '002'}) // Para alterar um item da grid é necessario informar sua sequencia com "LIMPOS"aadd(aLinha,{"AUTDELETA", "N", Nil})aadd(aLinha,{"CT_QUANT", 5, Nil})aadd(aGrid, aLinha)//--- Commit da rotinaMSExecAuto({|a, b, c| FATA050(a, b, c)}, aCabec, aGrid, nOpcX)If !lMsErroAuto ConOut("Alterada com sucesso! " + cMeta)Else ConOut("Erro na alteração!") aErroAuto := GetAutoGRLog() For nCount := 1 To Len(aErroAuto) cLogErro += StrTran(StrTran(aErroAuto[nCount], "<", ""), "-", "") + " " ConOut(cLogErro) Next nCountEndIfRESET ENVIRONMENTReturn(.T.)
Conozca más
0 Comentarios