Árvore de páginas

 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

Datasul

Módulo

Compras

Segmento Executor

Manufatura

Projeto1

MANMAT01

IRM1

MANMAT01-1140

Requisito1

MANMAT01-1141

Subtarefa1

MANMAT01-1176

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

  • Desenvolver a tela de atendimento de solicitações de compra/cotações em HTML.

Requisitos:

  • Listar solicitações pendentes de atendimento pelo comprador;
  • Permitir que na listagem itens de requisição seja visualizado e filtrado por prioridade de aprovação além do campo urgente (Origem do chamado TUYMCK);
  • Gerar ordens de compra com base em requisições pré-selecionadas;
  • Permitir que a geração de ordens de compra seja direcionadas para um único comprador (centralizador) (Origem do chamado TTL956);
  • Permitir que a geração de ordens de compra seja direcionada para um comprador alternativo na ausência do principal (Origem do chamado TTHTVQ);
  • Permitir que o campo de preço do item seja ocultado no momento da inclusão de requisição de compra (Origem do chamado TIFQ95)


Requisitos que não serão atendidos:

  • Apresentação das ordens de compra gerada em formato de arquivo (.pdf) e abertura de tela de ordens com as mesmas geradas (isto será desenvolvido em um requisito posterior);
  • Transferência de ordens de compra entre compradores (isto será desenvolvido em um requisito posterior);
  • Geração de ordens de compra para compradores alternativos ou centralizador em rotinas já existentes (Flex e Progress);
  • Ocultar o preço do item na inclusão de requisição compra em rotinas Flex e Progress;

(Obrigatório)

Definição da Regra de Negócio

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

html.cc0325 - Solicitações de Compra/Cotação a Atender

Criação

Compras --> Tarefas --> Solicitações de Compra/Cotações a Atender

Listagem de solicitações a serem atendidas por compradores

Tela de configuração de geração de ordens de compra 

Criação

Compras --> Tarefas --> Solicitações de Compra/Cotações a Atender --> Opção "Atender"

Geração de ordens de compra

html.cc0122 - Tela de cadastro de compradores alternativos 

Criação

Compras --> Cadastros --> Compradores Alternativos

Gerenciamento de compradores alternativos

html.cc0505 - Consulta de Ordem de CompraAlteraçãoCompras --> Consultas --> Consulta de Ordem de CompraApresentação do campo de comprador original
CD1700 – Usuário MateriaisAlteraçãoCompras --> Cadastros --> Manutenção Parâmetros ComprasNovo campo para indicar se o preço do item deve ficar visível na solicitação de compra
html.mcc.cd1406 – Manter requisições compra/estoqueAlteraçãoCompras --> Tarefas --> Manter Requisições Compra/EstoqueTratamento para ocultar o preço do item


Exemplo de Aplicação:

Alguns navegadores deixarão de suportar plug-ins em breve, como é o caso do Flash Player, utilizado para execução das interfaces Flex. Com isso existe a necessidade de migrar as interfaces para uma tecnologia compatível com os navegadores.

 

Detalhamento das regras de negócio


A solução proposta consiste em desenvolver as telas propostas com o novo Framework HTML da TOTVS, com as mesmas funcionalidades existentes no Flex atualmente, assim como incluir alguns pequenos itens de melhoria sugeridos por clientes e citados nos requisitos. 


1) Listagem de solicitações pendentes de atendimento pelo comprador:

Consiste na conversão da tela existente em Flex, de atendimento de requisições para a tecnologia HTML, considerando todas as funcionalidades existentes.

A listagem de solicitações pendentes deverá ter o layout conforme apresentado na sequência. Os itens serão categorizados conforme o prioridade de aprovação definida para os mesmos (Baixa, Média, Alta ou Muito Alta).

 

Listagem com a apresentação dos detalhes:

Atualmente, em flex, o usuário comprador somente tem acesso a visualizar os itens de requisição que estão sob sua responsabilidade ou aos grupos de compra ao qual pertence, isso causa uma restrição caso seja necessário gerar ordens de compra para outro usuário (que é possível através do CC0325). Por isso, por padrão a tela mostrará somente os itens de responsabilidade de atendimento pelo próprio usuário, porém através dos filtros (de comprador) ele poderá visualizar itens sob responsabilidade de outro comprador.

Através do "Filtro avançado" o usuário terá acesso a tela apresentada na sequência, onde terá acesso aos mesmos filtros de possui no Flex, mais os seguintes filtros:

  • Comprador;
  • Somente solicitações alternativas;
  • Prioridade de aprovação;
  • Descrição complementar do item;
  • Código complementar;
  • Informação complementar;

O filtro simples deverá permitir a busca por solicitação, código do item e descrição do item.

Como opções de ordenação, deverão ser disponibilizadas as seguintes opções:

  • Data Entrega;
  • Item;
  • Solicitação (será a padrão - como ascendente);
  • Estabelecimento;
  • Prioridade de aprovação;
  • Urgência;

Na parte da listagem das informações além das informações já apresentadas no flex, deverão ser apresentadas também:

  • Prioridade de aprovação;
  • Narrativa do Item;
  • Narrativa da solicitação;

Na listagem o usuário poderá realizar as seguintes ações:

  • Atender: Caso utilizado o botão da parte superior da tela, será executada a rotina para atendimento dos itens selecionados, com a abertura da tela de configuração de geração de ordens (detalha no tópico a seguir);
  • Detalhar Item: Disponível através do link de título, abrirá a tela de detalhe de item de requisição, já liberada no produto;
  • Mudar situação para incompleta: essa opção estará disponível através da edição do campo "situação";
  • Acessar o follow-up: Abrirá a tela de follow-up, já liberada no produto. Através dela o comprador poderá por exemplo informar o motivo pelo qual mudou a solicitação para incompleta (por falta de alguma informação específica). Obs.: Essa opção não existia na tela flex;
  • Detalhar requisição: Abrirá a tela de detalhe de requisição, já liberada no produto. Obs.: Essa opção não existia na tela flex; 

A listagem apresenta somente:

  • Itens de requisição aprovados;
  • Na situação aberta ou incompleta;
  • Somente solicitações de compra e cotação;
  • Inicialmente somente requisições com data dos últimos 30 dias;
  • Se o sistema estiver configurado para gerar ordens de compra conforme o "Comprador" (CC0104):
    • Somente deverá apresentar itens de solicitação que pertençam a faixa de compradores informados em tela;
  • Se o sistema estiver configurado para gerar ordens de compra conforme o "Grupo de Compra" (CC0104):
    • Somente deverá apresentar itens de solicitação em que algum comprador da faixa informada pertença ao grupo de compra do item da solicitação;
  • Se o parâmetro "Somente solicitações alternativas" for marcado, deve apresentar somente solicitações para o qual o usuário logado é comprador alternativo (Mais detalhes sobre o cadastro do comprador alternativo no tópico a seguir) na data em questão;

Informações técnicas sobre listagem de requisições:

  • Campos a serem utilizados:
    • Título: Solicitação - Sequência - Código do Item: it-requisicao.nr-requisicao, it-requisicao.sequencia, it-requisicao.it-codigo
    • Desc Item: item.desc-item
    • UM: it-requisicao.un
    • Situação: {ininc/i02in274.i 04 it-requisicao.situacao} (deverá ser utilizado o totvs-editable para possibilitar a alteração do campo através de um combo-box)
    • Quantidade: it-requisicao.qt-requisitada
    • Estab: requisicao.cod-estabel
    • Requisitante: it-requisicao.nome-abrev
    • Urgente: it-requisicao.log-1
    • Data Entrega: it-requisicao.dt-entrega
    • Descrição complementar do item da solicitação: it-requisicao.narrativa
    • Narrativa solicitação: requisicao.narrativa
    • Narrativa do Item: requisicao.narrativa
    • Prioridade de aprovação: it-requisicao.prioridade-aprov (verificar os valores que definem cada prioridade em itRequisicaoAfterFill da ccp/ccapi354.p)
  • Para apresentação dos dados a ideia é utilizar a mesma API já existente para listagem de requisições no html.mcc.cd1406, ou seja, a ccp/ccapi354.p (procedure REST_POST_getListRequests, que precisará de algumas adaptações);
    • Alguns parâmetros deverão ser fixados com valores e outros deverão ser preenchidos conforme informado em tela:
      • Modo de listagem deve ser de itens (ou seja, ttListParameters.sight = 1);
      • Ordenação conforme tela (ttListParameters.sortBy e ttListParameters.orderAsc);
      • Filtro simples conforme tela (ttListParameters.basicFilter);
      • Para paginação passar os campos ttListParameters.cCodEstabelec, ttListParameters.rLastRequestRowid e ttListParameters.rLastRequestItRowid da mesma forma como é feito no html.mcc.cd1406);
      • Situações: ttListParameters.statusOpen (conforme tela), ttListParameters.statusIncomplete (conforme tela), ttListParameters.statusClosed (fixo NO), ttListParameters.statusWithOrder (fixo NO);
      • Estado: ttListParameters.approved (fixo YES), ttListParameters.notApproved (fixo NO);
      • Tipo: ttListParameters.inventoryRequest (fixo NO), ttListParameters.purchaseRequest (conforme tela), ttListParameters.quotationRequest (conforme tela);
      • Data requisição (ttListParameters.dateIni e ttListParameters.dateEnd conforme tela);
      • Requisição (ttListParameters.requestNumberIni e ttListParameters.requestNumberEnd conforme tela);
      • Estabelecimento (ttListParameters.siteIni e ttListParameters.siteEnd conforme tela);
      • Requisitante (ttListParameters.requestIni e ttListParameters.requestEnd conforme tela);
      • Item (ttListParameters.itemCodeIni e ttListParameters.itemCodeEnd conforme tela);
      • Descrição do item (ttListParameters.itemDescriptionIni e ttListParameters.itemDescriptionEnd conforme tela);
      • Descrição complementar (ttListParameters.itemCompCodeIni e ttListParameters.itemCompCodeEnd conforme tela);
      • Informação complementar (ttListParameters.itemCompInfoIni e ttListParameters.itemCompInfoEnd conforme tela);
      • Hoje só há um campo de narrativa, que é usado para narrativa da solicitação ou narrativa do item da solicitação (conforme estado da tela). Esse campo deverá ser separado em dois na ccapi354.p para contemplar a nova tela (campo atual ttListParameters.description).
    • Será necessário implementar mais dois tipos de ordenação na listagem: por prioridade de aprovação (it-requisicao.prioridade-aprov) e por urgência (it-requisicao.log-1);
    • Será necessário implementar nos filtros as informações:
      • Um campo para indicar que é referente ao atendimento de requisições. Nesta nova tela o valor deverá ser enviado como YES, e na tela já existente como NO;
      • Prioridade de aprovação, com as 4 opções. Nesta nova tela os valores deverão ser enviados conforme os parâmetros de tela, mas deve-se tomar o cuidado para que na tela existente envie sempre os 4 campos como YES.
      • Comprador: Nesta nova tela os valores deverão ser enviados conforme os parâmetros de tela, mas deve-se tomar o cuidado para que na tela existente envie sempre a faixa aberta.
      • Geração por grupo de compra (param-compra.int-2 = 1):
        • Se <comprador inicial> = <comprador final>:
          • Mostrar o item da solicitação se o comprador pertencer ao grupo de compra do item (ou seja, se encontrar gr-cmp-comprad onde gr-cmp-comprad.cod-comprado = <comprador> e gr-cmp-comprad.cod-grp-compra = it-requisicao.cod-grp-compra.

        • Se <comprador inicial> <> <comprador final>:
          • Mostrar o item da solicitação se existir na faixa informada um comprador que pertença ao grupo de compra do item (ou seja, se encontrar gr-cmp-comprad onde gr-cmp-comprad.cod-comprado >= <comprador inicial> e gr-cmp-comprad.cod-comprado <= <comprador final> e gr-cmp-comprad.cod-grp-compra = it-requisicao.cod-grp-compra.
      • Geração por comprador (param-compra.int-2 = 2):
        • Se <comprador inicial> = <comprador final>:
          • Mostrar o item da solicitação se it-requisicao.cod-comprado = <comprador>
        • Se <comprador inicial> <> <comprador final>:
          • Mostrar o item da solicitação se it-requisicao.cod-comprado >= <comprador inicial> e  it-requisicao.cod-comprado <= <comprador final> 
      • Comprador alternativo: Se marcado para mostrar apenas os compradores alternativos, verificar se existe cmprdor-altern onde o comprador alternativo (cod-cmprdor-altern) seja igual ao usuário logado e a data de validade esteja dentro da data atual. Neste caso para as regras descritas acima, deve-se verificar se o comprador (cod-comprado) é comprador do item ou faz parte do grupo de compra para que a solicitação seja apresentada.
        Obs.: Se houver faixa de comprador informado neste caso, somente considerar o registro se o cod-comprado estiver dentro da faixa informada.
  • Para a troca de situação da requisição, utilizar a rotina já existente: fch/fchmat/fchmatpurchrequestprocess.p (procedure changeStatus).


2) Cadastro do Comprador Alternativo:

 Será necessária a criação de um cadastro de comprador alternativo (que será um para um), ou seja, somente um comprador alternativo para cada comprador, com data de validade de início e término para o mesmo.

 As telas deverão ser desenvolvidas conforme protótipos abaixo, e gravarão os dados na nova tabela criada (especificada no tópico de dicionário de dados).

 

A busca simples deverá fazer a busca por comprador e comprador alternativo, já a busca avançada, deverá ter faixas dos 4 campos do cadastro.

Na inclusão de comprador alternativo, deverão ser feitas as seguintes validações:

  • Somente pode haver um comprador alternativo por comprador;
  • A data final não pode ser menor que a data inicial;
  • O comprador deve ser um comprador válido (cadastrado);
  • Não pode ser informado o mesmo usuário como comprador e como alternativo;

Deverá ser construído um zoom de comprador (para ser utilizado nos dois campos), que deverá apresentar:

  • Comprador;
  • Nome do comprador;
  • Limite Compra;
  • Moeda;

Como filtros deverão ser disponibilizadas as opções:

  • Comprador;
  • Nome;

Informações técnicas sobre comprador alternativo:

  • A tela nova deverá ficar ficar na estrutura de menu dts/mcc/alternativebuyer, com o nome de html.cc0122.
  • Utilizar as tabelas e campos conforme definidos no tópico de dicionário de dados;
  • Para busca e efetivação dos dados deverá ser criada a BO da nova tabela em questão e utilizada.
  • O zoom de comprador deverá utilizar a tabela comprador e campos: cod-comprado, nome, lim-compra, mo-codigo.

3) Geração de ordens de compra com base em requisições pré-selecionadas:

 A geração de ordens, consiste em desenvolver a tela de configuração de ordem de compra conforme protótipo abaixo, assim como existe no Flex, com algumas novas opções conforme detalhado na sequência.


Com relação as novas opções da geração de ordens de compra, elas dizem respeito principalmente a "quem" elas devem ser direcionadas:

  • Se o sistema estiver configurado para gerar ordens de compra por grupo de compra:
    • Serão habilitadas as opções de "Grupo de Compra" e "Comprador específico" (juntamente com o zoom de comprador);
  • Se o sistema estiver configurado para gerar ordens de compra por comprador:
    • Serão habilitadas as opções de "Comprador Responsável pelo Item" e "Comprador específico" (juntamente com o zoom de comprador);
  • Como irão funcionar essas opções na geração de ordens de compra:
    • Grupo de compra: gerará as ordens de compra vinculadas ao grupo de compra do item da requisição
    • Comprador Responsável pelo Item: gerará as ordens de compra vinculadas ao comprador do item da requisição
      • Neste caso, quando houver um comprador alternativo cadastrado, todas as ordens de compra que deveriam ser direcionadas para o comprador principal, serão direcionadas para o seu alternativo;
      • Para que seja possível identificar que a ordem foi gerada para um comprador alternativo, será armazenado um campo com o comprador original da ordem, pois o campo de comprador ficará sempre com a informação de que comprador está atendendo a ordem no momento;
      • No caso de necessidade de transferência de ordens, fora desse período que há um comprador alternativo, para devolver as ordens para o comprador principal por exemplo, deverá ser utilizada uma rotina de transferência, a ser construída no próximo requisito;
    • Comprador específico: gerará as ordens de compra para o comprador especificado do campo abaixo.
      • Necessário validar se o comprador informado é válido;
      • Caso este comprador seja usuário que irá centralizar as ordens de compra para depois delegar para outros usuários, no requisito de ordem de compra será prevista uma rotina de transferência de ordens, que poderá ser utilizada com esse intuito.
  • As demais opções da tela devem funcionar como já era feito do Flex anteriormente.

 

Na consulta de ordem de compra deverá ser incluído o campo de comprador original, que deverá estar visível apenas se houver valor:

Após a geração das ordens de compra, as ordens geradas serão apresentadas em um relatório a ser gerado em Birt, com a opção de geração em planilha (xlsx).

A ideia é que esse relatório possa ser reaproveito para outras rotinas, então ele será construído com a possibilidade de apresentar todos os campos da tabela de ordem de compra e das entregas.

A apresentação dos campos no relatório será feita conforme parametrização do usuário, de forma semelhante ao protótipo apresentado na sequência.

Todas as informações serão mostradas em uma única linha no relatório, para facilitar a utilização de filtros na planilha gerada.

  • Quando estiver marcado o parâmetro "Detalha parcelas", serão apresentadas as informações de parcela também, duplicando as informações de ordem nas linhas;
  • Quando estiver desmarcada essa opção, serão apresentadas as informações da ordem e somente serão apresentadas as informações da parcela caso haja apenas uma parcela (caso contrário, será apresentado apenas a informação "Parcelada" nas colunas.
  • As colunas disponíveis no relatório deverão ser apresentadas para que o usuário selecionar se quer que elas apareçam visíveis ou não.

 

Sobre as colunas:

Campo

Descrição

Visível por padrão

ordem-compra.numero-ordem

Ordem

X

ordem-compra.it-codigo

Item

X

item.desc-item

Descrição do Item

X

prazo-compra.un

UN

X

ordem-compra.qt-solic

Qtde requisitada

X

ordem-compra.cod-estabel

Estab

X

familia.fm-codigo

Família

 

ordem-compra.natureza

Natureza

 

descrição da natureza

Natureza

X

ordem-compra.situacao

Situação

 

descrição da situaçãoSituaçãoX

ordem-compra.cod-comprado

Comprador

X

ordem-compra.cod-grp-compra

Grupo Compra

 

ordem-compra.nr-requisicao

Requisição

X

ordem-compra.sequencia

Seq

 

ordem-compra.origem

Origem

 

descrição da origem

Origem

 

ordem-compra.data-emissao

Data Emissão

X

ordem-compra.ct-codigo

Conta

 

Descrição da conta

Descrição conta

 

ordem-compra.sc-codigo

Centro de Custo

 

Descrição do centro de custo

Descrição Centro de Custo

 

ordem-compra.requisitante

Requisitante

 

ordem-compra.dep-almoxar

Depósito

 

ordem-compra.op-codigoOperação 

ordem-compra.ordem-servic

Ordem Serviço

 

ordem-compra.num-pedidoPedidoX
ordem-compra.cod-emitenteFornecedor 
ordem-compra.data-pedidoData Pedido 
ordem-compra.cod-cond-pagCondição Pagamento 
ordem-compra.data-cotacaoData Cotação 

ordem-compra.preco-orig

Preço Original

 

ordem-compra.preco-unit

Preço Unit

 

ordem-compra.pre-unit-for

Preço Unit Fornec

 

ordem-compra.preco-fornecPreço Fornecedor 

ordem-compra.nr-alt-preco

Num Alt Preço

 

ordem-compra.mo-codigo

Moeda

 

ordem-compra.codigo-ipi

IPI Incluso

 

ordem-compra.aliquota-ipi

Aliquota IPI

 

ordem-compra.codigo-icm

ICMS

 

ordem-compra.aliquota-icm

Aliquota ICMS

 

ordem-compra.aliquota-iss

Aliquota ISS

 

ordem-compra.frete

Frete Incluso

 

ordem-compra.valor-frete

Valor Frete

 

ordem-compra.taxa-financ

Encargos Financ Incluso

 

ordem-compra.valor-taxa

Taxa Financ

 

ordem-compra.nr-dias-taxaDias Taxa Financeira 
ordem-compra.perc-descto% Descto 
ordem-compra.valor-desctoValor Descto 
ordem-compra.prazo-entregPrazo Entrega 
ordem-compra.contatoContato 

ordem-compra.impr-ficha

Imprime Ficha Cotação

 

ordem-compra.saldo-embSaldo Embarque 

ordem-compra.saldo-gi

Saldo GI

 

ordem-compra.comentarios

Comentários

 

ordem-compra.narrativaNarrativa 

ordem-compra.usuario

Usuário

 

ordem-compra.data-atualiz

Data Atualização

 

ordem-compra.hora-atualiz

Hora Atualização

 

ordem-compra.nr-ord-orig

Ordem Origem

 

ordem-compra.ind-reajuste

Índice Reajuste

 

ordem-compra.linha

Linha Produção

 

ordem-compra.cod-refer

Referência

 

ordem-compra.nr-processo

Processo

 

ordem-compra.tp-despesa

Tipo Despesa

 

ordem-compra.qt-acum-nec

Qtde Nec Acum

 

ordem-compra.qt-acum-rec

Qtde Rec Acum

 

ordem-compra.qt-acum-dev

Qtde Devolv Acum

 

ordem-compra.ind-extrac

Indicador Extração

 

ordem-compra.cons-mrp

Considera MRP

 

ordem-compra.cons-pmp

Considera PMP

 

ordem-compra.item-pai

Item Pai

 

ordem-compra.cod-roteiro

Roteiro

 

ordem-compra.op-seq

Op Sequencia

 

ordem-compra.num-ord-inv

Ordem Invest

 

ordem-compra.reaj-tabela

Reajusta Tabela

 

ordem-compra.nr-tab

Tabela

 

ordem-compra.ep-codigo

Empresa

 

ordem-compra.conta-contabil

Conta Contábil

 

ordem-compra.nr-seq-contr

Seq Contrato Forn

 

ordem-compra.nr-contratoNúmero Contrato 
ordem-compra.num-seq-itemSeqüência Item 
ordem-compra.seq-eventoSeq Evento 
ordem-compra.sit-ordem-contratSituação 

ordem-compra.ordem-emitida

Ordem Emitida

 

ordem-compra.expectativa

Expectativa

 

ordem-compra.cota-ordem

Cota Ordem

 

ordem-compra.pend-aprov

Pend Aprov

 

ordem-compra.perc-vat

Perc Taxa

 

ordem-compra.perc-sales-tax

Perc Venda

 

ordem-compra.cod-maq-origem

Cod Maq Orig

 

ordem-compra.num-processo-mp

Num Processo

 

ordem-compra.cod-transp

Transportador

 

ordem-compra.num-id-documento

Num ID

 

ordem-compra.dat-ordem

Data Ordem

 

ordem-compra.check-sum

Check-sum

 

ordem-compra.prioridade-aprov

Prioridade Aprovação

 

ordem-compra.origem-aprov

Origem Aprovação Automática

 

ordem-compra.gera-edi

Gera Processo EDI

 

ordem-compra.cod-estab-gestor

Estabel Gestor

 

ordem-compra.licenca-import

Licença Import

 

ordem-compra.loc-entrega

Local Entrega

 

ordem-compra.cod-entrega

Cod Entrega

 

ordem-compra.estab-entrega

Estabel Entrega

 

ordem-compra.nr-contrato-vendaContrato Venda 

ordem-compra.nr-pedcli

Nr Pedido Cliente

 

ordem-compra.seq-ped-venda

Seqüência

 

ordem-compra.nr-seq-contr-itSequência Item Contr 

ordem-compra.cod-estab-ctr

Estab Ctr

 

ordem-compra.local-entregaLocal Entrega 

ordem-compra.cod-refer-b2b

Código Referência Neogrid

 

ordem-compra.dat-inicio-leilao-rfq

Data Inicio

 

ordem-compra.hra-inicio-leilao-rfqHora Inicio 

ordem-compra.dat-fim-leilao-rfq

Data Fim

 

ordem-compra.hra-fim-leilao-rfq

Hora Fim

 

ordem-compra.log-cot-aberta

Aberta

 

ordem-compra.log-leilao

Leilão

 

ordem-compra.cdn-fabrican

Código Fabricante

 

ordem-compra.des-referencia

Descrição Referência

 

ordem-compra.cod-unid-negoc

Unidade Negócio

 

ordem-compra.cdn-tip-lote-pregao

Tipo Lote Pregão

 

ordem-compra.qtd-recbda-fut

Recebida Futura

 

Campo

Descrição

Visível por padrão

prazo-compra.parcela

Parcela

 

prazo-compra.quantid-orig

Qtde Original

 

prazo-compra.quantidade

Qtde

X

prazo-compra.quant-saldo

Qtde Saldo

 

prazo-compra.quant-rejeit

Qtde Dev

 

prazo-compra.quant-receb

Qtde Recebida

 

prazo-compra.qtd-do-forn

Qtde Fornec

 

prazo-compra.qtd-sal-forn

Qtde Saldo Fornec

 

prazo-compra.qtd-rej-forn

Qtde Devol Fornec

 

prazo-compra.qtd-rec-forn

Qtde Receb Fornec

 

prazo-compra.data-orig

Data Entrega Original

 

prazo-compra.data-entrega

Data Entrega

X

prazo-compra.pedido-clien

Ped Cliente

 

prazo-compra.cod-alter

Alteração

 

prazo-compra.data-alter

Data Última Alteração

 

prazo-compra.usuario-alt

Usuar Ult Alt

 

prazo-compra.nr-alt-data

Num Alt Data

 

prazo-compra.nr-alt-quant

Num Alt Quant

 

prazo-compra.nome-abrev

Cliente

 

prazo-compra.situacao

Situação

 

prazo-compra.natureza

Natureza

 

prazo-compra.cod-refer

Referência

 

prazo-compra.quant-a-ped

Qtde Pedir

 

prazo-compra.qtd-a-ped-forn

Qtde À Pedir

 

prazo-compra.nr-contrato

Contrato

 

prazo-compra.hora

Hora Entrega

 

prazo-compra.concentracao

Concentração

 

prazo-compra.rendimento

Rendimento

 

prazo-compra.nr-sequencia

Seqüência

 

prazo-compra.cons-mrp

Considera para MRP

 

prazo-compra.cons-pmp

Considera para PMP

 

prazo-compra.cc-codigo

Centro Custo

 

prazo-compra.nr-entrega

Entrega

 

prazo-compra.MRP

Considera MRP

 

prazo-compra.ordem-emitida

Ordem Emitida

 

prazo-compra.expectativa

Expectativa

 

prazo-compra.nr-estrut

Estrutura

 

prazo-compra.item-cotacao

Item

 

prazo-compra.sequencia

Seq

 

prazo-compra.es-codigo

Componente

 

prazo-compra.nr-estrut-filha

Estrutura Filha

 

prazo-compra.qtd-aloc-forn

Qtde Alocada Fornec

 

prazo-compra.quant-alocada

Qtde Alocada

 

prazo-compra.data-entrega-ant

Dt Entrega Ant

 

 

 

Informações técnicas sobre geração de ordens de compra:

  • Para saber como o sistema está configurado para trabalhar por grupo de compra ou comprador, utilizar a procedure "getParamCompra" da fch/fchmat/fchmatpurchrequestprocess.p;
  • Para a geração das ordens de compra efetivamente, utilizaremos basicamente a mesma lógica que existe hoje para o Flex com algumas adaptações em função das novas regras:
    • Ao chamar a procedure "createPurchaseRequisitions" da fchmatpurchrequestprocess:
      • O parâmetro "generateOrdersRelation" deverá ter, valor 1 se informado em tela por grupo de compra e valor 2 se informado comprador do item ou comprador específico;
      • O parâmetro "buyer" deverá ter valor somente se informado comprador específico, e neste caso deve ter o código do comprador (confirmar se o flex só envia se estiver nesta situação, senão será necessário ajustar);
    • Na ccapi100.i1, será necessário ajustar para que quando a geração for por "comprador", se for passado o parâmetro de comprador para API considere este para a geração, senão considere o comprador do item;
    • Ainda na ccapi100.i1, será necessário implementar a regra para direcionar as ordens para um comprador alternativo caso exista. Neste caso, gravar o comprador original em: ordem-compra.char-1 (posição inicial 195, 12 posições)
  • Para apresentação das ordens geradas utilizar as informações da ttSummaryPurchRequisition.

 

4) Permitir que o campo de preço do item seja ocultado no momento da inclusão de requisição de compra:

 Deverá ser criado um parâmetro no programa de usuário de materiais (CD1700) para indicar se o preço da solicitação deve ou não ficar visível ao usuário;


Na tela inclusão de solicitação HTML, deverá ser tratado o parâmetro em questão para ocultar o preço do item. 

Caso o parâmetro esteja desmarcado, a tela tela o comportamento atual.

Caso o parâmetro esteja marcado, o comportamento da tela será o seguinte:

  • Caso o preço do item tenha valor diferente de 0, ou seja, o sistema conseguiu de alguma maneira sugerir o valor, o campo não deverá ficar visível em tela. Caso contrário, deverá ficar visível.

 

 Nas mensagens de aprovação deverá ser ajustado para que não seja apresentado o valor também.


Informações técnicas sobre ocultar preço do item:

  • O novo campo ficará armazenado em um campo livre: usuar-mater.char-1 (posição inicial 21, 1 posição) - Quando marcado deve ter valor "S", se tiver valor "N" ou "" (branco), significa que o preço deve ficar visível em tela.
  • Para buscar o parâmetro do usuário, referente a visualização do preço do item, colocar um parâmetro novo de retorno na REST_GET_getRequestItemForEdit e REST_GET_getDefaultsItem, e tratar no HTML.
  • Para as mensagens de aprovação, alterar os programas: fchmatenterrequests.p (eletronicApprovalMessage) e boin168fx.p (eletronicApprovalMessage) para que quando o parâmetro estiver marcado, mostre "-" ao invés do valor.

 

Opcional

Protótipo de Tela

Apresentados juntamente com as regras de negócio.

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


Tabela Nova:

Obs.: Lembrar de gerar e efetivar as triggers da tabela nova (dump-name da tabela in01022)

Tabela

cmprdor-altern

Banco

mgind

Descrição

Comprador Alternativo

Índice

Chave

Tipo

cmprdrlt_id2

cod-comprado, cod-cmprdor-altern

Primário e único
cmpdrlt_ix2cod-comprado, dat-valid-ini, dat-valid-fimSimples
cmpdrlt_ix3cod-cmprdor-alternSimples

Campo

cod-comprado

cod-cmprdor-alterndat-valid-inidat-valid-fim

Tipo

Character

CharacterDateDate

Formato

x(12)

x(12)99/99/999999/99/9999

Valor Inicial

 

 ??

Mandatório

Sim (X) Não (  )

Sim (X) Não (  )Sim (X) Não (  )Sim (X) Não (  )

Descrição

Código Comprador

Código Comprador AlternativoData Inicial ValidadeData Final Validade

Label Coluna

Comprador

Comprador AlternativoDt Val IniDt Val Fim

Help de Campo

Código do comprador

Código do Comprador AlternativoData Inicial ValidadeData Final Validade

Mais campos livres.

 

Reserva de campos Livres:

  • Oculta Preço Solicitação: usuar-mater.char-1 (posição inicial 21, 1 posição)
  • Comprador original: ordem-compra.char-1 (posição inicial 195, 12 posições)

 

(Opcional)

Estrutura de Menu

 

Procedimentos

Procedimento

 html.cc0325

html.cc0122

Descrição

Requisições de Compra/Cotação a Atender

Compradores Alternativos

Módulo

 MCC

MCC

Programa base

 html.cc0325

html.cc0122

Nome Menu

Requisições Compra/Cotação a Atender

Compradores Alternativos

Interface

WEB

WEB

Registro padrão

Sim

Sim

Visualiza Menu

Sim

Sim

Release de Liberação

 12.1.14

12.1.14

 

Programas

Programa

html.cc0325

html.cc0122

Descrição

Solicitações de Compra/Cotação a Atender

Compradores Alternativos

Nome Externo

dts/mcc/requesttoprocess

dts/mcc/alternativebuyer

Nome Menu/Programa

Solicitações Compra/Cotação a Atender

Compradores Alternativos

Nome Verbalizado[1]

Atender Solicitações Compra/Cotação

Gerenciar Compradores Alternativos

Procedimento

 html.cc0325

html.cc0122

Template

Programa HTML

Programa HTML

Tipo[2]

Tarefas

Cadastros

Interface

WEB

WEB

Categoria[3]

 -

-

Executa via RPC

Não

Não

Registro padrão

Sim

Sim

Outro Produto

Não

Não

Visualiza Menu

Sim

Sim

Query on-line

Não

Não

Log Exec.

Não

Não

Rotina (EMS)

 -

-

Sub-Rotina (EMS)

 -

-

Localização dentro da Sub Rotina (EMS)

 -

-

Compact[4]

-

-

Home[5]

-

-

Posição do Portlet[6]

-

-

Informar os papeis com os quais o programa deve ser vinculado

 -

-

 

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.