Ponto de Entrada
Descrição: | Ponto de entrada para manipular as informações de campos customizados, quando a SC é criada pelo MRP. Este ponto de entrada é utilizado apenas quando o produto possui Contrato de parceria (B1_CONTRAT). |
Localização: | Função A712GeraSC, antes de ser executada a função do módulo de Compras para gerar as ordens de compra quando o produto possui contrato de parceria. |
Parâmetros | Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|
cProd | Caracter | Código do produto |
| Sim |
| nQtd | Numérico | Quantidade a ser gerada da SC |
| Sim |
| aCampos | Array | Array contendo informações de geração da SC. Neste array existem as informações dos seguintes campos: DATPRF - Data prev. da Necessidade SEQMRP - Seq MRP que originou SC TPOP - Tipo da Ordem de Produção USER - Código do Usuário |
| Sim |
|
|
Programa Fonte: | MATA712 - MRP |
Retorno: | Nome | Tipo | Descrição | Obrigatório | aFldCustom | Array | Array com os campos customizados que serão preenchidos na criação das tabelas SC1/SC7. Este array deve possuir a seguinte estrutura: aFldCustom[1]:Array aFldCustom[1][1]: Nome do campo que será preenchido, sem utilizar o prefixo da tabela. Exemplo: Para preencher o campo C1_FORNECE, esta posição do array deve ser "FORNECE". aFldCustom[1][2]: Valor que será preenchido no campo. Exemplo de adição de um elemento no array aFldCustom: aAdd(aFldCustom,{"FORNECE","000001"}) Obs: As informações que são recebidas pelo array aCampos, não poderão ser alteradas. | Sim |
|
Exemplo:
#Include 'Protheus.ch'
User Function A712CNTSC1()
Local cProd := PARAMIXB[1] //Código do produto que será criada a SC.
Local nQtd := PARAMIXB[2] //Quantidade
Local aCampos := PARAMIXB[3]
/*
aCampos:
Campos enviados pelo MRP para a criação da SC;
São enviados apenas os campos DATPRF, SEQMRP, TPOP e USER. Sem utilizar o prefixo de tabela.
*/
Local aFldCustom := {}
/*
aFldCustom:
Array com os campos customizados que serão preenchidos na criação das tabelas SC1/SC7.
Este array deve possuir a seguinte estrutura:
aFldCustom[1]:Array
aFldCustom[1][1]: Nome do campo que será preenchido, sem utilizar o prefixo da tabela.
Exemplo: Para preencher o campo C1_FORNECE, esta posição do array deve ser "FORNECE".
aFldCustom[1][2]: Valor que será preenchido no campo.
Exemplo de adição de um elemento no array aFldCustom:
aAdd(aFldCustom,{"FORNECE","000001"})
Obs: As informações que são recebidas pelo array aCampos, não poderão ser alteradas.
*/
Local nPos := 0
nPos := aScan(aCampos,{|x| x[1] == "SEQMRP"})
aAdd(aFldCustom,{"OBSERVA","SC gerada pelo MRP." + Iif(nPos>0," Sequência " + aCampos[nPos,2],"")}) //Adiciona o valor para um campo customizado.
Return aFldCustom