තේරීම් පරාමිතිවල 1c, කණ්ඩායම් නම සකසන්න. පාරදත්ත වස්තු සඳහා තේරීම් පරාමිති සහ තේරීම් පරාමිති සංගම් සකසන්න. වර්ග ඉන්වෙන්ටරි විස්තරය = NewDescriptionofTypes(Array)

පිනිස 1s 8.2 හි තේරීම සමඟ තේරීම් පෝරමය විවෘත කරන්න(සාමාන්‍ය ආකෘති), අපට යම් ක්‍රියා සිදු කිරීමට අවශ්‍යයි. අපි එය මුලින්ම ලබා ගනිමු. ඊට පසු, අපි තේරීම සකසා එය ක්‍රමලේඛනගතව විවෘත කරන්නෙමු, මෙන්න කේත උදාහරණයක්:

අගයන් කිහිපයක් සහිත 1C 8.2 ආදාන ක්ෂේත්‍රයේ පෝරමය මත තේරීම

ඉහත උදාහරණයේ අපි බැලුවෙමු තේරීම් පෝරමයේ තේරීම සකසන්නේ කෙසේදනිශ්චිත අගය අනුව. දැන් ඔබට අගයන් කිහිපයක් ආදේශ කිරීමට අවශ්‍ය තත්වයක් දෙස බලමු, මෙය උදාහරණයක් ලෙස, අරාවක් හෝ විමසුම් ප්‍රතිඵලයකින් බාගැනීමක් විය හැක. මෙය 1c ආදාන ක්ෂේත්‍රයේ තේරීමකිබහු අරුත් සහිතයි.

පළමුව, අපි තේරීම් පෝරමය ලබා ගනිමු, පරාමිතිවල "මූලද්‍රව්‍ය" (අයිතිකරු) සමත් කරන්න, තේරීම් මාදිලියේ ධජය සකසන්න. ඉන්පසුව අපි අගයන් ලැයිස්තුවක් සහ අරාවක් සාදන්නෙමු, ලැයිස්තුවේ සැසඳීමේ වර්ගය සැකසීමේදී තේරීමක් ලෙස, වස්තුවක් තිබිය හැක්කේ වර්ගය සමඟ පමණක් බව අපි සටහන් කරමු. ලැයිස්තු අගයන්. අපි අරාවට මූලද්‍රව්‍ය එකතු කරන්නෙමු, පසුව මෙම අරාව අගය ලැයිස්තුවට පූරණය කරන්න, අපි පසුව තේරීමේදී සකස් කරමු. එසේම, මෙම තේරීම භාවිතා කිරීම සඳහා ධජය සක්‍රීය කිරීමට සහ සංසන්දන වර්ගය සැකසීමට අමතක නොකරන්න.

1C 8.3 හි පෝරමයේ ආදාන ක්ෂේත්‍රයේ තේරීම සැකසීම, තේරීමේ සිදුවීමේ ආරම්භය

දැන් අපි සලකා බලමු මත ආදාන ක්ෂේත්රයේ තේරීම කළමනාකරණය කළ හැකි ආකාරයෙන් 1C 8.3 දී. අපි උනන්දුවක් දක්වන මූලද්‍රව්‍යය පෝරමයේ සොයා ගනිමු, අපි තේරීම සකසන්නෙමු, අපගේ නඩුවේදී මෙය “සංවිධානය” ක්ෂේත්‍රයයි. අපි "තේරීමේ ආරම්භය" සිද්ධිය සොයා, විශාලන වීදුරුව මත ක්ලික් කර ක්රියා පටිපාටිය තුළ අප සොයා ගන්න. අපි තේරීම් දත්ත පරාමිතිය දකිමු; මෙම පරාමිතිය ValueList වර්ගයේ වේ. අවශ්ය මූලද්රව්යවලට තෝරාගැනීම සීමා කිරීම සඳහා, අපි අගයන් ලැයිස්තුව පිරවිය යුතුය. අපට මූලද්‍රව්‍ය තෝරාගත හැක්කේ සේවාදායකයේ පමණි, එබැවින් අපි &OnServer සම්පාදන විධානය සමඟින් ක්‍රියා පටිපාටියක් සාදන්නෙමු. මෙම ක්රියාපටිපාටිය තුළ, තේරීම් දත්ත පුරවන්න.

/
සංවර්ධකයින් /
කේතීකරණ සම්මුතීන්

පාරදත්ත වස්තු සඳහා තේරීම් විකල්ප සහ තේරීම් විකල්ප සංගම් සැකසීම

1. රීතියක් ලෙස, තේරීම් සීමා කිරීම් වැනි ව්‍යාපාරික තාර්කික සීමාවන් යම් වස්තුවක් සංස්කරණය කරන සියලු ආකාර සඳහා සමාන විය යුතුය. එබැවින්, පාර-දත්ත වස්තු වල ගුණාංගවල - නාමාවලි, ලේඛන ආදියෙහි විස්තර වල තේරීම් පරාමිතීන් සහ තේරීම් පරාමිති අතර සම්බන්ධතා සැකසීමට නිර්දේශ කරනු ලැබේ.

2. කෙසේ වෙතත්, තේරීම් සීමා කිරීම් විශේෂිත මෙහෙයුම් තත්ත්වය මත රඳා පවතින අවස්ථා තිබිය හැක. එවැනි අවස්ථාවන්හිදී, තේරීම් පරාමිතීන් දේශීයව, විශේෂිත ආකෘතියකින් නියම කළ හැක.

උදාහරණයක් ලෙස, වින්යාසය අඩංගු වේ

  • නාමාවලිය සේවක, විස්තර අඩංගු වේ ආයතනයසහ සේවක වර්ගය(අගය සහිත ගණන් කිරීම මූලික/අර්ධ-කාලීන);
  • ලේඛනය පිළිගැනීමේ නියෝගය, මුක්කු අඩංගු වේ ආයතනයසහ සේවකයා; මුක්කු සඳහා අතරතුර සේවකයාලේඛනය පිළිගැනීමේ නියෝගයතේරීම් පරාමිති සම්බන්ධතාවය නියම කර ඇත තෝරා ගැනීම.සංවිධානයමුක්කු සමග ආයතනය.

ක්රියාකාරී විකල්පයේ වටිනාකම අනුව ප්රධාන සේවකයින් පමණක් තෝරාගැනීමේ හැකියාව ක්රියාත්මක කිරීම අවශ්ය වේ SelectOnly from Employees Basics. මේ සඳහා එය අවශ්ය වේ

  • ලේඛනයක් ආකාරයෙන් පිළිගැනීමේ නියෝගයඅතිරේක ආකෘති ගුණාංග ක්රියාත්මක කරන්න සේවකයින්ගේ වර්ග,
  • පසුව ආකෘති ක්ෂේත්රය සඳහා සේවකයාතේරීම් පරාමිති සබැඳියක් ස්ථාපිත කළ හැක තෝරා ගැනීම.සේවක වර්ගයපෝරමය විස්තර සමඟ සේවකයින්ගේ වර්ග,
  • මෙම නඩුවේ පෝරමය විස්තර සේවකයින්ගේ වර්ගක්රියාකාරී විකල්පය විශ්ලේෂණය මත පදනම්ව පුරවා ඇත.

(ඒ සමඟම, මුක්කු සඳහා සකසන්න සේවකයාලේඛනය පිළිගැනීමේ නියෝගයතේරීම් පරාමිතිය සඳහා සබැඳිය තෝරා ගැනීම.සේවක වර්ගයහැකියාවක් නැත, මන්ද මුක්කු සේවක වර්ගයලේඛනයේ පිළිගැනීමේ නියෝගයනොපවතී.)

ඉන්පසු පරාමිතිය සඳහා සම්බන්ධතාවය සකසන්න තෝරා ගැනීම.සංවිධානයමුක්කු දේපල තුළ සේවකයාලේඛනය පිළිගැනීමේ නියෝගයසහ පරාමිතිය සඳහා සම්බන්ධතා තෝරා ගැනීම.සේවක වර්ගයලේඛන ආකෘති ක්ෂේත්රයේ පිළිගැනීමේ නියෝගයප්රකාරයේදී යන කාරනය වෙත තුඩු දෙනු ඇත 1C: ව්යවසායතේරීම් පරාමිති සබැඳි දෙකම ක්‍රියා කරයි. මේ අනුව, බඳවා ගැනීමේ ඇණවුම් පෝරමයේ සේවකයෙකු තෝරාගැනීමේදී, සේවක ලැයිස්තුවේ තේරීම ලේඛනයේ පුරවා ඇති සංවිධානය සහ සේවක වර්ගය අනුව තීරණය කරනු ලැබේ, එය ක්‍රියාකාරී විකල්පය මත පදනම්ව තීරණය කරනු ලැබේ.

සුභ සන්ධ්යාවක්.

අද අපි නව කළමනාකරණය කළ අතුරුමුහුණත තුළ තේරීම් පෝරම ක්‍රමලේඛනගතව විවෘත කරන්නේ කෙසේද යන්න ගැන කතා කරමු.

මීට පෙර " නිතිපතා යෙදුම"අපි ලිව්වේ මෙහෙමයි.

form = Directory.nomenclature.GetSelectionForm();

resultSelection = form.openModalNO();

මෙම ක්‍රියාකරුවන් අතර අපට පෝරමයේ ගුණාංග වෙනස් කළ හැකිය, උදාහරණයක් ලෙස, තේරීම සකසන්න. අපට නම අනුව නිශ්චිත පෝරමයක් නියම කළ හැකිය. ඒක වෙනස් කරන්න පුළුවන් පෙනුම, තිතක් හරහා පෝරම මූලද්‍රව්‍ය ගුණාංග වලට ඒවායේ නමෙන් ප්‍රවේශ වීම (form.Button1.Visibility = False;)

දැන් අපට කළමනාකරණය කළ අතුරු මුහුණතක් ඇති අතර මෙහි සියල්ල වෙනස් වේ. ගැටළුව වන්නේ කේතය සේවාදායකය සහ සේවාදායක කොටස් වලට බෙදීමයි. අපට වස්තූන් සහ ඒවායේ පාර-දත්ත වෙත ප්‍රවේශ විය හැක්කේ සේවාදායකය මත පමණක් වන අතර, අපි සේවාලාභියා මත පෝරම විවෘත කළ යුතුය.

එහෙනම් අපි පටන් ගනිමු.

1. සරලම අවස්ථාව නම් අපට තේරීම කළමනාකරණය කිරීමට අවශ්‍ය නොවන විට (තේරීම් සැකසීම, විවෘත කළ තේරීම් පෝරමයට පරාමිති ලබා දීම).

පෝරම විවෘත කළ හැක්කේ සේවාලාභියා මත පමණක් බැවින්, මෙය සේවාලාභී පාර්ශවීය කේතයක් වනු ඇත. අපි කාර්යය භාවිතා කරන්නෙමු අගය (EnterValue)<Значение>, <Подсказка>, <Тип>) . ඇත්ත වශයෙන්ම, ඇගේ විස්තරයෙන් සියල්ල පැහැදිලිය. එය පරිශීලකයා තේරීමක් කර තිබේද යන්න පිළිබඳ ධජය ආපසු ලබා දෙයි; පළමු පරාමිතිය තුළ අපි තේරීමේ අගය ආපසු ලබා දෙන බහාලුම් යවන්නෙමු, දෙවන පෙළෙහි තේරීම් කවුළුවේ මාතෘකාවේ, තුන්වන අරාවෙහි පෙන්වනු ලැබේ. වර්ග.

භාවිතයේ උදාහරණයක් මෙන්න:

විචල්ය SelectTMC;

ArrayTypes = නව අරාව;

TypesTMC විස්තරය = NewDescriptionof Types(Array);

EnterValue නම් (ඉන්වෙන්ටරි තෝරන්න, "අයිතමය තෝරන්න", ඉන්වෙන්ටරි වර්ග විස්තරය) ඉන්පසු

//තෝරාගත් අගය සැකසීම

නම් අවසන්;

මම එය තේරීමට පෙර අපගේ බහාලුම් විචල්‍යයට කිසියම් අගයක් ලබා දෙන්නේ නම්, එය පෙරනිමි අගය වනු ඇති බව මම එකතු කරමි. මෙම අවස්ථාවේදී, ඔබට වර්ග මාලාවක් සෑදිය යුතු නැත; වර්ගය බහාලුම්වල ඇති අගයෙන් ගනු ලැබේ.

2. සමහර විට, අගයක් තෝරා ගැනීමට පෙර, අපි සමහර තේරීම් සහ තේරීම් පරාමිති සැකසීමට අවශ්ය වේ. උදාහරණයක් ලෙස, අපි ප්‍රතිවිරුද්ධ ගිවිසුමක් තෝරාගත යුතුයි. පළමු ක්රමය අප සඳහා සියලුම ලේඛන විවෘත කරනු ඇත, නමුත් අපි අයිතිකරු විසින් තෝරාගත යුතුය.

පෝරම විවෘත කිරීම සඳහා ක්රම දෙකක් තිබේ: OpenFormසහ OpenFormModal. පළමු ක්‍රමයේදී, අපි පෝරමය විවෘත කරන අතර, අපි පෝරමය විවෘත කළ කේත කැබැල්ල තේරීමේ ප්‍රති result ලය ලබා නොගෙන දිගටම ක්‍රියාත්මක වේ. තේරීමේ ප්‍රතිඵලය, ඇමතුම් ක්‍රමය මත පදනම්ව, ආදාන ක්ෂේත්‍රය තුළ හෝ පූර්ව නිශ්චිත ක්‍රියාපටිපාටියේ "තේරීම් සැකසීම" තුළ ලැබෙනු ඇත.

අපගේ නඩුවේදී, අපි තෝරාගත් අගය යම් විචල්‍යයකට ලබා ගත යුතු අතර වෙනත් ක්‍රියා පටිපාටිවලට පාලනය මාරු නොකර තෝරාගත් අගය සැලකිල්ලට ගනිමින් සැකසීම දිගටම කරගෙන යා යුතුය. එබැවින් එය අපට ගැලපෙනු ඇත OpenFormModal.

මෙය වෙබ් අතුරු මුහුණතක් සඳහා නරක ක්‍රමයක් බව මම වහාම වෙන්කරවා ගන්නෙමි, මන්ද... සාමාන්‍යයෙන් අවහිර කර ඇති නව බ්‍රව්සර් කවුළුවක මාදිලි කවුළු විවෘත වේ. නමුත් ඔබ පරිශීලකයාට කුමක් දැයි කල්තියා පැහැදිලි කළහොත්, ඔහු මෙම ගැටලුව සමඟ සාර්ථකව කටයුතු කරනු ඇතැයි මම සිතමි))

එබැවින්, ක්රියා පටිපාටියේ විස්තරය දෙස බලමු, එය පරාමිති 4 ක් ඇත. පළමුවැන්න නම්, අපි "ඩිරෙක්ටරිය. කොන්ත්රාත්කරුවන්ගේ කොන්ත්රාත්. තේරීම් පෝරමය" පෝරමයට සම්පූර්ණ මාර්ගයක් සහිත රේඛාවක් දක්වයි. දෙවැන්නෙහි, අපි තේරීම් පරාමිතීන් දක්වන්නෙමු, ඒවා ගැන වැඩි විස්තර පහත දැක්වේ. තෙවනුව - අයිතිකරු, මෙය තේරීමේ ප්රතිඵලය ලැබෙනු ඇති පෝරමය හෝ තේරීමේ ක්ෂේත්රයකි, අපි එය පුරවන්නේ නැත. අපගේ නඩුවේ සිව්වන පරාමිතිය ද භාවිතා නොවේ.

එබැවින්, සරල තේරීමක් සඳහා, පහත පේළිය සිදු කරනු ඇත:

&OnClient

ක්‍රියාපටිපාටිය විධානය1(විධානය)

res = OpenFormModal ("නාමාවලිය. කොන්ත්‍රාත්කරුවන්ගේ කොන්ත්‍රාත්තු. තේරීම් පෝරමය");

ක්රියා පටිපාටියේ අවසානය

නමුත් මෙය අංක 1 ක්‍රමයේ සම්පූර්ණ ප්‍රතිසමයක් වන අතර, අයිතිකරු විසින් තෝරා නොගෙන, සියලුම කොන්ත්‍රාත්තු තෝරාගැනීම සඳහා පෝරමයක් අපි දකිනු ඇත. එම. මෙය කළ හැක්කේ අපට තේරීමේ පෝරමයේ නම සඳහන් කිරීමට අවශ්‍ය නම් පමණි.

තේරීම සැකසීමට, දෙවන පරාමිතිය අපට උපකාර කරනු ඇත.

දෙවන පරාමිතිය "ව්යුහය" වර්ගයකි. ව්‍යුහ මූලද්‍රව්‍ය ලෙස, තේරීම් පෝරමයේ "පරාමිතීන්" ටැබය මත එකතු කරන ලද පෝරම පරාමිතීන් ඔබට නියම කළ හැක. ඔවුන්ගේ සැකසීම ක්රියා පටිපාටිය තුළ විස්තර කළ යුතුය CreatedOnServer විටතේරීම් ආකෘති මොඩියුලයේ. මෙය අපට හොඳ නැත, මන්ද ... මට වින්‍යාසය වෙනස් කිරීමට අවශ්‍යයි. පරාමිති ව්‍යුහයේ "තේරීම" යතුර සමඟ ඔබට තේරීමේ ව්‍යුහයක් ද සමත් විය හැකිය. එවිට තේරීම් ව්‍යුහයේ ඇති සියලුම ක්ෂේත්‍ර මූලද්‍රව්‍ය ලැයිස්තුව තේරීමේදී භාවිතා වන අතර පරිශීලකයාට බැලීම හෝ වෙනස් කිරීම සඳහා ලබා ගත නොහැක.

මගේ උදාහරණයේ දී, මම සැකසුම් පෝරම ගුණාංගයට යොමු වන සැකසුම් තුළ තේරීම් ක්ෂේත්‍රයක් ඇද ගත්තෙමි "ප්‍රති පක්ෂය"දත්ත වර්ගය සමඟ " DirectoryLink.Counterparties". සහ පහත කේතය ලියා ඇත:

&OnClient

ක්‍රියාපටිපාටිය විධානය1(විධානය)

තේරීම් = නව ව්‍යුහය("හිමිකරු", ප්‍රති පාර්ශවය);

තේරීම් පරාමිතීන් = නව ව්‍යුහය ("තේරීම", තේරීම);

res = OpenFormModal ("නාමාවලිය. කොන්ත්‍රාත්කරුවන්ගේ කොන්ත්‍රාත්තු. තේරීම් පෝරමය", තේරීම් පරාමිතීන්);

ක්රියා පටිපාටියේ අවසානය

මෙය සාමාන්යයෙන් බොහෝ ගැටළු විසඳීමට ප්රමාණවත් වන අතර කිසිදු වින්යාස මැදිහත්වීමක් අවශ්ය නොවේ. කෙසේ වෙතත්, "When CreatedOnServer" ක්‍රියා පටිපාටියේ තේරීම් පෝරමයේ, ඔබගේ තේරීම නැති විය හැක. එබැවින්, මෙම ක්රමය භාවිතා කිරීමට පෙර, ඔබ විවෘත කරන ලද තේරීම් පෝරමයෙහි මෙම ක්රියා පටිපාටිය සමාලෝචනය කරන්න. එහි ඇති වංක සංවර්ධකයින්ට ඔවුන්ගේ තේරීම “පෙරනිමියෙන්” පහසුවෙන් සැකසිය හැකිය, තේරීම විවෘත කිරීමේ පරාමිතීන් තුළ සම්මත වී ඇත්දැයි පරීක්ෂා කිරීමට අමතක වේ.

අදට එපමණයි, ඔබේ අවධානයට ස්තූතියි.




ඉහල