Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Button
TextoVoltar
Linkhttps://tdn.totvs.com/pages/viewpage.action?pageId=929926296


API para Geração de Gráficos


Nome Físico: prgfin/lco/lco728za.py

Versão de Integração: 001

Objetivo: 

Criar o objeto de negócio que será utilizado para gerar visão de dados na qual disponibilizará uma Realizar a conciliação automática , dos saldos contábeis distribuídos por terceiros , com os saldos
contábeis gerados sem essa distribuição para as mesmas contas, sem a distribuição por terceiros.

Pré-requisitos: 

Não se aplica.


Considerações Gerais


  • São passados como parâmetros de input e output para a API,  como Input são: Estabelecimento Inicial, Estabelecimento Final, Data Emissão Inicial, Data Emissão Final, Fornecedor Inicial, Fornecedor Final, Grupo Fornecedores Inicial, Grupo Fornecedores Final e Somente Faturas com IVAPlano de Contas, Cenário Contábil, Finalidade Econômica, Exercício, Período, Faixa de Estabelecimentos, Faixa de Unidades de Negócio e flag para indicar se deve retornar somente os saldos não conciliados, como Output são: RUC da Empresatt_concilia_sdos_terceiros, tt_ivalanctos_cprsctbl_pry concil e tt_erros_api.
  • A exibição das informações da API é feita através da execução da API prgfin/lpylco/lpy724zalco728za.py.
    .

Parâmetros de Entrada 


Temp-table tt_ivaconcilia_cprssdos_pryterceiros: Na Temp-Table tt_ivaconcilia_cprssdos_pryterceiros, são definidas as características gerais e dados a serem devolvidos.

Descrição dos campos 

Decimalvtaexento2

TEMP-TABLE tt_ivaconcilia_cprssdos_pryterceiros

Atributo

Tipo

Formato

Valor Inicial

Índice

ttvtta_cod_num_dia

Integer

finalid_econ

Character

x(10)


X

ttattv_cod_titcenar_apctbl

Character

Sim

ttv_dat_docto

Date

ttv_nom_pessoa_cli

Character

ttv_cod_rut

Character

ttv_val_vta_grav_2

Decimal

ttv_val_impuesto_2

x(8)


X

tta_cod_plano_cta_ctbl

Character

x(8)


X

tta_cod_cta_ctbl

Character

x(20)


X

tta_des_tit_ctbl

Character

x(40)



ttv_val_

sdo_

terc_

inic

Decimal

->>,>>>,>>>,>>9.99

0


ttvttv_val_origmov_titterc_ap_2db

Decimal

->>,>>>,>>>,>>9.99

0


ttv_val_basemov_imponibleterc_2cr

Decimal

->>,>>>,>>>,>>9.99

0


ttv_cdn_fornecedor

Integer

Sim

ttv_num_estab

Integer

Sim

ttv_num_pto_vta_fatur_inic

Integer

ttv_cb1_calc_dat_term_carenc

Integer

ttv_cod_1

Character

tta_cod_espec_docto

Character

Sim

tta_cod_ser_ap

Character

Sim

ttv_val_vta_grav_3

Decimal

ttv_val_impuesto_3

Decimal

ttv_val_vta_grav_tot

Decimal

ttv_val_impuesto_tot

Decimal

ttv_cod_operac_2

Character

ttv_cod_tip_docto_2

Character

ttv_num_timbdo

Integer

ttv_cod_estab

Character

ttv_cod_tit_ap_2

Character

tta_val_cotac_indic_econ

Decimal

tta_dat_transacao

Date

ttv_num_pto_vta_fatur

Integer

tta_cod_refer

Character

Sim

ttv_cod_tip_documento

Character

ttv_cod_condicao

Character

ttv_num_parc

Integer

Sim

Atributo

Descrição

ttv_num_dia

Número de Dias

ttv_cod_tit_ap

Título Contas a Pagar

ttv_dat_docto

Data de Emissão

ttv_nom_pessoa_cli

Nome Pessoa Física 

ttv_cod_rut

Número do RUC

ttv_val_vta_grav_2

Valor Tributado 5%

ttv_val_impuesto_2

Valor Imposto 5%

ttv_val_vta_exento_2

Valor Isento

ttv_val_orig_tit_ap_2

Valor Original

ttv_val_base_imponible_2

ttv_cdn_fornecedor

Código do Fornecedor

ttv_num_estab

Numero do Estabelecimento

ttv_num_pto_vta_fatur_inic

Numero Ponto de Venda

ttv_cb1_calc_dat_term_carenc

Data Termino Carência

ttv_cod_1

Numero Timbrado

tta_cod_espec_docto

Espécie do Documento

tta_cod_ser_ap

Série do Documento

ttv_val_vta_grav_3

Valor Tributado 10%

ttv_val_impuesto_3

Valor Imposto 10%

ttv_val_vta_grav_tot

Valor Total Tributado

ttv_val_impuesto_tot

Valor Total Imposto

ttv_cod_operac_2

Código da Operação

ttv_cod_tip_docto_2

Código Tipo Documento

ttv_num_timbdo

Numero do Timbrado

ttv_cod_estab

Código do Estabelecimento

ttv_cod_tit_ap_2

Código do Título

tta_val_cotac_indic_econ

Cotação

tta_dat_transacao

Data de Transação

ttv_num_pto_vta_fatur

Ponto de Venda da Fatura

tta_cod_refer

Código de Referência

ttv_cod_tip_documento

Tipo de Documento

ttv_cod_condicao

Condição de Pagamento

ttv_num_parc

Numero de Parcelas

Execução

Sintaxe:

Bloco de código
languageruby
IF NOT VALID-HANDLE(v_hdl_api) THEN
    RUN prgfin/lpy/lpy724za.r PERSISTENT SET v_hdl_api.        

/* Busca linhas do livro */
RUN pi_retorna_dados_iva_compras IN v_hdl_api (INPUT v_cod_estab_ini,      /* Estabelecimento Inicial */
                                               INPUT v_cod_estab_fim,      /* Estabelecimento Final */
                                               INPUT v_dat_emis_inic,      /* Data Emissão Inicial */
                                               INPUT v_dat_emis_fim,       /* Data Emissão Final */
                                               INPUT v_cdn_fornecedor_ini, /* Fornecedor Inicial */
                                               INPUT v_cdn_fornecedor_fim, /* Fornecedor Final */
                                               INPUT v_cod_grp_fornec_ini, /* Grupo Fornecedores Inicial */
                                               INPUT v_cod_grp_fornec_fim, /* Grupo Fornecedores Final */
                                               INPUT v_log_smte_com_iva,   /* Somente Faturas com IVA */
                                               OUTPUT v_cod_ruc,           /* RUC da Empresa */
                                               OUTPUT TABLE tt_iva_cprs_pry,
                                               OUTPUT TABLE tt_erros_api).

Em caso de erro nas validações acima, o erro será retornado por meio da temp-table ttt_erros_api.

Se os dados forem aceitos, a API devolverá as informações para geração do livro IVA compras quando for chamada a procedure pi_retorna_dados_iva_compras.

Expandir
titleClique aqui para visualizar...
Bloco de código
languageruby
def var v_hdl_api as Handle format ">>>>>>9":U no-undo.

run prgfin\lpy\lpy724za.r persistent set v_hdl_api.

if  valid-handle(v_hdl_api)
then do:
     /* Busca linhas do livro */
     run pi_retorna_dados_iva_compras in v_hdl_api (input "",           /* Estabelecimento Inicial */
                                                    input "ZZZZZ",      /* Estabelecimento Final */
                                                    input 01/01/2025,   /* Data EmissÆo Inicial */
                                                    input 06/30/2025,   /* Data EmissÆo Final */
                                                    input 0,            /* Fornecedor Inicial */
                                                    input 999999,       /* Fornecedor Final */
                                                    input "",           /* Grupo Fornecedores Inicial */
                                                    input "ZZZZ",       /* Grupo Fornecedores Final */
                                                    input no,           /* Somente Faturas com IVA */
                                                    output v_cod_ruc,   /* RUC da Empresa */
                                                    output table tt_iva_cprs_pry,
                                                    output table tt_erros_api). 
DELETE PROCEDURE v_hdl_api.
Bloco de código
languageruby
def new global shared var v_cod_empres_usuar as character format "x(3)":U label "Empresa" column-label "Empresa" no-undo. def var v_hdl_api as handle no-undo. def var v_cod_ruc as char no-undo. def var v_num_pagina as inte no-undo. def stream s_1. run prgfin\lpy\lpy724za.r persistent set v_hdl_api. if valid-handle(v_hdl_api) then do: /* Busca linhas do livro */ run pi_retorna_dados_iva_compras in v_hdl_api (input "", /* Estabelecimento Inicial */ input "ZZZZZ", /* Estabelecimento Final */ input 01/01/2025, /* Data EmissÆo Inicial */ input 06/30/2025, /* Data EmissÆo Final */ input 0, /* Fornecedor Inicial */ input 999999, /* Fornecedor Final */ input "", /* Grupo Fornecedores Inicial */ input "ZZZZ", /* Grupo Fornecedores Final */ input no, /* Somente Faturas com IVA */ output v_cod_ruc, /* RUC da Empresa */ output table tt_iva_cprs_pry, output table tt_erros_api). for each tt_erros_api: message "E R R O S" skip tt_erros_api.ttv_num_erro skip tt_erros_api.ttv_des_mensagem skip tt_erros_api.ttv_des_ajuda view-as alert-box. end. if can-find(first tt_iva_cprs_pry) then do: output stream s_1 to "c:\tmp\livro_iva_compras.csv" convert target "ISO8859-1". put stream s_1 unformatted "Dia;Estab;Esp‚cie;S‚rie;Fatura;Data EmissÆo;Data Transa‡Æo;Referˆncia;Fornecedor;Nome;RUC;Opera‡Æo;Timbrado;Sucursal;Ponto Venda;Tipo Docto;Parcelas;Condi‡Æo Compra;Vlr Original;Vlr Truibutado 5%;Vlr Imposto 5%;Vlr Truibutado 10%;Vlr Imposto 10%;Vlr Total Tributado;Vlr Total Imposto;Vlr Isento;Vlr Cota‡Æo" skip. for each tt_iva_cprs_pry: put stream s_1 unformatted string(tt_iva_cprs_pry.ttv_num_dia) + ";" + string(tt_iva_cprs_pry.ttv_cod_estab) + ";" + string(tt_iva_cprs_pry.tta_cod_espec_docto) + ";" + string(tt_iva_cprs_pry.tta_cod_ser_ap) + ";" + string(tt_iva_cprs_pry.ttv_cod_tit_ap) + ";" + string(tt_iva_cprs_pry.ttv_dat_docto) + ";" + string(tt_iva_cprs_pry.tta_dat_transacao) + ";" +

val_sdo_terc_fim

Decimal

->>,>>>,>>>,>>9.99

0


ttv_val_sdo_ctbl_inic

Decimal

->>>,>>>,>>>,>>>,>>9.99

0


ttv_val_mov_ctbl_db

Decimal

->>,>>>,>>>,>>9.99

0


ttv_val_mov_ctbl_cr

Decimal

->>,>>>,>>>,>>9.99

0


ttv_val_sdo_ctbl_fim

Decimal

->>,>>>,>>>,>>9.99

0


ttv_log_dif_sdo

Logical

Sim/Não

No


ttv_log_dif_mov

Logical

Sim/Não

No

X

Atributo

Descrição

tta_cod_finalid_econ

Finalidade

tta_cod_cenar_ctbl

Cenário Contábil

tta_cod_plano_cta_ctbl

Plano Contas

tta_cod_cta_ctbl

Conta Contábil

tta_des_tit_ctbl

Título Contábil

ttv_val_sdo_ctbl_inic

Saldo Inicial

ttv_val_sdo_ctbl_fim

Saldo Final

Temp-table tt_lanctos_ctbl_concil: Na Temp-Table tt_lanctos_ctbl_concil, são definidas as características gerais e dados a serem devolvidos.

Descrição dos campos 

TEMP-TABLE tt_lanctos_ctbl_concil
AtributoTipoFormatoValor Inicial Índice
tta_cod_cta_ctblCharacterx(20)

tta_des_tit_ctblCharacterx(40)

tta_val_lancto_ctblDecimal>>>,>>>,>>>,>>9.990
tta_ind_natur_lanctoCharacterX(5)

tta_dat_lancto_ctblDate99/99/9999?
tta_num_lote_ctblInteger>>>,>>>,>>91
tta_num_lancto_ctblInteger>>,>>>,>>910
tta_num_seq_lancto_ctblInteger>>>>90
AtributoDescrição
tta_cod_cta_ctblConta Contábil
tta_des_tit_ctblTítulo Contábil
tta_val_lancto_ctblValor Lançamento
tta_ind_natur_lanctoNatureza Lançamento
tta_dat_lancto_ctblData Lançto
tta_num_lote_ctblLote Contábil
tta_num_lancto_ctblLançamento Contábil
tta_num_seq_lancto_ctblSequência Lançto

Temp-table tt_retorna_sdo_ctbl: Na Temp-Table tt_retorna_sdo_ctbl, são definidas as características gerais e dados a serem devolvidos.

Descrição dos campos 

TEMP-TABLE tt_retorna_sdo_ctbl
AtributoTipoFormatoValor InicialÍndice
tta_num_seqInteger>>>,>>90X
tta_cod_empresaCharacterx(3)
X
tta_cod_finalid_econCharacterx(10)
X
tta_cod_plano_cta_ctblCharacterx(8)
X
tta_cod_cta_ctblCharacterx(20)
X
tta_cod_plano_ccustoCharacterx(8)
X
tta_cod_ccustoCharacterx(20)
X
tta_cod_proj_financCharacterx(20)
X
tta_cod_cenar_ctblCharacterx(8)
X
tta_cod_estab Characterx(5)
X
tta_cod_unid_negocCharacterx(3)
X
tta_dat_sdo_ctblDate99/99/9999?X
tta_val_sdo_ctbl_dbDecimal->>>,>>>,>>>,>>9.990
tta_val_sdo_ctbl_crDecimal->>>,>>>,>>>,>>9.990
tta_val_sdo_ctbl_fimDecimal->>,>>>,>>>,>>9.990
tta_val_apurac_restdoDecimal->>,>>>,>>>,>>9.990
tta_val_apurac_restdo_dbDecimal->>,>>>,>>>,>>9.990
tta_val_apurac_restdo_crDecimal->>,>>>,>>>,>>9.990
tta_val_apurac_restdo_acum Decimal->>>>,>>>,>>>,>>9.990
tta_val_sdo_ctbl_db_sintDecimal->>,>>>,>>>,>>9.990
tta_val_sdo_ctbl_cr_sintDecimal->>,>>>,>>>,>>9.990
tta_val_sdo_ctbl_fim_sintDecimal->>>>,>>>,>>>,>>9.990
tta_val_apurac_restdo_sintDecimal->>,>>>,>>>,>>9.990
tta_val_apurac_restdo_sint_dbDecimal->>,>>>,>>>,>>9.990
tta_val_apurac_restdo_sint_crDecimal->>,>>>,>>>,>>9.990
tta_val_apurac_restdo_sint_acumDecimal->>>>,>>>,>>>,>>9.990
tta_val_movto_empenhDecimal->>,>>>,>>>,>>9.990
tta_qtd_sdo_ctbl_dbDecimal>>>,>>>,>>9.990
tta_qtd_sdo_ctbl_crDecimal>>>,>>>,>>9.990
tta_qtd_sdo_ctbl_fimDecimal->>>,>>>,>>9.990
ttv_val_movto_ctblDecimal>>>,>>>,>>>,>>9.990
tta_qtd_movto_empenhDecimal->>>>,>>9.99990



AtributoDescrição
tta_num_seqNum Seq
tta_cod_empresaEmpresa
tta_cod_finalid_econFinalidade
tta_cod_plano_cta_ctblPlano Contas
tta_cod_cta_ctblConta Contábil
tta_cod_plano_ccustoPlano Centros Custo
tta_cod_ccustoCentro Custo
tta_cod_proj_financProjeto
tta_cod_cenar_ctblCenário Contábil
tta_cod_estab Estab
tta_cod_unid_negocUn Neg
tta_dat_sdo_ctblData Saldo Cont bil
tta_val_sdo_ctbl_dbMovto Débito
tta_val_sdo_ctbl_crMovto Crédito
tta_val_sdo_ctbl_fimSaldo Contábil Final
tta_val_apurac_restdoApuração Resultado
tta_val_apurac_restdo_dbApuração Restdo DB
tta_val_apurac_restdo_crApuração Restdo CR
tta_val_apurac_restdo_acum Apuracao Final
tta_val_sdo_ctbl_db_sintMovto Débito Sint
tta_val_sdo_ctbl_cr_sintMovto Crédito Sint
tta_val_sdo_ctbl_fim_sintSaldo Sintético
tta_val_apurac_restdo_sintApuracao Resultado
tta_val_apurac_restdo_sint_dbApur Restdo Sint DB
tta_val_apurac_restdo_sint_crApur Restdo Sint CR
tta_val_apurac_restdo_sint_acumApur Result Sint
tta_val_movto_empenhMovto Empenhado
tta_qtd_sdo_ctbl_dbQuantidade DB
tta_qtd_sdo_ctbl_crQuantidade CR
tta_qtd_sdo_ctbl_fimQuantidade Final
ttv_val_movto_ctblMovimento Contábil
tta_qtd_movto_empenhQtde Movto Empenhado




Execução


Sintaxe:

Bloco de código
languageruby
IF NOT VALID-HANDLE(v_hdl_api) THEN
    RUN prgfin/lco/lco728za.r PERSISTENT SET v_hdl_api.

/* Busca Saldo Inicial */
    run pi_busca_sdo_ctbl in v_hdl_api (input v_cod_empres_usuar,
                           
string(tt_iva_cprs_pry.tta_cod_refer)
				input p_cod_estab_ini,
          
+ ";"
 
+
               
string(tt_iva_cprs_pry.ttv_cdn_fornecedor)
				input p_cod_estab_fim,
         
+
 
";"
 
+
                
string(tt_iva_cprs_pry.ttv_nom_pessoa_cli)
				input p_cod_finalid_econ,
          
+
 
";"
 
+
               
string(tt_iva_cprs_pry.ttv_cod_rut)
				input colext_cta_ctbl.cod_plano_cta_ctbl,
              
+
 
";"
 
+
           
string(tt_iva_cprs_pry.ttv_cod_operac_2)
				input colext_cta_ctbl.cod_cta_ctbl,
         
+
 
";"
 
+
                
string(tt_iva_cprs_pry.ttv_cod_1)
				input colext_cta_ctbl.cod_cta_ctbl,
                
+
 
";"
 
+
         				input 
string(tt_iva_cprs_pry.ttv_num_estab)
"",
              
+
 
";"
 
+
           				input "",
    
string(tt_iva_cprs_pry.ttv_num_pto_vta_fatur)
       
+
 
";"
 
+
              				input 
string(tt_iva_cprs_pry.ttv_cod_tip_documento)
"ZZZZZZZZZZZ" /*l_zzzzzzzzzzz*/ ,
         
+
 
";"
 
+
                
string(tt_iva_cprs_pry.ttv_num_parc)
				input p_cod_un_inicial,
             
+
 
";"
 
+
            
string(tt_iva_cprs_pry.ttv_cod_condicao)
				input p_cod_un_final,
         
+
 
";"
 
+
                
string(tt_iva_cprs_pry.ttv_val_orig_tit_ap_2)
				input p_cod_cenar_ctbl,
          
+
 
";"
 
+
               
string(tt_iva_cprs_pry.ttv_val_vta_grav_2)
				input "",
        
+
 
";"
 
+
                
string(tt_iva_cprs_pry.ttv_val_impuesto_2)
				input "ZZZZZZZZZZZZZZZZZZZZ" /*l_zzzzzzzzzzzzzzzzzzzz*/ ,
    
+
 
";"
 
+
                
string(tt_iva_cprs_pry.ttv_val_vta_grav_3)
     				input 
+ ";" +
v_dat_sdo_inic,
                   
string(tt_iva_cprs_pry.ttv_val_impuesto_3)
       
+ ";" +
 				input v_dat_sdo_inic,
                
string(tt_iva_cprs_pry.ttv_val_vta_grav_tot)
     
+
 
";"
 
+
    				input no,
            
string(tt_iva_cprs_pry.ttv_val_impuesto_tot)
     
+
 
";"
 
+
        				input "Maior ou Igual e Menor ou 
string(tt_iva_cprs_pry.ttv_val_vta_exento_2)
Igual" /*l_maior_igual_menor_igual*/ ,
    
+
 
";"
 
+
                
string(tt_iva_cprs_pry.tta_val_cotac_indic_econ)
 
skip.
    				input "for each" 
end.
/*l_for_each*/ ,
      
output stream s_1
 
close.
    
end.
    
    
/*
 
Busca
 
Pr¢xima
 
P gina
 
do
 
Livro
 
*/
  				output 
run
table tt_retorna_sdo_ctbl).

Em caso de erro nas validações acima, o erro será retornado por meio da temp-table tt_erros_api.

Se os dados forem aceitos, a API devolverá as informações para geração da conciliação de saldos por terceiros compras quando for chamada a procedure pi_busca_sdo_ctbl.


Expandir
titleClique aqui para visualizar...
Bloco de código
languageruby
def var v_hdl_api as Handle format ">>>>>>9":U no-undo.

run prgfin\lco\lco728za.r persistent set v_hdl_api.

if  valid-handle(v_hdl_api)
then doproxima_pag_iva_compras in v_hdl_api (output v_num_pagina, /* N£mero da Pr¢xima P gina */
                                                       output table tt_erros_api).
    for each tt_erros_api:
     /* Busca plano messagede "E  R  R  O  S"                skip
contas */
		run prgfin\lco\lco728za.r (input "GRIFFE1",       /* Plano de Contas */
     tt_erros_api.ttv_num_erro      skip
         	       tt_erros_api.ttv_des_mensagem	  skip
 input "Fiscal",        /* Cen rio Cont bil */
   tt_erros_api.ttv_des_ajuda     view-as alert-box.
    end.

    /* Atualiza éltima P gina do Livro */
 		   run pi_atualiza_ultima_pag_iva_compras in v_hdl_api (input (v_num_pagina + 12),input "PESO COL",      /* N£meroFinalidade da éltimaEcon“mica P gina */
		                           input v_cod_exercicio, /* Exerc¡cio */
		                           input v_num_periodo,   /* output table tt_erros_api).
Per¡odo */
		     
    for each tt_erros_api:
        message "E  R  R  O input S"IGN",           /* Estab Inicial */
		  skip
                tt_erros_api.ttv_num_erro      skip
   input "IGV",            tt_erros_api.ttv_des_mensagem  skip
/* Estab Final */
		                  tt_erros_api.ttv_des_ajuda     view-as alert-box.
         input "008",       end.

    find/* first pry_param_livro_iva no-lock
UN Inicial */
		        where pry_param_livro_iva.cod_empresa = v_cod_empres_usuar
        no-error.
    if  avail pry_param_livro_iva then 
 input "VEN",        message "RUC da Empresa:" v_cod_ruc  /* UN Final */
		   skip
                "Pr¢xima P gina:" v_num_pagina  skip
    input no,           "ëltima P gina :" pry_param_livro_iva.num_pag_livro_compra 
     /* Retorna Somente NÆo Conciliados */
		             view-as alert-box.
    else
        message "NÆooutput encontrou o registro de parƒmetros do Livro IVA Compras" view-as alert-box.
table tt_concilia_sdos_terceiros,
		                          
 output table  delete procedure tt_lanctos_ctbl_concil,
DELETE PROCEDURE v_hdl_api.
    
end.




Parâmetros de Saída


No caso do retorno ser NOK, todos os erros encontrados serão retornados na tabela Temp-Table tt_erros_api:

A tt-erros é uma tabela de retorno de dados referentes aos erros encontrados na manipulação  dos dados das tabelas de entrada. A tt-erros retorna dados por meio de um registro contendo o código do erro e a sua descrição.

Obs.: Depois da chamada feita à API é imprescindível tratar os erros retornados caso existam.

TEMP-TABLE tt_erros_api

Atributo

Tipo

Formato

Valor Inicial

ttv_num_erro

Integer

>>>,>>9

0

ttv_des_mensagem

Character

x(50)


ttv_des_ajuda

Character

x(50)


ttv_row_id

Rowid

Rowid

?

Atributo

Descrição

ttv_num_erro

Número do erro. Sequencial dentro da temp-table.

ttv_des_mensagem

Descrição do erro.

ttv_des_ajuda

Descrição ajuda.

ttv_row_id

Rowid.

Documento Traduzido