Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Oi Pessoal
estou tentando colocar 0 (zero) nos valores da minha visão de Evolução, esses valores é iniciado com inputfield e através de um botão estamos executando através da seguinte macro:
Antes de mostrar a macro aqui está parte do script que esses campos são inicializado.
INPUTFIELD %INPUT_VENDAS;
INPUTFIELD %INPUT_CHURN;
INPUTFIELD %QTD_CONTRATO_UP;
INPUTFIELD %QTD_CONTRATO_DOWN;
for each File in filelist ('cenarios\EVO*.xml')
EVOL_BASE_PROD_INPUT:
LOAD
PRODUTO&COD_PERIODO_POV&NOME_CENARIO AS CHAVE_PRODUTO_PERIODO,
PRODUTO AS PRODUTO_EVOL,
COD_PERIODO_POV AS COD_PEDIODO_POV_EVOL,
NOME_CENARIO AS NOME_CENARIO_EVOL,
CHURN_CENARIO,
QUANTIDADE_VENDAS,
QUANTIDADE_CHURN,
PERCENTUAL_CHURN,
QUANTIDADE_UP,
QUANTIDADE_DOWN,
VALOR_LIQUIDO,
QUANTIDADEITEM_FINAL,
QUANTIDADE_VENDAS AS %INPUT_VENDAS,
QUANTIDADE_CHURN AS %INPUT_CHURN,
QUANTIDADE_UP AS %QTD_CONTRATO_UP,
QUANTIDADE_DOWN AS %QTD_CONTRATO_DOWN
from $(File) (XmlSimple, Table is [StraightTableBox/EVOL_BASE_PROD_INPUT]);
next File ;
if noOfRows('EVOL_BASE_PROD_INPUT') <>null then
BASE_INICIAL:
LOAD
RowNo() as CHAVE_CENARIO,
PRODUTO&[FAMILIA DE PRODUTO]&PACOTE AS CHAVE_PRODUTO,
PRODUTO&[FAMILIA DE PRODUTO]&PACOTE&DATA_BASE_INICIO AS CHAVE_PRODUTO_DATABASE,
DATA_BASE,
DATA_BASE_INICIO,
ID_PERIODO_POV AS ID_PERIODO_POV_BI,
num(DATA_BASE_INICIO)&PRODUTO&[FAMILIA DE PRODUTO]&PACOTE as CHAVE_PRECO,
YEAR(DATA_BASE)&MONTH(DATA_BASE)&DAY(DATA_BASE) AS CHAVE_PERIODO,
DATA_BASE_INICIO&PRODUTO as CHAVE_UPDOWN,
PRODUTO&[FAMILIA DE PRODUTO]&PACOTE&ID_PERIODO_POV as CHAVE_FATURAMENTO_CENARIO,
YEAR(DATA_BASE)&MONTH(DATA_BASE) AS ANO_MES_PP,
PRODUTO,
[FAMILIA DE PRODUTO],
PACOTE,
QUANTIDADEITEM,
IF(ISNULL(CUSTO),0,CUSTO) as CUSTO_POV
RESIDENT BASE_INICIAL_FULL;
ELSE
BASE_INICIAL:
LOAD
RowNo() as CHAVE_CENARIO,
PRODUTO&[FAMILIA DE PRODUTO]&PACOTE AS CHAVE_PRODUTO,
PRODUTO&[FAMILIA DE PRODUTO]&PACOTE&DATA_BASE_INICIO AS CHAVE_PRODUTO_DATABASE,
DATA_BASE,
DATA_BASE_INICIO,
ID_PERIODO_POV AS ID_PERIODO_POV_BI,
num(DATA_BASE_INICIO)&PRODUTO&[FAMILIA DE PRODUTO]&PACOTE as CHAVE_PRECO,
YEAR(DATA_BASE)&MONTH(DATA_BASE)&DAY(DATA_BASE) AS CHAVE_PERIODO,
DATA_BASE_INICIO&PRODUTO as CHAVE_UPDOWN,
PRODUTO&[FAMILIA DE PRODUTO]&PACOTE&ID_PERIODO_POV as CHAVE_FATURAMENTO_CENARIO,
YEAR(DATA_BASE)&MONTH(DATA_BASE) AS ANO_MES_PP,
PRODUTO,
[FAMILIA DE PRODUTO],
PACOTE,
QUANTIDADEITEM,
0 AS %INPUT_VENDAS,
0 AS %INPUT_CHURN,
0 AS %QTD_CONTRATO_UP,
0 AS %QTD_CONTRATO_DOWN,
IF(ISNULL(CUSTO),0,CUSTO) as CUSTO_POV
RESIDENT BASE_INICIAL_FULL;
ENDIF
-- Macro para colocar zero nos campos de Inputfield
Sub setCamposEvol
set table = ActiveDocument.GetSheetObject("EvolBaseProdInput")
set evol1= ActiveDocument.Fields("%INPUT_VENDAS")
set evol2= ActiveDocument.Fields("%INPUT_CHURN")
set evol3= ActiveDocument.Fields("%QTD_CONTRATO_UP")
set evol4= ActiveDocument.Fields("%QTD_CONTRATO_DOWN")
for RowIter = 1 to table.GetRowCount-1
evol1.SetInputFieldValue RowIter ,0
evol2.SetInputFieldValue RowIter, 0
evol3.SetInputFieldValue RowIter, 0
evol4.SetInputFieldValue RowIter, 0
next
end sub
A Tabela é essa.
Já usei essa macro abaixo
Sub setCamposEvol
set evol1= ActiveDocument.Fields("%INPUT_VENDAS")
set evol2= ActiveDocument.Fields("%INPUT_CHURN")
set evol3= ActiveDocument.Fields("%QTD_CONTRATO_UP")
set evol4= ActiveDocument.Fields("%QTD_CONTRATO_DOWN")
evol1.ResetInputFieldValues 0
evol2.ResetInputFieldValues 0
evol3.ResetInputFieldValues 0
evol4.ResetInputFieldValues 0
end sub
Mas essa macro volta o valor original do campo e não zera o valor.
Agradeço a atenção de todos par mais essa ajuda..