Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Linha de Produto:Datasul
Segmento:Manufatura
Módulo:MCP
Função:

CPAPI027 - Extração Estrutura Engenharia SIPROQUIM 2 - Polícia Federal

CD0161 - Cadastro Relacionamento Itens X Órgãos

Ticket:6998480
Requisito/Story/Issue (informe o requisito relacionado) :DMANFACTORY01-6745


02. SITUAÇÃO/REQUISITO

Quando o item é identificado como comprado e o leiaute utilizado for "SC", o campo de Concentração pode conter apenas 2 posições. Porém a API não está tratando a inconsistência e apresenta inconsistência Progress 74, travando o processo.

03. SOLUÇÃO

Trataremos três coisas neste chamado:
1- Conversão Unidade de Medida
2- Campo Tipo Substância (DG)
3- Campo Tipo Produção.
1- Conversão Unidade de Medida
Atualmente está sendo utilizada <tab-conv-un> (CD0902), porém ela somente converte de unidade para unidade.
O cliente precisa que converta de Item Unidade para outra Unidade.

Exemplo:
Item LT3.8 - Lata tinta 3,8 Litros - Unidade de Medida: UN
Item LT18 - Lata tinta 18 Litros - Unidade de Medida: UN

Neste exemplo, itens diferentes usam a mesma unidade de medida UN, porque ele trabalha no estoque nesta unidade.
Porém para o relatório da PF ele precisa mostrar ou em litros(L) ou em quilos(K).

2-Tipo Substância

Existe a necessidade de indicar o Tipo de Substância que o cliente considera o item, pois a sugestão automática do Tipo de Substância pela estrutura, nem sempre é correta.

Exemplo:
Verniz é um produto fabricado a partir de um Solvente.
No entanto o Verniz não é controlado (CD0161), logo o Solvente teria que ser "PR", mas a estrutura retorna "SC".

3- Tipo Produção

Existe a necessidade de indicar o Tipo de Produção na qual é obtido o produto.  Atualmente apenas o leiaute para "UF" é gerado.

03. SOLUÇÃO

Trataremos três coisas neste chamado:

1- Conversão Unidade de Medida
2- Campo Tipo Substância (DG)
3- Campo Tipo Produção.

1- Conversão Unidade de Medida

Criados três Criar campos na tabela item<item-orgao-controlcontrol> que podem ser informados no CD0161, pra tratar:

  • num-fator-conver-agpf -

...

  • Fator de conversão pra unidade de medida do Item Polícia Federal. O padrão do campo é 1, e não poderá assumir o valor Zero(0). Lembrando que os leiautes do SIPROQUIM 2 aceitam apenas quantidades em Litros (L) e Quilos (K).
  • num-casa-dec-agpf -

...

  • Número de casas decimais

...

  • , usado em conjunto com o fator de conversão. Se for informado 3 no fator de conversão e 1 no numero de casas decimais, então o valor utilizado para calcular as quantidades será 0,3.
  • log-fator-agpf -

...

  •  Usa fator de conversão unidade. O padrão do campo é desmarcado, e somente será usado o fator informado nos campos acima do CD0161, quando estiver marcado. No caso de estar desmarcado, será utilizado fator de conversão da tabela <tab-conv-un> (CD0902), porém ela somente converte de unidade para unidade.


Na tela CD0161, além dos campos da tabela, também criar foi criado um campo de apresentação do fator de conversão calculado, que será preenchido sempre que passar pelos campos.

O cálculo utilizado para apresentação neste campo será: ((1 / (exp(10, item-orgao-control.num-casa-dec-agpf)) * item-orgao-control.fator-conver-agpf).).
Garantir em tela que o campo item-orgao-control.fator-conver-agpf não seja Zero.

Criar uma include da CPAPI027 para ter a função de conversão de unidade de medida.
A ideia é que as outras áreas possam fazer uso da função.
Basicamente será recebido os parâmetros de Código do Item e da Quantidade a ser convertida.
O retorno será da Quantidade convertida e em caso de erro também preencherá a tt-bo-erro e a quantidade retornada será Zero.
Habilitar os campos de conversão e decimais apenas se log-fator-agpf for marcado. Mas caso seja desmarcado, não limpar os mesmos.

Caso o campo log-fator-agpf esteja marcado, será realizado o cálculo pra montar o fator independentemente da unidade do item-orgao-control e item sejam as mesmas:
(1 / (exp(10, item-orgao-control.num-casa-dec-agpf)) * item-orgao-control.fator-conver-agpf).

...

Para esta conversão foi criada uma função fnQuantidadePF (CPAPI027.i), onde devem ser passados três parâmetros: código do item(item do ERP que está cadastrado no CD0161), código da unidade de medida original (como sugestão passar a unidade de medida padrão do item, no entanto, pode ser passada qualquer outra unidade), quantidade a ser convertida. Como retorno tem a quantidade convertida e tt-bo-erro. Mesmo que ocorra erro, a quantidade será devolvida com valor Zero(0).

Informações
iconfalse

OBS - 01: Caso função não encontre o fator pra conversão, será gerada uma mensagem de erro a ser listada no relatório do FT0536. O usuário deverá fazer a correção, seja no CD0161 ou no CD0902.

OBS - 02: Antes de chamar a função, precisa saber qual a unidade de medida original, para passá-la por parâmetro. Já a Unidade de Medida da Polícia Federal será buscado dentro da função na tabela <item-orgao-control>.


2-Campo Tipo Substância(DG)

Criado o campo <item-orgao-control.ind-tip-item-agpf>, que será possível informar no CD0161.

...

A validação do conteúdo do campo, será realizado apenas durante a execução da CPAPI027(chamada pelo FT0536), logo o CD0161, permitirá informar qualquer valor. A validação da API irá verificar se o Tipo Substância é um dos valores: PR, PC, SC, RC, RS e RB. Lembrando que quando deixado em branco, a sugestão será automática pela estrutura.

Informações
iconfalse

OBS: Caso a CPAPI027 não identifique o Tipo Substância, será gerada uma mensagem de erro a ser listada no relatório do FT0536. O usuário deverá fazer a correção, no CD0161.



3- Indicação do Leiaute a ser usado para Produção- Campo Tipo Produção

Criado o campo <item-orgao-control.ind-tip-produc-agpf>, que será possível informar no CD0161.

Este campo somente precisa ser preenchido, quando o leiaute a ser listado o item for diferente de "UF".

Existe a necessidade de indicar o Tipo de Produção na qual é obtido o produto . Para isto será criado um novo campo Tipo Produção, que poderá foi obtido. No CD0161, o campo pode assumir qualquer valor, porém a validação ocorrerá no momento da geração do leiaute no CPAPI027, e poderá ser "UF" - Produto Final Produzido, "UZ" - Produzido na Transformação, "FB" - Fabricação.
Em tela, este campo no CD0161 será similar do Tipo Item, onde não será tratado o que estiver sendo informado. Apenas garantir que o que for informado seja em caixa alta(maiúsculo).  Caso o campo Tipo Produção esteja em branco, então, por padrão será assumido o leiaute "UF".
Na CPAPI027, somente irá buscar os movimentos de produção, caso o parâmetro <logConsidera Produção (item-orgao-control.log-consid-produc-agpf> esteja marcado. Na API, deve testar se o campo está preenchido como "UF", "UZ", ou "FB". Caso o campo Tipo Produção esteja em branco, então, por padrão será assumido o leiaute "UF".
A sugestão de nome do campo tipo produção será <ind-tip-produc-agpf>.

Neste caso teremos alteração de dicionário, e precisaria compilar os programas que usam a tabela.
Assim sendo é planejar as entregas (liberação de patch) para estas implementações

agpf) esteja marcado. 

Informações
iconfalse

OBS: Caso a CPAPI027 não identifique o Tipo Produto, será gerada uma mensagem de erro a ser listada no relatório do FT0536. O usuário deverá fazer a correção, no CD0161.


04. ASSUNTOS RELACIONADOS


HTML
<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>