Descripción

Función utilizada para generar cotizaciones a través de la rutina automática (ExecAuto).

Ejemplos

Function MyMata415()

Local aCabec := {}

Local aItens := {}

Local aLinha := {}

Local nX     := 0

Local nY     := 0

Local cDoc   := ""

Local lOk    := .T.

PRIVATE lMsErroAuto := .F.

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

//| Apertura del entorno                                                 |

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

ConOut(Repl("-",80))

ConOut(PadC("Prueba de Inclusión de 10 presupuestos de venta  con 30 ítems cada uno",80))

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

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

//| Verificación del entorno para prueba                           |

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

dbSelectArea("SB1")

dbSetOrder(1)

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

    lOk := .F.

    ConOut("Registrar producto: PA001")

EndIf

dbSelectArea("SF4")

dbSetOrder(1)

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

    lOk := .F.

    ConOut("Registrar TES: 501")

EndIf

dbSelectArea("SE4")

dbSetOrder(1)

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

    lOk := .F.

    ConOut("Registrar condición de pago: 001")

EndIf

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

    lOk := .F.

    ConOut("Registrar producto: PA002")

EndIf

dbSelectArea("SA1")

dbSetOrder(1)

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

    lOk := .F.

    ConOut("Registrar 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

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

        //| Prueba de inclusión                                            |

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

        MATA415(aCabec,aItens,3)

        If !lMsErroAuto

            ConOut("¡Incluido con éxito! "+cDoc)   

        Else

            ConOut("¡Error en la inclusión!")

        EndIf

    Next nY

    ConOut("Final: "+Time())

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

    //| Prueba de modificación                                           |

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

    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("Prueba de modificación",80))

    ConOut("Inicio: "+Time())

    MATA415(aCabec,aItens,4)

    ConOut("Final: "+Time())

    ConOut(Repl("-",80))

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

    //| Prueba de borrado                                            |

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

    ConOut(PadC("Prueba de borrado",80))

    ConOut("Inicio: "+Time())

    MATA415(aCabec,aItens,5)

    If !lMsErroAuto

        ConOut("¡Borrado con éxito! "+cDoc)   

    Else

        ConOut("¡Error en el borrado!")

    EndIf

    ConOut("Final: "+Time())

    ConOut(Repl("-",80))

EndIf

RESET ENVIRONMENT

Return

Idioma

Portugués (Brasil)

Versiones

Microsiga Protheus 10 e Microsiga Protheus 11

Sistemas operativos compatibles

Todos

Compatible con las bases de datos

Todos

Parámetros

aAutocab - Array que contiene campos de encabezado

aAutoITE - Array que contiene campos de elementos

nOpcAuto - 3- Incluir / 4- Modificar / 5- Borrar 

Programa fuente

MATA415.PRX