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 | Manufatura | ||
Projeto1 | D_MAN_MAT002 | IRM1 | PCREQ-273 |
Requisito1 | PCREQ-8124 | Subtarefa1 | |
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 os documentos lançados no recebimento fiscal mesmo que não tenham relacionamento com pedido de compra. Atualmente o extrator extrai apenas informações de recebimento que tenham vínculo com pedido de compra.
2. Implementar um relatório que permita validar as informações extraídas. A saída do relatório deve ser um arquivo em formato de planilha que possa ser aberta com Excel e Libre Office.
Chamado relacionado: TTEOJ4 - Sulbras
Definição da Regra de Negócio
Situação: Não estão aparecendo no GoodData informações referentes a notas fiscais de entrada sem pedido de compra, estão sendo extraídas somente 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 de itens recebidos onde seja possível a totalização dos valores recebidos (Ex.: planilha). Será implementado 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, com exceção dos seguintes:
* devolução de cliente
* transferência
* terceiros: beneficiamento, remessa e retorno
Dica: 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.
Importante: Nas sequências de item da NF que são recebidos por FIFO será gerado para o BA o primeiro Pedido/Ordem/Parcela daquela sequência de item. Não haverá geração de registros no Stage do BA para cada registro do FIFO. Caso essa informação seja crucial para o cliente ele deverá utilizar o parâmetro ALLDOCS igual a NAO, dessa forma o extrator irá gerar as informações de Pedido/Ordem/Parcela conforme o FIFO.
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 (poderá ser aberto em Excel ou Libre office).
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 de cliente / 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.
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_sernf | Série Nota | docum-est.serie-docto |
4 | hkm_numnf | Nr Nota Fiscal | docum-est.nro-docto |
5 | hkm_datanf | Dt Nota Fiscal | docum-est.dt-emissao |
6 | hkm_data | Data Transação | docum-est.dt-trans |
7 | hkm_natopr | Nat Oper Docto | docum-est.nat-operacao |
8 | hkm_cfop | CFOP Docto | natur-oper.cod-cfop |
9 | hkm_fornec | Fornecedor | docum-est.cod-emitente |
10 | Nome Abrev Forn | emitente.nome-abrev | |
11 | Tipo Operação | NF-e: usar mesma lógica para determinar o tipo de operação da include reapi320.i. Ex: Compra, Transferência e etc. Serviço: Quando for Serviço (campo: docum-est.cod-observa), exibir "Serviço" e ignorar as regras da reapi320.i. Frete: olhar o campo "Tipo Compra" da natureza de operação (Frete). Se for frete ignorar as regras da reapi320.i. | |
12 | hkm_grpfor | Grupo Forn | emitente.cod-gr-forn |
13 | hkm_transp | Transportadora | transporte.cod-transp |
14 | hkm_seqcia | Seq Item NF | item-doc-est.sequencia |
15 | hkm_item | Item | item-doc-est.it-codigo |
16 | Desc Item | item.desc-item | |
17 | hkm_unitem | Unid Medida Item | item.un |
18 | Nat Oper Item | item-doc-est.nat-of | |
19 | CFOP Item | natur-oper.cod-cfop | |
20 | hkm_qreceb | Qtde Recebida | item-doc-est.quantidade |
21 | hkm_qrecfm | Qtde Receb Fam Mat | (item-doc-est.quantidade * de-ft-conv-mat) |
22 | Preço Total | item-doc-est.preco-total[1] | |
23 | Despesa | item-doc-est.despesas[1] | |
24 | Desconto | item-doc-est.desconto[1] | |
25 | hkm_vreceb | Vl Recebido | round((item-doc-est.preco-total[1] + item-doc-est.Despesas[1] - item-doc-est.desconto[1]),2) |
26 | hkm_grpest | Grupo Estoque | item.ge-estoque |
27 | Desc Grupo Estoque | grup-estoque.descricao | |
28 | hkm_fammat | Familia Material | item.fm-codigo |
29 | Desc Fam Mat | familia.descricao | |
30 | hkm_famcom | Familia Comercial | item.fm-cod-com |
31 | Desc Fam Com | fam-comerc.descricao | |
32 | Origem | docum-est.origem (em branco ""-documento digitado, "I"-EDI ou TOTVS Colaboração, "T"-TMS) | |
33 | FIFO? | SIM/NÃO - item-doc-est.log-1 | |
34 | hkm_refer | Referência | item-doc-est.cod-refer |
35 | Ordem Prod | item-doc-est.nr-ord-produ | |
36 | Ordem Invest | item-doc-est.num-ord-inv | |
37 | hkm_plccst | Plano C Custo | RUN pi_busca_plano_ccusto_empresa IN h_api_ccusto (prgint/utb/utb742za.py) |
38 | Conta Contábil | item-doc-est.ct-codigo | |
39 | hkm_ccusto | Centro Custo | item-doc-est.sc-codigo |
40 | hkm_undneg | Unidade Negócio | item-doc-est.cod-unid-negoc |
41 | hkm_pedido | Pedido Compra | string(item-doc-est.num-pedido) |
42 | hkm_ordem | Ordem Compra | string(item-doc-est.numero-ordem) |
43 | hkm_numprg | Parcela Compra | item-doc-est.parcela |
44 | Nr Contrato | pedido-compr.nr-contrato | |
45 | hkm_cmprdr | Comprador | ordem-compra.cod-comprado |
46 | Nome Comprador | usuar-mater.nome-usuar (usuar-mater.cod-usuario = ordem-compra.cod-comprado) | |
47 | hkm_condpg | Cond Pagto | ordem-compra.cod-cond-pag |
48 | hkm_dteord | Emissão Ordem | ordem-compra.data-emissao |
49 | hkm_dteped | Data Ped Compra | ordem-compra.data-pedido |
50 | hkm_dtprev | Data Prev Receb | prazo-compra.data-entrega |
51 | hkm_qdiaan | Dias Antecipação | i-dd-antec |
52 | hkm_qdiaat | Dias Atrasado | i-dd-atras |
53 | hkm_emerg | Pedido Emergl | pedido-compr.emergencial |
54 | hkm_sitcmp | Situação Compra | entry(ordem-compra.situacao, {ininc/i02in274.i 03}) |
55 | hkm_natcmp | Natureza Compra | entry(ordem-compra.natureza, {ininc/i01in274.i 03}) |
56 | hkm_qrecan | Qtd Receb Antecip | IF i-ent-antec > 0 THEN 1 ELSE 0 |
57 | hkm_qrecat | Qtd Receb em Atraso | IF i-ent-atras > 0 THEN 1 ELSE 0 |
58 | hkm_qrecdt | Qtd Receb em Dia | i-nr-ent-dt |
59 | hkm_qrecun | Qtd Receb Único | i-entrega-unica |
60 | Cód Trib ICMS | Usar mesma lógica do relatório RE0401 (Exibir a descrição: Tributado, Isento, Reduzido, Outras) | |
61 | Alíquota ICMS | item-doc-est.aliquota-icm | |
62 | Vl ICMS | item-doc-est.valor-icm[1] | |
63 | Cód Trib PIS | Usar mesma lógica do relatório RE0401 (Exibir a descrição: Tributado, Isento, Reduzido, Outras) | |
64 | Alíquota PIS | recupera-aliquotas in h-cdapi995 (se alíquota = 0, pega alíquota de item-doc-est.val-aliq-pis) | |
65 | Vl PIS | item.doc-est.valor-pis | |
66 | Cód Trib COFINS | Usar mesma lógica do relatório RE0401 (Exibir a descrição: Tributado, Isento, Reduzido, Outras) | |
67 | Alíquota COFINS | recupera-aliquotas in h-cdapi995 (se alíquota = 0, pega alíquota de item-doc-est.val-aliq-cofins) | |
68 | Vl COFINS | item.doc-est.valor-cofins | |
69 | Cód Trib IPI | Usar mesma lógica do relatório RE0401 (Exibir a descrição: Tributado, Isento, Reduzido, Outras) | |
70 | Alíquota IPI | item-doc-est.aliquota-ipi | |
71 | Vl IPI | item-doc-est.valor-ipi[1] | |
72 | Cód Trib ISS | Usar mesma lógica do relatório RE0401 (Exibir a descrição: Tributado, Isento, Reduzido, Outras) | |
73 | Alíquota ISS | item-doc-est.aliquota-iss | |
74 | Vl ISS | item-doc-est.valor-iss[1] | |
75 | Narrativa Item | item-doc-est.narrativa (truncar primeiros 200 caracteres) |
Importante: Nas sequências de item da NF que são recebidos por FIFO de ordem de compra será listado o primeiro Pedido/Ordem/Parcela do FIFO daquela sequência de item.
Fora de escopo: Campos específicos referentes ao módulo de Contratos estão fora do escopo deste relatório.
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. |
---|