Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | TOTVS BA | Módulo | Materiais |
Segmento Executor |
| ||
Projeto1 | D_MAN_MAT002 | IRM1 | PCREQ-273 |
Requisito1 | PCREQ-8124 | Subtarefa1 | |
Chamado2 |
| ||
Release de Entrega Planejada | 12.1.9 | Réplica | Não há |
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
1. Alterar o extrator do BA "HKM-Recebimento das compras" para considerar todos os documentos lançados no recebimento fiscal. Atualmente o extrator extrai apenas informações de recebimento que tenham vínculo com pedido de compra.
2. Criar um relatório que deve ser gerado em formato XML (planilha) que permita validar as informações extraídas.
Chamado relacionado: TTEOJ4 - Sulbras
Definição da Regra de Negócio
Situação: Não é possível visualizar no GoodData as informações referentes a todas as notas fiscais digitadas no recebimento fiscal, apenas é possível a visualização das notas de entrada vinculadas a pedido de compra.
Contexto do Cliente: Estou refazendo minhas consultas do Datasul BI 2.0 para o Gooddata. No caso do recebimento de materiais, não consigo visualizar todos os dados de notas fiscais recebidas no ERP. Não encontrei um cubo que mostrasse todos os documentos lançados no RE1001, somente encontrei os documentos com referências à pedidos de compra (Recebimento de compras).
Solução: Necessário alterar o extrator do BA "HKM-Recebimento das compras" para que o mesmo considere todos os documentos lançados no recebimento fiscal. Para isso pode ser usado como base o extrator já existente do Datasul BI 2.0 (ems0306.p).
Não há no ERP atualmente um relatório onde seja possível validar a totalização dos recebimentos e valores recebidos, portanto deverá ser criado um relatório que permita validar as informações extraídas.
Atualizar a documentação do BA referente ao extrator HKM.
Rotina | Tipo de Operação |
[EMS2_BI_HKM – Extrator Recebimento das compras ] | [Alteração] |
[EMS2_BI_DATALOADER - Carrega parâmetros padrões dos extratores] | [Alteração] |
[RE0523 - Novo relatório de extração de notas de entrada] | [Criação] |
[BFP001AB - Parâmetros BA] | [Envolvido] |
Protótipo de Tela
Os protótipos estão sendo detalhados no tópico diagrama de ação.
Diagrama de ação
1. Tela de parâmetros do BA (MBA\BFP001AB)
Adicionar na tela de parâmetros do BA um parâmetro 'ALLDOCS' na configuração do extrator HKM onde será possível parametrizar a extração de todos os documentos.
-Se o parâmetro estiver igual a 'NAO', serão extraídos somente os documentos de compra (com pedido de compra vinculado).
-Se informar 'SIM' serão extraídas informações de quase todos os documentos de entrada (com exceção de alguns tipos de documentos detalhados no tópico 2).
- Ao alterar o extrator para utilizar a procedure "GetFactParameter" para buscar o valor desse parâmetro e separar a consulta atual da tabela "recebimento", da consulta completa (tabela docum-est).
Programa que faz a carga de parâmetros: ems_bi_dataloader.p
Adicionar o trecho de código abaixo para inclusão do parâmetro novo:
/* Parametro Extrai todos os documentos - Fato Recebimento das compras */
FIND FIRST HJK
WHERE HJK.HJK_CPARAM = 'ALLDOCS' AND HJK.HJK_CDFATO = 'HKM' NO-ERROR.
IF NOT AVAIL HJK THEN DO:
CREATE HJK.
ASSIGN HJK.HJK_FILIAL = ''
HJK.HJK_CDFATO = 'HKM'
HJK.HJK_CPARAM = 'ALLDOCS'
HJK.HJK_DPARAM = 'Extrai todos os documentos'
HJK.HJK_APARAM = 'Informe SIM para considerar todos os documentos de entrada do recebimento fiscal, ou informe NAO para considerar somente as notas referentes ao recebimento de compras.'
HJK.HJK_VPARAM = 'NAO'.
END.
2. Extrator HKM - Recebimento das compras
Alterar o extrator para considerar o novo parâmetro, e caso ALLDOCS = SIM, todos os documentos lançados no recebimento fiscal serão extraídos para o BA.
Para isso pode ser usado como base o extrator já existente do Datasul BI 2.0 (ems0306.p).
Programa extrator ems2_bi_hkm.p:
Extrator BA da fato HKM Recebimento das Compras:
$/EMS2/Fontes_Doc/Sustentacao/V11/V11/progress/src/mba/ems2_bi_hkm.p
Extrator BI
$/BI/Fontes_Doc/Sustentacao/V11.0/V11.0/progress/bi.extractor/src/ems0306.p
Análise do extrator do BI ems0306.p (parte que consulta as informações na docum-est):
- Realiza a consulta baseando-se na data de atualização. No extrator do BA usar como base a data de transação.
- Implementar condição para que o extrator faça a leitura somente de documentos atualizados (ce-atual = yes).
- Para gerar as informações da docum-est no extrator de recebimento das compras do BA é necessário analisar campo a campo, pois os campos tem nomes bem diferentes no extrator do BI em relação ao extrator do BA.
- Na consulta do extrator deverão ser desconsiderados os documentos dos tipos:
* devolucão de cliente
* transferência
* beneficiamento, remessa (1) e retorno (2)
3. Implementar novo relatório para listagem de documentos de entrada item a item
Para possibilitar a validação das informações no BA, deverá ser criado um novo relatório no módulo de recebimento que liste as informações referentes a notas de entrada.
Cada linha do relatório deverá representar um item da nota (item-doc-est).
Código do novo relatório: RE0523. Nome: Listagem de documentos de entrada por seq. item
Este relatório deve ser gerado em formato XML (pode ser aberto em excel ou libre office) para permitir a sumarização das informações e criação de tabela dinâmica.
O código fonte base para criação da consulta do relatório estará disponível no diretório do projeto.
Criar seleção do relatório por:
Estabelecimento: docum-est.cod-estabel (faixa aberta)
Data Transação: docum-est.dt-trans (Padrão da tela deverá ser a faixa do último mês, se hoje é 15/10/15, a faixa deve ser de 01/09/15 a 31/09/15)
Data Emissão: docum-est.dt-emissao (faixa aberta)
Emitente: docum-est.cod-emitente (faixa aberta)
Série: docum-est.serie-docto (faixa aberta)
Documento: docum-est.nro-docto (faixa aberta)
Nat Operação: docum-est.nat-operacao (faixa aberta)
No folder "Parâmetros" implementar a seguinte opção:
-Considerar documentos: Devolução / Transferência / Operação com terceiros.
No folder "Impressão":
O campo Destino terá somente a opção Excel:
xxxxx
Exibir as seguintes informações no relatório:
Campo no Stage do BA | Descrição Coluna | Observação útil para codificação |
---|---|---|
hkm_empres | Empresa | estabelec.ep-codigo |
hkm_establ | Estabel | docum-est.cod-estabel |
hkm_fornec | Fornecedor | docum-est.cod-emitente |
Nome Abrev Forn | emitente.nome-abrev | |
hkm_grpfor | Grupo Fornecedor | emitente.cod-gr-forn |
hkm_transp | Transportadora | transporte.cod-transp |
Tipo Operação | Usar lógica para determinar o tipo de operação (include reapi320.i). Ex: Transferência. | |
hkm_fammat | Familia Material | item.fm-codigo |
Desc Fam Material | familia.descricao | |
hkm_famcom | Familia Comercial | item.fm-cod-com |
Desc Fan Comercial | fam-comerc.descricao | |
hkm_grpest | Grupo Estoque | item.ge-estoque |
Desc Grupo Estoque | grup-estoque.descricao | |
hkm_item | Item | item-doc-est.it-codigo |
Desc Item | item.desc-item | |
hkm_unitem | Unid Medida Item | item.un |
Origem | docum-est.origem (em branco ""-documento digitado, "I"-EDI ou TOTVS Colaboração, "T"-TMS) | |
hkm_cmprdr | Comprador | ordem-compra.cod-comprado |
Nome Comprador | usuar-mater.nome-usuar (usuar-mater.cod-usuario = ordem-compra.cod-comprado) | |
hkm_pedido | Pedido Compra | string(item-doc-est.num-pedido) |
hkm_ordem | Ordem Compra | string(item-doc-est.numero-ordem) |
hkm_numprg | Parcela Compra | item-doc-est.parcela |
Ordem Produção | item-doc-est.nr-ord-produ | |
Ordem Investimento | item-doc-est.num-ord-inv | |
hkm_condpg | Condição Pagamento | ordem-compra.cod-cond-pag |
hkm_plccst | Plano C Custo | RUN pi_busca_plano_ccusto_empresa IN h_api_ccusto (prgint/utb/utb742za.py) |
Conta Contábil | item-doc-est.ct-codigo | |
hkm_ccusto | Centro Custo | item-doc-est.sc-codigo |
hkm_undneg | Unidade de Negócio | item-doc-est.cod-unid-negoc |
hkm_sernf | Série Nota | docum-est.serie-docto |
hkm_numnf | Nr Nota Fiscal | docum-est.nro-docto |
hkm_datanf | Dt Nota Fiscal | docum-est.dt-emissao |
hkm_data | Data Transação | docum-est.dt-trans |
hkm_natopr | Nat Oper Docto | docum-est.nat-operacao |
hkm_cfop | CFOP Docto | natur-oper.cod-cfop |
Nat Oper Item | item-doc-est.nat-of | |
CFOP Item | natur-oper.cod-cfop | |
hkm_dteord | Emissão Ordem | ordem-compra.data-emissao |
hkm_dteped | Data Pedido Compra | ordem-compra.data-pedido |
hkm_dtprev | Data Prev Recebimento | prazo-compra.data-entrega |
hkm_qdiaan | Dias Antecipação | i-dd-antec |
hkm_qdiaat | Dias Atrasado | i-dd-atras |
hkm_qreceb | Qtde Recebida | item-doc-est.quantidade |
hkm_qrecfm | Qtde Recebida Familia | (item-doc-est.quantidade * de-ft-conv-mat) |
hkm_emerg | Pedido Emergencial | pedido-compr.emergencial |
hkm_sitcmp | Situação Compra | entry(ordem-compra.situacao, {ininc/i02in274.i 03}) |
hkm_natcmp | Natureza Compra | entry(ordem-compra.natureza, {ininc/i01in274.i 03}) |
hkm_refer | Referência | item-doc-est.cod-refer |
hkm_seqcia | Seq Item NF | item-doc-est.sequencia |
hkm_qrecan | Qtd Receb Antecipado | IF i-ent-antec > 0 THEN 1 ELSE 0 |
hkm_qrecat | Qtd Receb em Atraso | IF i-ent-atras > 0 THEN 1 ELSE 0 |
hkm_qrecdt | Qtd Receb em Dia | i-nr-ent-dt |
hkm_qrecun | Qtd Receb Único | i-entrega-unica |
Alíquota ICMS | item-doc-est.aliquota-icm | |
Vl ICMS | item-doc-est.valor-icm[1] | |
Alíquota PIS | recupera-aliquotas in h-cdapi995 (se alíquota = 0, pega alíquota de item-doc-est.val-aliq-pis) | |
Vl PIS | item.doc-est.valor-pis | |
Alíquota COFINS | recupera-aliquotas in h-cdapi995 (se alíquota = 0, pega alíquota de item-doc-est.val-aliq-cofins) | |
Vl COFINS | item.doc-est.valor-cofins | |
Alíquota IPI | item-doc-est.aliquota-ipi | |
Vl IPI | item-doc-est.valor-ipi[1] | |
Alíquota ISS | item-doc-est.aliquota-iss | |
Vl ISS | item-doc-est.valor-iss[1] | |
Preço Total | item-doc-est.preco-total[1] | |
Despesa | item-doc-est.despesas[1] | |
Desconto | item-doc-est.desconto[1] | |
hkm_vreceb | Vl Recebido | round((item-doc-est.preco-total[1] + item-doc-est.Despesas[1] - item-doc-est.desconto[1]),2) |
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. |
---|