01. DADOS GERAIS
Produto: |
TOTVS Backoffice
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Backoffice |
Módulo: | TOTVS Backoffice (Linha Protheus) - Estoque e Custos (SIGAEST)
|
Função: | MatFilCalc (sigacus.prw) - Função para seleção das filiais para processamento por empresa |
País: | Todos |
Ticket: | 22636073 |
Issue: | DMANMAT01-43940 |
02. DESCRIÇÃO
Ponto de entrada utilizado para substituir a tela padrão de seleção das filiais em diversas rotinas do sistema.
Sua chamada ocorre somente em contextos onde a tela padrão para seleção de filiais seria apresentada, não sendo executado por padrão em chamadas via rotina automática ou schedule, por exemplo.
03. PARÂMETROS
O ponto de entrada recebe como parâmetro um array contendo as filiais previamente identificadas pela rotina padrão, com as informações abaixo.
Parâmetro | Tipo | Descrição |
---|---|---|
PARAMIXB[nX][1] | Lógico | Determina se a filial será considerada (.T.) ou não (.F.) para processamento |
PARAMIXB[nX][2] | Caracter | Código da filial |
PARAMIXB[nX][3] | Caracter | Nome da filial |
PARAMIXB[nX][4] | Caracter | CNPJ da filial |
PARAMIXB[nX][5] | Caracter | Inscrição estadual da filial |
PARAMIXB[nX][6] | Caracter | Inscrição municipal da filial |
04. RETORNO
O retorno do ponto de entrada deve ser um array no mesmo formato do array recebido como parâmetro, com as informações abaixo.
Parâmetro | Tipo | Descrição |
---|---|---|
PARAMIXB[nX][1] | Lógico | Determina se a filial será considerada (.T.) ou não (.F.) para processamento |
PARAMIXB[nX][2] | Caracter | Código da filial |
PARAMIXB[nX][3] | Caracter | Nome da filial |
PARAMIXB[nX][4] | Caracter | CNPJ da filial |
PARAMIXB[nX][5] | Caracter | Inscrição estadual da filial |
PARAMIXB[nX][6] | Caracter | Inscrição municipal da filial |
Importante
Caso o ponto de entrada retorne um array vazio a rotina chamadora seguirá sua execução, porém, nenhuma filial será processada na rotina uma vez que não houve retorno de uma filial válida para processamento.
05. EXEMPLO DE UTILIZAÇÃO
#include "Protheus.ch" User Function MTFilCal() Local aFilsOrig := PARAMIXB[1] Local aFilsCalc := {} If FWIsInCallStack("MATA350") aAdd(aFilsCalc, {}) aAdd(aFilsCalc[Len(aFilsCalc)], .T.) // Determina se a filial será considerada (.T.) ou não (.F.) para processamento aAdd(aFilsCalc[Len(aFilsCalc)], cFilAnt) // Código da filial aAdd(aFilsCalc[Len(aFilsCalc)], "Filial 01") // Nome da filial aAdd(aFilsCalc[Len(aFilsCalc)], "12.345.678/0009-10") // CNPJ da filial aAdd(aFilsCalc[Len(aFilsCalc)], "111.222.333.444") // Inscrição estadual da filial aAdd(aFilsCalc[Len(aFilsCalc)], "555.666.777.888") // Inscrição municipal da filial Else aFilsCalc := aFilsOrig EndIf Return aFilsCalc