Opcional
Fluxo do Processo
1 - Considerações Gerais
Ao inativar um cadastro, todos os seus "dependentes" deverão ser inativados também. A reativação não terá essa característica. Numa eventual reativação de um elemento, os "dependentes" deverão ser reativados individualmente em seus próprios cadastros. O esquema abaixo exemplifica como deve ocorrer a inativação em "cascata". Ele representa as propriedades, pontos de coleta e produtores coletivos de um determinado produtor "10". Também estão representados os relacionamentos entre eles:
Situação do esquema caso a propriedade "A" seja inativada:
2 - Cadastro de Produtores (aq0207)
- Incluir na tela do programa aq0207 na aba "Produtor" o novo campo "Ativo" e gravar o seu conteúdo no campo livre produt-rural.log-livre-1.
- Ao incluir um novo produtor, trazer este campo marcado por default (Ativo = Yes).
- Quando o usuário colocar o produtor como "Inativo", disparar um processo a inativação dos seus "dependentes":
- Propriedades, onde propried-rural.cdn-produt-rural = código do produtor que está sendo inativado
- Pontos de coleta, onde pto-coleta.cod-propried = código da propriedade que está sendo inativada
- Repositórios dos pontos de coleta inativados, onde reposit.cod-pto-coleta = código do ponto de coleta que está sendo inativado
- Relacionamentos dos pontos de coleta com os produtores, onde produt-pto-coleta.cod-pto-coleta = código do ponto de coleta que está sendo inativado
Se o ponto de coleta ao qual o repositório selecionado pertence estiver "inativo", desabilitar os botões de manutenção da aba "Repositórios".
Ajustar o zoom de produtores (z01in00962) para que passe a listar somente produtores ativos.
3 - Manutenção de Propriedades (aq0207b)
- Incluir na tela o novo campo "Ativo" e gravar o seu conteúdo no campo livre propried-rural.log-livre-1.
- Ao incluir uma nova propriedade, trazer este campo marcado por default (Ativo = Yes).
- Ao inativar uma propriedade, seus "dependentes" também precisam ser inativados:
- Pontos de coleta, onde pto-coleta.cod-propried = código da propriedade que está sendo inativada
- Repositórios dos pontos de coleta inativados, onde reposit.cod-pto-coleta = código do ponto de coleta que está sendo inativado
- Relacionamentos dos pontos de coleta com os produtores, onde produt-pto-coleta.cod-pto-coleta = código do ponto de coleta que está sendo inativado
- Eliminar os pontos de coleta inativados das rotas de coleta (eliminar os registros da pto-rota-coleta onde pto-rota-coleta.cod-pto-coleta = código do ponto de coleta que está sendo inativado)
- Atualmente, ao se desmarcar o campo "Entrega em ponto de coleta de terceiros", ocorre a eliminação do relacionamento do produtor/propriedade com o ponto coletivo. Alterar esta rotina para que passe a inativar o relacionamento e não eliminar (passar produt-pto-coleta.log-livre-1 para NO)
- Alterar a mensagem informando que o relacionamento será inativado e não que o ponto de coleta coletivo será eliminado.
- Incluir uma nova coluna no browse mostrando o campo propried-rural.log-livre-1.
- Se o produtor ou a propriedade estiverem "inativos", desabilitar os botões de manutenção das abas "Propriedade", "Ptos Coleta" e "Repositórios".
Alterar o zoom de propriedades (z01in00980) para que passe a listar somente propriedades ativas
4 - Manutenção de Pontos de Coleta (aq0207c)
- Incluir na tela o novo campo "Ativo" e gravá-lo no campo livre pto-coleta.log-livre-1.
- Ao incluir um novo ponto de coleta, trazer este campo marcado por default (Ativo = Yes).
- Ao inativar um ponto de coleta, seus "dependentes" também precisam ser inativados:
- Repositórios dos ponto de coleta inativado, onde reposit.cod-pto-coleta = código do ponto de coleta que está sendo inativado
- Relacionamentos do ponto de coleta com os produtores, onde produt-pto-coleta.cod-pto-coleta = código do ponto de coleta que está sendo inativado
Ao se inativar um ponto de coleta ele precisa ser retirado das rotas de coleta das quais faz parte. Ou seja, devem ser eliminados os registros da tabela pto-rota-coleta onde pto-rota-coleta.cod-pto-coleta = ponto de coleta que está sendo inativado
- Incluir nova coluna no browse da aba "Ptos Coleta" mostrando o conteúdo do campo pto-coleta.log-livre-1.
- Se a propriedade à qual o ponto de coleta selecionado pertence estiver "inativa" ou o próprio ponto de coleta estiver inativo, desabilitar os botões de manutenção das abas "Ptos Coleta" e "Repositórios".
Alterar o zoom de pontos de coleta (z01in00966) para que não liste pontos de coleta inativos.
5 - Manutenção Repositórios (aq0207d)
- Incluir na tela o novo campo "Ativo" e gravá-lo no campo livre reposit.log-livre-1.
- Ao incluir um novo repositório, trazer este campo marcado por default (Ativo = Yes).
- Incluir nova coluna no browse da aba "Repositórios" mostrando o conteúdo do campo reposit.log-livre-1.
- Se o produtor, a propriedade ou o ponto de coleta estiverem "inativos", desabilitar os botões de manutenção da aba "Repositórios".
Alterar o zoom de repositórios (z01in00984) para que não liste repositórios inativos.
6 - Manutenção de Rotas de Coleta (aq0204)
- Alterar a forma de preenchimento do browse da esquerda para que não sejam apresentados pontos de coleta inativos (pto-coleta.log-livre-1 = No)