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
|