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 |