Árvore de páginas


CONTEÚDO

  1. Dados Gerais
  2. Descrição
  3. Sintaxe
  4. Parâmetros
  5. Retorno
  6. Exemplo


01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Backoffice

Módulo:SIGAFAT - Faturamento
Função:MATA521 - Exclusão de Documento de Saída
Abrangências:Microsiga Protheus 12
Versões:Microsiga Protheus 12
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível com as Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)
Idiomas:Todos


02. DESCRIÇÃO

Por default na exclusão de documento de saída, quando utilizado o controle de numeração SD9 (MV_TPNRNFS = 3), a numeração da nota é deixada vaga e o campo D9_DOCEXCL recebe conteúdo "S" indicando que a numeração ficou vaga devido a uma exclusão. Este processo visa que caso o operador desejar, informe este número manualmente na geração de nova nota para reutilização desta numeração.

Este Ponto de Entrada tem o objetivo de impedir esta limpeza do registro SD9, para que quando o Documento de Saída for excluído a numeração permaneça preenchida. Também é possível criar validações próprias no PE para que a limpeza seja condicional.

Importante

Quando o Ponto de Entrada M521LpSD9 retornar .F. o processo de limpeza não é iniciado, mas a nota seguirá para exclusão, logo na SD9 o registro estará com o mesmo preenchimento de quando houve o faturamento e o campo D9_DOCEXCL permanecerá em branco.


03. SINTAXE

M521LpSD9({cDoc, cSerie}) ---> lRet

04. PARÂMETROS

Nome

Tipo

Descrição

Default

Obrigatório

Referência

aParamIXBVetorVetor com os dados identificadores do Documento de Saída que esta sendo excluído, sendo:
[ 01 ] - cDoc - Tipo: Caracter - String contendo a numeração da nota
[ 02 ] - cSerie - Tipo: Caracter - String contendo a série da nota



05. RETORNO

Retorno

Tipo

Descrição

Obrigatório

lRetLógico

Variável logica indicando se deve ser feita a limpeza de dados na SD9 devido a exclusão, sendo:

.T. - Realiza a limpeza.

.F. - Não realiza a limpeza.

Sim

06. EXEMPLO

Neste exemplo validamos se para a nota em questão houve alguma comunicação com Sefaz através do campo de Flag de Impressão (F2_FIMP)


Exemplo:
#INCLUDE 'PROTHEUS.CH'
#INCLUDE "FWMVCDEF.CH"

User Function M521LpSD9()

    Local aArea     := GetArea() //Armazena o ambiente ativo para restaurar ao fim do processo
 
    Local aParam    := PARAMIXB
    Local cDoc      := aParam[1]
    Local cSerie    := aParam[2]
    Local lRet      := .F.

    DbSelectArea("SF2")
    SF2->(DbSetOrder(1))
    If SF2->(DbSeek(xFilial("SF2") + cDoc + cSerie))
        If Empty(SF2->F2_FIMP) //Verifica se para esta nota houve alguma comunicação com Sefaz
            lRet := .T.
        EndIf
	EndIf

    RestArea(aArea) //Restaura o ambiente ativo no início da chamada
    
Return lRet