Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
(Obrigatório)
Especificação | |||
Produto | PIMSCANA | Módulo | PAGFORN |
Segmento Executor | Agroindústria |
|
|
Projeto1 | AGRO PIMS | IRM1 | AGRPIMS01-140 |
Requisito1 | AGRPIMS01-141 | Subtarefa1 | AGRPIMS01-366 |
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)
ID 64:
Ter possibilidade de a partir do contrato informar se o fornecedor tem uma liminar para que não desconte o imposto FUNRURAL.
ID 74:
Ter possibilidade de configurar o valor do sobrpreço, a validade da configuração do sobrepreço, a titularidade (quem entregou a cana) e o favorecido do sobrepreço.
Ter processo para calcular o valor da nota fiscal de sobrepreço.
Ter relatório para exibir o cálculo do sobrepreço.
ID 78:
Tela para configuração da simulação do ajuste de preço, onde será informado o ATR, o valor do kg de ATR e o fornecedor (ou fornecedores) que será(ão) simulado(s) o ajuste de preço. Ter possibilidade de calcular quanto falta para completar a entrega de cana e considerar essa cana faltante na simulação do ajuste de preço, solicitando uma confirmação se considera ou não as canas faltantes na simulação do ajuste de preço. Deve considerar e descontar os adiantamentos de ajustes de safra. Deve ter um relatório para demonstrar a simulação do ajuste de preço.
Desenvolvimento de uma tela de argumentos para emissão da consulta dos dados gerados na Simulação de Acerto, que realiza a simulação do ajuste de preço, onde será informado o ATR, o valor do kg de ATR e o fornecedor (ou fornecedores) que será(ão) simulado(s) o ajuste de preço. Na tela de argumentos deve conter o período para emissão, o fornecedor, fundo agrícola e tipo de simulçao (se para fornecedores, parceria ou ambos).
Ter um processo genérico de recuperação de canas a entregar na safra a partir das estimativas.
(Obrigatório)
ID 64:
Objeto: dlgRotGerNFContr da APL PGFOCOSA.dlgRotGerNFontr.APL
Ao executar o processo de geração de notas fiscais (CONTRATO), recuperar na tabela CONTRATO_CANA a nova coluna FG_LIMINAR_INSS.
Ao executar a rotina de calculo de taxas, verificar se a nova coluna FG_LININAR_INSS está marcada com "S". Se estiver, o valor resultante do calculo da taxa INSS (parâmetro recuperado no subitem 3.1) não deve ser somando no acumumulador de taxas (NF_HE.AC_TXCONTRIB) e não deve ser deduzido do valor bruto.
Ao gravar a taxa de INSS na tabela HIST_TX, gravar a nova coluna FG_LIMINAR_INSS com o mesmo valor da coluna FG_LIMINAR_INSS da tabela CONTRATO_CANA.
Aplicar os procedimentos acima também nos processos de geração de folha de pagamento do aplicativo COCTAGR.
Objetos:
dlgRotGerRec, dlgRotGerRecAjTopogr, dlgRotGerRecCompl e dlgRotGerRecCtr.
Aplicar os procedimentos acima também nos processos de geração de folha de pagamento do aplicativo PGFOCOSA.
Objetos:
dlgRotGerRecFdo, dlgRotGerRecACoiF e dlgRotGerRecAcCoiF.
ID 74:
O processo para cálculo do sobrepreço e geração da nota fiscal de sobrepreços será no aplicativo PGFOCOSA.EXE na nova opção: "Processos" ? "Notas Fiscais" ? "Geração Notas Fiscais de Sobrepreço". A respectiva reversão será na nova opção: "Processos" ? "Notas Fiscais" ? "Reversão Notas Fiscais de Sobrepreço"
Obs.: Essas duas opções deverão estar após a opção "Processos" ? "Notas Fiscais" ? "Reversão Notas Fiscais de Complemento de Preço - PPB" e após um separador.
Criar um botão no contrato de fornecedores ( "Sobrepreço" ) para exibir a tabela de configuração do sobrepreços.
As colunas INSTANCIA, CD_EMPRESA e NO_CONTRATO não serão exibidas e devem ser gravadas com a respectiva instância, código da empresa e numero do contrato do respectivo contrato.
A data de validade inicial e final deve estar compreendida dentro do período de validade do contrato.
A coluna CD_UPNIVEL1_TIT deve ser inicializada com o Fundo Agrícola de origem do contrato e não deve aceitar alteração.
A coluna CD_UPNIVEL1_FAV deve ser validada conforme abaixo:
Inícializações:
Validações:
Se não encontrar, retornar mandagem "Fazenda não contem configuração de sobrepreço" e parar o processo
Obs.: o título do atributo "Fazenda" deve ser configurado conforme descrição do atrinuto UpNilve1.
Recuperar o contrato COCGTAGR para a fazenda informada.
A partir do contrato encontrado e com o fazenda informada, ler a tabela CONTRCANA_SOBREPREÇO e recupearar a coluna CD_UPNIVEL1_TIT e VL_UNIT_SOBREPRECO, onde:
INSTANCIA = Instância do contrato,
CD_EMPRESA = Empresa do contrato,
NO_CONTRATO = Número do contrato,
CD_UPNIVEL1_FAV = Fazenda informada
DT_VAL_IN <= Mês/Ano informado,
DT_VAL_FIN >= Mês/Ano informado
Ler a tabela a tabela HISTUPNV1 contendo JOIN com as tabela UPNIVEL1 pela coluna CD_UPNIVEL1 (constante nas tabelas HISTUPNV1 e UPNIVEL2), FORNECS pela coluna CD_FORNEC (constante nas tabelas UPNIVEL1 e FORNECS) e UP1TPPROPR pela coluna CD_UPNIVEL1 (constante nas tabelas UP1TPPROPR e HISTUPNV1, recuperando as colunas:
UPNIVEL1.CD_FORNEC,
FORNECS. DE_FORNEC,
UPNIVEL1. DE_ENDERECO,
UPNIVEL1. NO_CEP,
UPNIVEL1. NO_TELEFONE,
UPNIVEL1. NO_CGC_CPF,
UP1TPPROPR. CD_TP_PROPR e
SUM( HISTUPNV1.QT_CANA_ENT )
onde:
CD_UNID_IND conforme configuração abaixo,
CD_UPNIVEL1 = CD_UPNIVEL1_TIT recuperado acima na leitura da tabela CONTRCANA_SOREPREÇO,
DT_REF between o Período de Fornecimento,
CD_REG_UP1 = 'D
Configuração da unidade industrial na clausula Where:
Gravar a tabela NF_DE_OUT com as valores abaixo:
INSTANCIA = Instância logada
NO_NF = Número da nota fiscal da tela de argumentos
CD_SERIE_NF= Série da nota fiscal da tela de argumentos
DD_INICIAL= 1
DD_FIM = Último dia do Mês/Ano da tela de argumentos
CD_UNID_IND= Valor do parâmetro com seção "RCMP_CAR" e entrada "CD_UNID_IND"
FG_TP_NOTA= 'S' (sobrepreço)
QT_CANA_ENT= SUM( HISTUPNV1.QT_CANA_ENT )
VL_TON_CANA = CONTRCANA_SOBREPRECO.VL_UNIT_SOBREPRECO
VL_TOTAL= ( SUM( HISTUPNV1.QT_CANA_ENT ) / 1000) * CONTRCANA_SOBREPRECO.VL_UNIT_SOBREPRECO (arredondado em duas decimais)
Executar o processo de taxas, exatamente ao processo de taxas (fProcesso_TAXAS), porém sem a opção de "UPDATE"
Gravar a tabela NF_HE_OUT com as valores abaixo:
INSTANCIA = Instância logada
CD_TP_PROPR = HISTUPNV1.CD_TP_PROPR
NO_NF = Número da nota fiscal da tela de argumentos
CD_SERIE_NF = Série da nota fiscal da tela de argumentos
CD_UNID_IND = Valor do parâmetro com seção "RCMP_CAR" e entrada
"CD_UNID_IND"
FG_TP_NOTA = 'S' (sobrepreço)
CD_UPNIVEL1 = Fazenda da tela de argumentos
CD_FORNEC = UPNIVEL1.CD_FORNEC
CD_SAFRA = Safra do Mês/Ano de referencia da tela de argumentos
AM_FORNEC = Mês/Ano de referência da tela de argumentos
DT_EMIS_NF = Data de emissão da nota fiscal da tela de argumentos
DE_MUNIC = MUNICÍPIOS. DE_MUNIC
DE_NAT_OPER = FISCOP.DE_FISC_OP
DE_END = UPNIVEL1. DE_ENDERECO
NO_CEP = UPNIVEL1. NO_CEP
CD_UF = MUNICIPIOS. CD_UF
NO_FONE = UPNIVEL1. NO_TELEFONE
NO_CGC_CPF = UPNIVEL1. NO_CGC_CPF
FG_SITUACAO = 'N'
AC_PESO = SUM( HISTUPNV1.QT_CANA_ENT )
VL_TOT_NF = ( SUM( HISTUPNV1.QT_CANA_ENT ) / 1000) * CONTRCANA_SOBREPRECO.VL_UNIT_SOBREPRECO (arredondado em duas decimais)
AC_TX_CONTRIB= Reultdo do acúmulo do calculo de taxas
VL_LIQ_NF = VL_TOT_NF - AC_TX_CONTRIB
FG_COMPL_PRECO= 'N'
CD_REG_UP1 = 'Q'
DE_FISC_OP = FISCOP.DE_FISC_OP
VL_TOT_PRODUTO= VL_TOT_NF – ICMS (quando estiver configurado taxa de ICMS)
FG_ACERTO_ANUAL= 'N'
NO_CONTR_CANA= Número do contrato da Fazenda informada
CD_EMPRESA = Empresa do contrato da Fazenda informada
INST_CONTR = Instância do contrato da Fazenda informada
ID 78:
Executar o procedimento de fechamento da safra (PGFOCOSA \ Processos \ Fechamento \ Fechamento de Safra) para recuperar a data da quinzena final de safra que será usada na simulação do acerto.
Realizar leitura na tabela HISTUPNV1 recuperando os atributos CD_FORNEC, CD_UPNIVEL1, QT_CANA_ENT, quando CD_REG_UP1 = 'T', DT_REF = data final de safra da tela de argumentos e recuperar o CD_UNID_IND de acordo com as condições abaixo.
Se não encontrou registo na tabela HISTPRPRO, executa leitura squencialo (LOOP ou WHILE) nas tabelas CONTR_RAT_CANA_DE e CONTR_RAT_CANA_HE.
select DE.CD_UPNIVEL1_DE, DE.CD_UPNIVEL2_DE,DE.CD_UPNIVEL3_DE,
HE.NO_CONTRATO, HE.FG_TP_RATEIO,HE.DT_INI_VAL, HE.NO_SEQ_PROC,
DE.PE_RATEIO, DE.FG_TP_CONS, DE.FG_SIT_TON,
DE.QT_TON_PREV, DE.QT_TON_PAG, DE.FG_UPN1_SLIM,
DE.NO_CONTR_RELAC, HE.INSTANCIA
from CONTR_RAT_CANA_DE DE, CONTR_RAT_CANA_HE HE, UPNIVEL1 UP1
where HE.INSTANCIA = 'Instancia Logada'
and ( HE.INSTANCIA = DE.INSTANCIA )
and ( HE.DT_INI_VAL <= 'Data de referência do parâmetro' and HE.DT_FIM_VAL >= 'Data de referência do parâmetro' )
and ( HE.FG_SITUACAO ='A')
and ( HE.NO_CONTRATO = DE.NO_CONTRATO)
and HE.FG_TP_RATEIO != 'X'
and (DE.CD_UPNIVEL1_PARA = do parametro ou pertencentes ao fornecedor )
and ( DE.FG_SITUACAO = 'A')
Order by DE.CD_UPNIVEL1_DE, DE.CD_UPNIVEL2_DE,DE.CD_UPNIVEL3_DE;
Dentro do Loop ou While:
Executa leitura na tabela HISTPREPRO para recuperar a estimativa da UpNivel3, UpNivel 2 e UpNivel1.
Se CONTR_RAT_CANA_DE.CD_UPNIVEL3_DE é diferente de nulo.
SELECT SUM( H1.QT_CANA_ENTR )
FROM HISTPREPRO H1
WHERE H1.CD_SAFRA = Safra do parâmetro
AND H1.CD_UPNIVEL1 = CONTR_RAT_CANA_DE.CD_UPNIVEL1_DE
AND H1.CD_UPNIVEL2 = CONTR_RAT_CANA_DE.CD_UPNIVEL2_DE
AND H1.CD_UPNIVEL3 = CONTR_RAT_CANA_DE.CD_UPNIVEL3_DE
AND H1.CD_HIST != 'S'
AND H1.DT_HISTORICO = ( SELECT MAX( H2.DT_HISTORICO )
FROM HISTPREPRO H2
WHERE H2.CD_SAFRA = Safra do parâmetro
AND H2.CD_UPNIVEL1 = H1.CD_UPNIVEL1
AND H2.CD_UPNIVEL2 = H1.CD_UPNIVEL2
AND H2.CD_UPNIVEL3 = H1.CD_UPNIVEL3
AND H2.CD_HIST != 'S' )
Lê a tabela HISTPRODUC recupara somantorio da coluna QT_CANA_ENT ( Sum(QT_CANA_ENT )), onde:
HISTPRODUC.CD_SAFRA = Safra do parâmetro,
HISTPRODUC.CD_UPNIEL1 = CONTR_RAT_CANA_DE.CD_UPNIVEL1_DE,
HISTPRODUC.CD_UPNIEL2 = CONTR_RAT_CANA_DE.CD_UPNIVEL2_DE,
HISTPRODUC.CD_UPNIEL3 = CONTR_RAT_CANA_DE.CD_UPNIVEL3_DE,
HISTPRODUC.CD_UNID_MED = parametro com seção "RCMP_CAR" e entrada "CD_UNID_MED"
Cálculo 1: Apura a quantidade de cana a entregar antes do rateio = SUM( HISTPREPRO.QT_CANA_ENTR) - SUM( HISPRODUC.QT_CANA_ENT )
Se CONTR_RAT_CANA_DE.CD_UPNIVEL3_DE é nulo AND
CONTR_RAT_CANA_DE.CD_UPNIVEL2_DE é diferente de nulo.
SELECT SUM( H1.QT_CANA_ENTR )
FROM HISTPREPRO H1
WHERE H1.CD_SAFRA = Safra do parâmetro
AND H1.CD_UPNIVEL1 = CONTR_RAT_CANA_DE.CD_UPNIVEL1_DE
AND H1.CD_UPNIVEL2 = CONTR_RAT_CANA_DE.CD_UPNIVEL2_DE
AND H1.CD_HIST != 'S'
AND H1.DT_HISTORICO = ( SELECT MAX( H2.DT_HISTORICO )
FROM HISTPREPRO H2
WHERE H2.CD_SAFRA = Safra do parâmetro
AND H2.CD_UPNIVEL1 = H1.CD_UPNIVEL1
AND H2.CD_UPNIVEL2 = H1.CD_UPNIVEL2
AND H2.CD_UPNIVEL3 = H1.CD_UPNIVEL3
AND H2.CD_HIST != 'S' )
Lê a tabela HISTPRODUC recupara somantorio da coluna QT_CANA_ENT ( Sum(QT_CANA_ENT )), onde:
HISTPRODUC.CD_SAFRA = Safra do parâmetro,
HISTPRODUC.CD_UPNIEL1 = CONTR_RAT_CANA_DE.CD_UPNIVEL1_DE,
HISTPRODUC.CD_UPNIEL2 = CONTR_RAT_CANA_DE.CD_UPNIVEL2_DE,
HISTPRODUC.CD_UNID_MED = parametro com seção "RCMP_CAR" e entrada "CD_UNID_MED"
Cálculo 1: Apura a quantidade de cana a entregar antes do rateio = SUM( HISTPREPRO.QT_CANA_ENTR) - SUM( HISPRODUC.QT_CANA_ENT )
Se CONTR_RAT_CANA_DE.CD_UPNIVEL3_DE é nulo AND
CONTR_RAT_CANA_DE.CD_UPNIVEL2_DE é nulo.
SELECT SUM( H1.QT_CANA_ENTR )
FROM HISTPREPRO H1
WHERE H1.CD_SAFRA = Safra do parâmetro
AND H1.CD_UPNIVEL1 = CONTR_RAT_CANA_DE.CD_UPNIVEL1_DE
AND H1.CD_HIST != 'S'
AND H1.DT_HISTORICO = ( SELECT MAX( H2.DT_HISTORICO )
FROM HISTPREPRO H2
WHERE H2.CD_SAFRA = Safra do parâmetro
AND H2.CD_UPNIVEL1 = H1.CD_UPNIVEL1
AND H2.CD_UPNIVEL2 = H1.CD_UPNIVEL2
AND H2.CD_UPNIVEL3 = H1.CD_UPNIVEL3
AND H2.CD_HIST != 'S' )
Lê a tabela HISTPRODUC recupara somantorio da coluna QT_CANA_ENT ( Sum(QT_CANA_ENT )), onde:
HISTPRODUC.CD_SAFRA = Safra do parâmetro,
HISTPRODUC.CD_UPNIEL1 = CONTR_RAT_CANA_DE.CD_UPNIVEL1_DE,
HISTPRODUC.CD_UNID_MED = parametro com seção "RCMP_CAR" e entrada "CD_UNID_MED"
Cálculo 1: Apura a quantidade de cana a entregar antes do rateio = SUM( HISTPREPRO.QT_CANA_ENTR) - SUM( HISPRODUC.QT_CANA_ENT )
Se "Cálculo1" < 0
Seta "Cálculo1" = 0
Se CONTR_RAT_CANA_ HE.FG_TP_RATEIO = 'X'
Refaz o "Cálculo1" = Calculo1 * (100 – CONTR_RAT_CANA_ DE.PE_RATEIO) /100
Se CONTR_RAT_CANA_ HE.FG_TP_RATEIO = 'L'
Refaz o "Cálculo1" = Calculo1 - (CONTR_RAT_CANA_DE.QT_TON_PREV - CONTR_RAT_CANA_ DE.QT_TON_PAG)
Se CONTR_RAT_CANA_ HE.FG_TP_RATEIO = 'T'
Refaz o "Cálculo1" = Calculo1 - (CONTR_RAT_CANA_DE.QT_TON_PREV - CONTR_RAT_CANA_ DE.QT_TON_PAG)
Calculo2: Acumula resultado do "Calculo1": Calculo2 = Calculo2 + Calculo1
(Obrigatório)
<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.
Rotinas Envolvidas |
|
|
|
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
PGFO_REL | Alterar | Notas Fiscais de Cana - Registro de Entrada de Cana PGCS_017 |
|
PGFO_REL | Alterar | Resumo Notas Fiscais de Cana por Tipo Propriedade PGCS_018 |
|
PGFO_REL | Alterar | Demonstrativo de Taxas e Contribuições PGCS_027 |
|
PGFO_REL | Alterar | Posição das Taxas dos Fornecedores - N.F. PGCS_058 |
|
PGFO_REL | Alterar | Demonstrativo de Funrural p/ Fundo PGCS_070 |
|
PGFO_REL | Alterar | Registros das Aquisições de Cana - Livro Fiscal PGCS_072 |
|
PGFO_REL | Alterar | Demonstrativo de Funrural p/ Fundo PGCS_086 |
|
PGFO_REL | Alterar | Registros Aquisições Cana-L. Fiscal PGCS_086 |
|
PGFO_REL | Alterar | Registros Aquisições Cana-L. Fiscal PGCS_090 |
|
PGFO_REL | Alterar | Demonstrativo de Taxas/Contribuições PGCS_092 |
|
PGFO_REL | Alterar | Registros Aquisições Cana-L. Fiscal PGCS_096 |
|
PGFO_REL | Alterar | ICMS a Recolher PGCS_098 |
|
PGFO_REL | Alterar | Demonstrativo de Funrural p/ Fundo PGCS_114 |
|
PGFO_REL | Alterar | Posição das Taxas de Fornecedores(Isentos)-NF PGCS_117 |
|
PGFO_REL | Alterar | Registros das Aquisições de Cana - L. Fiscal PGCS_134 |
|
PGFO_REL | Alterar | Demonstrativo de Funrural p/ Fundo PGCS_135 |
|
PGFO_REL | Alterar | Taxas/Provisão dos Fornecedores – Anual PGCS_137 |
|
PGFO_REL | Alterar | Demonstrativo de Pagamento Fundo/Fornecedor PGCS_158 |
|
PGFO_REL | Alterar | Demonstrativo de Notas com CPR PGCS_180 |
|
PGFO_REL | Alterar | Notas Fiscais - Outros Estados PGCS_209 |
|
PGFO_REL | Alterar | N.Fiscais de Cana - Reg. de Entrada de Cana PGTM_017 |
|
PGFO_REL | Alterar | Rel. Posição das Taxas de Fornecedores - N.F. PGTM_058 |
|
COCTAGR | Alterar | Emissão de Recibo de Pagamento COCT_006 |
|
COCTAGR | Alterar | Folha de Pagamento COCT_007 |
|
COCTAGR | Alterar | Demonstrativo de Taxas COCT_008 |
|
COCTAGR | Alterar | Demon&strativo Acerto Annual COCT_017 |
|
COCTAGR | Alterar | Emissão de Recibo de Pagamento COCT_031 |
|
PGFOCOSA | Incluir | PGFOCOSA \ Processos \ Fechamento \ Simualação de Acerto. |
|
PGFO_REL | Incluir | Simualação de Acerto. |
|
(Opcional)
Diagrama de Entidade e Relacionamento
(Opcional)
Dicionário de Dados
Incluir nas tabelas CONTRATO_CANA, MANUT_CONTRATOCANA, LOG_CONTRATOCANA, HIST_TX e HIST_TX_CTACANA a coluna FG_LIMINAR_ICMS (Flag controlador de liminar para suspensçao da cobrança do imposto NSS)
Nova tabela para configuração de sobrepreço (Oficial, Manut e LOG) CONTRCANA_SOBREPREÇO, MANUT_CONTRCANA_SOBREPREÇO e LOG_CONTRCANA_SOBREPRECO
Criada a tabela SIMULAÇÃO_ACERTO para armazenamento da simulação do acerto.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|