Histórico da Página
CONTEÚDO
- Visão Geral
- Medição com Planilha Fixa com Cronograma
- Medição com Planilha Fixa sem Cronograma
01. VISÃO GERAL
Objetivo desse documento é exemplificar a utilização do ExecAuto da rotina de Medições(CNTA120).
02. Medição com Planilha Fixa com Cronograma
Bloco de código | ||||
---|---|---|---|---|
| ||||
#include 'protheus.ch' #include 'parmtype.ch' #INCLUDE "TBICONN.CH" User Function ExCNT120() Local nRet := 0 PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "GCT" TABLES "CNDT10" ConOut("INICIO TESTE") Exemplo1() //Planilha Fixa com Cronograma ConOut("FIM TESTE") RESET ENVIRONMENT Return nRet Static Function Exemplo1() Local aCab := {}//Cabecalho Local aItens := {}//Itens Local cContra := ""//<--Informar o numero do contrato Local cRevisa := ""//<--Informar a revisão do contrato Local cCompet := ""//<--Informar a competência(formato MM/AAAA) Local cPlan := ""//<--Informar o numero do contrato Local cParcel := ""//<--Informar o numero do contrato Private lMsErroAuto := .F. aCab := {} aAdd(aCab,{"CND_CONTRA",cContra,NIL}) aAdd(aCab,{"CND_REVISA",cRevisa,NIL}) aAdd(aCab,{"CND_PARCEL",cParcel,NIL}) aAdd(aCab,{"CND_COMPET",cCompet,NIL}) aAdd(aCab,{"CND_NUMERO",cPlan,NIL}) /*Não é necessario informar itens no array <aItens>, pois eles serão carregados automaticamente*/ MSExecAuto({|x,y|CNTA120(x,y,3,.F.)},aCab, aItens)//Executa rotina automatica para gerar as medicoes if lMsErroAuto if !IsBlind() MostraErro() else aEval(GetAutoGrLog(),{|x|ConOut(x)}) endif endif Return |
03. Medição com Planilha Fixa sem Cronograma
Bloco de código | ||||
---|---|---|---|---|
| ||||
User Function ExCNT120() Local nRet := 0 PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "GCT" TABLES "CNDT10" ConOut("INICIO TESTE") Exemplo2() //Planilha Fixa sem Cronograma ConOut("FIM TESTE") RESET ENVIRONMENT Return nRet Static Function Exemplo2() Local aCab := {}//Cabecalho Local aItens := {}//Itens Local aItem := {}//Itens Local cContra := ""//<--Informar o numero do contrato Local cRevisa := " "//<--Informar a revisao do contrato Local cCompet := ""//<--Informar a competencia(formato MM/AAAA) Local cPlan := ""//<--Informar o numero do contrato Local cParcel := ""//<--Informar o numero do contrato Private lMsErroAuto := .F. aCab := {} aAdd(aCab,{"CND_CONTRA",cContra,NIL}) aAdd(aCab,{"CND_REVISA",cRevisa,NIL}) aAdd(aCab,{"CND_COMPET",cCompet,NIL}) aAdd(aCab,{"CND_NUMERO",cPlan,NIL}) aAdd(aCab,{"CND_PARCEL",cParcel,NIL}) //<-- É preciso informar a parcela, mesmo não tendo cronograma. aItens := {} //Quando não há cronograma, é necessario informar <aItens>, pois precisamos preencher a quantidade aAdd(aItem,{"CNE_ITEM","001",NIL}) aAdd(aItem,{"CNE_PRODUT","GCT001 ",NIL}) aAdd(aItem,{"CNE_QUANT",1,NIL}) aAdd(aItens, aItem) MSExecAuto({|x,y|CNTA120(x,y,3,.F.)},aCab, aItens)//Executa rotina automatica para gerar as medicoes if lMsErroAuto if !IsBlind() MostraErro() else aEval(GetAutoGrLog(),{|x|ConOut(x)}) endif endif Return |
HTML |
---|
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas