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 ( [ ] )
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. aCols[n,npos] - Onde o n e o número da linha e nPos pode ser: nPosCod - Código do Produto a ser empenhado Na acols a ultima coluna define se a linha está deletada (.T.) ou não (.F.) 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.
#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
Conout("Linha não deletada: "+ cValTochar(nx))
EndIF
Conout("Produto :"+ acols[nx,nPoscod] + " Descrição : " +acols[nx,nPosDescr] )
Next nx
RestArea(aArea)
Return
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
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |