Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


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ÇÕESOBSERVACIONESDeve-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::

NOMEDESCRIÇÃOOBRIGATÓRIO Analisa cotação com o cabeçalho da cotação com os itens da cotação

NOMBRE

TIPO

DESCRIPCIÓN

OBLIGATORIO

nOpcAuto

numérico

6 =

Analiza cotización

X

aAutoCab

Array of records

Array

con el encabezado de la cotización

X

aAutoItm

Array of records

Array

con los ítems de la cotización

X

Bloco de código
languagedelphi
themeMidnight
firstline1
titleEXEMPLOEJEMPLO
#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