#Include 'Protheus.ch'
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH" // BIBLIOTECA
User Function Auto_160()
Local aAutoCab := {} // Array del encabezado: 1-SC8->C8_NUM 2-comprador
Local aAutoItm := {} // Array de los ítems de la cotizacion
Local nIndItem := 1
Local lOk := .T.
Local cNumCotacao := ""
PRIVATE lMSErroAuto := .F.
//------------------------
//| Apertura del entorno|
//------------------------
PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" MODULO "COM" //informe el codigo de la empresa y de la sucursal
conout("Inicio") // muestra en la consola del servidor
cNumCotacao := "000001" // informe aqui el numero de la cotización que se analizara
dbSelectArea("SC8")
dbSetOrder(1)
If !DbSeek(xFilial("SC8")+cNumCotacao) // FILIAL + NUM. COTACAO
conout("Falla! Generar y actualizar cotización " +cNumCotacao+" ! ")
conout("Fin")
lOk := .F.
Endif
If lOk
conout("Iniciando ejemplo de 4 propuestas para la cotizacion "+ cNumCotacao+".")
aAdd(aAutoCab,{"C8_NUM",cNumCotacao,NIL}) // numero de la solicitud de compras que genero la(s) cotizacion(es)
aAdd(aAutoCab,{"COMPACC","Administrador",NIL}) // nombre del comprador
// ¡ Se debe suministrar los datos completos del proveedor vencedor para cada ítem de la cotización!
// Los tamaños de los campos de la tabla SCE, se deben respetar.
// El array de ítems (aAutoItn) debe tener tamaño igual al numero de items de la cotizacion
aadd(aAutoitm,{})
aAdd(aAutoItm[nIndItem],{})
// Por cada item de la cotizacion, se debe informar el proveedor vencedor
aAdd(atail(aAutoItm[nIndItem]),{"CE_ITEMCOT","0001",NIL}) //item de la cotizacion
aAdd(atail(aAutoItm[nIndItem]),{"CE_FORNECE","001 ",NIL}) //informe el codigo del proveedor, respetando el tamaño exacto del campo
aAdd(atail(aAutoItm[nIndItem]),{"CE_LOJA","01",NIL}) // tienda del proveedor
aAdd(atail(aAutoItm[nIndItem]),{"CE_NUMPRO","01",NIL}) // numero de la propuesta
aAdd(atail(aAutoItm[nIndItem]),{"CE_QUANT",10,NIL}) // cantidad
nIndItem++
aadd(aAutoitm,{})
aAdd(aAutoItm[nIndItem],{})
// Para o item 0002, el proveedor vencedor es el "002 "
aAdd(atail(aAutoItm[nIndItem]),{"CE_ITEMCOT","0002",NIL}) //item de la cotizacion (OBRIGATORIO)
aAdd(atail(aAutoItm[nIndItem]),{"CE_FORNECE","002 ",NIL})
aAdd(atail(aAutoItm[nIndItem]),{"CE_LOJA","00",NIL})
aAdd(atail(aAutoItm[nIndItem]),{"CE_NUMPRO","01",NIL})
aAdd(atail(aAutoItm[nIndItem]),{"CE_QUANT",20,NIL})
nIndItem++
aadd(aAutoitm,{})
aAdd(aAutoItm[nIndItem],{})
// Para o item 0003, el proveedor vencedor es el "001 "
aAdd(atail(aAutoItm[nIndItem]),{"CE_ITEMCOT","0003",NIL}) //item de la cotizacion (OBLIGATORIO)
aAdd(atail(aAutoItm[nIndItem]),{"CE_FORNECE","001 ",NIL})
aAdd(atail(aAutoItm[nIndItem]),{"CE_LOJA","01",NIL})
aAdd(atail(aAutoItm[nIndItem]),{"CE_NUMPRO","01",NIL})
aAdd(atail(aAutoItm[nIndItem]),{"CE_QUANT",30,NIL})
nIndItem++
aadd(aAutoitm,{})
aAdd(aAutoItm[nIndItem],{})
// Para o item 0004, el proveedor vencedor es el "002 "
aAdd(atail(aAutoItm[nIndItem]),{"CE_ITEMCOT","0004",NIL}) //item de la cotizacion (OBLIGATORIO))
aAdd(atail(aAutoItm[nIndItem]),{"CE_FORNECE","002 ",NIL})
aAdd(atail(aAutoItm[nIndItem]),{"CE_LOJA","00",NIL})
aAdd(atail(aAutoItm[nIndItem]),{"CE_NUMPRO","01",NIL})
aAdd(atail(aAutoItm[nIndItem]),{"CE_QUANT",40,NIL})
//ExecAuto
MSExecAuto({|x,y,z| MATA160(,x,,y,z)},6,aAutoCab,aAutoItm)
If lMsErroAuto
conout("Error en el analisis de la cotizacion " + cNumCotacao +" !")
Mostraerro()
Else
Alert("¡EXITO!")
conout("Cotizacion " + cNumCotacao + "¡analizada con exito!")
Endif
Endif
RESET ENVIRONMENT
Return