Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


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:MATI410B -
Mensagem Única
Pedido de Venda EAI (DOCUMENTTRACEABILITYORDER)
Abrangencia:Microsiga Protheus 12

Versões:

Microsiga Protheus 12
Compativeis Paises:Todos
Sistema Operacionais:Todos

Compatível com

as Bases

as Bases de Dados:

Todos
Nivel de Acesso:Nível 1 (Acesso Clientes)
IdiomasTodos

02. DESCRIÇÃO

O ponto de entrada A410BSITUACA A410BSIT permite que seja alterada alterado o descritivo da situação do pedido Pedido de venda, ao retornar a situação de um pedido de venda no protheus o sistema Venda, onde deverá ser retornado ou não o novo descritivo. 
A rotina retorna com as seguintes situações:

  • Pedido em Aberto
  • Pedido Encerrado
  • Pedido Liberado
  • Pedido Bloqueado por Regra
  • Pedido Bloqueado por Verba

...


  • Não Transmitida
  • Transmitida

Utilizando o ponto de entrada será possivel realizar a manipulação conforme necessidade do retorno da situação, assim o retorno para o EAI será conforme o que foi definido dentro do ponto de entrada.


Aviso
titleImportante

Esse ponto de entrada permite somente ser modificado o descritivo, não tendo ação na liberação ou bloqueio do pedido caso o pedido esteja bloqueado por qualquer motivo e a mensagem seja alterada para pedido liberado no protheus ação de liberação não vai ocorrer. Caso o pedido esteja liberado e a mensagem seja modificada para bloqueado essa ação não vai ocorrer.

Caso seja necessário o bloqueio ou desbloqueio de pedido será necessário a utilização de um outro ponto de entrada, pois esse ponto somente vai tratar a modificação da descrição da situação do pedido.

03. SINTAXE

        A410BSITUACA(A410BSIT( { cFilUse, cNumDoc, cSitDoc } ) ---> cRet

        Retorno do Ponto de entrada deverá ser do tipo caractere e não poderá ser vazio, caso isso não seja atendido o retorno do ponto de entrada será descartado e vai prevalecer as informações que foram definidas pelo sistema padrão.       

04. PARÂMETROS

  

Nome

Tipo

Descrição

Default

Obrigatório

Referência

PARAMIXBVetor

Vetor de dados que deve retornar 3 posições com as seguintes informações para auxiliar no desenvolvimento do ponto de entrada:

  •  ParamIxb[1] 
  •  Paramixb[2] 
  •  Paramixb[3] 
 ParamIxb[1]              ParamIxb[2]             
cFilUseCaractereRetorna a Filial corrente
que esta sendo utlizado no momento
.


cNumDoc
CaractereRetorna o numero do pedido que deverá ser enviado para integração EAI.
 ParamIxb[3]



cSitDocCaractereRetorna a situação atual do
pedido 
pedido.



05. RETORNO

RetornoTipoDescriçãoObrigatório
cRetCaracterRetorno do Ponto de entrada deverá ser do tipo caractere e não poderá ser vazio, caso isso não seja atendido o retorno do ponto de entrada será descartado e vai prevalecer as informações que foram definidas pelo sistema padrãoDescritivo da situação do pedido.Sim 

05. EXEMPLO

Bloco de código
languagevbcpp
titleExemplo
#INCLUDE 'TOTVS.CH'    


/*/{Protheus.doc} A410BSIT
    @type  Ponto de entrada que Permite a modificação da Situação 
    do documento conforme necessidade do cliente.
    @author Faturamento
    @since 08/02/2022
    @version P12133
    @param PARAMIXB Array com 3 retornos 
    @param[1] - Tipo Caracter - Recebe o codigo da Filial Corrente
    @param[2] - Tipo Caracter - Recebe o Numero do Pedido
    @param[3] - Tipo Caracter - Recebe a situação do documento
    @return - Tipo caracter - Retorna a String que deverá substituir 
    a situação do documento.
    @example
    (examples)
    @see (links_or_references)
/*/
User Function A410BSIT()

Local cFilUse  := ParamIxb[1]  //filial que esta em uso
Local cNumDoc  := PadR(ParamIxb[2],TamSx3("C5_NUM")[1])   // Numero do pedido
Local cSitDoc  := ParamIxb[3]  // Situação do documento
Local cRet     := ""           // Retorno do ponto de entrada 
Local aArea    := GetArea()
Local aArSC6   := SC6->(GetArea())
Local cChave   := ""
Local nValDoc  := 0

If cFilUse == "D MG 01 "
    If !"Transmitida" $ cSitDoc
        cChave := xFilial("SC6SC5") + cNumDoc
        DbSelectArea("SC6")
        DbSetorder(1) //C6_FILIAL+C6_NUM+C6_ITEM+C6_PRODUTO
        DbSeek(cChave )
       
        While !Eof() .And. cChave == SC6->C6_FILIAL + SC6->C6_NUM 
            
            nValDoc += SC6->C6_VALOR

            SC6->(DbSkip())
        End

        If nValDoc > 1000
            cRet := "Autorização da Gerencia Financeira"
        Else 
            cRet := cSitDoc
        EndIf

    EndIf 

EndIf 

Restarea(aArSC6)
RestArea(aArea)

Return cRet

...