Home

Línea Datasul

Páginas filhas
  • LPY724ZA - API Libro IVA Compras

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

Generación de Gráficos


Nome Nombre Físico: prgfin/lpy/lpy724za.py

Versão Versión de IntegraçãoIntegración: 001

Objetivo: 

Criar o Crear el objeto de negócio negocio que será utilizado para gerar visão de dados na qual permitirá a emissão do livro de IVA, o qual lista todos os documentos implantados no módulo Contas a Pagar, em determinado período, que tenha, ou não, Imposto de se utilizará para generar una visión de datos que permitirá la emisión del libro de IVA, el cual lista todos los documentos registrados en el módulo de Cuentas por Pagar, en un período determinado, que tengan o no Impuesto al Valor Agregado vinculado.

Pré-requisitosRequisitos previos: 

Não No se aplica.


Consideraciones generales


  • Se pasan como parámetros de entrada (input) y salida (output) para la API. Como entrada (input) son: Sucursal Inicial, Sucursal Final, Fecha Emisión Inicial, Fecha de Emisión Final, Proveedor Inicial, Proveedor Final, Grupo de Proveedores Inicial, Grupo de Proveedores Final, Solo Facturas con IVA, como Salida (Output) se tienen: RUC de la

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 IVA, como Output são: RUC da Empresa, tt_iva_cprs_pry e tt_erros_api.
  • A exibição das informações da API é feita através da execução da La presentación de las informaciones de la API se realizar a través de la ejecución de la API prgfin/lpy/lpy724za.py.
Parâmetros

Parámetros de Entrada 


Temp-table tt_iva_cprs_pry: Na En la Temp-Table tt_iva_cprs_pry, são definidas as características gerais e dados a serem devolvidos.se definen las características generales y datos que se devolverán.

Descripción de los Descrição dos campos 

TEMP-TABLE tt_iva_cprs_pry

Atributo

Tipo

Formato

Valor Inicial

Índice

ttv_num_dia

Integer




ttv_cod_tit_ap

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

Decimal




ttv_val_vta_exento_2

Decimal




ttv_val_orig_tit_ap_2

Decimal




ttv_val_base_imponible_2

Decimal




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çãoDescripción

ttv_num_dia

Número de Diasdías

ttv_cod_tit_ap

Título Contas a Pagardel cuentas por pagar

ttv_dat_docto

Data Fecha de Emissãoemisión

ttv_nom_pessoa_cli

Nome Pessoa Nombre Persona Física 

ttv_cod_rut

Número do del RUC

ttv_val_vta_grav_2

Valor Tributado 5%

ttv_val_impuesto_2

Valor

Imposto

Impuesto 5%

ttv_val_vta_exento_2

Valor

Isento

exento

ttv_val_orig_tit_ap_2

Valor Original

ttv_val_base_imponible_2


ttv_cdn_fornecedor

Código

do Fornecedor

del Proveedor

ttv_num_estab

Numero do Estabelecimento

Número de la Sucursal

ttv_num_pto_vta_fatur_inic

Numero Ponto

Número Punto de

Venda

Venta

ttv_cb1_calc_dat_term_carenc

Data Termino Carência

Fecha Término Carencia

ttv_cod_1

Numero

Número Timbrado

tta_cod_espec_docto

Espécie do Documento

Clase de documento

tta_cod_ser_ap

Série do

Serie del Documento

ttv_val_vta_grav_3

Valor Tributado 10%

ttv_val_impuesto_3

Valor

Imposto

Impuesto 10%

ttv_val_vta_grav_tot

Valor Total Tributado

ttv_val_impuesto_tot

Valor Total

Imposto

Impuesto

ttv_cod_operac_2

Código

da Operação

de la operación

ttv_cod_tip_docto_2

Código Tipo Documento

ttv_num_timbdo

Numero do Timbrado

Número del timbrado

ttv_cod_estab

Código

do Estabelecimento

de la sucursal

ttv_cod_tit_ap_2

Código

do Título

del título

tta_val_cotac_indic_econ

Cotação

Cotización

tta_dat_transacao

Data

Fecha de

Transação

transacción

ttv_num_pto_vta_fatur

Ponto de Venda da Fatura

Punto de venta de la factura

tta_cod_refer

Código de

Referência

referencia

ttv_cod_tip_documento

Tipo de

Documento

documento

ttv_cod_condicao

Condição

Condición de

Pagamento

pago

ttv_num_parc

Numero

Número de

Parcelas

cuotas


Execução

Ejecución


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 linhaslíneas dodel livrolibro */
RUN pi_retorna_dados_iva_compras IN v_hdl_api (INPUT v_cod_estab_ini,      /* EstabelecimentoSucursal Inicial */
                                               INPUT v_cod_estab_fim,      /* EstabelecimentoSucursal Final */
                                               INPUT v_dat_emis_inic,      /* DataFecha EmissãoEmisión Inicial */
                                               INPUT v_dat_emis_fim,       /* DataFecha EmissãoEmisión Final */
                                               INPUT v_cdn_fornecedor_ini, /* FornecedorProveedor Inicial */
                                               INPUT v_cdn_fornecedor_fim, /* FornecedorProveedor Final */
                                               INPUT v_cod_grp_fornec_ini, /* Grupo FornecedoresProveedores Inicial */
                                               INPUT v_cod_grp_fornec_fim, /* Grupo FornecedoresProveedores Final */
                                               INPUT v_log_smte_com_iva,   /* SomenteSolamente FaturasFacturas comcon IVA */
                                               OUTPUT v_cod_ruc,           /* RUC de dala Empresa */
                                               OUTPUT TABLE tt_iva_cprs_pry,
                                               OUTPUT TABLE tt_erros_api).

Em En caso de erro nas validações acima, o erro será retornado por meio da error en las validaciones anteriores, el error se retornará por medio de la 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 Si los datos se aceptan, la API devolverá las informaciones para generar el libro IVA compras cuando se llame a procedure pi_retorna_dados_iva_compras.


Expandir
titleClique aqui Haga clic aquí 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 linhaslíneas dodel livrolibro */
     run pi_retorna_dados_iva_compras in v_hdl_api (input "",           /* EstabelecimentoSucursal Inicial */
                                                    input "ZZZZZ",      /* EstabelecimentoSucursal Final */
                                                    input 01/01/2025,   /* DataFecha EmissÆoEmisión Inicial */
                                                    input 06/30/2025,   /* DataFecha EmissÆoEmisión Final */
                                                    input 0,            /* FornecedorProveedor Inicial */
                                                    input 999999,       /* FornecedorProveedor Final */
                                                    input "",           /* Grupo FornecedoresProveedores Inicial */
                                                    input "ZZZZ",       /* Grupo FornecedoresProveedores Final */
                                                    input no,           /* SomenteSolamente FaturasFacturas comcon IVA */
                                                    output v_cod_ruc,   /* RUC de dala Empresa */
                                                    output table tt_iva_cprs_pry,
                                                    output table tt_erros_api). 
Bloco de código
languageruby
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 linhaslíneas dodel livrolibro */
     run pi_retorna_dados_iva_compras in v_hdl_api (input "",           /* EstabelecimentoSucursal Inicial */
                                                    input "ZZZZZ",      /* EstabelecimentoSucursal Final */
                                                    input 01/01/2025,   /* DataFecha EmissÆoEmisión Inicial */
                                                    input 06/30/2025,   /* DataFecha EmissÆoEmisión Final */
                                                    input 0,            /* FornecedorProveedor Inicial */
                                                    input 999999,       /* FornecedorProveedor Final */
                                                    input "",           /* Grupo FornecedoresProveedores Inicial */
                                                    input "ZZZZ",       /* Grupo FornecedoresProveedores Final */
                                                    input no,           /* SomenteSolamente FaturasFacturas comcon IVA */
                                                    output v_cod_ruc,   /* RUC dade la 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)        + ";" +
                string(tt_iva_cprs_pry.tta_cod_refer)            + ";" +
                string(tt_iva_cprs_pry.ttv_cdn_fornecedor)       + ";" +
                string(tt_iva_cprs_pry.ttv_nom_pessoa_cli)       + ";" +
                string(tt_iva_cprs_pry.ttv_cod_rut)              + ";" +
                string(tt_iva_cprs_pry.ttv_cod_operac_2)         + ";" +
                string(tt_iva_cprs_pry.ttv_cod_1)                + ";" +
                string(tt_iva_cprs_pry.ttv_num_estab)            + ";" +
                string(tt_iva_cprs_pry.ttv_num_pto_vta_fatur)    + ";" +
                string(tt_iva_cprs_pry.ttv_cod_tip_documento)    + ";" +
                string(tt_iva_cprs_pry.ttv_num_parc)             + ";" +
                string(tt_iva_cprs_pry.ttv_cod_condicao)         + ";" +
                string(tt_iva_cprs_pry.ttv_val_orig_tit_ap_2)    + ";" +
                string(tt_iva_cprs_pry.ttv_val_vta_grav_2)       + ";" +
                string(tt_iva_cprs_pry.ttv_val_impuesto_2)       + ";" +
                string(tt_iva_cprs_pry.ttv_val_vta_grav_3)       + ";" +
                string(tt_iva_cprs_pry.ttv_val_impuesto_3)       + ";" +
                string(tt_iva_cprs_pry.ttv_val_vta_grav_tot)     + ";" +
                string(tt_iva_cprs_pry.ttv_val_impuesto_tot)     + ";" +
                string(tt_iva_cprs_pry.ttv_val_vta_exento_2)     + ";" +
                string(tt_iva_cprs_pry.tta_val_cotac_indic_econ) skip.
        end.
        output stream s_1 close.
    end.
    
    /* Busca Pr¢ximaSiguiente P ginaPágina dodel LivroLibro */
    run pi_busca_proxima_pag_iva_compras in v_hdl_api (output v_num_pagina, /* N£mero da Pr¢xima P P ginagina */
                                                       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.

    /* AtualizaActualiza éltimaúltima P ginaPágina dodel LivroLibro */
    run pi_atualiza_ultima_pag_iva_compras in v_hdl_api (input (v_num_pagina + 12), /* N£mero da éltima P ginaP gina */
                                                         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.

    find first pry_param_livro_iva no-lock
        where pry_param_livro_iva.cod_empresa = v_cod_empres_usuar
        no-error.
    if  avail pry_param_livro_iva then 
        message "RUC da Empresa:" v_cod_ruc     skip
                "Pr¢xima P P ginagina:" v_num_pagina  skip
                "ëltima P ginaP gina :" pry_param_livro_iva.num_pag_livro_compra 
                 view-as alert-box.
    else
        message "NÆoNo encontrouencontró oel registro de parƒmetrosparámetros dodel LivroLibro IVA Compras" view-as alert-box.
                 
    delete procedure v_hdl_api.
    
end.




Parâmetros

Parámetros de

Saída

salida


Si el retorno es No caso do retorno ser NOK, todos os erros encontrados serão retornados na tabela los errores encontrados se retornarán en la tabla Temp-Table tt_erros_api:

A La tt-erros é uma tabela es una tabla de retorno de dados referentes aos erros encontrados na manipulação  dos dados das tabelas datos referente a los errores encontrados en el manejo de los datos de las tablas de entrada. A La tt-erros retorna dados datos por meio medio de um registro contendo o código do erro e a sua descriçãoun registro que contiene el código del error y su descripción.

Obs.: Depois da chamada feita à API é imprescindível tratar os erros retornados caso existamDespués de haber hecho la llamada a la API es imprescindible tratar los errores retornados si existen.

TEMP-TABLE tt_erros_api

Atributo

Tipo

Formato

Valor Inicial

ttv_num_erro

Integer



ttv_des_mensagem

Character



ttv_des_ajuda

Character



ttv_row_id

Rowid



Atributo

DescriçãoDescripción

ttv_num_erro

Número do erro. Sequencial dentro da del error Secuencia dentro de temp-table.

ttv_des_mensagem

Descrição do erroDescripción del error.

ttv_des_ajuda

Descrição ajudaDescripción de la ayuda.

ttv_row_id

Rowid.

Documento Traduzido

  • Xxxx