AbrangênciasAlcances: Microsiga Protheus 11
VersõesVersiones: Protheus 11
Compatível Compatible Países: Todos
Sistemas Operacionaisoperativos: Todos
Compatível às Bases de DadosCompatible a las bases de datos: Todos
Idiomas: Português Portugués (Brasil) , Português Portugués (Portugal) , Espanhol Español , InglêsInglés
DESCRIÇÃODESCRIPCIÓN: Esta rotina tem por objetivo realizar o encerramento da cotação, atualizar o status da solicitação de compras e gerar o rutina tiene como objetivo realizar el cierre de la cotización, actualizar el estatus de la solicitud de compras y generar el respectivo pedido de compras, a partir do recebimento das informações da proposta de la recepción de las informaciones de la propuesta vencedora.
OBSERVAÇÕESOBSERVACIONES: Deve-se informar os dados apenas da proposta vencedora. Se duas propostas forem informadas, a rotina assumirá que ambas são propostas vencedoras (Detalhes no exemplo abaixoSe deben informar los datos de la propuesta vencedora. Si dos propuestas se informan, la rutina asumirá que ambas son propuestas vencedoras (Detalles en el siguiente ejemplo).
PROGRAMA FONTEFUENTE: MATA160.PRX
SINTAXESINTAXIS: MATA160(,nOpcAuto,aAutoCab,aAutoItm)
RETORNODEVOLUCIÓN: ()
PARÂMETROSPARÁMETROS::
NOMBRE | TIPO | DESCRIÇÃODESCRIPCIÓN | OBRIGATÓRIOOBLIGATORIO | |
nOpcAuto | numérico | 6 = | Analisa cotaçãoAnaliza cotización | X |
aAutoCab | Array of records | Array | com o cabeçalho da cotaçãocon el encabezado de la cotización | X |
aAutoItm | Array of records | Array | com os itens da cotaçãocon los ítems de la cotización | X |
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
#Include 'Protheus.ch'
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH" // BIBLIOTECA
User Function Auto_160()
Local aAutoCab := {} // Array dodel cabecalhoencabezado: 1-SC8->C8_NUM 2-comprador
Local aAutoItm := {} // Array de los dosítems itensde dala cotacaocotizacion
Local nIndItem := 1
Local lOk := .T.
Local cNumCotacao := ""
PRIVATE lMSErroAuto := .F.
//------------------------
//| AberturaApertura dodel ambienteentorno|
//------------------------
PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" MODULO "COM" //informe oel codigo dade la empresa y ede dala filialsucursal
conout("Inicio") // muestra exibeen nola consoleconsola dodel servidor
cNumCotacao := "000001" // informe aqui oel numero de dala cotacaocotización aque serse analisadaanalizara
dbSelectArea("SC8")
dbSetOrder(1)
If !DbSeek(xFilial("SC8")+cNumCotacao) // FILIAL + NUM. COTACAO
conout("FalhaFalla! GerarGenerar ey atualizaractualizar cotacaocotización " +cNumCotacao+" ! ")
conout("FimFin")
lOk := .F.
Endif
If lOk
conout("Iniciando exemploejemplo de 4 propostaspropuestas para ala cotacaocotizacion "+ cNumCotacao+".")
aAdd(aAutoCab,{"C8_NUM",cNumCotacao,NIL}) // numero de dala solicitatacaosolicitud de compras que gerougenero ala(s) cotacaocotizacion(oeses)
aAdd(aAutoCab,{"COMPACC","Administrador",NIL}) // nomenombre dodel comprador
// Deve-se fornecer os dados ¡ Se debe suministrar los datos completos dodel fornecedorproveedor vencedor para cada itemítem de dala cotacaocotización!
// Los Ostamaños tamanhosde doslos campos dade la tabelatabla SCE, devemse serdeben respeitadosrespetar.
// OEl array de itensítems (aAutoItn) devedebe tertener comprimentotamaño igual aoal numero de items itensde dala cotacaocotizacion
aadd(aAutoitm,{})
aAdd(aAutoItm[nIndItem],{})
// APor cada item dade la cotacaocotizacion, deve-se debe preencherinformar oel fornecedorproveedor vencedor
aAdd(atail(aAutoItm[nIndItem]),{"CE_ITEMCOT","0001",NIL}) //item de dala cotacaocotizacion
aAdd(atail(aAutoItm[nIndItem]),{"CE_FORNECE","001 ",NIL}) //informe oel codigo dodel fornecedorproveedor, respeitandorespetando oel tamanhotamaño exatoexacto dodel campo
aAdd(atail(aAutoItm[nIndItem]),{"CE_LOJA","01",NIL}) // lojatienda dodel fornecedorproveedor
aAdd(atail(aAutoItm[nIndItem]),{"CE_NUMPRO","01",NIL}) // numero de dala propostapropuesta
aAdd(atail(aAutoItm[nIndItem]),{"CE_QUANT",10,NIL}) // quantidadecantidad
nIndItem++
aadd(aAutoitm,{})
aAdd(aAutoItm[nIndItem],{})
// Para o item 0002, oel fornecedorproveedor vencedor ehes oel "002 "
aAdd(atail(aAutoItm[nIndItem]),{"CE_ITEMCOT","0002",NIL}) //item de dala cotacaocotizacion (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, oel fornecedorproveedor vencedor ehes oel "001 "
aAdd(atail(aAutoItm[nIndItem]),{"CE_ITEMCOT","0003",NIL}) //item dade la cotacaocotizacion (OBRIGATORIOOBLIGATORIO)
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, oel fornecedorproveedor vencedor ehes oel "002 "
aAdd(atail(aAutoItm[nIndItem]),{"CE_ITEMCOT","0004",NIL}) //item de dala cotacaocotizacion (OBRIGATORIOOBLIGATORIO))
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("Erro na analise da cotacaoError en el analisis de la cotizacion " + cNumCotacao +" !")
Mostraerro()
Else
Alert("SUCESSO¡EXITO!")
conout("CotacaoCotizacion " + cNumCotacao + "¡analizada analisadacon com sucessoexito!")
Endif
Endif
RESET ENVIRONMENT
Return |