Histórico da Página
...
Observação: A partir da release 12.1.2503.
Objetivo
Excluir os movimentos de baixas gerados pelas notas fiscais de venda de ativos/imobilizados. Após a atualização da nota fiscal de venda de ativos os bens patrimoniais relacionadas a nota fiscal sofreram uma baixa por venda, o relacionamento entre nota fiscal e bem patrimonial são armazenados na tabela bem_docto_faturam, caso ocorra a desatualização da nota fiscal, a baixa de venda deverá ser excluída também no modulo de ativo fixo.
Funcionamento
Na forma padrão, realiza-se a chamada através de um comando RUN normal, armazenando o programa em uma variável através do comando PERSISTENT e em seguida executando uma PROCEDURE deste programa, passando-se os parâmetros com as informações necessárias.
...
Parâmetros
Parâmetro | Descrição |
Código Matriz Tradução Organização Externa | Neste parâmetro deverá ser informada a matriz de tradução da organização externa. |
tt_bemexc_investmovto_mgapat | Esta temp-table conterá os registros com as informações do documento de entrada e dos itens que serão criadosdos bens patrimoniais do módulo de ativo fixo, os quais foram gerados pelas vendas de ativos/imobilizados efetuada pelo módulo da faturamento. Deverá ser definida conforme os atributos mencionados a seguir, na seção Tabelas Temporárias. |
tt_lognota_errosfisc_vda | Esta temp-table conterá os erros ocorridos durante as validações feitas pela API no momento da inclusão do documento de entradaregistros com as informações dos itens da nota fiscal de venda de ativos/imobilizados efetuada pelo módulo da faturamento. Deverá ser definida conforme os atributos mencionados a seguir, na seção Tabelas Temporárias. Não deverá ser alimentada ao chamar a API. |
Observações:
tt_log_erros | Esta temp-table conterá os erros ocorridos durante as validações feitas pela API no momento da exclusão dos movimentos de baixas gerados pelas notas fiscais de venda de ativos/imobilizados. Deverá ser definida conforme os atributos mencionados a seguir, na seção Tabelas Temporárias. Não deverá ser alimentada ao chamar a API. |
Observações:
- Deve ser gerada a temp-table no programa que chamará a API. Esta temp-table - Deve ser gerada a temp-table no programa que chamará a API. Esta temp-table conterá as informações sobre os documentos de entrada e os itens do documento que serão implantados no Ativo Fixo.
...
Exemplo do programa para criação dos registros nas temp-tables com os documentos de entrada a serem implantados:
def temp-table tt_log_erros no-undo
field ttv_num_seq -table tt_exc_movto_pat no-undo
field tta_cod_empresa as character format "x(3)" label "Empresa" column-label "Empresa"
field tta_cod_cta_pat as character format "x(18)" label "Conta Patrimonial" column-label "Conta Patrimonial"
field tta_num_bem_pat as integer format ">>>>>>>>9" initial 0 label "Bem Patrimonial" column-label "Bem"
field tta_num_seq_bem_pat as integer format ">>>>9" initial 0 label "Sequência Bem" column-label "Sequência"
field tta_num_seq_movto_bem_pat as integer format ">>>>>>,>>9" initial 0 label "Sequência Movto" column-label "Sequência Movto"
field tta_dat_movto_bem_pat as date format "99/99/9999" initial today label "Data Movimento" column-label "Data Movimento"
field tta_ind_orig_movto as character format "X(08)" label "Origem Movimento" column-label "Origem Movimento"
index tt_id_bem is primary unique
tta_cod_empresa ascending
tta_cod_cta_pat ascending
tta_num_bem_pat ascending
as integer format ">>>,>>9" label "Seqüência" column-label "Seq"
field ttv_num_cod_erro tta_num_seq_bem_pat as integer format ">>>>,>>9" label "Número" column-label "Número" ascending
field ttv_des_erro tta_num_seq_movto_bem_pat ascending
.
def temp-table tt_log_erros no-undo as character format "x(50)" label "Inconsistência" column-label "Inconsistência"
field ttv_desnum_ajuda seq as character integer format "x(50)>>>,>>9" label "AjudaSequência" column-label "AjudaSeq"
index tt_id
field ttv_num_cod_seq erro ascending
as integer format ">>>>,>>9" label "Número" column-label "Número"
field ttv_des_erro ttv_num_cod_erro ascending.def temp-table tt_bem_invest_mga no-undoas character format "x(50)" label "Inconsistência" column-label "Inconsistência"
field ttv_coddes_empresa ajuda as char format ' as character format "x(350)' label 'Empresa Externa' column-label 'Empresa Ext Inicial'
field ttv_cdn_emit " label "Ajuda" column-label "Ajuda"
index tt_id
ttv_num_seq ascending
as Integer format '>>>>>>>>9' label 'Emitente' column-label 'Emitente'
field ttv_num_cod_nota erro as character format ascending
.
def temp-table tt_nota_fisc_vda no-undo 'x(20)'
field ttvtta_cod_serestab_nota nf as as character format '"x(5)' " label 'Série "Estabelecimento Nota' " column-label 'Série "Estabelecimento Nota'"
field ttvtta_cod_natur_operac ser_nf as as character format '"x(65)' label 'Natureza Operação' " label "Serie Nota fiscal" column-label 'Natureza Operação'"Serie Nota fiscal"
field ttvtta_cod_estab _nota_fisc as character format '"x(310)' label 'Estabelecimento' " label "Nota Fiscal" column-label 'Estabelecimento'"Nota Fiscal"
field ttvtta_datnum_aquis_bem_pat seq_item as date format '99/99/9999' label 'Data Aquisção' column-label 'Data Aquisição'as integer format ">>>>,>>9" initial 0 label "Nr Seq Item" column-label "Seq Item"
field ttvtta_cod_item_cta nf as character format 'x(20)'"x(16)" label "Item Nota fiscal" column-label "Item Nota fiscal"
field ttvindex tt_cdnnota_aux fisc is primary unique
as Integer format '>>>,>>9'
field ttv tta_cod_estab_origem nf ascending
as character format 'x(8)' label 'Origem' column-label 'Origem'
field ttvtta_descod_auxser_5 nf ascending
as character format 'x(40)'
field ttvtta_valcod_aquis_bem_pat nota_fisc as decimal format '->>,>>>,>>>,>>9.99' decimals 2 initial 0 label 'Aquisição Bem' column-label 'Aquisição Bem'
field ttv_val_aquis_fasb_bem_pat as decimal format '>>,>>>,>>>,>>9.99' decimals 2
field ttv_val_aquis_cmi_bem_pat as decimal format '>>,>>>,>>>,>>9.99' decimals 2
field ttv_cdn_unid_bem ascending
tta_num_seq_item ascending
tta_cod_item_nf ascending
.
DEFINE VARIABLE v_hdl_program AS HANDLE NO-UNDO.
DO TRANSACTION:
FIND FIRST bem_pat WHERE bem_pat.cod_empresa = "10"
as Integer format '>>>,>>9'
field ttv_cdn_org_bem as Integer format '>>>,>>9'
field ttv_cdn_ord_manut AND bem_pat.cod_cta_pat = "DEPREC"
as Integer format '>>>,>>9'
field ttv_des AND bem_pat.num_bem_pat pat = 3
as character format 'x(40)' label 'Descrição Bem Pat' column-label 'Descrição Bem Pat'
field ttv_cod_unid_negoc AND bem_pat.num_seq_bem_pat = 0
as character format 'x(3)' label 'Unid Negócio' column-label 'Un Neg'
field tta_ NO-LOCK NO-ERROR.
IF AVAIL bem_pat THEN DO:
//CHAMADA FAS726AA
FIND LAST movto_bem_pat WHERE movto_bem_pat.num_id_ri_bem_pat as integer format '>>>,>>>,>>9' initial 1 label 'Identific Bem MRI' column-label 'ID Bem MRI'
field ttv_gera_bem_quant as logical initial no label "Gerar Bem por Quantidade" column-label "Gerar Bem por Quantidade"
field ttv_sequencia pat = bem_pat.num_id_bem_pat
AND movto_bem_pat.num_seq_incorp_bem_pat = 0
as integer format '>>9' initial 0 label 'Sequencia' column-label 'Seq'
field ttv_cod_moed_fasb as character format 'x(8)'
field ttv_dat_fasb as date format '99/99/9999'
def var v_handle as handle no-undo.
AND movto_bem_pat.dat_movto_bem_pat = today NO-LOCK NO-ERROR.
IF AVAIL movto_bem_pat THEN DO:
CREATE tt_exc_movto_pat.
ASSIGN tt_exc_movto_pat.tta_cod_empresa = bem_pat.cod_empresa
create tt_bem_invest_mga.
assign tt_bem_invest_mga.ttv_cod_empresa = "10"
tt_bemexc_investmovto_mgapat.ttvtta_cod_estab cta_pat = bem_pat.cod_cta_pat
= "1"
tt_bemexc_investmovto_mgapat.ttvtta_dat_aquisnum_bem_pat = today
tt_= bem_invest_mgapat.ttvnum_cdnbem_emit pat
= 5
tt_exc_movto_pat.tta_num_seq_bem_pat tt_= bem_invest_mga.ttv_cod_nota pat.num_seq_bem_pat
= "04062024"
tt_bemexc_investmovto_mga.ttv_cod_natur_operac = "6181A"
tt_bem_invest_mga.ttv_cod_ser_nota = "S"
pat.tta_num_seq_movto_bem_pat = movto_bem_pat.num_seq_movto_bem_pat
tt_bemexc_investmovto_mgapat.ttvtta_valdat_aquismovto_bem_pat = 129.99
tt= movto_bem_invest_mgapat.ttvdat_cdnmovto_unidbem_bem pat
= 5
tt_bemexc_investmovto_mgapat.ttvtta_desind_bemorig_pat movto = "Primeiro Bem".
create tt_bem_invest_mga.
assign tt_bem_invest_mga.ttv_cod_empresa = "10"".
END.
//CHAMADA FT2300
FIND FIRST bem_docto_faturam OF bem_pat NO-LOCK NO-ERROR.
IF AVAIL bem_docto_faturam THEN DO:
ttCREATE tt_bemnota_investfisc_mga.ttv_cod_estab = "1"vda.
ttASSIGN tt_bemnota_investfisc_mgavda.ttv_dattta_aquiscod_bemestab_pat = today
tt_nf = bem_investdocto_mgafaturam.ttvcod_cdnestab_emit nf
= 5
tt_bemnota_investfisc_mgavda.ttvtta_cod_nota ser_nf = bem_docto_faturam.cod_ser_nf
= "04062024"
tt_bemnota_investfisc_mgavda.ttvtta_cod_naturnota_operac fisc = "6181A"
tt_ bem_investdocto_mgafaturam.ttv_cod_sernota_nota fisc
= "S"
tt_bemnota_investfisc_mgavda.ttvtta_valnum_aquisseq_item = bem_docto_pat = 1.99
faturam.num_seq_item
tt_bemnota_investfisc_mgavda.ttvtta_cdncod_uniditem_bem nf = 20
tt_ bem_investdocto_mgafaturam.ttvcod_des_bem_pat = "Segundo Bem".
item_nf.
END.
END.
current-language = current-language.
RUN run prgfin\fas\fas791zafas795za.py persistent set PERSISTENT SET v_hdl_program (INPUT 1).
run RUN pi_api_criacao_docto_entr in v_hdl_program (input "ems2"_main_code_exc_movto_pat IN v_hdl_program (INPUT TABLE tt_exc_movto_pat,
input table INPUT TABLE tt_bemnota_investfisc_mgavda,
OUTPUT TABLE tt_log_erros).
FOR EACH tt_log_erros NO-LOCK:
output table MESSAGE tt_log_erros).
delete procedure v_hdl_program.
assign v_hdl_program = ?. ttv_num_seq
for each SKIP tt_log_erros no-lock:
.ttv_num_cod_erro
message "Seq.: " SKIP tt_log_erros.ttv_numdes_seq skiperro
"Cod. Erro: " SKIP tt_log_erros.ttv_num_cod_erro skipdes_ajuda
VIEW-AS ALERT-BOX.
"Descrição Erro: " tt_log_erros.ttv_des_erro skip
"Ajuda: " tt_log_erros.ttv_des_ajuda skip
view-as alert-box.
endEND.
IF VALID-HANDLE(v_hdl_program) THEN DO:
DELETE PROCEDURE v_hdl_program.
END.
assign v_hdl_program = ?
END.