Análise
| Análise | |
| Projeto 1123 | |
| Data da Análise: 16/04/2013 |
Projeto
A parte do serviço avulso foi movida para uma segunda etapa do projeto.
Haverá uma tela no Order para vender os serviços separadamente (sem vincular a nenhuma mercadoria). Nessa tela será gerado um boleto especial para ser resgatado na rotina de recebimentos de terceiros do Checkout.
Serviços Adicionais Avulsos
Venda de Serviços Adicionais Avulsos no Order
Será criada uma tela especial com um grid para permitir que se lance serviços adicionais de maneira avulsa, ou seja, sem que estejam vinculados a nenhuma mercadoria. Também é necessário que o serviço seja de um tipo que permita venda avulsa [TD_SAD.VENAVU = "T"]. Tela será acessível mediante a permissão [PERM003].
Ele deve permitir incluir serviços adicionais, gravar, e abrir para edição. Para modificar os termos dos serviços deve levar em consideração permissão específica [PERM002].
Ela terá um formato de impressão que gerará um boleto para ser resgatado no recebimento de títulos de terceiros. Esse boleto deverá ter um código de barras e linha digitável padrão de título de banco. Entretanto, usaremos alguns dados fixos para que ele não possa ser pago em nenhum banco, apenas no Checkout.
Utilizar as funções Aux_TrazCodBarra e Aux_TrazLinhaDigitavel passando os seguintes parâmetros:
| Parâmetro | Valor | Tipo | Observação |
| CODBCO | "000" | Indica que se trata de um serviço adicional | |
| NUMAGE | "00000" | TD_SAD.CODRTT | |
| CTACRR | "00000" | TD_SAD.CODTAB | |
| NOSNUM | VARCHAR(20) | TT_SAV.CODAVU | |
| CCBBCO | 0 | ||
| MOEBCO | 0 | ||
| VLRTIT | NUMBER(12,2) | TT_SAV.VALSAD | |
| DATVEN | DATE | TT_SAV.DATINC | |
| AVISTA | 0 | ||
| APRAZO | 0 | ||
| DIGA_C | "0" | ||
| CODCNV | "" | VARCHAR(20) |
Baseando-se em um layout próprio que foi criado, banco "000", temos:
Definição do código de barras:
| Campo | Valor | Tamanho | Posição |
| CODBCO | 000 | 3 posições | 1 a 3 |
| MOEBCO | 0 | 1 posição | 4 |
| Dígito verificador | - | 1 posição | 5 |
| Fator de vencimento | - | 4 posições | 6 a 9 |
| VLRTIT | TT_SAV.VALSAD | 10 posições | 10 a 19 |
| NOSNUM | TT_SAV.CODAVU | 15 posições | 20 a 34 |
| NUMAGE | TD_SAD.CODRTT | 5 posições | 35 a 39 |
| CTACRR | TD_SAD.CODTAB | 5 posições | 40 a 44 |
Obs.: Preencher com zeros a esquerda
Definição da linha digitável, banco "000":
| Campo | Valor | Tamanho | Posição |
| CODBCO | 000 | 3 posições | 1 a 3 |
| MOEBCO | 0 | 1 posição | 4 |
| Início do NOSNUM | TT_SAV.CODAVU | 5 posições | 5 a 9 |
| Dígito Verificador | - | 1 posição | 10 |
| Continuação do NOSNUM | TT_SAV.CODAVU | 10 posições | 11 a 20 |
| Dígito Verificador | - | 1 posição | 21 |
| NUMAGE | TD_SAD.CODRTT | 5 posições | 22 a 26 |
| CTACRR | TD_SAD.CODTAB | 5 posições | 27 a 31 |
| Dígito verificador | - | 1 posição | 32 |
| Dígito verificador do código de barras | - | 1 posição | 33 |
| Fator de vencimento | - | 4 posições | 34 a 37 |
| VLRTIT | TT_SAV.VALSAD | 10 posições | 38 a 47 |
Deve-se aplicar uma máscara com pontos da seguinte forma:
XXXXX.XXXXX XXXXX.XXXXXX XXXXX.XXXXXX X XXXXXXXXXXXXXX
A tela deve gerar no campo NOSNUM o código avulso baseando-se em um sequenciador de banco para garantir que essa numeração seja única e não possa nunca ser modificada. Com ela o Checkout conseguirá saber referente a quais serviços se está gerando o boleto.
Recebimento de Títulos de Terceiros no Checkout
Será utilizada a tela de recebimento de títulos de terceiros para que o cliente pague efetivamente pelos serviços adicionais avulsos.
Usuário deve informar um tipo de recebimento, mas sistema, ao receber código de barras e linha digitável deve mudar o tipo automaticamente e não deixar prosseguir com o tipo errado.
Nota:
Verificar a definição do código de barras e linha digitável feito na tela de impressão no boleto.
Banco zerado significa serviços adicionais.
Número da agência indica o código da TD_SAD. Na TT_SAV está configurado o tipo de recebimento [TT_SAV.CODRTT]. Ele é a chave para encontrar a TD_SAD.
Na tela de caixa, o sistema deve proceder com a impressão dos certificados, gerando sequenciadores únicos no arquivo de controle [SERVICOS.dbf] e gravando em [TT_SAV.NUMSEQ].
Para mandar a instrução de UPDATE na TT_RTT recém grava, o sistema pode fazer a amarração pelo código avulso [TT_RTT.CODAVU] que está presente no código de barras.
Trigger da TT_RTT, ao identificar que se trata de um INSERT de recebimento de serviço adicional, deve pegar pelo código de barras gravado, no campo que define o código avulso, os serviços adicionais vendidos [TT_SAV] e gravar o vínculo com o recebimento [TT_RTT] e mudar a situação do serviço como sendo faturado [TT_SAV.FLGEST = 'F'].
Estorno de Títulos de Terceiros
Tratar na trigger para quando houver estorno do boleto de serviços adicionais que está pago, o sistema voltar a situação dos serviços vinculados para aberto [TT_SAV.FLGEST = 'A'] e desfazer o vínculo com a tabela de recebimentos [TT_RTT].
Resumo de Mudanças por Módulo
Banco de dados
- Cliente no serviços avulsos [TT_SAV].
Order
- Criar tela de venda de serviços adicionais avulsos.
Checkout
- Tratar recebimento de títulos de terceiros para receber serviços adicionais avulsos.
- Tratar estorno do recebimento de títulos de terceiros para permitir desfazer o negócio.
- Imprimir os certificados na tela de caixa ao receber pelos títulos de terceiros.
Referenciado por: Análise para Garantia Estendida, Seguro e demais Serviços Adicionais | Venda de Serviços Adicionais Avulsos - Checklist Test |