Árvore de páginas

DescriçãoFunção utilizada para geração de orçamentos via rotina automática (ExecAuto).
Exemplos

Function MyMata415()

Local aCabec := {}

Local aItens := {}

Local aLinha := {}

Local nX     := 0

Local nY     := 0

Local cDoc   := ""

Local lOk    := .T.

PRIVATE lMsErroAuto := .F.

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

//| Abertura do ambiente                                                 |

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

ConOut(Repl("-",80))

ConOut(PadC("Teste de Inclusao de 10 orcamentos de venda  com 30 itens cada",80))

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "FAT" TABLES "SC5","SC6","SA1","SA2","SB1","SB2","SF4","SCJ","SCK","SCL"

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

//| Verificacao do ambiente para teste                           |

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

dbSelectArea("SB1")

dbSetOrder(1)

If !SB1->(MsSeek(xFilial("SB1")+"PA001"))

    lOk := .F.

    ConOut("Cadastrar produto: PA001")

EndIf

dbSelectArea("SF4")

dbSetOrder(1)

If !SF4->(MsSeek(xFilial("SF4")+"501"))

    lOk := .F.

    ConOut("Cadastrar TES: 501")

EndIf

dbSelectArea("SE4")

dbSetOrder(1)

If !SE4->(MsSeek(xFilial("SE4")+"001"))

    lOk := .F.

    ConOut("Cadastrar condicao de pagamento: 001")

EndIf

If !SB1->(MsSeek(xFilial("SB1")+"PA002"))

    lOk := .F.

    ConOut("Cadastrar produto: PA002")

EndIf

dbSelectArea("SA1")

dbSetOrder(1)

If !SA1->(MsSeek(xFilial("SA1")+"CL000101"))

    lOk := .F.

    ConOut("Cadastrar cliente: CL000101")

EndIf

If lOk

    ConOut("Inicio: "+Time())

    For nY := 1 To 1

        cDoc := GetSxeNum("SCJ","CJ_NUM")

        RollBAckSx8()

        aCabec := {}

        aItens := {}

        aadd(aCabec,\{\"CJ_NUM"   ,cDoc,Nil\}\)

        aadd(aCabec,\{\"CJ_CLIENTE",SA1->A1_COD,Nil\}\)

        aadd(aCabec,\{\"CJ_LOJA",SA1->A1_LOJA,Nil\}\)

        aadd(aCabec,\{\"CJ_LOJAENT",SA1->A1_LOJA,Nil\}\)

        aadd(aCabec,\{\"CJ_CONDPAG",SE4->E4_CODIGO,Nil\}\)

        For nX := 1 To 1

            aLinha := {}

            aadd(aLinha,\{\"CK_ITEM",StrZero(nX,2),Nil\}\)

            aadd(aLinha,\{\"CK_PRODUTO",SB1->B1_COD,Nil\}\)

            aadd(aLinha,\{\"CK_QTDVEN",1,Nil\}\)

            aadd(aLinha,\{\"CK_PRCVEN",100,Nil\}\)

            aadd(aLinha,\{\"CK_PRUNIT",100,Nil\}\)           

            aadd(aLinha,\{\"CK_VALOR",100,Nil\}\)

            aadd(aLinha,\{\"CK_TES","501",Nil\}\)

            aadd(aItens,aLinha)

        Next nX

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

        //| Teste de Inclusao                                            |

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

        MATA415(aCabec,aItens,3)

        If !lMsErroAuto

            ConOut("Incluido com sucesso! "+cDoc)   

        Else

            ConOut("Erro na inclusao!")

        EndIf

    Next nY

    ConOut("Fim  : "+Time())

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

    //| Teste de alteracao                                           |

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

    aCabec := {}

    aItens := {}

    aadd(aCabec,\{\"CJ_NUM",cDoc,Nil\}\)

    aLinha := {}

    aadd(aLinha,\{\"LINPOS","CK_ITEM","01"\}\)

    aadd(aLinha,\{\"AUTDELETA","S",Nil\}\)

    aadd(aItens,aLinha)

    For nX := 2 To 2

        aLinha := {}

        aadd(aLinha,\{\"CK_ITEM",StrZero(nX,2),Nil\}\)

        aadd(aLinha,\{\"CK_PRODUTO",SB1->B1_COD,Nil\}\)

        aadd(aLinha,\{\"CK_QTDVEN",2,Nil\}\)

        aadd(aLinha,\{\"CK_PRCVEN",100,Nil\}\)

        aadd(aLinha,\{\"CK_PRUNIT",100,Nil\}\)           

        aadd(aLinha,\{\"CK_VALOR",200,Nil\}\)

        aadd(aLinha,\{\"CK_TES","501",Nil\}\)

        aadd(aItens,aLinha)

    Next nX   

    ConOut(PadC("Teste de alteracao",80))

    ConOut("Inicio: "+Time())

    MATA415(aCabec,aItens,4)

    ConOut("Fim  : "+Time())

    ConOut(Repl("-",80))

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

    //| Teste de Exclusao                                            |

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

    ConOut(PadC("Teste de exclusao",80))

    ConOut("Inicio: "+Time())

    MATA415(aCabec,aItens,5)

    If !lMsErroAuto

        ConOut("Exclusao com sucesso! "+cDoc)   

    Else

        ConOut("Erro na exclusao!")

    EndIf

    ConOut("Fim  : "+Time())

    ConOut(Repl("-",80))

EndIf

RESET ENVIRONMENT

Return

IdiomaPortuguês(Brasil)
VersõesMicrosiga Protheus 10 e Microsiga Protheus 11
Sistemas Operacionais SuportadosTodos
Compatível com as Bases de DadosTodas
Parâmetros

aAutocab - array contendo campos de cabeçalho

aAutoIte - array contendo campos de itens

nOpcAuto - 3- Incluir / 4- Alterar / 5- Excluir 

Programa FonteMATA415.PRX