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).
- Alterar o extrator para utilizar a procedure "GetFactParameter" para buscar o valor do parâmetro 'ALLDOCS' e criar duas procedures separadas:
Uma para a consulta atual da tabela "recebimento" e outra para a 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).
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
* terceiros: beneficiamento, remessa e retorno
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 as 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 itens recebidos
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 de 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:
-Listar: Usar campo docum-est.ce-atual (Atualizados/Pendentes/Todos)
-Considerar documentos: Devolução / Transferência / Operação com terceiros. Como padrão as três opções devem vir desmarcadas, ou seja, o relatório não irá considerar estes tipos de documento.
No folder "Impressão":
O campo Destino terá somente a opção Planilha.
OBS: Verificar implementação do CE0302 que tem a opção de imprimir em formato XML que pode ser aberto pelo Excel ou Libre Office.
Exibir as seguintes informações nas colunas do relatório XML:
Sequência | Campo no Stage do BA | Descrição Coluna | Observação útil para codificação |
---|---|---|---|
1 | hkm_empres | Empresa | estabelec.ep-codigo |
2 | hkm_establ | Estabel | docum-est.cod-estabel |
3 | hkm_fornec | Fornecedor | docum-est.cod-emitente |
4 | Nome Abrev Forn | emitente.nome-abrev | |
5 | hkm_grpfor | Grupo Fornecedor | emitente.cod-gr-forn |
6 | hkm_transp | Transportadora | transporte.cod-transp |
7 | Tipo Operação | Para NF-e usar lógica para determinar o tipo de operação (include reapi320.i). Ex: Transferência. Quando for Serviço (docum-est.cod-observa), mostrar "Serviço" e ignorar as regras da reapi320.i. Para ver se é frete, olhar o campo Tipo Compra da natureza de operação (Frete), ignorar também as regras da reapi320.i. | |
8 | hkm_fammat | Familia Material | item.fm-codigo |
9 | Desc Fam Material | familia.descricao | |
10 | hkm_famcom | Familia Comercial | item.fm-cod-com |
11 | Desc Fan Comercial | fam-comerc.descricao | |
12 | hkm_grpest | Grupo Estoque | item.ge-estoque |
13 | Desc Grupo Estoque | grup-estoque.descricao | |
14 | hkm_item | Item | item-doc-est.it-codigo |
15 | Desc Item | item.desc-item | |
16 | hkm_unitem | Unid Medida Item | item.un |
17 | Origem | docum-est.origem (em branco ""-documento digitado, "I"-EDI ou TOTVS Colaboração, "T"-TMS) | |
18 | hkm_cmprdr | Comprador | ordem-compra.cod-comprado |
19 | Nome Comprador | usuar-mater.nome-usuar (usuar-mater.cod-usuario = ordem-compra.cod-comprado) | |
20 | hkm_pedido | Pedido Compra | string(item-doc-est.num-pedido) |
21 | hkm_ordem | Ordem Compra | string(item-doc-est.numero-ordem) |
22 | hkm_numprg | Parcela Compra | item-doc-est.parcela |
23 | Ordem Produção | item-doc-est.nr-ord-produ | |
24 | Ordem Investimento | item-doc-est.num-ord-inv | |
25 | hkm_condpg | Condição Pagamento | ordem-compra.cod-cond-pag |
26 | hkm_plccst | Plano C Custo | RUN pi_busca_plano_ccusto_empresa IN h_api_ccusto (prgint/utb/utb742za.py) |
27 | Conta Contábil | item-doc-est.ct-codigo | |
28 | hkm_ccusto | Centro Custo | item-doc-est.sc-codigo |
29 | hkm_undneg | Unidade de Negócio | item-doc-est.cod-unid-negoc |
30 | hkm_sernf | Série Nota | docum-est.serie-docto |
31 | hkm_numnf | Nr Nota Fiscal | docum-est.nro-docto |
32 | hkm_datanf | Dt Nota Fiscal | docum-est.dt-emissao |
33 | hkm_data | Data Transação | docum-est.dt-trans |
34 | hkm_natopr | Nat Oper Docto | docum-est.nat-operacao |
35 | hkm_cfop | CFOP Docto | natur-oper.cod-cfop |
36 | Nat Oper Item | item-doc-est.nat-of | |
37 | CFOP Item | natur-oper.cod-cfop | |
38 | hkm_dteord | Emissão Ordem | ordem-compra.data-emissao |
39 | hkm_dteped | Data Pedido Compra | ordem-compra.data-pedido |
40 | hkm_dtprev | Data Prev Recebimento | prazo-compra.data-entrega |
41 | hkm_qdiaan | Dias Antecipação | i-dd-antec |
42 | hkm_qdiaat | Dias Atrasado | i-dd-atras |
43 | hkm_qreceb | Qtde Recebida | item-doc-est.quantidade |
44 | hkm_qrecfm | Qtde Recebida Familia | (item-doc-est.quantidade * de-ft-conv-mat) |
45 | hkm_emerg | Pedido Emergencial | pedido-compr.emergencial |
46 | hkm_sitcmp | Situação Compra | entry(ordem-compra.situacao, {ininc/i02in274.i 03}) |
47 | hkm_natcmp | Natureza Compra | entry(ordem-compra.natureza, {ininc/i01in274.i 03}) |
48 | hkm_refer | Referência | item-doc-est.cod-refer |
49 | hkm_seqcia | Seq Item NF | item-doc-est.sequencia |
50 | hkm_qrecan | Qtd Receb Antecipado | IF i-ent-antec > 0 THEN 1 ELSE 0 |
51 | hkm_qrecat | Qtd Receb em Atraso | IF i-ent-atras > 0 THEN 1 ELSE 0 |
52 | hkm_qrecdt | Qtd Receb em Dia | i-nr-ent-dt |
53 | hkm_qrecun | Qtd Receb Único | i-entrega-unica |
54 | Cód Trib ICMS | Usar mesma lógica do relatório RE0401 (Exibir a descrição: Tributado, Isento, Reduzido, Outras) | |
55 | Alíquota ICMS | item-doc-est.aliquota-icm | |
56 | Vl ICMS | item-doc-est.valor-icm[1] | |
57 | Cód Trib PIS | Usar mesma lógica do relatório RE0401 (Exibir a descrição: Tributado, Isento, Reduzido, Outras) | |
58 | Alíquota PIS | recupera-aliquotas in h-cdapi995 (se alíquota = 0, pega alíquota de item-doc-est.val-aliq-pis) | |
59 | Vl PIS | item.doc-est.valor-pis | |
60 | Cód Trib COFINS | Usar mesma lógica do relatório RE0401 (Exibir a descrição: Tributado, Isento, Reduzido, Outras) | |
61 | Alíquota COFINS | recupera-aliquotas in h-cdapi995 (se alíquota = 0, pega alíquota de item-doc-est.val-aliq-cofins) | |
62 | Vl COFINS | item.doc-est.valor-cofins | |
63 | Cód Trib IPI | Usar mesma lógica do relatório RE0401 (Exibir a descrição: Tributado, Isento, Reduzido, Outras) | |
64 | Alíquota IPI | item-doc-est.aliquota-ipi | |
65 | Vl IPI | item-doc-est.valor-ipi[1] | |
66 | Cód Trib ISS | Usar mesma lógica do relatório RE0401 (Exibir a descrição: Tributado, Isento, Reduzido, Outras) | |
67 | Alíquota ISS | item-doc-est.aliquota-iss | |
68 | Vl ISS | item-doc-est.valor-iss[1] | |
69 | Preço Total | item-doc-est.preco-total[1] | |
70 | Despesa | item-doc-est.despesas[1] | |
71 | Desconto | item-doc-est.desconto[1] | |
72 | hkm_vreceb | Vl Recebido | round((item-doc-est.preco-total[1] + item-doc-est.Despesas[1] - item-doc-est.desconto[1]),2) |
73 | Narrativa Item | item-doc-est.narrativa (truncar primeiros 200 caracteres) |
Dicionário de Dados
Não se aplica.
Estrutura de Menu
Procedimentos
Procedimento | re0523 |
Descrição | Listagem itens recebidos |
Módulo | Recebimento |
Programa base | re0523 |
Nome Menu | Listagem itens recebidos |
Interface | GUI |
Registro padrão | Sim |
Visualiza Menu | Sim |
Release de Liberação | 12.1.9 |
Programas
Programa | re0523 |
Descrição | Listagem itens recebidos |
Nome Externo | rep/re0523.r |
Nome Menu/Programa | Listagem itens recebidos |
Nome Verbalizado[1] | Listagem itens recebidos |
Procedimento | re0523 |
Template | Relatórios |
Tipo[2] | Relatório |
Interface | GUI |
Categoria[3] | Não se aplica |
Executa via RPC | Não |
Registro padrão | Sim |
Outro Produto | Não |
Visualiza Menu | Sim |
Query on-line | Não |
Log Exec. | Não |
Rotina (EMS) | Não se aplica |
Sub-Rotina (EMS) | Não se aplica |
Localização dentro da Sub Rotina (EMS) | Não se aplica |
Compact[4] | Não se aplica |
Home[5] | Não se aplica |
Posição do Portlet[6] | Não se aplica |
Informar os papeis com os quais o programa deve ser vinculado | Não se aplica |
Cadastro de Papéis
Não se aplica.
[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. |
---|