Produto: | Datasul | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ocorrência: | Criar notas referenciadas na DU-E utilizando ponto UPC disponibilizado | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Passo a passo: |
Evento: “afterCreateDueItem” Parâmetro: “Rowid_DueItem” Valor do parâmetro: STRING(ROWID(due-item)). Exemplo de comando a ser utilizado na EPC para criação da tabela “due-item-nf-refer”: Exemplo de EPC {include/i-epc200.i} DEF INPUT PARAM p-ind-event AS CHAR NO-UNDO. DEF INPUT-OUTPUT PARAM TABLE FOR tt-epc. IF p-ind-event = "afterCreateDueItem" THEN DO: FIND FIRST tt-epc WHERE tt-epc.cod-event = "afterCreateDueItem" AND tt-epc.cod-parameter = "Rowid_DueItem" NO-LOCK NO-ERROR. IF AVAIL tt-epc THEN DO: FIND FIRST due-item WHERE ROWID(due-item) = TO-ROWID(tt-epc.val-parameter) NO-LOCK NO-ERROR. IF AVAIL due-item THEN DO: /* Localizar através da tabela específica o número da Nota Fiscal, utilizar a chave “dueitem_ix2” da tabela “due-item” – consultar através do dicionário de dados*/ /* criação do registro tabela due-item-nf-refer */ END. END. END. RETURN "OK":U.
DEFINE TEMP-TABLE tt-due-item-nf-refer no-undo LIKE due-item-nf-refer field r-rowid AS ROWID.
FOR FIRST natur-oper FIELDS(tipo) WHERE natur-oper.nat-operacao = TRIM(SUBSTRING(tt-due-item-nf-refer.cod-livre-1,1,6)) NO-LOCK: IF natur-oper.tipo = 2 THEN /*Nota de saída*/ ASSIGN tt-due-item-nf-refer.idi-tip-nf = 1. /*REMESSA*/ END.
IF NOT VALID-HANDLE(h-bocx00466) THEN RUN cxbo/bocx00466.p PERSISTENT SET h-bocx00466. 2. Atualizar em uma variável do tipo “decimal” a Quantidade Associada referente à remessa; ASSIGN de-qtd-assoc = tt-due-item-nf-refer.qtd-assoc. 3. Executar o método abaixo passando como parâmetros as seguintes informações: RUN piConverteQtdeEstatistica IN h-bocx00466 (INPUT tt-due-item-nf-refer.cod-estab-nf-refer, INPUT tt-due-item-nf-refer.cod-serie-nf-refer, INPUT tt-due-item-nf-refer.cod-nota-fisc-refer, INPUT TRIM(SUBSTRING(tt-due-item-nf-refer.cod-livre-1,1,6)), INPUT tt-due-item-nf-refer.num-livre-1, /*Emitente*/ INPUT-OUTPUT de-qtd-assoc). 4. Atualizar na tabela tt-due-item-nf-refer a quantidade retornada já convertida: /*quantidade associada: convertida contra a unidade de medida Estatística*/ ASSIGN tt-due-item-nf-refer.qtd-assoc = de-qtd-assoc. Após criação da temp-table “tt-due-item-nf-refer” ser finalizada, utilizar os métodos padrões de criação/modificação de Registros da BOCX00466: RUN setRecord IN THIS-PROCEDURE (INPUT TABLE tt-due-item-nf-refer). RUN createRecord IN THIS-PROCEDURE. DELETE tt-due-item-nf-refer. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Observações: |