Localização: Function MontEstru() - Responsável por montar array com estrutura do produto. Em que ponto: É chamado antes de iniciar a gravação dos empenhos na abertura de uma ordem de produção. Utilizado para incluir, alterar ou excluir itens que sejam empenhados na abertura da Ordem de Produção. Finalidade: Alteração de Itens Empenhados na Abertura da OP. Programa fonte: MATA650.PRX Sintaxe: EMP650 - Edição de Itens Empenhados na Abertura da OP ( [ ] ) Parâmetro: Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|
| Array of Record |
|
|
|
|
Observações: Não recebe parâmetros, porém neste momento o array aCols que é apresentado na alteração de empenhos quando se abre uma Ordem de Produção está disponível para alterações. O aCols apresenta neste momento as linhas e colunas preenchidas, de acordo com o empenho padrão a ser efetuado no Sistema. Basta alterar ou incluir o conteúdo deste array para alterar as informações dos empenhos. A estrutura básica do array aCols é apresentada da seguinte forma na versão 2.07/5.08: aCols[n,x] - Onde o n e o número da linha e x pode ser: [1] Código do Produto a ser empenhado [2] Quantidade do empenho [3] Almoxarifado do empenho [4] Sequência do componente na estrutura (Campo G1_TRT) [5] Sub-Lote utilizado no empenho (Somente deve ser preenchido se o produto utilizar rastreabilidade do tipo "S") [6] Lote utilizado no empenho (Somente deve ser preenchido se o produto utilizar rastreabilidade) [7] Data de validade do Lote (Somente deve ser preenchido se o o produto utilizar rastreabilidade) [8] Potência de lote (Somente deve ser preenchido se o produto utilizar rastreabilidade) [9] Localização utilizada no empenho (Somente deve ser preenchido se o produto utilizar controle de localização física) [910] Número de Série (Somente deve ser preenchido se o produto utilizar controle de localização física) [1011] 1a. Unidade de Medida do Produto [1112] Quantidade do Empenho na 2a. Unidade de Medida [1213] 2a. Unidade de Medida do Produto [1314] Descrição do produto [15] Operação vinculada ao produto [16] Coluna com valor lógico que indica se a linha está deletada (.T.) ou não (.F.) Vale ressaltar que as colunas que não forem preenchidas, devem ser inicializadas com a função Criavar dos respectivos campos. Basta pesquisar qual o campo tomado como base para criação das colunas.
Neste ponto está disponível também o Array aColsDele, que indica quais linhas do array aCols estão deletadas através de seu conteúdo numérico. Variáveis: Nome | Tipo | Escopo | Pode Alterar | Descrição |
---|
| Array of Record | Global | Não |
|
Também fica disponível o array aOpcCam, que deve ser atualizado juntamente com o array aCols, para correto cálculo de opcionais. Exemplo: #include "rwmake.ch"
User Function EMP650()
Local nQtdDel := Len(aColsDele) Local nx := 0
If Len(aColsDele) > 0
For nx:= nQtdDel To 1 Step -1 aDel(aCols, aColsDele[nx]) aDel(aOpcCam, aColsDele[nx]) Next nx aSize(aCols, Len(aCols) - Len (aColsDele)) aSize(aOpcCam, Len(aOpcCam) - Len (aColsDele)) aSize(aColsDele,0) EndIf
Return
|