Tiempo aproximado de lectura 00:03:00 min
Duda
Inclusión por Execauto en la MATA121 considerando un descuento a través del campo C7_DESC1/C7_DESC2/C7_DESC3
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 MATA121 considerando un descuento a través del campo C7_DESC1/C7_DESC2/C7_DESC3 tomando como base estándar el siguiente ejemplo:
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function EXEC120()
Local aCabec := {}
Local aItens := {}
Local aLinha := {}
Local nX := 0
Local cDoc := ""
Local nOpc := 3
PRIVATE lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM"
dbSelectArea("SC7")
//Teste de Inclusão
If nOpc == 3
cDoc := GetSXENum("SC7","C7_NUM")
SC7->(dbSetOrder(1))
While SC7->(dbSeek(xFilial("SC7")+cDoc))
ConfirmSX8()
cDoc := GetSXENum("SC7","C7_NUM")
EndDo
Endif
aadd(aCabec,{"C7_NUM" ,cDoc})
aadd(aCabec,{"C7_EMISSAO" ,dDataBase})
aadd(aCabec,{"C7_FORNECE" ,"COM002"})
aadd(aCabec,{"C7_LOJA" ,"01"})
aadd(aCabec,{"C7_COND" ,"000"})
aadd(aCabec,{"C7_CONTATO" ,"AUTO"})
aadd(aCabec,{"C7_FILENT" ,cFilAnt})
aadd(aCabec,{"C7_DESC1" ,10})
aadd(aCabec,{"C7_DESC2" ,20})
aadd(aCabec,{"C7_DESC3" ,50})
For nX := 1 To 2
aLinha := {}
aadd(aLinha,{"C7_ITEM" ,StrZero(nX,TamSX3("C7_ITEM")[1]),Nil})
aadd(aLinha,{"C7_PRODUTO" ,"01",Nil})
aadd(aLinha,{"C7_QUANT" ,1 ,Nil})
aadd(aLinha,{"C7_PRECO" ,nX*1000 ,Nil})
aadd(aLinha,{"C7_TOTAL" ,nX*1000 ,Nil})
Next nX
MSExecAuto({|a,b,c,d,e,f,g| MATA120(a,b,c,d)},1,aCabec,aItens,nOpc)
If !lMsErroAuto
ConOut("Incluido PC: " + cDoc)
Else
ConOut("Erro na inclusao!")
MostraErro()
EndIf
RESET ENVIRONMENT
Return
Para mayor detalle siga el enlace: PCOM04018 - Rotina Automática Pedido de Compras (MATA120) - ExecAuto
0 Comentarios