Page tree

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

(Obrigatório)

Informações Gerais

 

Especificação

Produto

Logix

Módulo

Conrtas a Pagar

Segmento Executor

 

Projeto1

  1. MANFIN01 - Projeto Desenvolvimento Finanças

IRM1

MANFIN01-103 - Pequenas melhorias - Financeiro

Requisito1

MANFIN01-1060 - fin30064 Permitir emissão para importação em planilhas

Subtarefa1

MANFIN01-1072 - fin30064 Permitir emissão para importação em planilhas

Chamado2

TVIZWR

País

(X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

(Obrigatório)

Objetivo

Alterar o fin30064 (Aps pagas e a Pagar) para possibilitar a geração de arquivo CSV conforme filtro de relatório analítico.  

 

(Obrigatório)

Definição da Regra de Negócio

 

Serão efetuadas as seguintes alterações para possibilitar a impressão de arquivo no formato CSV.


1 - Criação do campo "Gera arquivo CSV" 

2 - Alterar o fin30064 para prever o novo campo no programa 

2.1- Criar novo report, baseado no relatório analítico do fin30064  para geração do arquivo no formato CSV.

 

#--------------------------- IMPRESSÃO EXCEL
#----------------------------------------------------------------------#

 

#------------------------------#
REPORT fin30064_relat_excel(lr_relat)
#------------------------------#
DEFINE lr_relat RECORD
cod_empresa LIKE empresa.cod_empresa,
cod_empresa_orig LIKE emp_orig_destino.cod_empresa_orig,
cod_lin_prod DECIMAL(02,0),
cod_lin_recei DECIMAL(02,0),
cod_seg_merc DECIMAL(02,0),
cod_cla_uso DECIMAL(02,0),
cod_fornecedor LIKE ap.cod_fornecedor,
raz_social LIKE fornecedor.raz_social,
cod_lote_pgto LIKE ap.cod_lote_pgto,
num_ap LIKE ap.num_ap,
dat_entr LIKE ad_mestre.dat_rec_nf,
num_nf LIKE ap.num_nf,
num_duplicata LIKE ap.num_duplicata,
dat_vencto_s_desc LIKE ap.dat_vencto_s_desc,
dat_vencto_orig LIKE ap.dat_vencto_s_desc,
cod_portador LIKE ap.cod_portador,
cod_moeda LIKE ap.cod_moeda,
val_nom_ap LIKE ap.val_nom_ap,
val_ap_dat_pgto LIKE ap.val_ap_dat_pgto,
dat_pgto LIKE ap.dat_pgto,
docum_pgto_ext CHAR(004),
cod_tip_despesa LIKE tipo_despesa.cod_tip_despesa,
nom_tip_despesa LIKE tipo_despesa.nom_tip_despesa,
ies_lib_pgto_sup LIKE ap.ies_lib_pgto_sup,
num_docum_pgto LIKE ap.num_docum_pgto,
ies_docum_pgto LIKE ap.ies_docum_pgto,
num_ad LIKE ad_mestre.num_ad,
classif_financ LIKE cap_clas_fin_pagto.classif_financ,
quebra1 CHAR(100),
quebra2 CHAR(100),
quebra3 CHAR(100),
quebra4 DECIMAL(15,2),
inibe_transf CHAR(01),
dat_proposta LIKE ap.dat_proposta,
unidade_contabil_ap CHAR(06),
unidade_contabil_ad CHAR(06)
END RECORD

 

DEFINE l_ies_lib_suprim CHAR(03),
l_ies_pago CHAR(03),
l_ies_sel_aen CHAR(03),
l_cod_area CHAR(02),
l_cod_unid_contabil CHAR(06),
l_cod_aen CHAR(08),
l_den_aen CHAR(30),
l_fornecedor CHAR(500),
l_cod_banco CHAR(500),
l_cod_agen_bco CHAR(500),
l_cod_moeda CHAR(500),
l_cod_lote_pgto CHAR(500),
l_detalhe_excel CHAR(500),
l_last_row SMALLINT,
l_imp_cfor SMALLINT,
l_ja_pagou SMALLINT,
l_imp_aen SMALLINT,
l_first SMALLINT,
l_ind SMALLINT,
l_ind_moeda SMALLINT,
l_ind_uc SMALLINT,
l_den_moeda LIKE moeda.den_moeda_abrev,
l_ies_tipo_rel CHAR(10),
l_nom_tipo_despesa CHAR(30)

 

OUTPUT
LEFT MARGIN 0
TOP MARGIN 0
BOTTOM MARGIN 0
PAGE LENGTH m_length

 


ORDER EXTERNAL BY lr_relat.quebra1,
lr_relat.quebra2,
lr_relat.quebra3

 

FORMAT
FIRST PAGE HEADER

LET l_first = TRUE

 

ON EVERY ROW

IF l_first = TRUE THEN
LET l_first = FALSE
PRINT COLUMN 001, "AEN; DESCRIÇÃO AEN; EC; EO; @; AP; NF; DUPLIC; ÁREA; UNID CTBL; &; FORNECEDOR; RAZÃO SOCIAL; DESP; DESPESA; ENTRADA; VENCIMENTO; PROPOSTA; DOC; PGTO; *; MOEDA; VALOR; $; PAGAMENTO; TIPO DOCTO; PORT; #; CF; LP;"
END IF

LET l_detalhe_excel = NULL

 

WHENEVER ERROR CONTINUE
SELECT parametro_texto
INTO l_cod_area
FROM sup_par_fornecedor
WHERE empresa = "SE"
AND fornecedor = lr_relat.cod_fornecedor
AND parametro = "cod_area_fornec"
WHENEVER ERROR STOP
IF sqlca.sqlcode <> 0 THEN
IF sqlca.sqlcode <> 100 THEN
CALL log003_err_sql('LEITURA','SUP_PAR_FORNECEDOR')
END IF
LET l_cod_area = ""
END IF

 

IF l_imp_aen = TRUE THEN
IF m_ies_2_4 = "4" THEN
PRINT " "
WHENEVER ERROR CONTINUE
SELECT den_estr_linprod
INTO l_den_aen
FROM linha_prod
WHERE cod_lin_prod = lr_relat.cod_lin_prod
AND cod_lin_recei = lr_relat.cod_lin_recei
AND cod_seg_merc = lr_relat.cod_seg_merc
AND cod_cla_uso = lr_relat.cod_cla_uso
WHENEVER ERROR STOP
IF SQLCA.SQLCODE <> 0 THEN
LET l_den_aen = "ÁREA E LINHA 4 NÃO CADASTRADA"
END IF

 

LET l_cod_aen = lr_relat.cod_lin_prod USING "&&",
lr_relat.cod_lin_recei USING "&&",
lr_relat.cod_seg_merc USING "&&",
lr_relat.cod_cla_uso USING "&&"


LET l_imp_aen = FALSE
ELSE
PRINT " "
WHENEVER ERROR CONTINUE
SELECT den_estr_linprod
INTO l_den_aen
FROM linha_prod
WHERE cod_lin_prod = lr_relat.cod_lin_prod
AND cod_lin_recei = lr_relat.cod_lin_recei
AND cod_seg_merc = 0
AND cod_cla_uso = 0
WHENEVER ERROR STOP
IF SQLCA.SQLCODE <> 0 THEN
LET l_den_aen = "ÁREA E LINHA 2 NÃO CADASTRADA"
END IF

 

LET l_cod_aen = lr_relat.cod_lin_prod USING "&&",
lr_relat.cod_lin_recei USING "&&"

LET l_imp_aen = FALSE
END IF
#END IF
END IF
IF ma_tela[1].cod_aen IS NULL THEN
CALL fin30064_busca_tip_val(lr_relat.cod_empresa, lr_relat.num_ap, lr_relat.cod_tip_despesa)
ELSE
CALL fin30064_busca_tip_val_aen(lr_relat.num_ap, lr_relat.val_nom_ap,
lr_relat.num_ad, lr_relat.cod_empresa, lr_relat.cod_tip_despesa)
END IF

 

WHENEVER ERROR CONTINUE
SELECT den_moeda_abrev
INTO l_den_moeda
FROM moeda
WHERE moeda.cod_moeda = lr_relat.cod_moeda
WHENEVER ERROR STOP
IF sqlca.sqlcode <> 0 THEN
LET l_den_moeda = ""
END IF
IF mr_tela.classificacao = "2" OR
mr_tela.classificacao = "10" OR
mr_tela.classificacao = "5" OR
mr_tela.classificacao = "13" OR
mr_tela.classificacao = "6" OR
mr_tela.classificacao = "11" OR
mr_tela.classificacao = "14" OR
mr_tela.classificacao = "4" THEN
LET l_imp_cfor = TRUE
END IF

 

LET l_detalhe_excel = l_detalhe_excel CLIPPED,
l_cod_aen CLIPPED ,";",
l_den_aen CLIPPED ,";",
lr_relat.cod_empresa , ";",
lr_relat.cod_empresa_orig, ";"

 

IF lr_relat.dat_pgto IS NULL THEN
LET l_ies_pago = "NÃO"
ELSE
LET l_ies_pago = "SIM"
END IF
IF lr_relat.ies_lib_pgto_sup = "S" THEN
LET l_ies_lib_suprim = "S"
ELSE
LET l_ies_lib_suprim = "N"
END IF

 

LET l_detalhe_excel = l_detalhe_excel clipped,
lr_relat.inibe_transf, ";",
lr_relat.num_ap USING "#####&", ";",
lr_relat.num_nf, ";",
lr_relat.num_duplicata, ";",
l_cod_area, ";",
ma_unidade_contabil_ad[1].unid_ctbl, ";"

 

IF mr_tela.informacao = "S" THEN
CALL fin30064_busca_informacao_pgto_fornec(lr_relat.cod_fornecedor,lr_relat.cod_empresa)
RETURNING l_ja_pagou
IF l_ja_pagou > 0 THEN
LET l_detalhe_excel = l_detalhe_excel CLIPPED , "S",";"
ELSE
LET l_detalhe_excel = l_detalhe_excel CLIPPED , "N", ";"
END IF
ELSE
LET l_detalhe_excel = l_detalhe_excel CLIPPED , " ", ";"
END IF

 

# IF l_imp_cfor THEN
LET l_detalhe_excel = l_detalhe_excel CLIPPED,
lr_relat.cod_fornecedor CLIPPED , ";",
lr_relat.raz_social CLIPPED , ";" ;
# END IF

 

# IF mr_tela.classificacao = "9" THEN
LET l_imp_cfor = TRUE
# END IF

 

LET l_detalhe_excel = l_detalhe_excel CLIPPED,
lr_relat.cod_tip_despesa USING "####", ";",
lr_relat.nom_tip_despesa[1,16], ";",
lr_relat.dat_entr USING "DD/MM/YYYY", ";",
lr_relat.dat_vencto_s_desc USING "DD/MM/YYYY", ";",
lr_relat.dat_proposta USING "DD/MM/YYYY", ";",
lr_relat.num_docum_pgto USING "#######&", ";",
lr_relat.ies_docum_pgto, ";",
" ;",
l_den_moeda, ";",
lr_relat.val_nom_ap USING "#,###,###,###.##", ";",
l_ies_pago[1], ";",
lr_relat.dat_pgto USING "DD/MM/YYYY", ";",
lr_relat.docum_pgto_ext, ";",
lr_relat.cod_portador USING "&&&", ";",
l_ies_lib_suprim[1], ";",
lr_relat.classif_financ USING "&&", ";",
lr_relat.cod_lote_pgto USING "&&", ";"

 

CALL conout("detalhe_excel: "||l_detalhe_excel)

PRINT COLUMN 001, l_detalhe_excel

ON LAST ROW

 

LET l_last_row = TRUE

 

PAGE TRAILER

PRINT COLUMN 001, " "

 

END REPORT


 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

[fin30064 – APs pagas e a Pagar]

[Alteração]

[Atualizações -> Acadêmico-> Tesouraria]

-

 

 

 

-

 

 

 

-

 

Exemplo de Aplicação:

  • Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
  • Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades  como a referência mínima para calcular o débito total do aluno.
  • Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
  • O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.

 

Tabelas Utilizadas

  • SE2 – Cadastro de Contas a Pagar
  • FI9 – Controle de Emissão de DARF>.

Opcional

Protótipo de Tela

 

<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.

 

Protótipo 01

 

 

 

 

 

 

 

 

 

Opcional

Fluxo do Processo

 

<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

Opcional

Dicionário de Dados

 

Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/

  

Índice

Chave

01

<FI9_FILIAL+FI9_IDDARF+FI9_STATUS>

02

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF>

03

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO>

Campo

<AAA_PERESP>

Tipo

<N>

Tamanho

<6>

Valor Inicial

<Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. 

Mandatório

Sim (  ) Não (  )

Descrição

<Referência Mínima para Cálculo>

Título

<Ref.Calc.>

Picture

<@E999.99>

Help de Campo

<Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>

 

(Opcional)

Grupo de Perguntas

 

<Informações utilizadas na linha Protheus>.

 

Nome: FINSRF2

X1_ORDEM

01

X1_PERGUNT

Emissão De

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_DEF01

Comum

X1_CNT01

'01/01/08'

X1_HELP

Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

 

(Opcional)

Consulta Padrão

<Informações utilizadas na linha Protheus>

 

Consulta: AMB

Descrição

Configurações de Planejamento

Tipo

Consulta Padrão

Tabela

“AMB”

Índice

“Código”

Campo

“Código”; ”Descrição”

Retorno

AMB->AMB_CODIGO

 

(Opcional)

Estrutura de Menu

 

<Informações utilizadas na linha Datasul>.

 

Procedimentos

 

Procedimento

 

 

 

Descrição

(Max 40 posições)

(Max 40 posições)

(Max 40 posições)

Módulo

 

 

 

Programa base

 

 

 

Nome Menu

(Max 32 posições)

(Max 32 posições)

(Max 32 posições)

Interface

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

Registro padrão

Sim

Sim

Sim

Visualiza Menu

Sim/Não

Sim/Não

Sim/Não

Release de Liberação

 

 

 

 

 

 

Programas

 

Programa

 

 

 

Descrição

(Max 40 posições)

(Max 40 posições)

(Max 40 posições)

Nome Externo

 

 

 

Nome Menu/Programa

(Max 32 posições)

(Max 32 posições)

(Max 32 posições)

Nome Verbalizado[1]

(Max 254 posições)

(Max 254 posições)

(Max 254 posições)

Procedimento

 

 

 

Template

(Verificar lista de opções no man01211)

(Verificar lista de opções no man01211)

(Verificar lista de opções no man01211)

Tipo[2]

Consulta/Manutenção/ Relatório/Tarefas

Consulta/Manutenção/ Relatório/Tarefas

Consulta/Manutenção/ Relatório/Tarefas

Interface

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

Categoria[3]

 

 

 

Executa via RPC

Sim/Não

Sim/Não

Sim/Não

Registro padrão

Sim

Sim

Sim

Outro Produto

Não

Não

Não

Visualiza Menu

Sim/Não

Sim/Não

Sim/Não

Query on-line

Sim/Não

Sim/Não

Sim/Não

Log Exec.

Sim/Não

Sim/Não

Sim/Não

Rotina (EMS)

 

 

 

Sub-Rotina (EMS)

 

 

 

Localização dentro da Sub Rotina (EMS)

 

 

 

Compact[4]

Sim/Não

Sim/Não

Sim/Não

Home[5]

Sim/Não

Sim/Não

Sim/Não

Posição do Portlet[6]

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

Informar os papeis com os quais o programa deve ser vinculado

 

 

 

 

Cadastro de Papéis

<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.

<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.

 

Código Papel

(máx 3 posições)

Descrição em Português*

 

Descrição em Inglês*

 


[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

[3] Categorias são obrigatórias para os programas FLEX.

[4] Obrigatório quando o projeto for FLEX

[5] Obrigatório quando o projeto for FLEX

[6] Obrigatório quando o projeto for FLEX

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.