Tiempo aproximado de lectura 00:03:00 min
Duda
¿Es posible realizar la inclusió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 inclusión por Execauto en la MATA123 tomando como base estándar el siguiente ejemplo:
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
// Ejemplo Inclusión de Pursache Order MATA123 //
User Function xMata123_3()
//Variables
Local aCab := {} // Array con datos de encabezado
Local aLin := {} // Array con datos de Ítem
Local aItem := {} // Array de Ítems
Local cDoc := " "
Local nOpc := 3 // Opción a realizar en este caso inclusión
Private lMsErroAuto := .F. // Control de ejecución de rutina
dbSelectArea("SC7")
//Encuentra el número correspondiente de la PO
cDoc := GetSXENum("SC7","C7_NUM")
SC7->(dbSetOrder(1))
While SC7->(dbSeek(xFilial("SC7")+cDoc))
ConfirmSX8()
cDoc := GetSXENum("SC7","C7_NUM")
EndDo
// 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" , "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| MATA123(x,y) }, aCab, aItem, nOpc )
If lMsErroAuto
MsgStop("Error en la grabación de la purchase order!")
MostraErro()
Else
msgInfo("Purchase Order incluida: " + cDoc, "MsExecAuto MATA123")
EndIf
Return
Para mayor detalle siga el enlace: Rutina Automática de Purchase Order (Mata123) - ExecAuto - CHI
0 Comentarios