Tiempo aproximado de lectura 00:03:00 min
Duda
¿Es posible realizar la eliminación por Execauto en la MATA123 Purchase Order?
Entorno
Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Compras (SIGACOM) - A partir de la versión 12
Solución
Si, es posible realizar la eliminación por Execauto en la MATA123 tomando como base estándar el siguiente ejemplo:
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function xMata123_5()
//Variables
Local aCab := {} // Array con datos de encabezado
Local aLin := {} // Array con datos de Ítem
Local aItem := {} // Array de Ítems
Local cDoc := " "
Local nOpc := 5 // Opción a realizar en este caso inclusión
Private lMsErroAuto := .F. // Control de ejecución de rutina
cDoc := FWInputBox("Número de Purchase Order a eliminar", "")
// Encabezado
AAdd( aCab, { "C7_NUM" , cDoc , Nil })
AAdd( aCab, { "C7_FORNECE" , "MI9075" , Nil })
AAdd( aCab, { "C7_LOJA" , "01" , Nil })
AAdd( aCab, { "C7_EMISSAO" , dDataBase , Nil })
AAdd( aCab, { "C7_COND" , "001" , Nil })
AAdd( aCab, { "C7_FILIAL" , xFilial("SC7") , Nil })
AAdd( aCab, { "C7_DT_IMP" , dDataBase , Nil })
AAdd( aCab, { "C7_IMPORT" , "001" , Nil })
AAdd( aCab, { "C7_MOEDA" , 1 , Nil })
AAdd( aCab, { "C7_TXMOEDA" , 0 , Nil })
AAdd( aCab, { "C7_COMPRA" , "001" , Nil })
AAdd( aCab, { "C7_DESP" , "001" , Nil })
AAdd( aCab, { "C7_AGENTE" , "001" , Nil })
AAdd( aCab, { "C7_TIPO_EM" , "001" , Nil })
AAdd( aCab, { "C7_ORIGIMP" , "V" , Nil })
AAdd( aCab, { "C7_DEST" , "V" , Nil })
AAdd( aCab, { "C7_INCOTER" , "001" , Nil })
AAdd( aCab, { "C7_CONTATO" , " " , Nil })
AAdd( aCab, { "C7_FILENT" , xFilial("SC7") , Nil })
AAdd( aCab, { "C7_NATUREZ" , "" , Nil })
// Items
AAdd( aLin, { "C7_ITEM" , "0001" , Nil })
AAdd( aLin, { "C7_PRODUTO" , " PRD01 " , Nil })
AAdd( aLin, { "C7_UM" , "UN" , Nil })
AAdd( aLin, { "C7_QUANT" , 1 , Nil })
AAdd( aLin, { "C7_PRECO" , 100.00 , Nil })
AAdd( aLin, { "C7_TOTAL" , 100.00 , Nil })
AAdd( aLin, { "C7_ITEMSC" , "0001" , Nil })
AAdd( aLin, { "C7_NUMSC" , "000002" , Nil })
AAdd( aLin, { "C7_QTDSOL" , 1 , Nil })
AAdd( aLin, { "C7_MOEDA" , 1 , Nil })
AAdd( aLin, { "C7_TXMOEDA" , 0 , Nil })
AAdd( aLin, { "C7_TES" , "001" , Nil })
AAdd( aLin, { "LINPOS" , "C7_ITEM" , "0001" })
aLin := {}
AAdd( aLin, { "C7_ITEM" , "0002" , Nil })
AAdd( aLin, { "C7_PRODUTO" , "PRD02 " , Nil })
AAdd( aLin, { "C7_UM" , "UN" , Nil })
AAdd( aLin, { "C7_QUANT" , 1 , Nil })
AAdd( aLin, { "C7_PRECO" , 100.00 , Nil })
AAdd( aLin, { "C7_TOTAL" , 100.00 , Nil })
AAdd( aLin, { "C7_ITEMSC" , "0002" , Nil })
AAdd( aLin, { "C7_NUMSC" , "000002" , Nil })
AAdd( aLin, { "C7_QTDSOL" , 1 , Nil })
AAdd( aLin, { "C7_MOEDA" , 1 , Nil })
AAdd( aLin, { "C7_TXMOEDA" , 0 , Nil })
AAdd( aLin, { "C7_TES" , "001" , Nil })
AAdd( aItem, aLin)
// Ejecuta Rutina Automática
MSExecAuto( { |x,y,z| MATA123(x,y,z) }, aCab, aItem, nOpc )
If lMsErroAuto
MsgStop("Error en la eliminación de la purchase order!")
MostraErro()
Else
msgInfo("Purchase Order eliminada: " + cDoc, "MsExecAuto MATA123")
EndIf
Return
Para mayor detalle siga el enlace: Rutina Automática de Purchase Order (Mata123) - ExecAuto - CHI
0 Comentarios