| Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | paso1 |
|---|
| - Desarrollar y compilar la rutina automática para la generación de facturas de salida ver pestaña "Ejemplo Inclusión".
- Configurar el menú para esta rutina, dentro del módulo Configurador (SIGACFG)| Entorno| Menús, agregar la opción en el menú para el módulo de "Compras (SIGACOM).
- En la rutina de Productos (MATA010) que se encuentra en el menú perteneciente al módulo Compras (Actualizaciones | Archivos) registre un producto.
- En la rutina de Proveedores (MATA020) que se encuentra en el menú perteneciente al módulo Compras (Actualizaciones | Archivos) registre un proveedor informando los campos obligatorios, adaptando la información según sean sus necesidades.
- En la rutina de Imp. Variables (MATA995) que se encuentra en el menú perteneciente al módulo de Compras (Actualizaciones | Archivos) configurar los impuestos necesarios.
- En el caso de la RC0(Retención del ICA) para mas información consulte el apartado "05. ASUNTOS RELACIONADOS"
- En la rutina de Tipos de Entrada Y Salida (MATA080) que se encuentra en el menú perteneciente al módulo Compras (Actualizaciones | Archivos) registre una TES de entrada con los impuestos deseados.
|
| Totvs custom tabs box items |
|---|
| - Por medio de la rutina Compras (Actualizaciones | Compras)
- Dentro del módulo "Compras (SIGACOM)", acceder a la opción del menú creado para la rutina automática y esperar la ejecución.
- Al finalizar la ejecución, acceder a la rutina "Compras (SIGACOM)", confirme que la factura de entrada se generó.
Validar el cálculo de los impuestos configurados.
|
| Totvs custom tabs box items |
|---|
| | Informações |
|---|
Cuando se utiliza el ExecAuto , la inicialización correcta de la variable Private lMsErrorAutoes el valor .F.,si se produce un error durante el ExecAuto, el sistema cambia automáticamente el valor de la variable lMsErrorAuto a .T. y muestra el error. |
MATA101N | Bloco de código |
|---|
| language | js |
|---|
| linenumbers | true |
|---|
| #INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
// Ejemplo de Factura de Entrada - Tipo - Normal //
User Function xMta101n()
Local aCab := {} // Array con datos de encabezado
Local aLin := {} // Array con datos de ítem
Local aItem := {} // Array de ítems
Local cDoc := "" // String con el número de documento
Private lMsErroAuto := .F. // Control de ejecución de rutina
cDoc := FWInputBox("Número de Factura", "") // Informar número de documento, ejemplo: "000000000001"
// Encabezado
AADD( aCab, { "F1_FILIAL" , xFilial("SF1") , Nil })
AAdd( aCab, { "F1_FORNECE" , "23878 ", Nil })
AAdd( aCab, { "F1_LOJA" , "01" , Nil })
AAdd( aCab, { "F1_SERIE" , "A" , Nil })
AAdd( aCab, { "F1_DOC" , cDoc , Nil })
AAdd( aCab, { "F1_TIPO" , "N" , Nil })
AAdd( aCab, { "F1_FORMUL" , "N" , Nil })
AAdd( aCab, { "F1_TIPODOC" , "10" , Nil })
AAdd( aCab, { "F1_ESPECIE" , "NF " , Nil })
AAdd( aCab, { "F1_EMISSAO" , dDataBase , Nil })
AAdd( aCab, { "F1_DTDIGIT" , dDataBase , Nil })
AAdd( aCab, { "F1_MOEDA" , 1 , Nil })
AAdd( aCab, { "F1_TXMOEDA" , 1 , Nil })
AAdd( aCab, { "F1_COND" , "001" , Nil })
AAdd( aCab, { "F1_EST" , "11" , Nil })
AAdd( aCab, { "F1_CODMUN" , "11001" , Nil })
AAdd( aCab, { "F1_TPACTIV" , "4923" , Nil })
AAdd( aCab, { "F1_NATUREZ" , "OTROS" , Nil })
AAdd( aCab, { "F1_TIPOPE" , "" , Nil })
AAdd( aCab, { "F1_DUPL" , cDoc , Nil }) // Informar título si hay integración financiera
// Items
AADD( aLin, { "D1_FILIAL" , xFilial("SD1") , Nil })
AADD( aLin, { "D1_ITEM" , "0001" , Nil })
AAdd( aLin, { "D1_COD" , "000001 " , Nil })
AAdd( aLin, { "D1_UM" , "UN" , Nil })
AAdd( aLin, { "D1_QUANT" , 1 , Nil })
AAdd( aLin, { "D1_VUNIT" , 2000.00 , Nil })
AAdd( aLin, { "D1_TOTAL" , 2000.00 , Nil })
AAdd( aLin, { "D1_TES" , "244" , Nil })
AAdd( aLin, { "D1_CF" , "111 " , Nil })
AAdd( aItem, aLin)
// Ejecuta Rutina Automática
MSExecAuto( { |x,y| MATA101N(x,y) }, aCab, aItem, 3 )
If lMsErroAuto
MsgStop("Error en la grabación de la factura!")
MostraErro()
Else
msgInfo("Factura de Entrada incluida: " + cDoc, "MsExecAuto MATA101N")
EndIf
Return
|
NUEVO COMPRAS COMA222 | Bloco de código |
|---|
| language | js |
|---|
| linenumbers | true |
|---|
| #INCLUDE 'protheus.ch'
#INCLUDE "FWMVCDEF.CH"
User Function autCom22()
Local oMdlTab
Local aError := {}
Local cMsj := "Registrado con exito."
Local cFornece := "23878 "
Local cLoja := "01"
Local cDoc := "090420240002"
Local cSerie := "A"
SetFunName("COMA222")
cDoc := FWInputBox("Numero de Factura", "")
// Se define el modelo LOCX10
oMdlTab := FwLoadModel("LOCX10")
// Se define la operación INSERT en el modelo
oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
// Se activa el modelo
oMdlTab:Activate()
//Encabezado - SF1
oMdlTab:SetValue('SF1_MASTER', "F1_FILIAL" , xFilial("SF1"))
oMdlTab:SetValue('SF1_MASTER', "F1_FORNECE" , cFornece )
oMdlTab:SetValue('SF1_MASTER', "F1_LOJA" , cLoja )
oMdlTab:SetValue('SF1_MASTER', "F1_DOC" , cDoc)
oMdlTab:SetValue('SF1_MASTER', "F1_SERIE" , cSerie)
oMdlTab:SetValue('SF1_MASTER', "F1_SERIE2" , cSerie)
oMdlTab:SetValue('SF1_MASTER', "F1_EMISSAO" , dDataBase)
oMdlTab:SetValue('SF1_MASTER', "F1_MOEDA" , 1)
oMdlTab:SetValue('SF1_MASTER', "F1_COND" , "001" )
oMdlTab:SetValue('SF1_MASTER',"F1_CODMUN" , "11001" )
oMdlTab:SetValue('SF1_MASTER', "F1_TPACTIV" , "A011100" )
//Detalle Items - SD1
oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL" , xFilial("SF1"))
oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM" , "0001" )
oMdlTab:SetValue('SD1_DETAIL', "D1_COD" , "000001 " )
oMdlTab:SetValue('SD1_DETAIL', "D1_DOC" , cDoc)
oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT" , 1)
oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT" , 2000)
oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL" , 2000)
oMdlTab:SetValue('SD1_DETAIL', "D1_TES" , "085")
oMdlTab:SetValue('SD1_DETAIL', "D1_CF" , "155 " )
//Se ejecuta el commit
If oMdlTab:VldData() // Se detonan las validaciones del modelo
// Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
oMdlTab:CommitData()
Endif
ALERT("FIN")
// Se obtienen los errores del modelo
aError := oMdlTab:GetErrorMessage()
If alltrim(aError[6]) <> ""
cMsj := aError[6]
Endif
ConOut("Mensaje de proceso: " + cMsj)
oMdlTab:DeActivate()
Return
|
|
|