Histórico da Página
...
Este desenvolvimento cria um tratamento, através da configuração de regra de negócio no programa cd0024, que altera a conta contábil e centro de custo dos itens da nota fiscal de rateio que não devem ter parte na apropriação de despesas de frete, fazendo com que o valor passe para uma conta diferente de despesas de frete.
Também será possível criar uma regra para definir se deve considerar apropriação do custo do frete para o item. Com isso, é possível configurar uma regra para 'desprezar' o item no momento da geração da nota de rateio.
ALTERAÇÕES ERP DATASUL
1. re1904.w
...
Alterar os campos conta e centro custo com os valores retornados.
Exemplo de implementação
CREATE tt-variavel.
ASSIGN tt-variavel.cod-var-oper = "it-codigo":U
tt tt-variavel.cod-val-var = TRIM(STRING(p-it-codigo)).
CREATE tt-variavel.
ASSIGN tt-variavel.cod-var-oper = "nat-operacao":U
tt tt-variavel.cod-val-var = TRIM(STRING(p-nat-operacao)).
CREATE tt-variavel.
ASSIGN tt-variavel.cod-var-oper = "cod-estabel":U
tt tt-variavel.cod-val-var = TRIM(STRING(p-nat-operacao)).
CREATE tt-variavel.
ASSIGN tt-variavel.cod-var-oper = "cod-transp":U
tt tt-variavel.cod-val-var = TRIM(STRING(p-cod-transp)).
CREATE tt-variavel.
ASSIGN tt-variavel.cod-var-oper = "cod-fornec":U
tt tt-variavel.cod-val-var = TRIM(STRING(p-cod-fornec)).
CREATE tt-variavel.
ASSIGN tt-variavel.cod-var-oper = "ct-codigo":U
tt tt-variavel.cod-val-var = TRIM(STRING(p-ct-codigo)).
CREATE tt-variavel.
ASSIGN tt-variavel.cod-var-oper = "sc-codigo":U
tt-variavel.cod-val-var = TRIM(STRING(p-sc-codigo)).
CREATE tt-variavel.
ASSIGN tt-variavel.cod-var-oper = "cfop":U
tt tt-variavel.cod-val-var = TRIM(STRING(p-cod-cfop)).
IF VALID-HANDLE(h-boin172) THEN DO:
RUN openQueryStatic IN h-boin172 (input "Main":U).
run 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 Busca retornos para os tipos 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
...
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).
END.
...
Implementação para desprezar o item
IF CAN-FIND(FIRST tt-retorno
WHERE tt-retorno.campo-retorno = "
apropriacaoapropria-despesa-item":U
AND tt-retorno.valor-retorno = "
simNAO":U) THEN NEXT.
Implementação para multiplas naturezas
FOR EACH tt-retorno
WHERE tt-retorno.campo-retorno = "nat-of"
OR tt-retorno.campo-retorno = "cod-cfop":
ASSIGN c-nat-of = tt-retorno.valor-retorno.
END.
Implementação para conta e centro de custo
FOR EACH tt-retorno:
CASE tt-retorno.campo-retorno:
WHEN "ct-codigo":U THEN ASSIGN b-item-doc-est.ct-codigo = STRING(tt-retorno.valor-retorno).
WHEN "sc-codigo":U THEN ASSIGN b-item-doc-est.sc-codigo = STRING(tt-retorno.valor-retorno).
END CASE.
END.