01. DADOS GERAIS
| Produto: | | Solucoes_totvs_cross |
|---|
| SolucaoCross | TOTVS Backoffice |
|---|
|
| Solucoes_totvs_parceirosexptotvs |
|---|
|
|
|---|
| Linha de Produto: | |
|---|
| Segmento: | |
|---|
| Módulo: | | Modulos_cross_segmentos |
|---|
| ModulosCrossSegmentos | TOTVS Backoffice (Linha Protheus) - Estoque e Custos (SIGAEST) |
|---|
|
| Modulos_totvs_prestadores_de_servicos |
|---|
|
|---|
| 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 |
...
| Nota |
|---|
|
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
| Bloco de código |
|---|
| language | java |
|---|
| theme | Midnight |
|---|
| title | Exemplo |
|---|
| linenumbers | true |
|---|
|
#include "Protheus.ch"
User Function MTFilCalcMTFilCal()
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 |
...