Home

Línea Datasul

Páginas filhas
  • LUY702ZA - API Generación - Ventas

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

gráficos


Nome FísicoNombre físico: prgfin/luy/luy702za.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á conferir as informações do Listado em detalhe das Vendas e exportar no formato desejado.

Pré-requisitos: 

Não se aplica.

se utilizará para generar una visión de datos que permita verificar la información del Listado en detalle de las Ventas y exportar en el formato deseado.

Prerrequisitos: 

No se aplica.


Consideraciones generales


  • Se pasan como parámetros a la API, como Input el mes y el año de la declaración y como Output el archivo con las declaraciones y la tabla temporal de errores.
  • La visualización de la información de la API se realiza a través de la ejecución de la

Considerações Gerais

  • São passados como parâmetros para a API, como Input o mês e o ano da declaração e Output o arquivo com as declarações e temp table de erros.
  • A exibição das informações da API é feita através da execução da API prgfin/luy/luy702za.py.


Parâmetros

Parámetros de

Entrada

entrada 


Temp-table tt-atributos: Na En la Temp-Table tt_dados_formulario, são definidas as características gerais do formulário de apresentação para cumprir com a legislação F2181.se definen las características generales del formulario de presentación para cumplir con la legislación F2181.


Descripción de los Descrição dos campos 

TEMP-TABLE tt_dados_formulario

Atributo

Tipo

Formato

Valor Inicialinicial

Índice

ttv_num_form

Integer


1

sim

ttv_cod_periodo

Character



sim

ttv_cod_docto_pessoa

Character



sim

ttv_cod_dat_emis_docto

Character



sim

ttv_cod_rubr

Character



sim

ttv_val_operac

Decimal




Atributo

DescriçãoDescripción

ttv_num_form

Identifica o el número de formulario da declaraçãode la declaración.

ttv_cod_periodo

Período.

ttv_cod_docto_pessoa

Documento da pessoade la persona.

ttv_cod_dat_emis_docto

Data Fecha de Emissão do emisión del documento.

ttv_cod_rubr

Rubro.

ttv_val_operac

Valor total da operaçãode la operación.



Temp-Table tt_cliente_F2181_acr:Na Temp En la Temp-Table tt_cliente_F2181_acrsão definidas informações referidas ao cliente do  se definen informaciones referidas al cliente del documento.

TEMP-TABLE tt-points

Atributo

Tipo

Formato

Valor Inicialinicial

Índice

tta_cod_empresa

Character



sim

tta_cdn_cliente

Integer


1

sim

tta_nom_pessoa

Character


“”


tta_cod_id_feder


Character




Atributo

DescriçãoDescripción

tta_cod_empresa

Código da de la empresa.

tta_cdn_fornecedor

Número do del cliente.

tta_nom_pessoapessoa

Nombre de la personaNome da pessoa.

tta_cod_id_feder

Documento.



Temp-Table tt_impostos_F2181_acr:Na Temp-Table En la Temp-Table tt_impostos_F2181_acrsão definidos os impostos vinculados aos  se definen los impuestos vinculados a los documentos.

 

TEMP-TABLE tt_impostos_F2181_acr

Atributo

Tipo

Formato

Valor Inicialinicial

Índice

tta_cod_estab

Character



sim

tta_num_id_tit_acr

Integer


1

sim

tta_cod_pais

Character



sim

tta_cod_unid_federac

Integer



sim

tta_cod_imposto

Character



sim

tta_cod_classif_impto

Character


0


tta_ind_tip_impto

Character




tta_ind_clas_impto

Character




tta_ind_tip_tax

Character




ttv_val_base

Decimal




ttv_val_imposto 

Decimal




Atributo

DescriçãoDescripción

tta_cod_estab

EstabelecimentoSucursal.

tta_num_id_tit_ap

Token título.

tta_cod_pais

PaisPaís.

tta_cod_unid_federac

Estado./Provincia/Región

tta_cod_imposto

ImpostoImpuesto.

tta_cod_classif_impto

Código da classificação do impostode la clasificación del impuesto

tta_ind_tip_impto

Tipo Impostode impuesto.

tta_ind_clas_impto

Classificação ImpostoClasificación de impuesto.

tta_ind_tip_tax

Tipo Taxade tasa.

ttv_val_base

Valor tributáveltributable.

ttv_val_imposto 

Valor Impostode impuesto.



Temp-Table tt_rubros_F2181_acr:Informações Informaciones referentes aos a los rubros dos de los clientes.

TEMP-TABLE tt_rubros_F2181_acr

Atributo

Tipo

Formato

Valor Inicialinicial

Índice

ttv_cod_rubr

Character


1

sim

tta_cod_estab

Character



sim

tta_num_id_tit_ap

Integer



sim

ttv_val_operac_rubr 

Decimal


0


Atributo

DescriçãoDescripción

ttv_cod_rubr

Identifica o el código do Rubrodel rubro.

tta_cod_estab

EstabelecimentoSucursal.

tta_num_id_tit_ap

Token do del título.

ttv_val_operac_rubr 

Valor total da operação de la operación por rubro.




Temp-table tt_titulo_F2181_acr: Informações Informaciones referentes aos a los títulos vinculados na declaraçãoen la declaración.

TEMP-TABLE tt_titulo_F2181_acr


Atributo

Tipo

Formato

Valor Inicialinicial

Índice primárioprimario

Índice secundáriosecundario

tta_cdn_cliente 

Integer



sim


tta_cod_estab

Character



simsim

tta_num_id_tit_acr





sim

tta_cod_espec_docto




sim


tta_cod_ser_docto




sim


tta_cod_tit_acr




sim


tta_cod_parcela




sim


tta_ind_tip_espec_docto






tta_dat_emis_docto






tta_cod_indic_econ






tta_val_origin_tit_acr






ttv_val_iva_basic






ttv_val_iva_min






ttv_val_isento






Atributo

DescriçãoDescripción

tta_cdn_cliente 

Cliente do del título.

tta_cod_estab

EstabelecimentoSucursal.

tta_num_id_tit_acr

Token do del título.

tta_cod_espec_docto

EspécieClase.

tta_cod_ser_docto

SérieSerie.

tta_cod_tit_acr

Código do del título.

tta_cod_parcela

ParcelaPartida.

tta_ind_tip_espec_docto

Tipo de espécieclase.

tta_dat_emis_docto

Data Fecha de emissãoemisión

tta_cod_indic_econ

MoedaMoneda.

tta_val_origin_tit_acr

Valor original do del título.

ttv_val_iva_basic

Valor total IVA Taxa BásicaTasa básica.

ttv_val_iva_min

Valor total IVA Taxa MínimaTasa mínima.

ttv_val_isento

Valor total Isentoexento.


Execução

Ejecución


Sintaxe:

Bloco de código
languageruby
RUN prgfin/luy/luy702za.py PERSISTENT SET v_hdl_api (INPUT mes,
                                                     INPUT ano).
RUN pi_obter_detalhes_acr_f2181 IN v_hdl_api (output table tt_cliente_f2181_acr,
                                              output table tt_rubros_F2181_acr,
                                              output table tt_titulo_F2181_acr,
                                              output table tt_impostos_F2181_acr,
                                              output table tt_erros_api).
Bloco de código
languageruby
RUN prgfin/luy/luy702za.py PERSISTENT SET v_hdl_api (INPUT mes,
                                                     INPUT ano).
RUN pi_main_formulario_2181 IN v_hdl_api (output v_des_arquivo,
                                          output table tt_erros_api).

Em En caso de erro nas validações acima, o erro será retornado através da error en las validaciones mencionadas anteriormente, el error se devolverá por medio de la temp-table ttt_erros_api.

Se os dados forem aceitos, a API devolverá as informações para geração do Formulário 2181 quando for chamada a Si los datos fueran aceptados, la API devolverá las informaciones para la generación del Formulario 2181 cuando se llame a la procedure pi_main_formulario_2181 ou devolverá os detalhes dos o devolverá los detalles de los títulos e impostos, se for chamada a impuestos, si fuera llamada la procedure pi_obter_detalhes_acr_f2181.


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.
def var v_des_arquivo as character no-undo.

RUN prgfin/luy/luy702za.py PERSISTENT SET v_hdl_api (INPUT 2,
                                                     INPUT 2025).
RUN pi_main_formulario_2181 IN v_hdl_api (output v_des_arquivo,
                                          output table tt_erros_api).
DELETE PROCEDURE v_hdl_api.
Bloco de código
languageruby
def var v_hdl_api as Handle format ">>>>>>9":U no-undo.
def var v_des_arquivo as character no-undo.

RUN prgfin/luy/luy702za.py PERSISTENT SET v_hdl_api (INPUT 2,
                                                     INPUT 2025).
RUN pi_obter_detalhes_acr_f2181 IN v_hdl_api (output table tt_cliente_f2181_acr,
                                              output table tt_rubros_F2181_acr,
                                              output table tt_titulo_F2181_acr,
                                              output table tt_impostos_F2181_acr,
                                              output table tt_erros_api).
DELETE PROCEDURE v_hdl_api.

for each tt_titulo_F2181_acr:
    if not can-find(first tt_impostos_F2181_acr
        where tt_impostos_F2181_acr.tta_cod_estab     = tt_titulo_F2181_acr.tta_cod_estab
          and tt_impostos_F2181_acr.tta_num_id_tit_acr = tt_titulo_F2181_acr.tta_num_id_tit_acr) then
    do:
        create tt_impostos_F2181_acr.
        assign tt_impostos_F2181_acr.tta_cod_estab     = tt_titulo_F2181_acr.tta_cod_estab
               tt_impostos_F2181_acr.tta_num_id_tit_acr = tt_titulo_F2181_acr.tta_num_id_tit_acr.  
    end.
end.

def stream s1.
output stream s1 to C:\tmp\Detalhes_F2181.csv convert target "ISO8859-1".
put stream s1 unformatted "Fornecedor;Nome;Titulo;Rubro;Vl Rubro;Vl Original;Vl Taxa Basica; Vl Taxa Minima; Vl Isento ; Imposto;Vl Base;Vl Imposto " skip.

for each tt_titulo_F2181_acr,
    each tt_rubros_F2181_acr
    where tt_rubros_F2181_acr.tta_cod_estab     = tt_titulo_F2181_acr.tta_cod_estab
      and tt_rubros_F2181_acr.tta_num_id_tit_acr = tt_titulo_F2181_acr.tta_num_id_tit_acr,    
    first tt_cliente_F2181_acr     where tt_cliente_F2181_acr.tta_cdn_cliente = tt_titulo_F2181_acr.tta_cdn_cliente,
    each tt_impostos_F2181_acr     where tt_impostos_F2181_acr.tta_cod_estab     = tt_titulo_F2181_acr.tta_cod_estab
      and tt_impostos_F2181_acr.tta_num_id_tit_acr = tt_titulo_F2181_acr.tta_num_id_tit_acr:
    
    put stream s1 unformatted
    string(tt_cliente_F2181_acr.tta_cdn_cliente)                                      + ";" +
    tt_cliente_F2181_acr.tta_nom_pessoa                                                  + ";" +
    tt_titulo_F2181_acr.tta_cod_estab + '/' +  tt_titulo_F2181_acr.tta_cod_espec_docto  + '/' + 
    tt_titulo_F2181_acr.tta_cod_ser_docto + '/' + tt_titulo_F2181_acr.tta_cod_tit_acr    + '/' + 
    tt_titulo_F2181_acr.tta_cod_parcela                                                 + ";" +
    tt_rubros_F2181_acr.ttv_cod_rubr                                                    + ";" +
    string(tt_rubros_F2181_acr.ttv_val_operac_rubr)                                     + ";" +
    string(tt_titulo_F2181_acr.tta_val_origin_tit_ap)                                   + ";" +
    string(tt_titulo_F2181_acr.ttv_val_iva_basic)                                       + ";" +
    string(tt_titulo_F2181_acr.ttv_val_iva_min)                                         + ";" +     
    string(tt_titulo_F2181_acr.ttv_val_isento)                                          + ";" +   
    tt_impostos_F2181_acr.tta_cod_pais + '/' + tt_impostos_F2181_acr.tta_cod_unid_federac + '/' + 
    tt_impostos_F2181_acr.tta_cod_imposto                                               + ";" +
    string(tt_impostos_F2181_acr.ttv_val_base)                                          + ";" +                                   
    string(tt_impostos_F2181_acr.ttv_val_imposto) 
    skip.  
    
end.
output stream s1 close.





Parâmetros

Parámetros de

Saída

salida


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

A La 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.es una tabla de devolución de datos referentes a los errores encontrados en el manejo de los datos de las tablas tablas de entrada. La tt-erros devuelve los datos por medio de un registro que contiene el código del error y su descripción.

Obs.: Después de la llamada realizada a la API, es imprescindible tratar los errores devueltos, si existieranObs.: Depois da chamada feita à API é imprescindível tratar os erros retornados caso existam.

TEMP-TABLE tt_erros_api

Atributo

Tipo

Formato

Valor Inicialinicial

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 del erro. Sequencial Secuencia dentro da de la temp-table.

ttv_des_mensagem

Descrição do erroDescripción del error.

ttv_des_ajuda

Descrição ajudaDescripción ayuda.

ttv_row_id

Rowid.