Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Backoffice

Módulo:SIGAFAT - Faturamento
Função:MATA410 - Pedidos de Venda

02. DESCRIÇÃO

Este ponto de entrada pertence à rotina de Pedidos de Venda - MATA410A(). Está localizado dentro da função A410TIPO9() e é usado para validar a Condição de Pagamento Tipo 9, permitindo a manipulação das parcelas.

Características da Condição de Pagamento Tipo 9


Importante

  • Certifique-se de que a soma das parcelas geradas pelo ponto de entrada esteja igual ao valor total do pedido de venda.
  • A quantidade de parcelas geradas pelo ponto de entrada não pode ser superior ao conteúdo do parâmetro MV_NUMPARC.
  • A quantidade total de parcelas que podem ser geradas pelo ponto de entrada depende da quantidade de campos C5_PARCx e C5_DATAx existentes na tabela SC5.

03. SINTAXE

MT410PC( ) ---> nParcelas

04. PARÂMETROS

O ponto de entrada não possui parâmetros, apenas informações como aHeader e aCols com os Itens do Pedido de Venda (SC6) e a tabela de Pedidos de Venda (SC5) na memória.

05. RETORNO

Retorno

Tipo

Descrição

Obrigatório

nParcelasNúmerica

Variável númerica indicando a quantidade de parcelas que será gerada.

Sim

06. EXEMPLO

Neste exemplo usamos um cenário de pedido de venda com um item, onde está sendo verificado se o risco do cliente está diferente de "A" para atribuir 25% do total do pedido de venda na primeira parcela a vista e 75% do valor para daqui 30 dias para a segunda parcela.

MT410PC
#INCLUDE 'PROTHEUS.CH'

User Function MT410PC ()

    Local nPValor	:= aScan(aHeader,{|x| AllTrim(x[2]) == "C6_VALOR"})
    
    SA1->(DbSetOrder( 1 ))
    SA1->(DbSeek( xFilial("SA1") + M->C5_CLIENTE + M->C5_LOJACLI ))

    If SA1->A1_RISCO <> 'A'
        M->C5_PARC1 := aCols[n][nPValor] * 0.25
        M->C5_DATA1 := DataValida(dDatabase, .T.)

        M->C5_PARC2 := aCols[n][nPValor] * 0.75
        M->C5_DATA2 := DataValida(dDatabase + 30, .T.)

        nParcelas := 2
    EndIf

Return nParcelas