Línea de producto: | Protheus | ||||
Segmento: | Manufactura | ||||
Módulo: | SIGACOM - Compras | ||||
Rutina: |
| ||||
País(es): | Brasil | ||||
Base(s) de datos: | Todos | ||||
Sistemas operativos: | Todos |
Descripción: | El punto de entrada MT161CPO permite incluir campos personalizados en las grid "Productos" e "Ítem de la Propuesta", en la rutina Análisis de Cotización (MATA161). | ||||||||||||
Eventos: | La llamada del punto de entrada MT161CPO ocurre al hacer clic en la opción "Análisis da cotización" en la rutina Analiza Cotizaciones (MATA161). | ||||||||||||
Programa fuente: | MATA161.PRW | ||||||||||||
Función: | MATA161 - Análisis de la cotización - Mapa de cotización | ||||||||||||
Parámetros: |
| ||||||||||||
Devolución: |
| ||||||||||||
Ejemplos: | #INCLUDE "PROTHEUS.CH"
User Function MT161CPO() Local aPropostas := PARAMIXB[1] // Array con los datos de las propuestas de los proveedores
Local aItens := PARAMIXB[2] // Array con los datos de la grid "Productos"
Local aCampos := {"C8_PRECO"} // Array con los campos agregados en la grid "Ítem de la propuesta"
Local aCposProd := {"C8_QTSEGUM","C8_SEGUM"} // Array con los campos agregados en la grid "Productos"
Local aRetorno := {}
Local nX := 0
Local nY := 0
Local nZ := 0
Local nCount := 0
Local aAreaSC8 := SC8->(GetArea())
For nX := 1 To Len(aPropostas)
For nY := 1 To Len(aPropostas[nX])
For nZ := 1 To Len(aPropostas[nX][nY][2])
nCount++
//C8_FILIAL+C8_NUM+C8_FORNECE+C8_LOJA+C8_ITEM+C8_NUMPRO
If Len(aPropostas[nX][nY][1]) > 0
AADD(aPropostas[nX][nY][2][nZ], Posicione("SC8",1,SC8→(C8_FILIAL+C8_NUM)+aPropostas[nX][nY][1][1]+aPropostas[nX][nY][1][2]+aPropostas[nX][nY][2][nZ][2]+aPropostas[nX][nY][2][nZ][12], "C8_PRECO"))
Else
AADD(aPropostas[nX][nY][2][nZ],0)
EndIf
Next nZ
Next nY
Next nX
For nX := 1 To Len(aItens)
//C8_FILIAL+C8_NUM+C8_FORNECE+C8_LOJA+C8_ITEM+C8_NUMPRO
AADD(aItens[nX], Posicione("SC8",1,SC8→(C8_FILIAL+C8_NUM)+aItens[nX][10]+aItens[nX][11]+aItens[nX][12]+aItens[nX][13], "C8_QTSEGUM"))
AADD(aItens[nX], Posicione("SC8",1,SC8→(C8_FILIAL+C8_NUM)+aItens[nX][10]+aItens[nX][11]+aItens[nX][12]+aItens[nX][13], "C8_SEGUM"))
Next nX
AADD(aRetorno, aPropostas)
AADD(aRetorno, aCampos)
AADD(aRetorno, aItens)
AADD(aRetorno, aCposProd)
RestArea(aAreaSC8)
Return aRetorno
#INCLUDE "PROTHEUS.CH"
User Function MT161CPO() Local aPropostas := PARAMIXB[1] // Array con los datos de las propuestas de los proveedores
Local aItens := PARAMIXB[2] // Array con los datos de la grid "Productos"
Local aCampos := {"C8_XTESTE"} // Array con los campos agregados en la grid "Ítem de la propuesta"
Local aCposProd := {"C8_XVALOR"} // Array con los campos agregados en la grid "Productos"
Local aRetorno := {}
Local nX := 0
Local nY := 0
Local nZ := 0
Local nCount := 0
For nX := 1 To Len(aPropostas)
For nY := 1 To Len(aPropostas[nX])
For nZ := 1 To Len(aPropostas[nX][nY][2])
nCount++
AADD(aPropostas[nX][nY][2][nZ], "TESTE "+Str(nCount,2))
Next nZ
Next nY
Next nX
For nX := 1 To Len(aItens)
AADD(aItens[nX], nX)
Next nX
AADD(aRetorno, aPropostas)
AADD(aRetorno, aCampos)
AADD(aRetorno, aItens)
AADD(aRetorno, aCposProd)
Return aRetorno
| ||||||||||||
Informaciones adicionales: | Los nombres de los campos se deben incluir en los array de devolución en la misma orden en que se incluyeron en las informaciones de los productos y de las propuestas. //aItens[n,x]: Número del ítem //ENCABEZADO
|