Modèle MCOxxx

Cette page ne contient pas de sous-pages directes.

← Retour à Nouveau composant


Code WinDev – MCOManuel

Déclaration de la classe MCOManuel

            
            
MCOManuel est une Classe
    hérite de AComposant

PUBLIC
    m_pclNom        est un MVARChaine dynamique            <copie=clone>
    m_pclNuance     est un MVARChoix_GListe dynamique    <copie=clone>
    m_pclDocument   est un objet dynamique                <copie=clone>
FIN
            
        

Procédure Constructeur()

            
            
PROCÉDURE Constructeur()

<BLOC Paramètres>
    taParametreDocument est un tableau associatif de chaînes
    taParametreDocument["m_sObjet"]            = MCOManuel
    taParametreDocument["m_stVue.sTitre"]    = "Documents à fournir"
<FIN>

<BLOC Allocation>
    m_pclNom        = MVARChaine.gNouvelleVariable(<bMultiligne>:Vrai,<sTexteSiVide>:"[Aucun nom spécifié]")
    m_pclNuance     = MVARChoix_GListe.gNouvelleVariable(GMateriauNuance)
    m_pclDocument   = MVARExterne.gNouvelleVariable("MVAROption_DocumentTypeLK",taParametreDocument)
<FIN>

<BLOC Initialisation>
    SetVariablePrincipale(...
    <bQuantiteFixe>:Faux,...
    <bPoidsFixe>:Faux,...
    <nRefUniteComptage>:UNITE.PIECE,...
    <bUniteComptageFixe>:Faux,...
    <nRefUniteFacturation>:UNITE.PIECE,...
    <bUniteFacturationFixe>:Faux)
<FIN>

<BLOC Vue>
    m_pclChampListe.AjouterTitre("Article manuel")
    m_pclChampListe.AjouterObjet(m_pclNom,"Nom")
    m_pclChampListe.AjouterObjet(m_pclNuance,"Nuance")

    <BLOC Base spécifique>
        m_pclChampListe.AjouterTitre("Informations de base",BASE)
        m_pclChampListe.AjouterObjet(m_pclBase.m_pclPoids,"Poids",TECHNIQUE,<pModifier>:Calculer)    // Poids dans technique
        m_pclChampListe.AjouterObjet(m_pclBase.m_pclQuantite,"Quantité",BASE,<pModifier>:Calculer)
        m_pclChampListe.AjouterObjet(m_pclBase.m_pclSousTraitance,"Sous-traitance",BASE)
    <FIN>

    AjouterChampParDefaut(ACHAT)
    m_pclChampListe.AjouterObjet(m_pclDocument,"Document(s)",ACHAT)
    AjouterChampParDefaut(MAIN_OEUVRE+VENTE)
<FIN>
            
        

Procédure p_sNomComplet()

            
            
PROCÉDURE PUBLIQUE p_sNomComplet() : chaîne

    sNom        est une chaîne        = m_pclNom.p_sNomComplet
    iDocument    est un IVariable    <- m_pclDocument

    SI PAS m_pclNuance.p_tabChoixVrai.Vide ALORS
        sNom += [RC] + "Matière : [%p_sNuance%]"
    FIN

    SI m_pclBase.m_pclPoids.m_rValeur > 0 ALORS
        sNom += [RC] + "Poids : ~[%m_pclBase.m_pclPoids.p_sNomComplet%]"    
    FIN

    sNom += [RC] + iDocument.p_sNomComplet

    RENVOYER sNom
            
        

Procédure p_sNuance()

            
            
PROCÉDURE PUBLIQUE p_sNuance() : chaîne

    nRefNuance    est un entier    = m_pclNuance.GetListeDeReferenceAvecSeparateurEtBalise("","")
    iNuance        est un IBase    <- GGlobal.GListe(GMateriauNuance).GetModele(nRefNuance)

    RENVOYER iNuance.p_sNomComplet
            
        

Procédure p_nRefNuance() (getter et setter)

            
            
PROCÉDURE PUBLIQUE p_nRefNuance() : entier

    RENVOYER m_pclNuance.GetListeDeReferenceAvecSeparateurEtBalise("","")
PROCÉDURE p_nRefNuance(nValeur est un entier)

    m_pclNuance.p_sChoixUnique = nValeur
            
        

Procédure Globale gNouveauComposant()

            
            
PROCÉDURE GLOBALE gNouveauComposant(sNom est une chaîne, nRefNuance est un entier) : MCOManuel

    pclNouveauComposant est un MCOManuel dynamique

    pclNouveauComposant                                = allouer un MCOManuel
    pclNouveauComposant.m_pclNom.m_sValeur            = sNom
    pclNouveauComposant.m_pclNuance.p_sChoixUnique    = nRefNuance

    RENVOYER pclNouveauComposant
            
        

Procédure Calculer()

            
            
PROCÉDURE Calculer()

    GDebug.TracerObjet(objet)