Histórico da Página
...
Incluir a include cd9701.i para tratar múltiplas naturezas; Verificar se existe a operação 'item-doc-rateio' cadastrada na tabela config-operac.
Buscar regras para as seguintes operações: NFRat-ItemConta , NFRat-ItemNatOf e NFRat-ApropDesp.
Obs: Os tipos de operação descritos acima devem estar cadastrados no programa cd0025(Cadastrar Tipo Operação)
Ao percorrer a tabela item-doc-est para geração dos itens, executar o engine de regras passando variáveis conforme tabela abaixo:
TT-VARIAVEL | |
cod-var-oper | cod-val-var |
it-codigo | Código Item |
nat-operacao-nf | Código Natureza de Operação da Mercadoria |
cod-estabel | Código Estabelecimento |
cod-transp | Código Transportador |
cod-fornec | Código Fornecedor |
ct-codigo | Código Conta |
sc-codigo, | Código Centro Custo |
cfop-nf | Código CFOP da Mercadoria |
Buscar grupo estoque(ge-codigo) e famila(fm-codigo) do item e criar as seguintes variáveis:
...
Verificar se existe um retorno "apropriacaoapropria-despesa-item" com valor "Nao"NAO" para a operação "NFRat-ApropDesp" . Se existir deve desconsiderar o item e ir para o próximo.
...
IF VALID-HANDLE(h-boin172) THEN DO:
RUN openQueryStatic IN h-boin172 (input "Main":U).
run goToKey IN h-boin172 (input p-it-codigo).
RUN getIntField IN h-boin172 (INPUT "ge-codigo", OUTPUT c-var-ge-codigo).
RUN getCharField IN h-boin172 (INPUT "fm-codigo", OUTPUT c-var-fm-codigo).
END.
CREATE tt-variavel.
ASSIGN tt-variavel.cod-var-oper = "ge-codigo":U
tt-variavel.cod-val-var = TRIM(STRING(c-var-ge-codigo)).
CREATE tt-variavel.
ASSIGN tt-variavel.cod-var-oper = "fm-codigo":U
tt-variavel.cod-val-var = TRIM(STRING(c-var-fm-codigo)).
Verificação se existe tipo de operação cadastrado
/*Verifica se a operacao item-doc-rateio est cadastrada no CD0025*/
FOR EACH config-operac NO-LOCK
WHERE config-operac.cdn-empresa = i-empresa
AND config-operac.cod-estab = docum-est.cod-estabel
AND (config-operac.cod-tip-operac = "NFRat-ItemConta":U OR
config-operac.cod-tip-operac = "NFRat-ItemNatOf":U OR
config-operac.cod-tip-operac = "NFRat-ApropDesp":U ):
RUN cdp/cdapi034.p (INPUT p-empresa,
INPUT p-cod-estabel,
INPUT p-cod-tip-operac,
INPUT TABLE tt-variavel,
OUTPUT i-cod-regra-utilizada,
OUTPUT TABLE tt-retorno,
OUTPUT TABLE RowErrors).
Verificação se existe tipo de operação cadastrado
...
END.
Implementação para desprezar o item
...