Línea de producto: | Microsiga Protheus | ||||
Segmento: | Servicios | ||||
Módulo: | Facturación | ||||
Rutina: |
| ||||
País(es): | Todos | ||||
Base(s) de datos: | Todas | ||||
Tablas utilizadas: | DA0 - Encabezado de la lista de precio DA1 - Ítems de la lista de precio | ||||
Sistema(s) operativo(s): | Windows / Linux |
Ejecutar la rutina automática de mantenimiento de las listas de precio.
Tipo de ejecución para la rutina automática.
3 = "Incluir"
4 = "Modificar"
5 = "Borrar"
Descripción: | Execauto de mantenimiento de las listas de precio | ||||||||||||||||
Ubicación: | OMSA010.PRX | ||||||||||||||||
Eventos: | 3 = "Incluir" | ||||||||||||||||
Parámetros: |
|
Ejemplo:
//Obs: Este modelo de utilización solamente es válido para el release 11.8 y versiones futuras.
#include "totvs.ch" #include "tbiconn.ch" #include "fwmvcdef.ch" User Function MyOMSA010() Local aCabec := {} Local aItens := {} Local aLinha := {} Local nY := 0 Local lOk := .T. PRIVATE lMsErroAuto := .F. ConOut(Repl("-",80)) //???????????????????????????????? //| Verificación del entorno para prueba | //???????????????????????????????? dbSelectArea("SB1") dbSetOrder(1) If !SB1->(MsSeek(xFilial("SB1")+"PA001")) lOk := .F. ConOut("Registrar producto: PA001") EndIf If !SB1->(MsSeek(xFilial("SB1")+"PA002")) lOk := .F. ConOut("Registrar producto: PA002") EndIf If lOk ConOut("Inicio: "+Time()) //???????????????????????????????? //| Prueba de inclusión | //???????????????????????????????? For nY := 1 To 1 aCabec := {} aItens := {} aadd(aCabec,{"DA0_DESCRI" ,"PRUEBA DE TABLA",Nil}) aLinha := {} aadd(aLinha,{"DA1_ITEM","0001"}) aadd(aLinha,{"DA1_CODPRO","PA001"}) aadd(aLinha,{"DA1_PRCVEN",10,Nil}) aadd(aItens,aLinha) aLinha := {} aadd(aLinha,{"DA1_ITEM","0002"}) aadd(aLinha,{"DA1_CODPRO","PA002"}) aadd(aLinha,{"DA1_PRCVEN",10,Nil}) aadd(aItens,aLinha) MSExecAuto({|x,y,z| Omsa010(x,y,z)},aCabec,aItens,3) If !lMsErroAuto ConOut("¡Incluido con éxito! ") Else ConOut("¡Error en la inclusión!") EndIf Next nY ConOut("Final : "+Time()) //???????????????????????????????? //| Prueba de modificación | //???????????????????????????????? aCabec := {} aItens := {} For nY := 1 To 1 aCabec := {} aItens := {} aadd(aCabec,{"DA0_CODTAB" ,DA0->DA0_CODTAB,Nil}) aadd(aCabec,{"DA0_DESCRI" ,"TESTE DE TABELA",Nil}) aLinha := {} aadd(aLinha,{"LINPOS","DA1_ITEM","0001"}) aadd(aLinha,{"AUTDELETA","N",Nil}) aadd(aLinha,{"DA1_CODPRO","PA001"}) aadd(aLinha,{"DA1_PRCVEN",11,Nil}) aadd(aItens,aLinha) aLinha := {} aadd(aLinha,{"LINPOS","DA1_ITEM","0002"}) aadd(aLinha,{"AUTDELETA","N",Nil}) aadd(aLinha,{"DA1_CODPRO","PA002"}) aadd(aLinha,{"DA1_PRCVEN",11,Nil}) aadd(aItens,aLinha) Next nY ConOut(PadC("Prueba de modificación",80)) ConOut("Inicio: "+Time()) MSExecAuto({|x,y,z| Omsa010(x,y,z)},aCabec,aItens,4) ConOut("Final : "+Time()) ConOut(Repl("-",80)) //???????????????????????????????? //| Prueba de borrado | //???????????????????????????????? ConOut(PadC("Prueba de borrado",80)) ConOut("Inicio: "+Time()) MSExecAuto({|x,y,z| Omsa010(x,y,z)},aCabec,aItens,5) If !lMsErroAuto ConOut("¡Borrado con éxito! "+DA0->DA0_CODTAB) Else ConOut("¡Error en el borrado!") EndIf ConOut("Final : "+Time()) ConOut(Repl("-",80)) EndIf Return
#include "totvs.ch" #include "tbiconn.ch" #include "fwmvcdef.ch" User Function MyOMSA010() Local aCabec := {} Local aItens := {} Local aLinha := {} Local nY := 0 Local lOk := .T. PRIVATE lMsErroAuto := .F. ConOut(Repl("-",80)) ConOut(PadC("Prueba de modificación de 1 lista de precio",80)) //???????????????????????????????? //| Verificación del entorno para prueba | //???????????????????????????????? dbSelectArea("SB1") dbSetOrder(1) If !SB1->(MsSeek(xFilial("SB1")+"PA001")) lOk := .F. ConOut("Registrar producto: PA001") EndIf If !SB1->(MsSeek(xFilial("SB1")+"PA002")) lOk := .F. ConOut("Registrar producto: PA002") EndIf If !SB1->(MsSeek(xFilial("SB1")+"PA003")) lOk := .F. ConOut("Registrar producto: PA003") EndIf If lOk ConOut("Inicio: "+Time()) //???????????????????????????????? //| Prueba de modificación //| En este ejemplo se realizarán tres cambios: //| - Incluyendo condición de pago en el encabezado //| - Cambiando Valor del ítem 0001 //| - Borrando el ítem 0002 //???????????????????????????????? aCabec := {} aItens := {} For nY := 1 To 1 aCabec := {} aItens := {} aadd(aCabec,{"DA0_CODTAB" ,DA0->DA0_CODTAB,Nil}) aadd(aCabec,{"DA0_DESCRI" ,"PRUEBA DE LISTA",Nil}) aadd(aCabec,{"DA0_CONDPG" ,"001",Nil}) //Incluyendo condición de pago en el encabezado aLinha := {} aadd(aLinha,{"LINPOS","DA1_ITEM","0001"}) aadd(aLinha,{"AUTDELETA","N",Nil}) aadd(aLinha,{"DA1_CODPRO","PA001"}) aadd(aLinha,{"DA1_PRCVEN",50,Nil}) //Atribuyendo el valor 50 para este ítem aadd(aItens,aLinha) aLinha := {} aadd(aLinha,{"LINPOS","DA1_ITEM","0002"}) aadd(aLinha,{"AUTDELETA","S",Nil}) //Borrando el ítem 0002 aadd(aItens,aLinha) Next nY ConOut(PadC("Prueba de modificación",80)) ConOut("Inicio: "+Time()) MSExecAuto({|x,y,z| Omsa010(x,y,z)},aCabec,aItens,4) ConOut("Final : "+Time()) ConOut(Repl("-",80)) //???????????????????????????????? //| Prueba de modificación //| - Incluyendo un nuevo ítem en una lista //???????????????????????????????? aCabec := {} aItens := {} For nY := 1 To 1 aCabec := {} aItens := {} aadd(aCabec,{"DA0_CODTAB" ,DA0->DA0_CODTAB,Nil}) aadd(aCabec,{"DA0_DESCRI" ,"PRUEBA DE LISTA",Nil}) aLinha := {} aadd(aLinha,{"LINPOS","DA1_ITEM","0001"}) //Si no se informara LINPOS el ítem se sobrepondrá. aadd(aItens,aLinha) aLinha := {} aadd(aLinha,{"LINPOS","DA1_ITEM","0002"}) aadd(aItens,aLinha) aLinha := {} aadd(aLinha,{"DA1_ITEM","0003",Nil}) //Incluyendo el ítem 0003 sin que los ítems 0001 y 0002 estén afectados. aadd(aLinha,{"DA1_CODPRO","PA003"}) aadd(aLinha,{"DA1_PRCVEN",100,Nil}) aadd(aItens,aLinha) Next nY ConOut(PadC("Prueba de modificación",80)) ConOut("Inicio: "+Time()) MSExecAuto({|x,y,z| Omsa010(x,y,z)},aCabec,aItens,4) ConOut("Fim : "+Time()) ConOut(Repl("-",80)) ConOut("Final : "+Time()) ConOut(Repl("-",80)) EndIf Return