Ushbu maqola boshqariladigan shakl 8.2 ni ochishda qiymatni parametr sifatida o'tkazish uchun standart vositalardan qanday foydalanishni tavsiflaydi, shunga o'xshash operatsiyani oddiy shakllarda qanday amalga oshirish mumkinligi bilan solishtirganda.
Oddiy shakllarda parametrlar qanday uzatiladi
Oddiy shakllarda parametrni o'tkazish uchun ikkita imkoniyat mavjud edi:
1) kamroq tarqalgan usul: "Tafsilotlar" yorlig'idagi ob'ekt shaklida atributlar qo'shildi va agar kerak bo'lsa, kirish vizual vositalar bilan aniqlandi.
2) keng tarqalgan usul: eksport o'zgaruvchisi forma modulida e'lon qilindi va qiymat "Ochishdan oldin" ishlov beruvchisida qayta ishlandi
Ikkala holatda ham ariza chaqiruvi quyidagicha ko'rinardi:
Form = Object.GetForm("SelectionForm",FormOwner, UniquenessKey);
Form.Parameter = ParameterValue;
Form.Open();
Boshqariladigan shakllarda parametrlar qanday uzatiladi
Boshqariladigan shakllar endi shakl qabul qilinganda parametrlarni darhol uzatish imkoniyatiga ega. Parametrlar struktura sifatida uzatiladi:
Parametrlar = Yangi tuzilma ("CurrentValue", LastElement);
SelectionForm = GetForm("Katalog. Nomenklatura.SelectionForm", Parametrlar);
FoundItem = SelectionForm.OpenModal();
Shuningdek, boshqariladigan shaklda endi "shakl kengaytmalari" mavjud (ob'ekt, ma'lumotnoma, hujjat, hisobot). Ob'ektning turiga qarab, mavjud parametrlarning tarkibi aniqlanadi. Misol uchun, agar katalogni tanlash shaklida siz ma'lum bir elementga joylashtirishingiz kerak bo'lsa, u holda "CurrentValue" parametri ishlatiladi. Katta afzallik shundaki, formaning o'zi oldindan belgilangan parametrlar uchun ishlov beruvchilarni yozishni talab qilmaydi, bu kod miqdorini kamaytiradi.
Ishlab chiquvchi shuningdek, o'z parametrlarini aniqlash imkoniyatiga ega (boshqariladigan shakl dizaynerida, "Parametrlar" yorlig'i). Parametrlarning ishlash muddati OnCreationOnServer ishlov beruvchisi tomonidan cheklangan, bu mantiqiy, chunki parametrlar faqat forma yaratishda talab qilinadi, lekin agar bu parametr shaklning o‘ziga xosligini aniqlasa (“asosiy parametr” bayrog‘i parametr xususiyatlarida o‘rnatilgan), u boshqa ishlov beruvchilarda mavjud bo‘ladi.
Muayyan manipulyatsiya parametrini o'tkazish uchun siz biroz ko'proq narsani qilishingiz kerak:
1) Parametrni boshqariladigan shaklda aniqlang.
OnCreationOnServer ishlov beruvchisida ushbu parametrni qayta ishlashni aniqlang (FormDataStructure turiga ega bo'lgan "Parameters" xususiyati orqali o'tkazilgan parametrlarga kirish)
2) Shaklni qabul qilishni tavsiflang va GetForm funksiyasining parametrlarida yangi parametr qiymatini bering.
Shunday qilib, kod quyidagicha ko'rinadi:
- Shaklni olgan joyda
Parametrlar = Yangi tuzilma ("NewParameter", LastElement);
SelectionForm = GetForm("Katalog. Nomenklatura.SelectionForm", Parametrlar);
Boshqariladigan shakl modulida
&Serverda
OnServerda yaratilgan protsedura (muvaffaqiyatsizlik, standart ishlov berish)
Agar Parameters.Property("NewParameter") Keyin
// bu erda parametrni qayta ishlash kodi
endIf;
Jarayonning oxiri
Xulosa
Ehtimol, bu maqola kimgadir foydali bo'ladi, bu vaqtni tejaydi va sizni keraksiz koddan qutqaradi. Boshqariladigan shakl parametrlarining to'liq ro'yxati haqida batafsil ma'lumot olish uchun "Boshqariladigan interfeys\Managed Form" yordamiga qarash tavsiya etiladi.
[havolani ko'rish uchun ro'yxatdan o'tishingiz kerak]
Boshqariladigan 1C ilovasida shakllarni dasturiy ravishda ochish ularni oddiy dasturda ochishdan sezilarli darajada farq qiladi. Avval eski usulni ko'rib chiqaylik. U formani qabul qilish va keyin uni normal yoki modal rejimda ochishdan iborat (modal rejimda ochilganda forma dasturni bloklaydi).
GetForm() . Ochiq()
Bu shakllarni ochishning eng sekin usuli. Biroq, bu shaklni ochishdan oldin uni dasturiy ravishda qayta ishlashga imkon beradi. Kodni qayta ishlash uchun siz biroz o'zgartirishingiz kerak:
Shakl = GetForm ( "Hujjat. Tovar va xizmatlarni qabul qilish. Hujjat shakli")
;
//Bu yerda forma bilan amallarni bajaramiz
Shakl. Ochiq();
Shuni hisobga olish kerakki, ariza qabul qilinganda, boshqa hodisa protsedurasi bajariladi WhenCreatedOnServer.
Keling, boshqariladigan 1C ilovasida shakllarni tezroq va qulayroq ochishga imkon beruvchi boshqa usullarni ko'rib chiqaylik. Muayyan vaziyatga qarab, turli usullardan foydalanish mumkin.
Bunday holda, hamma narsa juda oddiy.
RefLink = Kataloglar. Nomenklatura. FindByCode("000000001" );
OpenValue (RefLink);
Buning uchun funksiya mavjud EnterValue(). Funktsiya 3 ta parametrga ega:
Funktsiyani bajarish natijasida ko'rsatilgan turdagi ob'ekt uchun standart tanlash shakli ochiladi.
O'zgaruvchan qiymat;
Massiv = yangi massiv;
Massiv. Qo‘shish(Tur( "DirectoryLink.Nomenklatura")
)
;
Massiv. Qo‘shish(Tur( "DirectoryLink. Qarama-qarshi tomonlar")
)
;
TypeDescription= new TypeDescription(Array) ;
Res = EnterValue(Qiymat, "Maslahat" , TypeDescription);
Oldingi usullar faqat ob'ektlar uchun standart shakllarni ochishga imkon berdi (ob'ekt shakli yoki tanlov shakli). Agar siz maxsus shaklni ochishingiz kerak bo'lsa, funksiyadan foydalanishingiz mumkin OpenForm().
Ushbu funktsiya juda ko'p parametrlarga ega. Keling, ulardan ba'zilarini ko'rib chiqaylik:
Funktsiya qanday ishlatilishini ko'rib chiqaylik OpenForm() turli vaziyatlarda.
Har bir shakl bitta asosiy atributga ega. Shakl tafsilotlari ro'yxatida qalin shrift bilan ta'kidlangan va odatda chaqiriladi Ob'ekt ma'lumotnomalar va hujjatlarning elementlari shakllarida. Boshqa ob'ektlar boshqa nomga ega bo'lishi mumkin. Mavjud ob'ektning formasini ochish uchun ochilayotgan shaklga parametr o'tkazish kerak Kalit ob'ektga havola sifatida qiymat bilan.
&OnClient
Protsedura buyrug'i 1 (buyruq)
Parametr = yangi tuzilma;
Parametr. Insert("Kalit" , FindC() );
OpenForm(, Parametr);
Jarayonning oxiri
&Serverda
FindC();
Kataloglarni qaytarish. Qarama-qarshi tomonlar. FindByRequisites ("TIN", "745107734623")
EndFunction
Bu yerda oddiy funksiya bajariladi OpenForm() hech qanday parametrlarsiz.
&OnClient
Protsedura buyrug'i 1 (buyruq)
OpenForm( "Katalog. Qarama-qarshi tomonlar. Ob'ekt shakli")
;
Jarayonning oxiri
Siz parametrni kiritishingiz kerak Baza, uning qiymati to'ldirish asosiy ob'ektiga havola bo'ladi. Bu protsedurani boshlaydi ProcessFill().
&OnClient
Protsedura buyrug'i 1 (buyruq)
Parametr = yangi tuzilma;
Parametr. Insert("Asosiy", LinkToBuyerAccount) ;
OpenForm( "Hujjat. Tovar va xizmatlarni sotish. Ob'ekt shakli", Parametr);
Jarayonning oxiri
Ushbu misol hujjat yaratadi Tovar va xizmatlarni sotish va xaridorga to'lov uchun schyot-faktura asosida to'ldiriladi, unga havola uzatiladi.
1C shakllari bo'yicha tanlov oddiy yoki murakkab bo'lishi mumkin. Oddiy tanlash kabi ifodalarni o'z ichiga oladi Tashkilot = Horns and Hooves MChJ. Kompleks tanlash boshqa turdagi taqqoslashni o'z ichiga oladi, masalan. Ro'yxatda. Ushbu maqolada biz oddiy tanlovni tashkil qilishni ko'rib chiqamiz va alohida maqola murakkab tanlovga bag'ishlanadi.
Oddiy tanlovni tashkil qilish uchun ochilayotgan shaklga kalit bilan parametrni o'tkazish kerak Tanlash, qiymat kalit dinamik ro'yxat maydonining nomi bo'lgan struktura bo'ladi va qiymat izlanayotgan ma'lumotlardir.
Masalan, katalog ro'yxati formasini ochamiz GTD raqamlari va u erda egasi - katalog elementi bo'yicha tanlov qiling Nomenklatura.
&OnClient
Protsedura buyrug'i 1 (buyruq)
Parametr = yangi tuzilma;
Tanlash= yangi tuzilma;
Tanlash. Insert("Egasi", LinkToNomenclature) ;
Parametr. Insert("Tanlash", Tanlash);
OpenForm( "Directory.GTD raqamlari.Ro'yxat shakli", Parametr);
Jarayonning oxiri
Buning uchun sizga ma'lumotlar registrini kiritish kaliti kerak bo'ladi.
Yozuv kaliti- bu barcha o'lchovlar va davrning qiymatlari (agar registr davriy bo'lsa). Ya'ni, yozuv kaliti - bu yozuvni yagona aniqlash mumkin bo'lgan parametrlar.
Ochilish algoritmi quyidagicha:
&OnClient
Protsedura buyrug'i 1 (buyruq)
Parametr = yangi tuzilma;
KeyParameters= yangi tuzilma;
Asosiy parametrlar. Insert("Nomenklatura", LinkToNomenklatura) ;
Asosiy parametrlar. Insert("PriceType", LinkToPriceType) ;
Asosiy parametrlar. Insert ("Davr", Sana);
KeyArray = Yangi massiv;
KeyArray. Qo'shish (KeyParameters);
EntryKey = Yangi( "Axborot registrini qayd etish kaliti. Narxlar nomenklaturasi", KeyArray);
Parametr. Insert("Kalit", RecordKey) ;
OpenForm( "Axborot reestri. Nomenklatura narxlari. Ro'yxatga olish shakli", Parametr);
Jarayonning oxiri
Biz ushbu asosiy shakl bilan ishlov beramiz:
Ushbu formadan biz qo'shimcha shakl ochishimiz kerak va forma maydonidagi matn ochilgan shaklga o'tkazilishi kerak. Qo'shimcha shakl quyidagicha:
Shunday qilib, "Ishga tushirish" tugmasini bosganingizda, maydonga allaqachon kiritilgan matn bilan qo'shimcha shakl ochiladi:
Keling, bunday muammoni hal qilish yo'lini ko'rib chiqaylik.
Oddiy shakllar o'rtasida parametrlarni uzatish uchun siz forma modulining global eksport o'zgaruvchisidan foydalanishingiz yoki forma atributini yaratishingiz mumkin. Keling, vazifamiz uchun ikkala usulni ham ko'rib chiqaylik.
1. Shakl modulining global eksport o'zgaruvchisidan foydalanish.
"Ishga tushirish" tugmasi ishlov berish jarayoni uchun asosiy shaklga quyidagi kodni qo'shing:
Protsedura tugmasiExecutePress(Button)Form = GetForm(" Qo'shimcha shakl" ) ; // “Matn” ochilayotgan shakl modulining global eksport oʻzgaruvchisidir Shakl. Matn = FormElements. Matn. Ma'nosi; Shakl. Ochiq(); Jarayonning oxiriMatn o'zgaruvchisi ochilayotgan shakl moduliga "BeforeOpen" voqea ishlovchisi bilan birga qo'shildi:
O'zgaruvchan matnni eksport qilish; // Boshqa shakldagi qiymat uzatiladigan o'zgaruvchi FormElementsOpen(Muvaffaqiyatsizlik, StandardProcessing)FormElementsdan oldin protsedura. Transmitted Text. Qiymat = Matn; Jarayonning oxiriMuammo hal qilindi va juda oddiy!
2. Shakl tafsilotlaridan foydalanish.
Ikkinchi usul uchun biz "Run" va "BeforeOpen" tugmachalarini qayta yozishimiz shart emas. Buning uchun ochilgan shaklga satr turi bilan "Matn" atributini qo'shish kifoya.
Boshqariladigan shakllarda parametrlarni o'tkazish ancha oson. An'anaviy shakllarda ko'p hollarda tavsiflangan yondashuv qo'llaniladi.
Siz maqoladagi misolni qayta ishlashingiz mumkin havoladan yuklab oling.
Shakllar orasidagi avtomatik o'zaro ta'sirni qo'llab-quvvatlash uchun tizim ular ochilganda shakllarni boshqarish uchun ishlatiladigan bir qator standart parametrlarni taqdim etadi. Ushbu parametrlardan foydalanib, tizim shakl maydonlarida tanlov shakllaridan tanlashni, ob'ekt shakllarini ochishni, standart buyruqlar ishlashini va boshqalarni amalga oshiradi. Ya'ni ular tizimga o'rnatilgan turli xil interfeys ish stsenariylarini taqdim etadi. Ammo ishlab chiquvchi ushbu parametrlarni o'rnatilgan tilda ham ishlatishi mumkin va ularni OpenForm() usulini chaqirganda o'tkazishi mumkin.
Biz tizim tomonidan taqdim etilgan parametrlarni va ularning maqsadini sanab o'tamiz:
Shakl parametrlari qanday ishlashini ko'rsatish uchun kiritish maydonida elementni tanlashni amalga oshirishni ko'rib chiqing. Misolning mohiyati o'rnatilgan tilda ro'yxatdan elementni tanlash mexanizmini amalga oshirishdan iborat bo'ladi.
Misol bilan ishlashni boshlaganingizda, siz quyidagi xususiyatlarga ega konfiguratsiyaga ega bo'lishingiz kerak:
Keling, ushbu konfiguratsiyada platforma o'rnatilgan tildagi ro'yxatdan elementni tanlash uchun foydalanadigan barcha mexanizmlarni amalga oshiramiz. Bunda biz standart shakl parametrlaridan qanday foydalanilishini ko'rib chiqamiz; tizimning o'zi ulardan qanday foydalanishi; ishlab chiquvchi ulardan qanday foydalanishi mumkin.
Elementni tanlagandan so'ng tanlov formasining yopilishini boshqaradigan qo'shimcha bayroqni qo'shamiz. Keling, bu bayroqni CloseAfterSelection (Boolean turi) deb ataymiz. Uni Mahsulotlar katalogini tanlash uchun forma parametri sifatida qo'shamiz.
Elementni tanlash shaklini ochish uchun Analoglar katalog elementi ko'rinishidagi Tanlangan mahsulot shakli elementi uchun Tanlov boshlanishi hodisasi uchun hodisa ishlovchisini yaratishingiz kerak:
&OnClient
TanlanganMahsulotStartSelection protsedurasi(Element, StandardProcessing)
StandardProcessing = False;
SelectionParameters = Yangi tuzilma; SelectionParameters.Insert("SelectionMode", rost); SelectionParameters.Insert("SelectingGroupsAndElements", UseGroupsAndElements.Elements); SelectionParameters.Insert("AllowRootSelection", False); SelectionParameters.Insert("CurrentRow", Object.SelectedProduct); SelectionParameters.Insert("CloseAfterSelection", False); OpenForm("Directory.Mahsulotlar.SelectionForm", SelectionParameters, Elements.SelectedProduct);
Jarayonning oxiri
OpenForm() usulining uchinchi parametri haqida alohida to'xtalib o'tish kerak. Ushbu parametr tanlov shaklining egasi kim bo'lishini va tanlangan tanlov haqida kimga xabar berilishini belgilaydi. Bunda biz tanlov formasining egasi sifatida forma elementining o‘zini ko‘rsatdik, lekin bu parametr bilan shaklning o‘zini ham ko‘rsatishimiz mumkin. Bunday holda, Shakl modulini tanlashni qayta ishlashni amalga oshirish kerak bo'ladi va unda tanlangan ma'lumotlarni qaysi shakl atributiga joylashtirishni hal qilish kerak bo'ladi.
Chop etish (Ctrl+P)
Shakl parametrlari (Options yorlig'i) ikkita maqsadga xizmat qiladi:
● Shaklning ochilishiga ta'sir qiluvchi ma'lumotlar to'plamini tavsiflang (shakl parametrlarini belgilash). Buni amalga oshirish uchun siz barcha kerakli parametrlarni sanab o'tishingiz va ularning turlarini ko'rsatishingiz kerak.
● Shaklning o'ziga xoslik kalitiga ta'sir qiluvchi parametrlarni aniqlang. Buni amalga oshirish uchun siz mulkni o'rnatishingiz kerak Asosiy parametr shaklning yagonaligi kalitini shakllantirishda ishtirok etishi kerak bo'lgan parametrlar. Shaklni ochishga harakat qilganingizda, tizim yaratilgan shaklning yagonaligi kaliti yordamida mavjud shaklni qidiradi. Qabul qilingan kalitga ega shakl tizimda mavjud bo'lsa
o'ziga xoslik, aynan shu shakl qaytib keladi; bo'lmasa, yangi shakl yaratiladi.
Shaklni chaqirganda, ishlab chiquvchi tomonidan yaratilgan parametrlarning qiymatlari shakllarning tizim parametrlari (agar mavjud bo'lsa) bilan birga parametrlar tuzilishida ko'rsatilishi mumkin.
Shakl parametrlari uni yaratish vaqtida shaklga o'tkazilishi mumkin. O'tkazilgan parametrlarni tahlil qilish hodisada amalga oshirilishi mumkin WhenCreatingOnServer()
(Parameters to'plami ob'ektning xususiyatidir Boshqariladigan shakl):
// Qo'ng'iroq joyida.
// Shakl parametrini yarating.
Parametrlar = new Structure();
Options.Insert("Ahamiyat", Oldindan belgilangan qiymat(“Ro‘yxatga olish.Ahamiyat.Muhim”));
// Shaklni parametrlar bilan oching.
OpenForm ("GeneralForm.ViewForm", Parametrlar);
…
// Shakl modulida.
&Serverda
Jarayon WhenCreatingOnServer(muvaffaqiyatsizlik, standart ishlov berish)
Agar Parametrlar.Ahamiyati = Sanoqlar.Ahamiyat.Muhim o Keyin
…
endIf;
Jarayonning oxiri
DIQQAT! Voqea boshqaruvchisini chaqirgandan so'ng OnServer yaratilganda barcha kalit bo'lmagan shakl parametrlari Parameters to'plamidan olib tashlanadi.
Maslahat. Keyingi ishlash uchun zarur bo'lgan asosiy bo'lmagan shakl parametrlari shakl ma'lumotlarida saqlanishi kerak.
Shakllar orasidagi avtomatik o'zaro ta'sirni qo'llab-quvvatlash uchun tizim ular ochilganda shakllarni boshqarish uchun ishlatiladigan bir qator standart parametrlarni taqdim etadi. Ushbu parametrlardan foydalanib, tizim shakl maydonlarida tanlov shakllaridan tanlashni, ob'ekt shakllarini ochishni, standart buyruqlar ishlashini va boshqalarni amalga oshiradi. Ya'ni ular tizimga o'rnatilgan turli xil interfeys ish stsenariylarini taqdim etadi.
Ammo ishlab chiquvchi ushbu parametrlarni o'rnatilgan tilda ham ishlatishi mumkin va ularni OpenForm() usulini chaqirganda o'tkazishi mumkin.
Shakl kengaytmasi turiga qarab standart shakl parametrlari ro'yxatini bo'limlarda topish mumkin O'rnatilgan til - Interfeys
(boshqariladigan) – Boshqariladigan shakl – Kengaytirilmoqda... o‘rnatilgan sertifikatlar
Shakl parametrlari qanday ishlashini ko'rsatish uchun kiritish maydonida elementni tanlashni amalga oshirishni ko'rib chiqing. Misolning mohiyati o'rnatilgan tilda ro'yxatdan elementni tanlash mexanizmini amalga oshirishdan iborat bo'ladi.
Misol bilan ishlashni boshlaganingizda, siz quyidagi xususiyatlarga ega konfiguratsiyaga ega bo'lishingiz kerak:
● guruhlar va elementlar ierarxiyasiga ega mahsulotlar katalogi mavjud;
● TanlanganMahsulot turi tafsilotlari bilan Analoglar katalogi mavjud DirectoryLink.Mahsulotlar;
● ikkala katalogda ham element shakllari mavjud.
Keling, ushbu konfiguratsiyada platforma o'rnatilgan tildagi ro'yxatdan elementni tanlash uchun foydalanadigan barcha mexanizmlarni amalga oshiramiz. Bunday holda biz quyidagilarni ko'ramiz:
● standart shakl parametrlaridan qanday foydalanilishi;
● tizimning o'zi ulardan qanday foydalanishi;
● ishlab chiquvchi ulardan qanday foydalanishi mumkinligi.
Elementni tanlagandan so'ng tanlov formasining yopilishini boshqaradigan qo'shimcha parametr qo'shamiz. Keling, ushbu parametrni chaqiraylik CloseAfterSelection(Boolean turi). Uni Mahsulotlar katalogini tanlash uchun forma parametri sifatida qo'shamiz.
Element tanlash formasini ochish uchun Analogues katalog elementi ko‘rinishidagi SelectedProduct forma elementi uchun Start of Selection hodisasi uchun hodisa ishlov beruvchisini yaratish kerak.
&OnClient
Jarayon SelectedProductStartSelection(Element, StandardProcessing)
Standart ishlov berish= Noto'g'ri;
Tanlash opsiyalari= Yangi tuzilma;
Tanlash imkoniyatlari. Insert(“SelectionMode”, rost);
Tanlash imkoniyatlari. Insert(“Guruhlar va elementlarni tanlash”, GroupsAndElements.Elements dan foydalanish);
Tanlash imkoniyatlari. Insert(“AllowRootSelection”, False);
Tanlash imkoniyatlari. Insert(“CurrentLine”, Object.SelectedMahsulot);
Tanlash imkoniyatlari. Insert(“CloseAfterSelection”, False);
OpenForm (“Directory.Mahsulotlar.SelectionForm”, Tanlash opsiyalari, Items.SelectedItem);
Jarayonning oxiri
OpenForm() usulining uchinchi parametri haqida alohida to'xtalib o'tish kerak. Ushbu parametr tanlov shaklining egasi kim bo'lishini va tanlangan tanlov haqida kimga xabar berilishini belgilaydi. Bunda biz tanlov formasining egasi sifatida forma elementining o‘zini ko‘rsatdik, lekin bu parametr bilan shaklning o‘zini ham ko‘rsatishimiz mumkin. Bunday holda, ishlov beruvchini amalga oshirish kerak bo'ladi Qayta ishlash tanlovi forma moduli va unda tanlangan ma'lumotlarni qaysi forma atributiga joylashtirishni hal qiling.
ESLATMA. Agar biz StartSelection hodisasi ishlovchisini amalga oshirmasak, u holda uning harakatlari tizimning o'zi tomonidan amalga oshiriladi. Bu misolda ishlatiladigan barcha boshqa ishlov beruvchilar uchun amal qiladi.
Endi siz tanlov shaklida o'tgan parametrlarni qayta ishlashingiz kerak. Keling, buni ishlov beruvchida qilaylik OnServer yaratilganda() tanlov shakli moduli.
&Serverda
Jarayon WhenCreatingOnServer(Muvaffaqiyatsizlik, StandardProcessing)
Standart ishlov berish= Noto'g'ri;
Elements.List.SelectingGroupsAndElements = Parameters.SelectingGroupsAndElements;
Elements.List.AllowRootSelection = Parameters.AllowRootSelection;
Elements.List.CurrentRow = Parameters.CurrentRow;
CloseOnSelection = Options.CloseAfterSelection;
Jarayonning oxiri
Biz o'rnatgan forma parametrlarining funksionalligini tekshirish uchun konfigurator yordamida tanlov formasi jadvali uchun List xususiyatini o'rnatamiz. Guruhlar va elementlarni tanlash Guruhlar qiymatiga (parametrdan foydalanmasdan, katalog elementlarini tanlash mavjud bo'lmaydi).
ESLATMA. Agar mahsulotlar ro'yxati aks ettirilgan ro'yxat jadvalida SelectionMode xususiyati rost bo'lmasa, u holda mahsulotlarni tanlash imkonsiz bo'ladi.
Endi biz tanlov formasida kerakli elementni tanlash bilan shug'ullanishimiz kerak. Buning uchun siz formalar jadvalining SelectValue hodisasi uchun ishlov beruvchini belgilashingiz kerak.
&OnClient
Jarayon ListValueSelection(Element, StandardProcessing, Qiymat)
Standart ishlov berish= Noto'g'ri;
NotifyOfSelection(Qiymat);
Jarayonning oxiri
Biz qilishimiz kerak bo'lgan narsa kirish maydonida elementlarni tanlashni qayta ishlashni amalga oshirishdir. Buni amalga oshirish uchun siz hodisani boshqarishingiz kerak Qayta ishlash tanlovi bizning kirish maydonimiz SelectedProduct.
&OnClient
Jarayon SelectedItemSelectionProcessing(Item, SelectedValue, StandardProcessing)
Standart ishlov berish= Noto'g'ri;
Object.SelectedProduct = SelectedValue;
Jarayonning oxiri
Shaklning kiritish maydonida qiymat tanlash uchun tizim mexanizmini mustaqil ravishda amalga oshirdik.
DIQQAT! Ushbu misol to'liq emas. Uning yagona maqsadi shakl parametrlari bilan ishlash mexanizmlarini ko'rsatishdir.
Agar parametrlarni yaratishda (handler SelectedProductStartSelection()) qatorni almashtiring:
Tanlash imkoniyatlari. Insert(“CloseAfterSelection”, rost);
har bir satr uchun:
Tanlash imkoniyatlari. Insert(“CloseAfterSelection”, False);
keyin tanlov shakli tanlangandan keyin yopilmaydi. Bu, masalan, tanlov shaklini amalga oshirish uchun ishlatilishi mumkin (tanlov shaklini yopmasdan bir nechta mahsulotni tanlash).