Skip to content

Tag-icone-mini.png 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âmetroValorTipoObservação
CODBCO"000"Indica que se trata de um serviço adicional
NUMAGE"00000"TD_SAD.CODRTT
CTACRR"00000"TD_SAD.CODTAB
NOSNUMVARCHAR(20)TT_SAV.CODAVU
CCBBCO0
MOEBCO0
VLRTITNUMBER(12,2)TT_SAV.VALSAD
DATVENDATETT_SAV.DATINC
AVISTA0
APRAZO0
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:

CampoValorTamanhoPosição
CODBCO0003 posições1 a 3
MOEBCO01 posição4
Dígito verificador-1 posição5
Fator de vencimento-4 posições6 a 9
VLRTITTT_SAV.VALSAD10 posições10 a 19
NOSNUMTT_SAV.CODAVU15 posições20 a 34
NUMAGETD_SAD.CODRTT5 posições35 a 39
CTACRRTD_SAD.CODTAB5 posições40 a 44

Obs.: Preencher com zeros a esquerda

Definição da linha digitável, banco "000":

CampoValorTamanhoPosição
CODBCO0003 posições1 a 3
MOEBCO01 posição4
Início do NOSNUMTT_SAV.CODAVU5 posições5 a 9
Dígito Verificador-1 posição10
Continuação do NOSNUMTT_SAV.CODAVU10 posições11 a 20
Dígito Verificador-1 posição21
NUMAGETD_SAD.CODRTT5 posições22 a 26
CTACRRTD_SAD.CODTAB5 posições27 a 31
Dígito verificador-1 posição32
Dígito verificador do código de barras-1 posição33
Fator de vencimento-4 posições34 a 37
VLRTITTT_SAV.VALSAD10 posições38 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 |