Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Descrição

Função utilizada para geração da Previsão de Vendas via rotina automática (ExecAuto)

Exemplos


Bloco de código
languagephp
linenumberstrue
#INCLUDE "PROTHEUS.CH"


#INCLUDE "TBICONN.CH"


User Function
MAT700
 MATA700()
Local lOk


    Local lOk := .T.

    Local aDados := {}

Local nX := 0

PRIVATE lMsErroAuto := .F.

PRIVATE lAutoErrNoFile := .T.

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//| Abertura do ambiente |

//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


    Local nOpcao := 4 // Inclusão = 3 // Alteração = 4 // Exclusão = 5

    PRIVATE lMsErroAuto := .F.
    PRIVATE lAutoErrNoFile := .T.


    //===============================================================//
    //                     Abertura do ambiente                      //
    //===============================================================//

    ConOut(Repl("-",80))
PREPARE ENVIRONMENT EMPRESA


    PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "FAT" TABLES "SB1","SC4"

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//| Verificacao do ambiente para teste |

//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

dbSelectArea("SB1")

 

 

...



    //===============================================================//
    //              Verificação do ambiente para teste               //
    //===============================================================//

    dbSelectArea("SB1")
    dbSetOrder(1)
	
	//Campo B1_COD - Verifica se o produto existe.
    If !SB1->(MsSeek(xFilial("SB1")+"

...

Cod_Produto"))

...


        lOk := .F.

...


        ConOut("

...

Necessario cadastrar Produto:

...

 Cod_Produto")

...


    EndIf
    
    ConOut("Inicio: "+Time())

...


    
    //===============================================================//
    //                          INCLUSÃO                             //
    //===============================================================//  

    If lOk .and. nOpcao == 3
        ConOut(PadC("Teste de Inclusao da Previsao de Vendas",80))

...



        aadd(aDados,{

...

"C4_PRODUTO"  ,"

...

Cod_Produto"       ,Nil})

...

  //Campo B1_COD
        aadd(aDados,{

...

"C4_LOCAL"    ,"01"                ,Nil

...

})

...


        aadd(aDados,{

...

"C4_DOC"      ,"

...

Desc_Produto"      ,Nil})

...

  //Campo B1_DESC
        aadd(aDados,{

...

"C4_QUANT"    ,1                   ,Nil})

...


        aadd(aDados,{

...

"C4_VALOR"    ,1                   ,Nil})

...


		//Pode ser utilizado da seguinte forma [ Date() +10 ] para somar a data atual até chegar a desejada
        aadd(aDados,{

...

"C4_DATA"     ,Date()              ,Nil

...

})

...

  .
        aadd(aDados,{

...

"C4_OBS"      ,"TESTE"             ,Nil})

...



        MATA700(aDados,3)

...

aDados := {}


        
        If !lMsErroAuto
            ConOut("Inclusão realizada com sucesso!")
        Else
            aErro := GetAutoGRLog()
            cErro := "Nao foi possivel realizar inclusao"
            Conout( cErro )
        EndIf

    //===============================================================//
    //                          ALTERAÇÃO                            //
    //===============================================================// 

    ElseIf lOk .and. nOpcao == 4
        aDados := {}
        ConOut(PadC("Teste de

...

 Alteracao da Previsao de Vendas",80))

...



		//NÃO é possível fazer alteração de data, é necessário que a data esteja igual a de inclusão.

		//Necessário que o campo esteja exatamente igual ao banco.
        aadd(aDados,{

...

"C4_PRODUTO"   ,"

...

Cod_Produto"     ,Nil})

...

  //Campo B1_COD
        aadd(aDados,{

...

"C4_LOCAL"     ,"01"              ,Nil})

...


		//Necessário que o campo esteja exatamente igual ao banco.
        aadd(aDados,{

...

"C4_DOC"       ,"

...

Desc_Produto"    ,Nil})

...

  //Campo B1_DESC
        aadd(aDados,{

...

"C4_QUANT"

...

     ,20                ,Nil})

...


        aadd(aDados,{

...

"C4_VALOR"

...

     ,20                ,Nil})

...


		//É necessário que a data esteja igual a de inclusão.
        aadd(aDados,{

...

"C4_DATA"      ,Date()            ,Nil})

...

  
        aadd(aDados,{

...

"C4_OBS"       ,"TESTE

...

"           ,Nil})

...



        MATA700(aDados,4)

...



        If !lMsErroAuto
            ConOut("Alteracao realizada com sucesso! ")

...

aDados := {}


        Else
            aErro := GetAutoGRLog()
            cErro := "Nao foi possivel realizar alteracao!"
            Conout( cErro )
        EndIf

    //===============================================================//
    //                           EXCLUSÃO                            //
    //===============================================================//  

    ElseIf lOk .and. nOpcao == 5
        aDados := {}
        ConOut(PadC("Teste de Exclusao da

...

 Previsão de Vendas",80))

...



		//Necessário que o campo esteja exatamente igual ao banco.
        aadd(aDados,{

...

"C4_PRODUTO"   ,"

...

Cod_Produto"     ,Nil})   //Campo B1_COD
		//Necessário colocar data, pois podem existir varias previsões de venda do mesmo produto com datas diferentes.
        aadd(aDados,{"C4_DATA"      ,Date()            ,Nil})    
																
        MATA700(aDados,5)

...



        If !lMsErroAuto
            ConOut("Exclusao realizada com sucesso! ")

...


        Else
            aErro := GetAutoGRLog()
            cErro := "Nao foi possivel realizar exclusao!"
            Conout( cErro )
        EndIf
    EndIf

    ConOut("Fim : "+Time())

...

RESET ENVIRONMENT



    RESET ENVIRONMENT

Return(.T.)

Preview

Veja também


Tabelas utilizadasSB1 e SC4

Idioma

Português(Brasil)

Versões

Microsiga_Protheus10_e_Microsiga_Protheus11

Protheus 12 e Protheus 11

Sistemas Operacionais Suportados

Todos

Compatível com as Bases de Dados

TOTVSDBAccess

Updates

Parâmetros

Retorno

Eventos de chamada do Ponto de Entrada

Variáveis

Programa Fonte

MATA7100

MATA700.

PRX

PRW