Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Revertida da versão 11


CONTEÚDO

  1. Dados Gerais
  2. Descrição
  3. Sintaxe
  4. Parâmetros
  5. Retorno
  6. Exemplos

01. DADOS GERAIS

Linha de Produto

ÍNDICE

  1. Datos generales
  2. Descripción
  3. Sintaxis
  4. Parámetros
  5. Devolución
  6. Ejemplos

01. DATOS GENERALES

Línea de productoServicios FacturaciónFunción ventaAlcancesMicrosiga Protheus  Protheus VersionesMicrosiga Protheus  Protheus Compatible países operativosCompatible con las bases de datosTodasNivel accesoNivel Acceso
:Microsiga Protheus®
Segmento:Serviços
Módulo:SIGAFAT - Faturamento
Função:FATA050 - Metas de Venda
Abrangências:Microsiga Protheus 12, Protheus 11
Versões:Microsiga Protheus 12, Protheus 11
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível com as Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)
Idiomas:Todos


02. 

...

DESCRIÇÃO

Función Função utilizada para inclusión, modificación o borrado de Reglas de bonificación vía rutina inclusão, alteração ou exclusão de Regras de Bonificação via rotina automática (ExecAuto).

03. 

...

SINTAXE

MSExecAuto({|a, b, c| FATA090(a, b, c)}, aCabec, aGrid, nOpcX)

04. 

...

PARÂMETROS

Principais Campos e Parâmetros

Nome

Principales campos y parámetros

NombreDescripciónObligatorio de  con los campos del encabezado  de  con los campos de la opción ejecución Inclusión Modificación Borrado

Tipo

Descrição

Obrigatório

aCabecArray de registrosArray contendo os campos do cabeçalho (ACQ)Sim
aGridArray de registrosArray contendo os campos da Grid (ACR)Sim
nOpcXNumérico (opção de execução)3 = Inclusão; 4 = Alteração; 5 = ExclusãoSim

05.

...

 RETORNO

         No EXISTE Não há

06. 

...

EXEMPLOS

Totvs custom tabs box items
defaultno
referenciaFuenteFonte

Ejemplo Exemplo básico para la ejecución a execução de Inclusión, Modificación y Borrado de Reglas de bonificación vía Rutina automática Inclusão, Alteração e Exclusão de Regras de Bonificação via Rotina Automática:

Bloco de código
linenumberstrue
#Include 'protheus.ch'
#Include 'topconn.ch'
#Include "tbiconn.ch"

//----------------------------------------------------------------------------
/*/{Protheus.doc} TSTFATA090
EjemploExemplo de ExecAuto para laa rutinarotina FATA090-MantenimientoManutenção dedas reglasRegras de bonificaciónBonificação

@author Squad CRM/FAT
@since 29/09/2023
@version 1.0
/*/
//----------------------------------------------------------------------------

User Function TSTFATA090()

Local aCab              as Array
Local aItens            as Array
Local aLinha            as Array
Local cCodRegra         as Char			//Código deda la reglaRegra
Local aErroAuto         as Array
Local nCount            as Numeric
Local cLogErro          as Char
Local cItem             as Char
Local nOpcX				as Numeric		//OpciónOpção para (3 = InclusiónInclusão; 4 = ModificaciónAlteração; 5 = BorradoExclusão)
Private lMsErroAuto		as Logical
Private lAutoErrNoFile	as Logical

// En esteNeste RDMAKE (EjemploExemplo), elo mismomesmo número de reglaregra de bonificaciónbonificação seé utilizautilizado para laa RutinaRotina automáticaAutomática (Modelos INCLUSIÓNINCLUSÃO / MODIFICACIÓNALTERAÇÃO ye BORRADOEXCLUSÃO).
//****************************************************************
//* AperturaAbertura deldo entornoambiente
//****************************************************************
FWLogMsg('WARN',, 'SIGAFAT', FunName(), '', '01', ("Inicio: " + Time()) , 0, 0, {})

RpcClearEnv()
RPCSetType(3) //NoNao realizafaz consumo de licencialicença
RPCSetEnv("T1", "D MG 01", Nil, Nil, "FAT")

//|---------------------------------|
//| InclusiónInclusão - InicioInício				|
//|---------------------------------|

cCodRegra := GetSxeNum("ACQ","ACQ_CODREG")
aCab      := {}
aItens    := {}

//|---------------------------------|
//| Completa encabezado             Preenche Cabeçalho				|
//|---------------------------------|
Aadd(aCab,{"ACQ_CODREG" ,cCodRegra                        ,Nil})
Aadd(aCab,{"ACQ_DESCRI" ,"REGLAREGRA DE BONIFICACIÓNBONIFICACAO "+cCodRegra,Nil})
Aadd(aCab,{"ACQ_CODPRO" ,"FATR00000000000000000000000032" ,Nil})
Aadd(aCab,{"ACQ_QUANT"  ,1                                ,Nil})
Aadd(aCab,{"ACQ_TPRGBN" ,"1"                              ,Nil})
	
//|---------------------------------|
//| CompletaPreenche ÍTEMSITENS 					|
//|---------------------------------|
aLinha := {}
Aadd(aLinha,{"ACR_ITEM"	  ,"001"                            ,Nil})
Aadd(aLinha,{"ACR_CODPRO" ,"FATR00000000000000000000000026" ,Nil})
Aadd(aItens,aLinha)

aLinha := {}
Aadd(aLinha,{"ACR_ITEM"	  ,"002"                            ,Nil})
Aadd(aLinha,{"ACR_CODPRO" ,"FATR00000000000000000000000027" ,Nil})
Aadd(aItens,aLinha)

//|-----------------------------|
//| Gera Generaa ReglaRegra de Bonificação bonificación|
//|-----------------------------|
nOpcX		    := 3
lAutoErrNoFile	:= .F.
MSExecAuto({|a,b,c,d| FATA090(a,b,c)}, aCab, aItens, nOpcx)

If lMsErroAuto
    FWLogMsg('WARN',, 'SIGAFAT', FunName(), '', '02', "¡ErrorErro enna la inclusióninclusao!" , 0, 0, {})
    aErroAuto := GetAutoGRLog()
    For nCount := 1 To Len(aErroAuto)
       cLogErro += StrTran(StrTran(aErroAuto[nCount], "<", ""), "-", "") + " "
       FWLogMsg('WARN',, 'SIGAFAT', FunName(), '', '03', cLogErro , 0, 0, {})
       ConOut(cLogErro)
    Next
Else
    FWLogMsg('WARN',, 'SIGAFAT', FunName(), '', '04', ("¡IncluidoIncluido concom éxitosucesso! "+cCodRegra) , 0, 0, {})
EndIf
//|---------------------------------|
//| InclusiónInclusão - FinalFim  				|
//|---------------------------------|


//|---------------------------------|
//| ModificaciónAlteração - InicioInício			  	    |
//|---------------------------------|
ACQ->(DbSetOrder(1))
If ACQ->(DbSeek(xFilial("ACQ")+cCodRegra))
    aCab      := {}
    aItens    := {}

    //|---------------------------------|
    //| Completa encabezado             Preenche Cabeçalho				|
    //|---------------------------------|
    Aadd(aCab,{"ACQ_CODREG" ,ACQ->ACQ_CODREG    ,Nil})
    Aadd(aCab,{"ACQ_DESCRI" ,ACQ->ACQ_DESCRI    ,Nil})
    Aadd(aCab,{"ACQ_CODPRO" ,ACQ->ACQ_CODPRO    ,Nil})
    Aadd(aCab,{"ACQ_QUANT"  ,2                  ,Nil}) //ModificandoAlterando laa cantidadquantidade quea seser bonificarábonificada apara 2
    Aadd(aCab,{"ACQ_TPRGBN" ,ACQ->ACQ_TPRGBN    ,Nil})
        
    //|---------------------------------|
    //| CompletaPreenche ÍTEMSITENS 					|
    //|---------------------------------|
    ACR->(DbSetOrder(1))
    If ACR->(DbSeek(xFilial("ACR")+cCodRegra))
        While ACR->(!Eof()) .And. ACR->ACR_CODREG == cCodRegra
            aLinha := {}
            Aadd(aLinha,{"LINPOS"     ,"ACR_ITEM"      ,ACR->ACR_ITEM})
            Aadd(aLinha,{"AUTDELETA"  ,"N"             ,Nil          })
            Aadd(aLinha,{"ACR_CODPRO" ,ACR->ACR_CODPRO ,Nil          })
            Aadd(aItens,aLinha)
            cItem := ACR->ACR_ITEM
            ACR->(DbSkip())
        End

        //Agregando el ítem        Adicionando o item
        aLinha := {}
        Aadd(aLinha,{"ACR_ITEM"	  ,(cItem := Soma1(cItem))          ,Nil})
        Aadd(aLinha,{"ACR_CODPRO" ,"FATR00000000000000000000000028" ,Nil})
        Aadd(aItens,aLinha)

        //Agregando el ítem        Adicionando o item
        aLinha := {}
        Aadd(aLinha,{"ACR_ITEM"	  ,(cItem := Soma1(cItem))          ,Nil})
        Aadd(aLinha,{"ACR_CODPRO" ,"FATR00000000000000000000000029" ,Nil})
        Aadd(aItens,aLinha)
    EndIf

    //|-------------------------------|
    //| Altera Modificaa ReglaRegra de bonificaciónBonificação |
    //|-------------------------------| 
	nOpcX		    := 4
    lMsErroAuto		:= .F.
    lAutoErrNoFile	:= .F.     
	MSExecAuto({|a,b,c,d| FATA090(a,b,c)}, aCab, aItens,  nOpcX )
    If lMsErroAuto
        FWLogMsg('WARN',, 'SIGAFAT', FunName(), '', '05', "¡ErrorErro enna la modificaciónalteração!" , 0, 0, {})
        aErroAuto := GetAutoGRLog()
        For nCount := 1 To Len(aErroAuto)
            cLogErro += StrTran(StrTran(aErroAuto[nCount], "<", ""), "-", "") + " "
            FWLogMsg('WARN',, 'SIGAFAT', FunName(), '', '06', cLogErro , 0, 0, {})
            ConOut(cLogErro)
        Next
    Else
        FWLogMsg('WARN',, 'SIGAFAT', FunName(), '', '07', ("¡ModificadoAlterado concom éxitosucesso! "+cCodRegra) , 0, 0, {})
    EndIf
EndIf
//|---------------------------------|
//| ModificaciónAlteração - FinalFim             				|
//|---------------------------------|

//|---------------------------------|
//| BorradoExclusão - Inicio                Início				|
//|---------------------------------|
ACQ->(DbSetOrder(1))
If ACQ->(DbSeek(xFilial("ACQ")+cCodRegra))
    aCab      := {}
    aItens    := {}

    //|---------------------------------|
    //| Completa encabezado             Preenche Cabeçalho				|
    //|---------------------------------|
    Aadd(aCab,{"ACQ_CODREG" ,ACQ->ACQ_CODREG ,Nil})
    Aadd(aCab,{"ACQ_DESCRI" ,ACQ->ACQ_DESCRI ,Nil})
    Aadd(aCab,{"ACQ_CODPRO" ,ACQ->ACQ_CODPRO ,Nil})
    Aadd(aCab,{"ACQ_QUANT"  ,ACQ->ACQ_QUANT  ,Nil})
    Aadd(aCab,{"ACQ_TPRGBN" ,ACQ->ACQ_TPRGBN ,Nil})
        
    //|---------------------------------|
    //| CompletaPreenche ÍTEMSITENS 					|
    //|---------------------------------|
    ACR->(DbSetOrder(1))
    If ACR->(DbSeek(xFilial("ACR")+cCodRegra))
        While ACR->(!Eof()) .And. ACR->ACR_CODREG == cCodRegra
            aLinha := {}
            Aadd(aLinha,{"ACR_ITEM"	  ,ACR->ACR_ITEM   ,Nil})
            Aadd(aLinha,{"ACR_CODPRO" ,ACR->ACR_CODPRO ,Nil})
            Aadd(aItens,aLinha)
            ACR->(DbSkip())
        End
    EndIf

    //|-------------------------------|
    //| Exclui Borraa ReglaRegra de bonificación  Bonificação |
    //|-------------------------------| 
	nOpcX		    := 5
    lMsErroAuto		:= .F.
    lAutoErrNoFile	:= .F.
    MSExecAuto({|a,b,c,d| FATA090(a,b,c)}, aCab, aItens, nOpcX)

    If lMsErroAuto
        FWLogMsg('WARN',, 'SIGAFAT', FunName(), '', '08', "¡ErrorErro enna el borradoexclusão!" , 0, 0, {})
        aErroAuto := GetAutoGRLog()
        For nCount := 1 To Len(aErroAuto)
            cLogErro += StrTran(StrTran(aErroAuto[nCount], "<", ""), "-", "") + " "
            FWLogMsg('WARN',, 'SIGAFAT', FunName(), '', '09', cLogErro , 0, 0, {})
            ConOut(cLogErro)
        Next
    Else
        FWLogMsg('WARN',, 'SIGAFAT', FunName(), '', '10', ("¡BorradoExcluido concom éxitosucesso! "+cCodRegra) , 0, 0, {})
    EndIf
EndIf
//|---------------------------------|
//| BorradoExclusão - Final  Fim                				|
//|---------------------------------|

RpcClearEnv()

Return