खोज…


परिचय

CustomizationPlug से निकाली गई कक्षाओं के साथ आप कस्टमाइज़ेशन प्रोजेक्ट प्रकाशित होने के बाद एक्यूमैटिक कस्टमाइज़ेशन प्लेटफ़ॉर्म की क्षमताओं का उपयोग कर सकते हैं और कस्टम कोड निष्पादित कर सकते हैं। इस विषय में आप जानेंगे कि मल्टीपल कंपनियों में बदलाव करने के लिए किस तरह से अनुकूलन प्लग-इन का उपयोग किया जा सकता है।

अनुकूलन प्लग-इन के बारे में अधिक जानकारी Acumatica अनुकूलन गाइड में उपलब्ध है

कई कंपनियों को अद्यतन करने के लिए एक अनुकूलन प्लग-इन का कार्यान्वयन

अनुकूलन प्लगइन बनाने के लिए, आप बस CustomizationPlug से प्राप्त एक वर्ग बनाते हैं और इसे अनुकूलन में पैकेज करते हैं। प्रणाली अनुकूलन परियोजना प्रकाशित कर रहा है, वहीं यह अपने अनुकूलन केवल वर्तमान कंपनी दायरे के भीतर प्लगइन में लागू OnPublished और UpdateDatabase तरीकों पर अमल होगा।

इसके साथ ही, कहा जाता है कि अनुकूलन प्लग-इन वर्तमान कंपनी के अलावा किसी भी अन्य में परिवर्तन नहीं करेगा, जब तक कि यह सभी कंपनियों में लॉग-इन करने के लिए PXLoginScope का उपयोग करता है, एक के बाद एक, वर्तमान उपयोगकर्ता प्रकाशन अनुकूलन के लिए उपलब्ध है।

नीचे मौजूदा उपयोगकर्ता के लिए उपलब्ध सभी कंपनियों में MyVerticalSolution उपयोगकर्ता भूमिका बनाने के लिए अनुकूलन प्लगइन का एक उदाहरण है:

public class MyVerticalSolutionInit : CustomizationPlugin
{
    public override void UpdateDatabase()
    {
        var companies = PXAccess.GetCompanies();

        foreach (var company in companies)
        {
            using (var loginScope = new PXLoginScope(string.Format("{0}@{1}",
                PXAccess.GetUserLogin(), company)))
            {
                string roleName = "MyVerticalSolution";
                RoleAccess graph = PXGraph.CreateInstance<RoleAccess>();

                Roles existingRole = graph.Roles.Search<Roles.rolename>(roleName);
                if (existingRole != null)
                {
                    WriteLog(string.Format("{0} already exists in company '{1}' - skipped", roleName, company));
                    continue;
                }

                var wmsRole = new Roles();
                wmsRole.Rolename = roleName;
                wmsRole.Descr = "User Role for MyVerticalSolution";

                graph.Roles.Insert(wmsRole);
                graph.Save.Press();

                WriteLog(string.Format("{0} was succesfully created in company '{1}'", roleName, company));
            }
        }
    }
}

वर्तमान उपयोगकर्ता के लिए उपलब्ध कंपनियों की एक सूची प्राप्त करने के लिए, आप बस स्थैतिक PXAccess.GetCompanies() विधि को लागू करते हैं। तब PXLoginScope का उपयोग MyVerticalSolution उपयोगकर्ता भूमिका बनाने के लिए उपलब्ध कंपनियों में से प्रत्येक में लॉग इन करने के लिए किया जाता है। प्रत्येक कंपनी के लिए फिर से आरंभ किए गए रोलअसेले बीएलसी की सूचना उदाहरण - यह एक समय में कई कंपनियों में बदलाव करने के लिए एक बिल्कुल अनिवार्य कदम है।

मान लेते हैं कि आपके अक्युमैटिक इंस्टा पर 2 कंपनियां हैं: CompanyA और CompanyB। व्यवस्थापक उपयोगकर्ता, जिसे आप कस्टमाइज़ेशन प्रकाशित करने के लिए उपयोग करने जा रहे हैं, दोनों कंपनियों और MyVerticalSolution भूमिका तक पहुँच है, जो अनुकूलन प्लग-इन द्वारा बनाई गई है, पहले से ही CompanyA में मौजूद है: यहाँ छवि विवरण दर्ज करें

आपके द्वारा वर्तमान उपयोगकर्ता के लिए उपलब्ध सभी कंपनियों में MyVerticalSolution भूमिका बनाने के लिए पहले विकसित कस्टमाइज़ेशन प्लग-इन के साथ कस्टमाइज़ेशन (CompanyA या CompanyB में लॉग इन) प्रकाशित होने के बाद, नोटिस MyVerticalSolution भूमिका CompanyA के लिए छोड़ दिया गया और सफलतापूर्वक CompanyB के लिए बनाया गया।

यहाँ छवि विवरण दर्ज करें

अगली बार जब आप इस अनुकूलन को प्रकाशित करते हैं, तो आपके Acumatica एप्लिकेशन में MyVerticalSolution की भूमिका दोनों कंपनियों के लिए छोड़ दी जाएगी:

यहाँ छवि विवरण दर्ज करें



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow