ÍNDICE
- Visão Geral
- Exemplo de utilização
01. VISÃO GERAL
Localização: Function MontEstru() - Responsável por montar array com estrutura do produto.
...
Sintaxe: EMP650 - Edição de Itens Empenhados na Abertura da OP ( [ ] )
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: aCols[n,npos] - Onde o n e o número da linha e nPos pode ser: nPosCod - Código do Produto a ser empenhado nPosQuant - Quantidade do empenho nPosLocal - Almoxarifado do empenho nPosTrt - Sequência do componente na estrutura (Campo G1_TRT) nPosLote - Sub-Lote utilizado no empenho (Somente deve ser preenchido se o produto utilizar rastreabilidade do tipo "S") nPosLotCTL - Lote utilizado no empenho (Somente deve ser preenchido se o produto utilizar rastreabilidade) nPosDValid - Data de validade do Lote (Somente deve ser preenchido se o produto utilizar rastreabilidade) nPosPotenc - Potência de lote (Somente deve ser preenchido se o produto utilizar rastreabilidade) nPosLocLz - Localização utilizada no empenho (Somente deve ser preenchido se o produto utilizar controle de localização física) nPosnSerie - Número de Série (Somente deve ser preenchido se o produto utilizar controle de localização física) nPosUM - 1a. Unidade de Medida do Produto nPosQtSegum - Quantidade do Empenho na 2a. Unidade de Medida nPos2UM - 2a. Unidade de Medida do Produto nPosDescr - Descrição do produto nPosOper - Produto Original nPosPrdOrg - Operação vinculada ao produto nPosIsAlt - Produto Alternativo
Na acols a ultima coluna define se a linha está deletada (.T.) ou não (.F.) Como a rotina sofreu alterações, e passou a ter alguma colunas dinâmicas, para pegar a posição da ultima coluna, indicamos utilizar a busca pelo Acols através da função Len Exemplo: LEN(ACOLS[n])
|
---|
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.
02. EXEMPLO DE UTILIZAÇÃO
#INCLUDE 'PROTHEUS.CH'
User function EMP650()
Local aArea := GetArea()
local nx
For nx := 1 to len(Acols) // Percorre todas as linhas da acols
IF ! Acols[nx][len(acols[nx])] // Verifica se linha nao esta Deletada
...