কনফিগারেশন এক্সটেনশন। উন্নয়নের জন্য দরকারী টিপস

একটি এক্সটেনশন হল একটি ব্যবহারকারীর সেশনের মধ্যে বিদ্যমান কনফিগারেশনের জন্য এক ধরণের মোড়ক। আপাতত, শুধুমাত্র এই "র্যাপার" কনফিগারেশন অবজেক্টগুলি যেমন পরিচালিত ফর্ম, ভূমিকা এবং সাবসিস্টেমগুলিকে মোড়ানো করতে পারে৷ এবং আপনার নিজস্ব অবজেক্টও আছে, যেমন একটি রিপোর্ট, প্রসেসিং বা সাবসিস্টেম।

আসুন একটি ডিরেক্টরি উপাদানের আকারে একটি বোতাম হ্যান্ডলার প্রতিস্থাপনের একটি উদাহরণ দেখি।

প্রধান কনফিগারেশনে, বোতাম হ্যান্ডলার কোড:

এর হ্যান্ডলার আমাদের নিজস্ব সঙ্গে প্রতিস্থাপন করা যাক. এটি করার জন্য, আসুন আমাদের এক্সটেনশনে ডিরেক্টরি ফর্মটি ধার করি:
প্রধান কনফিগারেশন ট্রিতে ফর্মটি খুঁজুন এবং প্রসঙ্গ মেনুতে "এড টু এক্সটেনশন" কমান্ডটি নির্বাচন করুন। এক্সটেনশন পরিচালনা ডায়ালগ খুলবে। এর একটি নতুন এক্সটেনশন যোগ করা যাক এবং এটি নির্বাচন করুন.
ধার করা ফর্ম সহ নতুন এক্সটেনশনের গাছটি খুলবে।


ফর্মটি প্রধান কনফিগারেশনের মতোই, কিন্তু মডিউল পাঠ্য অনুপস্থিত। আসুন আমাদের বোতামের জন্য একটি নতুন হ্যান্ডলার তৈরি করি:

আমরা পরীক্ষার জন্য কনফিগারেশন চালাই, কমান্ডটি চালাই এবং নিম্নলিখিত ফলাফলটি দেখি:

আমাদের দল ক্রমানুসারে এক্সটেনশন হ্যান্ডলার এবং প্রধান কনফিগারেশন হ্যান্ডলার বলে। আমরা যা আশা করি তা পুরোপুরি নয়। আমাদের প্রধান কনফিগারেশন থেকে হ্যান্ডলারকে কল করার দরকার নেই। আসুন একটি পদ্ধতি যোগ করে আমাদের পদ্ধতির কোডটি সংশোধন করি SetExecutionEventHandlers

কাঙ্খিত ফলাফল:

হ্যান্ডলারগুলি কার্যকর করার পরে আপনি যদি কোনও ইভেন্টকে বাধা দিতে চান তবে একটি পদ্ধতি রয়েছে SetExecutionAfterEventHandlers

ফলস্বরূপ:

যদি আমরা আরেকটি এক্সটেনশন যোগ করি, তাহলে ২য় এক্সটেনশনের হ্যান্ডলারকে প্রথমে ডাকা হবে, তারপর ১ম, তারপর প্রধানটিকে।

কন্ট্রোল ডায়ালগটি কনফিগারেশন->কনফিগারেশন এক্সটেনশন মেনুর মাধ্যমে কনফিগারেশন মোডে কল করা যেতে পারে। এন্টারপ্রাইজ মোডে সমস্ত ফাংশন -> স্ট্যান্ডার্ড -> কনফিগারেশন এক্সটেনশন পরিচালনা করুন।

এই নিবন্ধে, আমি একটি "কনফিগারেশন এক্সটেনশন" কি, কিভাবে একটি এক্সটেনশন যোগ করতে বা এটি নিষ্ক্রিয় করতে হয় তা বিবেচনা করার প্রস্তাব করছি। সংস্করণ 1C থেকে শুরু 8.3.6.1977 প্ল্যাটফর্মে একটি নতুন প্রক্রিয়া চালু করা হয়েছিল - কনফিগারেশন এক্সটেনশন। প্রথমত, একটু তত্ত্ব।

1C-তে এক্সটেনশনগুলি সমান্তরাল কনফিগারেশনের মতো কিছু যা স্বয়ংক্রিয়ভাবে প্রধান বিক্রেতা কনফিগারেশনের সাথে মিলিত হয়। অধিকন্তু, এক্সটেনশনগুলিতে আপনি আপনার নিজস্ব বস্তু উভয়ই যোগ করতে পারেন এবং মূল কনফিগারেশনের বস্তু ধার করতে পারেন।

এক্সটেনশন কি জন্য?

প্রথমত, প্রোগ্রামে পরিবর্তন করা সহজ করার জন্য এক্সটেনশন তৈরি করা হয়। অর্থাৎ, ব্যবহারকারীরা যদি কোনও কার্যকারিতা যুক্ত করতে বলে, তবে এক্সটেনশনগুলি উপস্থিত হওয়ার আগে, প্রোগ্রামারদের সম্পূর্ণ সমর্থন থেকে কনফিগারেশনটি সরাতে হবে এবং স্ট্যান্ডার্ড কনফিগারেশনটি পরিবর্তন করতে হবে।

সম্পূর্ণ সমর্থন থেকে অপসারণ অনেক অসুবিধার অন্তর্ভুক্ত:

  • স্বয়ংক্রিয় আপডেটের সম্ভাবনা অদৃশ্য হয়ে যায়, যা এটির সময় অন্তত বৃদ্ধির দিকে পরিচালিত করে;
  • প্রোগ্রামটি পরিবেশন করার জন্য একজন উচ্চ যোগ্যতাসম্পন্ন বিশেষজ্ঞ প্রয়োজন;
  • যদি একটি স্ট্যান্ডার্ড কনফিগারেশনের স্ট্যান্ডার্ড অবজেক্টে পরিবর্তন করা হয়, তবে একটি আপডেটের সময় সেগুলি অদৃশ্য হয়ে যেতে পারে, অর্থাৎ, সেগুলি আবার সরবরাহকারীর কাছ থেকে স্ট্যান্ডার্ডগুলির সাথে প্রতিস্থাপিত হতে পারে।

এক্সটেনশন ব্যবহার করার সময়, পরিবর্তন করার সময়, প্রোগ্রামার স্ট্যান্ডার্ড কনফিগারেশন স্পর্শ করবে না। সমস্ত পরিবর্তন এক্সটেনশন ব্যবহার করে করা হবে, যা (যেমন আমি উপরে লিখেছি) কনফিগারেশনও। এইভাবে মূল কনফিগারেশন সম্পূর্ণরূপে সমর্থিত থাকবে।

মূল কনফিগারেশন আপডেট করার পরে, যদি নতুন রিলিজে কোনও বস্তুতে কোনও পরিবর্তন থাকে যা পূর্বে এক্সটেনশন দ্বারা পরিবর্তিত হয়েছিল, তবে পরিবর্তনগুলি এখনও এক্সটেনশন থেকে নেওয়া হবে। অর্থাৎ, মূল কনফিগারেশনের চেয়ে এক্সটেনশনের অগ্রাধিকার বেশি।

ভিডিও - 45 মিনিটের মধ্যে 1C এ এক্সটেনশন

বিনামূল্যে 1C-তে 267টি ভিডিও পাঠ পান:

1C এ একটি এক্সটেনশন যোগ করার একটি উদাহরণ

একটি এক্সটেনশন কি তা দেখানোর জন্য, 1C কনফিগারেশনে এর সৃষ্টির একটি উদাহরণ দেওয়া ভাল।

কনফিগারেশনে, "কনফিগারেশন" মেনুতে যান এবং "কনফিগারেশন এক্সটেনশন" নির্বাচন করুন। এক্সটেনশনের তালিকা সহ একটি উইন্ডো খুলবে (যদি থাকে)। "যোগ করুন" বোতামে ক্লিক করুন এবং একটি নতুন এক্সটেনশন যোগ করুন। এখন আপনি এক্সটেনশন কনফিগারেশন খুলতে পারেন:

আপনি দেখতে পাচ্ছেন, সম্প্রসারণ কনফিগারেশনের মূলটির মতো ঠিক একই কাঠামো রয়েছে। শুধুমাত্র এটি প্রাথমিকভাবে সম্পূর্ণ পরিষ্কার, বস্তু ছাড়া।

আমি সম্প্রতি এটি কিভাবে নিজেকে তৈরি করতে একটি নিবন্ধ লিখেছি. তার উদাহরণ ব্যবহার করে, আমি একটি এক্সটেনশন ব্যবহার করে এটি অন্তর্নির্মিত করতে চাই।

প্রক্রিয়াকরণে আমার "সংস্থা" ডিরেক্টরির লিঙ্ক সহ একটি ক্ষেত্র রয়েছে। সেজন্য আমার এই গাইড দরকার। কিন্তু আমরা একটি নতুন "অর্গানাইজেশন" ডিরেক্টরি তৈরি করব না, বিশেষ করে যেহেতু প্ল্যাটফর্ম এটির অনুমতি দেবে না। একটি এক্সটেনশন কনফিগারেশনে মূল কনফিগারেশনের বস্তুর মতো একই নামের বস্তু থাকা অসম্ভব।

অতএব, আমরা মূল কনফিগারেশন থেকে রেফারেন্স বইটি ধার করব:

এখন "প্রসেসিংস"-এ রাইট-ক্লিক করুন এবং "বহিরাগত প্রক্রিয়াকরণ, রিপোর্ট করুন..." নির্বাচন করুন এইভাবে, আমরা এক্সটেনশন কনফিগারেশনে একটি নতুন প্রক্রিয়াকরণ যোগ করব। আপনি যদি আমার প্রক্রিয়াকরণ ব্যবহার করেন, তাহলে অবিলম্বে এটির নাম পরিবর্তন করুন, যেহেতু মূল কনফিগারেশনে ইতিমধ্যে একই নামের একটি প্রক্রিয়াকরণ রয়েছে।

ওয়েল, চূড়ান্ত স্পর্শ. আমি চাই আমার প্রসেসিং অ্যাডমিনিস্ট্রেশন মেনুতে প্রতিফলিত হোক। এটি করার জন্য, আমরা মূল কনফিগারেশন থেকে একই নামের সাবসিস্টেমটি ধার করব। প্রক্রিয়াকরণে ইঙ্গিত করতে ভুলবেন না যে এটি এই সাবসিস্টেমের অন্তর্গত।

এই কাঠামোটি আমি নিয়ে এসেছি:

দেখা যাক আমরা কি পেয়েছি। আমরা ডাটাবেস কনফিগারেশন আপডেট করি এবং 1C: এন্টারপ্রাইজ মোডে প্রোগ্রামটি চালু করি এবং "প্রশাসন" মেনুতে যাই। হ্যাঁ, আমি প্রায় ভুলে গেছি, এক্সটেনশন কনফিগারেশন বন্ধ করতে হবে, অন্যথায় প্রোগ্রামটি শুরু হবে না:

এটা বেশ প্রাসঙ্গিক হতে পরিণত :)

ঠিক আছে, এই উইকএন্ডকেও কাজে লাগাই।

সুতরাং, আজ "1C এর প্রয়োগকৃত অপারেশন" এর আরেকটি বিষয়:

প্ল্যাটফর্ম 8.3.6-এ এক্সটেনশন মেকানিজম

আমরা কি বিষয়ে কথা বলছি?

প্ল্যাটফর্ম 8.3.6 এ, একটি নতুন প্রক্রিয়া প্রয়োগ করা হয়েছিল - একটি এক্সটেনশন মেকানিজম যা একটি নির্দিষ্ট গ্রাহকের কাছে একটি অ্যাপ্লিকেশন সমাধানের অভিযোজন সহজতর করে.

এক্সটেনশন ব্যবহার করার সময় কনফিগারেশন পরিবর্তন একটি নতুন সত্তা বাহিত হয়- কনফিগারেশন সম্প্রসারণ:

  • একটি এক্সটেনশন মূলত একটি কনফিগারেশন, কিন্তু কিছু সীমাবদ্ধতা সহ
  • প্রস্তুত এক্সটেনশন ব্যবহারকারী মোডে গ্রাহকের কর্মরত ডাটাবেসের সাথে সংযুক্ত করা যেতে পারে
  • সবচেয়ে গুরুত্বপূর্ণ - পরিবর্তন করা কনফিগারেশন সমর্থন থেকে সরানোর প্রয়োজন নেই, অর্থাৎ এটা মান অবশেষ, পরিবর্তন ছাড়া
  • পরিবর্তিত কনফিগারেশন আপডেট করা হচ্ছে ব্যবহারকারী দ্বারা স্বয়ংক্রিয়ভাবে সঞ্চালিত হতে পারে

সুতরাং, গ্রাহক ফলাফল হিসাবে গ্রহণ করে উন্নতির সম্ভাবনাকনফিগারেশন এবং একই সময়ে - সহজ স্বয়ংক্রিয় আপডেট.

যাতে আপনি এটি আরও বিশদে বুঝতে পারেন, আমরা এক্সটেনশনগুলিতে আরও কয়েকটি ভিডিও + PDF প্রকাশ করছি।

সুতরাং, আমরা এখানে যাই:

কনফিগারেশন এক্সটেনশনের উদ্দেশ্য

ভিডিওটি প্ল্যাটফর্ম 8.3.6-এ উপস্থিত নতুন কনফিগারেশন এক্সটেনশন মেকানিজম নিয়ে আলোচনা করে। এটি বাস্তবায়নের সময় সমাধানগুলির পরিমার্জন এবং অভিযোজনের উদ্দেশ্যে। এই ক্ষেত্রে, গ্রাহক একটি সহজ স্বয়ংক্রিয় কনফিগারেশন আপডেট এবং পরিবর্তন করার ক্ষমতা পায়।

অবজেক্ট যা এক্সটেনশনে পরিবর্তন করা যেতে পারে

এই ভিডিওটি এক্সটেনশন মেকানিজমের বর্তমান সীমাবদ্ধতা নিয়ে আলোচনা করে। বর্তমানে, এক্সটেনশনগুলিতে শুধুমাত্র সীমিত সংখ্যক বস্তু ব্যবহার করা যেতে পারে।

কনফিগারেটে এক্সটেনশনের সাথে কাজ করা

এই ভিডিওটি কনফিগারেটে এক্সটেনশনের বিকাশ নিয়ে আলোচনা করে। এক্সটেনশনটি একটি কনফিগারেশন, যদিও কিছুটা সীমিত। মেটাডেটা অবজেক্ট ট্রিতেও এক্সটেনশনের সাথে কাজ করা হয়। ফলস্বরূপ এক্সটেনশনটি ডিস্কের একটি ফাইলে সংরক্ষণ করা যেতে পারে।

ধার করা বস্তু

এই ভিডিওটি একটি এক্সটেনশনে মৌলিক কনফিগারেশন অবজেক্ট ধার করার দিকে দেখায়। এটি এক্সটেনশনের বিকাশের জন্য প্রয়োজনীয় মূল প্রক্রিয়া। এটি নিয়ন্ত্রিত বৈশিষ্ট্যগুলি সম্পর্কেও কথা বলে, যার মানটি এক্সটেনশনটি সংযুক্ত হলে চেক করা হয়।

কনফিগারেশন এক্সটেনশনে আপনার নিজস্ব বস্তু তৈরি করা

এই ভিডিওটি ব্যাখ্যা করে কিভাবে আপনি এক্সটেনশনে আপনার নিজস্ব বস্তু তৈরি করতে পারেন। এই ধরনের বস্তুর তালিকা এখনও সীমিত - এগুলি হল রিপোর্ট, প্রক্রিয়াকরণ এবং সাবসিস্টেম। এক্সটেনশনে এই জাতীয় বস্তুর বিকাশ প্রধান কনফিগারেশনের সাথে সাদৃশ্য দ্বারা সঞ্চালিত হয়।

ব্যবহারকারী মোডে এক্সটেনশনের সাথে কাজ করা

এই ভিডিওটি একটি গ্রাহকের কর্মরত ডাটাবেসের সাথে একটি প্রস্তুত এক্সটেনশনকে কীভাবে সংযুক্ত করতে হয় তা নিয়ে আলোচনা করা হয়েছে। এই ক্ষেত্রে, কনফিগারেশন অ্যাক্সেস না করেই ব্যবহারকারী মোড থেকে সংযোগ তৈরি করা যেতে পারে।

কনফিগারেশন এক্সটেনশনে পরিচালিত ফর্মগুলির সাথে কাজ করা

এই ভিডিওটি এক্সটেনশনে পরিচালিত ফর্মগুলির সাথে কীভাবে কাজ করতে হয় তা দেখায়৷ দয়া করে মনে রাখবেন যে উত্স ফর্মটি স্বয়ংক্রিয়ভাবে এক্সটেনশনের সাথে সিঙ্ক হয় না৷ যখন একটি এক্সটেনশন উপস্থিত থাকে তখন সিস্টেমটি কীভাবে ফলাফল আকারের উপস্থিতি তৈরি করে তা ব্যাখ্যা করে৷

কনফিগারেশন এক্সটেনশনে পরিচালিত ফর্ম মডিউল এবং ইভেন্ট হ্যান্ডলার

পরিচালিত কনফিগারেশন এক্সটেনশন ফর্মগুলিতে ইভেন্ট হ্যান্ডলারদের সাথে কীভাবে কাজ করবেন তা এই ভিডিওটি কভার করে৷

প্রধান কনফিগারেশনে এবং এক্সটেনশনে ইভেন্ট হ্যান্ডলারের কার্য সম্পাদনের ক্রম প্রদর্শিত হয়।

প্রোগ্রামটির পূর্ববর্তী সংস্করণগুলি ব্যবহার করার অভিজ্ঞতা অধ্যয়ন করা এবং এই বিষয়টি বিবেচনায় নেওয়া যে একটি নির্দিষ্ট সমাধান যতই সর্বজনীন এবং ব্যাপক হোক না কেন, শেষ পর্যন্ত 90% ক্ষেত্রে এটি শেষ ব্যবহারকারীর জন্য পরিবর্তনের প্রয়োজন। 1C প্রোগ্রামের 8 সংস্করণের বিকাশকারীরা স্ট্যান্ডার্ড কনফিগারেশন মেকানিজম পরিবর্তন করার প্রয়োজনীয়তা কমাতে বেশ কয়েকটি মৌলিকভাবে নতুন সমাধান প্রয়োগ করেছে:

  • আক্ষরিকভাবে প্রোগ্রামের প্রথম সংস্করণ থেকে, অনেক ডিরেক্টরির উপাদানগুলি এখন বৈশিষ্ট্য এবং তথ্য রেজিস্টারের জন্য উপযুক্ত পরিকল্পনা ব্যবহার করে অতিরিক্ত বৈশিষ্ট্য এবং বিভাগ তৈরি করার ক্ষমতা রাখে;
  • ট্যাবুলার অংশগুলি পূরণ করার জন্য অতিরিক্ত মুদ্রিত ফর্ম এবং ফর্মগুলি, সেইসাথে অতিরিক্ত রিপোর্ট এবং প্রক্রিয়াকরণ এখন সংশ্লিষ্ট ডিরেক্টরি থেকে কল করা যেতে পারে;
  • স্ট্যান্ডার্ড অবজেক্ট পদ্ধতির প্রক্রিয়াকরণ মডিউলে পরিবর্তন করে নয়, ইভেন্টগুলিতে সদস্যতা নিয়ে সঞ্চালিত হয়;
  • এবং অবশেষে, প্ল্যাটফর্ম সংস্করণ 8.3.6 সহ, কনফিগারেশন এক্সটেনশনগুলি 1C-তে উপস্থিত হয়েছিল।

1C কনফিগারেশন এক্সটেনশনগুলি কী, কীভাবে তাদের সাথে কাজ করতে হয়, ব্যবহারের সীমাবদ্ধতাগুলি - এটি এমন সমস্যাগুলির পরিসীমা যা আমরা আমাদের নিবন্ধে কভার করার চেষ্টা করব।

একটু তত্ত্ব

এক্সটেনশন মেকানিজমের আবির্ভাবের আগে, স্ট্যান্ডার্ড কনফিগারেশন আপডেট করার প্রক্রিয়াটি মূলত কনফিগারেশনটি সমর্থনের অধীনে ছিল বা এতে পরিবর্তন করা হয়েছে কিনা তার উপর নির্ভর করে। পরবর্তী ক্ষেত্রে, বিকাশকারীকে করতে হয়েছিল:

  1. সাধারণ এবং বিদ্যমান মেটাডেটা কাঠামোর তুলনা করুন;
  2. মানক উপাদানগুলির মধ্যে উল্লেখযোগ্য পার্থক্য থাকলে, নিশ্চিত করুন যে সেগুলি সঠিকভাবে আপডেট করা হয়েছে;
  3. আপডেট করার পর যথাযথ পরিবর্তন করুন।

এই সবগুলি আপডেট প্রক্রিয়াটিকে ব্যাপকভাবে জটিল করে তোলে, প্রক্রিয়াকরণের সময় বৃদ্ধি করে এবং প্রায়শই, ব্যয়বহুল সফ্টওয়্যারের মানক মডিউলগুলি আপডেট করার সুযোগ থেকে সংস্থাকে বঞ্চিত করে।

এক্সটেনশন মেকানিজম আপনাকে সমর্থন থেকে স্ট্যান্ডার্ড কনফিগারেশন অপসারণ না করেই এর অনেক উপাদান পরিবর্তন করতে দেয়। প্রকৃতপক্ষে, বিকাশকারী, স্ট্যান্ডার্ড সমাধানের উপর ভিত্তি করে, তার নিজস্ব কনফিগারেশন তৈরি করে, যা স্ট্যান্ডার্ড সমাধানের জন্য একটি শেল। এই ক্ষেত্রে, স্ট্যান্ডার্ড অংশ আপডেট করার প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে ঘটে এবং যখন শেষ ব্যবহারকারীর দ্বারা চালু হয়, প্ল্যাটফর্মটি ব্যবহারকারীর জন্য উভয় সমাধানকে একত্রিত করে।

যে পরিস্থিতিতে এক্সটেনশন ব্যবহার করা যেতে পারে

অন্য যেকোনো টুলের মতো, এক্সটেনশন মেকানিজমের বেশ কিছু বৈশিষ্ট্য এবং সীমাবদ্ধতা রয়েছে যা তাদের ব্যবহারের সুযোগ নির্ধারণ করে:

  • এক্সটেনশনগুলি পরিচালিত ফর্মগুলির সাথে কাজ করতে পারে;
  • প্রক্রিয়াটি বিদ্যমান সাবসিস্টেমের পরিবর্তন ও সংযোজন সমর্থন করে;
  • প্ল্যাটফর্ম 8.3.8 প্রকাশের আগে, এক্সটেনশনগুলি শুধুমাত্র বিদ্যমান ভূমিকা পরিবর্তন করতে পারে, তারা নতুনগুলি যোগ করার অনুমতি দেয়, এমনকি প্রধান ডাটাবেস অবজেক্টগুলিতে অ্যাক্সেস সীমিত করে;
  • বিদ্যমান ব্যবস্থা আপনাকে আপনার নিজের অনুরোধে সাবসিস্টেমের কমান্ড ইন্টারফেস এবং প্রধান কনফিগারেশন বিভাগ পরিবর্তন করতে দেয়;
  • এই টুলকিট আপনাকে ডাটাবেস গঠনে পরিবর্তন না করেই প্রসেসিং এবং রিপোর্ট যোগ করতে দেয়;
  • প্ল্যাটফর্ম সংস্করণ 8.3.9.718-এ, এক্সটেনশন এবং প্রধান কনফিগারেশনের সামঞ্জস্যতা নির্ণয়ের পদ্ধতি উল্লেখযোগ্যভাবে পুনরায় ডিজাইন করা হয়েছে।

উপরোক্ত থেকে এটি পরিষ্কার হয়ে যায় যে:

  1. নিয়মিত ফর্মগুলির সাথে কাজ করার সময়, এক্সটেনশনগুলির কার্যকারিতা উল্লেখযোগ্যভাবে সীমিত;
  2. যদিও মূল কনফিগারেশন আপডেট করার প্রক্রিয়াটি সরলীকৃত করা হয়েছে, একটি নির্দিষ্ট এক্সটেনশন (উৎপাদন সমাধান সহ) ব্যবহার করার ক্ষমতা মূল কাঠামোর পরিবর্তন এবং সমান্তরালভাবে ব্যবহৃত বেশ কয়েকটি এক্সটেনশন উভয়ের দ্বারা গুরুতরভাবে সীমিত হতে পারে;
  3. বিভিন্ন ব্যবহারকারীদের দ্বারা ব্যবহৃত চেহারা এবং কার্যকারিতা আলাদা করার প্রয়োজন হলে বা যখন সমর্থিত স্ট্যান্ডার্ড কনফিগারেশনটি নিজে থেকেই পরিবর্তন করা হয় তখন এই প্রক্রিয়াটি ব্যবহার করার পরামর্শ দেওয়া হয়।

চলুন অনুশীলনে এগিয়ে যাই। আমরা প্রাথমিক বেস হিসাবে "বেতন এবং এইচআর ম্যানেজমেন্ট" কনফিগারেশন সংস্করণ 3.1.3.223 ব্যবহার করব, কাজটি 8.3.10.2561 প্ল্যাটফর্মে করা হবে, অপারেটিং মোডটি ফাইল।

একটি এক্সটেনশন তৈরি করা হচ্ছে

কনফিগারেশনে, কনফিগারেশন->কনফিগারেশন এক্সটেনশন মেনুতে যান, ফর্মটি খুলবে (চিত্র 1)।

এখানে আপনি একটি নতুন এক্সটেনশন তৈরি করতে পারেন। "যোগ করুন" বোতামে ক্লিক করুন। এখানে নতুন এক্সটেনশনের উইন্ডো (চিত্র 2)

চিত্র 2

আসুন এর উপাদানগুলি দেখুন:

  • নাম - অন্যান্য কনফিগারেশন উপাদানগুলির বিপরীতে, এটি সিস্টেমের মান অনুযায়ী তৈরি করা হয় না, যেমন একটি সংখ্যা বা প্রতীক দিয়ে শুরু হতে পারে, একটি স্থান থাকতে পারে;
  • সমার্থক - অন্যান্য মেটাডেটা উপাদানগুলির মতোই, এটিতে একটি বস্তুর প্রতিনিধিত্বকারী একটি অভিব্যক্তি রয়েছে;
  • উপসর্গ - আপনাকে একটি ফর্ম মডিউলে ইভেন্ট হ্যান্ডলারদের সনাক্ত করতে দেয়, যেহেতু প্রধান কনফিগারেশন ফর্ম মডিউল এবং এক্সটেনশন ফর্ম মডিউল একত্রিত হয় যখন প্ল্যাটফর্মটি একটি সাধারণ প্রসঙ্গে কাজ করে (ডিফল্টরূপে, এক্সটেনশনটি প্রথমে প্রক্রিয়া করা হয়, অর্থাৎ হ্যান্ডলারগুলির সাথে একটি উপসর্গ, তারপর প্রধান হ্যান্ডলার);
  • উদ্দেশ্য।

"গন্তব্য" ক্ষেত্রের তালিকাটি তিনটি মান নিয়ে গঠিত;

  1. সংশোধন - এই উদ্দেশ্যের এক্সটেনশনগুলি ধার করা বস্তুর ছোটখাট ভুল এবং ত্রুটিগুলি সংশোধন করার জন্য তৈরি করা হয়;
  2. অভিযোজন - ডিফল্ট মান, এই ধরণের এক্সটেনশনগুলি একটি নির্দিষ্ট ব্যবহারকারীর প্রয়োজনীয়তার সাথে মানক বস্তুগুলিকে সামঞ্জস্য করার জন্য ডিজাইন করা হয়েছে (যদি এক্সটেনশনটি 8.3.9 এর চেয়ে কম প্রোগ্রাম সংস্করণে তৈরি করা হয়, প্ল্যাটফর্ম আপডেট করার পরে এটির ঠিক এই উদ্দেশ্য থাকবে) ;
  3. সংযোজন - তারা একটি আদর্শ সমাধানে সম্পূর্ণ নতুন কার্যকারিতা প্রবর্তন করে।

এক্সটেনশন লঞ্চ

চিত্র 1 থেকে উইন্ডোতে এক্সটেনশনের নামে ডাবল ক্লিক করলে এক্সটেনশন উইন্ডোটি খোলে (চিত্র 3)


আমরা দেখতে পাচ্ছি, এটি মূল কনফিগারেশনের গাছের মতো একটি গাছ। এবং এখানে একটি প্রশ্ন উঠছে: কোন ক্ষেত্রে একটি বস্তু ধার করা উচিত?

কেবলমাত্র সেই বস্তুগুলি (ডিরেক্টরি, নথি, বিবরণ, ইত্যাদি) ধার করা প্রয়োজন যা ফর্ম এক্সটেনশনে বা এর মডিউলের কোডে ব্যবহার করা হবে এবং ধার না নিয়ে যে এক্সটেনশনের অপারেশনে একটি ত্রুটি ঘটতে পারে।

অর্থাৎ, যদি আমাদের ডেভেলপমেন্টের জন্য "ব্যক্তি" ডিরেক্টরির "টিআইএন" বৈশিষ্ট্যের প্রয়োজন হয়, যদি এটি ফর্ম মডিউলে ব্যবহার করা হয়, তাহলে আমাদের অবশ্যই এটি মূল ডাটাবেস থেকে ধার করতে হবে। এই ক্ষেত্রে, প্রতিবার এক্সটেনশন চালু করা হলে, মূল কনফিগারেশন ডিরেক্টরিতে এই বৈশিষ্ট্যটির উপস্থিতির জন্য এবং উৎস ডাটাবেসে এবং এক্সটেনশনে ডেটা প্রকারের চিঠিপত্রের জন্য একটি চেক করা হবে।

যদি একটি আপডেটের পরে বা নতুন কার্যকারিতা বিকাশের সময় এক্সটেনশন এবং কনফিগারেশন ডেটা প্রকারের মধ্যে একটি অসঙ্গতি বা অন্য কোনও ত্রুটি থাকে তবে সিস্টেমটি ব্যবহারকারীকে এটি সম্পর্কে অবহিত করবে (চিত্র 4)

নীচের ডানদিকের কোণায় থাকা উইন্ডোটি একটি এক্সটেনশন সংযোগ করার সময় একটি অস্বাভাবিক পরিস্থিতি নির্দেশ করে এটিতে ডাবল ক্লিক করলে বিস্তারিত তথ্য খোলে। এই ক্ষেত্রে, আমরা কেবলমাত্র ধার করা বস্তুর জন্য "স্ট্রিং" মান থেকে "বুলিয়ান" মান থেকে টিআইএন অ্যাট্রিবিউটের মান প্রকার পরিবর্তন করেছি, তবে অনেক সময় বিপরীত পরিস্থিতি ঘটে - যখন একটি মানক পণ্য আপডেট করা পরিবর্তনের দিকে নিয়ে যায় বা প্রধান ডাটাবেস বৈশিষ্ট্য নির্মূল.

ডাটাবেসের একটি অনুলিপিতে এক্সটেনশনটি কাজ করে এবং পরীক্ষা করার পরে, আপনি এটি করতে একটি পৃথক ফাইলে আপলোড করতে পারেন, উইন্ডোতে (চিত্র 5) আপনাকে "কনফিগারেশন" বোতামটি ক্লিক করতে হবে এবং "ফাইলে সংরক্ষণ করুন" নির্বাচন করতে হবে; "বিকল্প। নিয়মিত কনফিগারেশন ফাইলগুলির বিপরীতে যেগুলির একটি cf এক্সটেনশন রয়েছে, কনফিগারেশন সংযোজন ফাইলটিতে একটি *.cfe মাস্ক থাকবে৷

আপনি উপরের চিত্র থেকে দেখতে পাচ্ছেন, আপনি একই উইন্ডো থেকে বা প্রধান প্রোগ্রাম উইন্ডো থেকে নতুন কার্যকারিতা ডাউনলোড করতে পারেন।

1C.Enterprise মোডে এক্সটেনশনটি সংযুক্ত করতে, ব্যবহারকারীকে অবশ্যই "সমস্ত ফাংশন" মোড সক্রিয় থাকতে হবে এবং প্রশাসকের অধিকার সহ প্রোগ্রামে লগ ইন করতে হবে৷

পরিবর্তন সংযোগের পথটি নিম্নরূপ: সমস্ত ফাংশন->মানক->কনফিগারেশন এক্সটেনশন পরিচালনা করুন। যে উইন্ডোটি খোলে তা চিত্র 6-এ দেখানো হয়েছে

Fig.6

"যোগ করুন" বোতামে ক্লিক করলে একটি ফাইল নির্বাচন ডায়ালগ বক্স খোলে যেখানে আপনাকে আমাদের আপলোড নির্বাচন করতে হবে। যদি প্রক্রিয়াকরণের জন্য চেকবক্সটি চেক করা হয় (চিত্র 7) এবং এক্সটেনশনটিতে একটি ত্রুটি থাকে, তাহলে কার্যকারিতা বাতিল করা হবে এবং প্রোগ্রামটি একটি ব্যতিক্রম রিপোর্ট করবে।

চিত্র 7

সফল সংযোজনের পরে আমাদের কার্যকারিতা কাজ করার জন্য, প্রোগ্রামটি পুনরায় চালু করতে হবে।

ধার করা বস্তু এবং মডিউল আগুনের ক্রম

হ্যান্ডলারগুলির কার্য সম্পাদনের ক্রমটি ট্রেস করার জন্য, আমরা আমাদের কনফিগারেশন পরিবর্তন করার এবং এতে একটি নতুন প্রক্রিয়াকরণ যুক্ত করার ক্ষমতা সক্ষম করব, যার কার্যকারিতা শুধুমাত্র একটি জিনিস নিয়ে গঠিত - এটি রিপোর্ট করবে যে এটি মূল থেকে চালু করা হয়েছিল কনফিগারেশন, চিত্র 8-এ কোড।

চিত্র 8

এর এক্সটেনশনে এই প্রক্রিয়াকরণ যোগ করা যাক.

এই জন্য:

  • প্রসেসিং ফর্মের প্রসঙ্গ মেনু সক্রিয় করতে ডান-ক্লিক করুন (চিত্র 9);

চিত্র.9

  • "এক্সটেনশন যোগ করুন" নির্বাচন করুন;
  • অতিরিক্ত কনফিগারেশন ট্রিতে, চিকিত্সা নিজেই এবং এর ফর্মের একটি ডুপ্লিকেট উভয়ই উপস্থিত হবে;
  • ফর্মটি খোলার পরে, আমরা দেখতে পাচ্ছি যে বার্তাটি ঘটায় সেই কমান্ডটিও রয়েছে, তবে এটি একটি হ্যান্ডলার বরাদ্দ করা হয়নি;
  • একটি কমান্ড অ্যাকশন যোগ করলে একটি ডায়ালগ বক্স আসে (চিত্র 10) যেখানে কমান্ডটি কার্যকর করার জন্য প্রধান নির্দেশনা ছাড়াও একটি "কল টাইপ" গ্রুপ রয়েছে।

চিত্র 10

বিদ্যমান পদ্ধতির জন্য আমাদের কাছে তিন ধরনের কল আছে;

  • আগে কল করুন - মূল কনফিগারেশনটি কার্যকর হওয়ার আগে এক্সটেনশন কোডের সম্পাদন শুরু হবে;
  • পরে কল করুন - পরিবর্তিত পদ্ধতিটি হবে দুই নম্বর;
  • পরিবর্তে কল করুন - প্রধান কনফিগারেশন থেকে পদ্ধতিটি মোটেও কার্যকর করা হবে না।

চলুন কলের ধরনটিকে "কল আফটার" অবস্থানে ছেড়ে দিন এবং "Ext1_NotifyAfter(Command)" পদ্ধতি যুক্ত করুন (চিত্র 11)।

চিত্র 11

আমাদের প্রসেসিং চালু করার ফলাফল হবে দুটি বাক্যাংশ পর্যায়ক্রমে যোগাযোগ করা হবে (চিত্র 12), অর্থাৎ, প্রধানটির পরে অতিরিক্ত কনফিগারেশন বার্তা প্রদর্শিত হবে। আমরা যদি "পরিবর্তে" নির্বাচন করতাম, আমরা প্রথম লাইনটি দেখতে পেতাম না।

চিত্র 12

সংস্করণ 8.3.9.1818 থেকে শুরু করে, প্রোগ্রামের কার্যকারিতা মানক মডিউল পরিবর্তন করার পাশাপাশি আপনার নিজস্ব মডিউল যোগ করার জন্য একটি প্রক্রিয়া অন্তর্ভুক্ত করে। এবং এখানে বিকাশকারীরা একটি খুব নির্দিষ্ট কাজের মুখোমুখি হয়েছিল: কীভাবে ধার নেওয়া পদ্ধতি এবং ফাংশনগুলি কেবল মূল কনফিগারেশনের সাথেই নয়, কনফিগারেশনে ইতিমধ্যে সংযুক্ত এক্সটেনশনগুলির সাথেও সম্পাদিত হওয়া উচিত তা কীভাবে নির্ধারণ করা যায়।

টীকা ইঞ্জিন

আসুন এমন একটি পরিস্থিতি কল্পনা করি যেখানে একটি কনফিগারেশনের সাথে বেশ কয়েকটি এক্সটেনশন সংযুক্ত থাকে, অর্থাৎ, কনফিগারেশনে তাদের নির্বাচন করার জন্য উইন্ডোটি দেখতে (চিত্র 13) এর মতো।

চিত্র.13

প্রতিটি নতুন এক্সটেনশন যোগ করার সময়, সিস্টেমটি স্বাধীনভাবে তাদের কার্যকর করার ক্রম তৈরি করে।

অতিরিক্ত মডিউলের সঞ্চালনের ক্রমটি শুধুমাত্র মডিউলটি যোগ করার সময় (পরে যোগ করা, পরে সম্পাদিত) এর উপর ভিত্তি করে কনফিগার করা হয়, তবে পরিবর্তনের উদ্দেশ্যের উপর ভিত্তি করেও ("সম্পাদনা" সর্বদা "অভিযোজন" এর আগে আসবে)।

এছাড়াও, যোগ করা মডিউলগুলির পদ্ধতিগুলি সম্পাদনের ক্রমটি টীকা ব্যবহার করে সামঞ্জস্য করা যেতে পারে:

  • &আগে("প্রক্রিয়ার নাম");
  • &পরে("প্রক্রিয়ার নাম");
  • &এর পরিবর্তে("প্রক্রিয়ার নাম")।

আপনি দেখতে পাচ্ছেন, তাদের সেটটি আগের বিভাগে যা প্রদর্শিত হয়েছিল তার অনুরূপ এবং কার্যকারিতাও একই রকম।

যেহেতু ধার করা মডিউল এবং দাতা মডিউল একই নামস্থানে রয়েছে, তাই এই ক্ষেত্রে টাইপ ভেরিয়েবল এবং পদ্ধতিগুলির জন্য কোনও অতিরিক্ত সংজ্ঞার প্রয়োজন নেই।

ফাংশন সহ পরিস্থিতি পদ্ধতির তুলনায় কিছুটা আলাদা। আসল বিষয়টি হ'ল একটি স্ট্যান্ডার্ড পদ্ধতির সম্পাদন করা যেতে পারে, যেমনটি ছিল, এক্সটেনশন কোডের সাথে যুক্ত, অর্থাৎ, আপনি পদ্ধতি কোডের আগে কিছু অ্যাকশন সন্নিবেশ করতে পারেন, কিছু অ্যালগরিদম পরে, তবে এটি ফাংশনের জন্য কাজ করবে না। যদি এক্সটেনশন কোডের পরে মূল ফাংশনটি কার্যকর করা হয়, তবে প্রতিস্থাপন ফাংশনের রিটার্ন মান পাওয়া যাবে না, তবে যদি পরিবর্তিত অ্যালগরিদমের আগে, তবে প্রধান ফাংশনের মানটি পাওয়া যাবে না এবং &পরবর্তী টীকাটি &এর পরিবর্তে কাজ করবে।

এই "অবিচার" দূর করার জন্য, ContinueCall() পদ্ধতি তৈরি করা হয়েছিল।

সাধারণভাবে বলতে গেলে, "পরিবর্তে" টীকাটি ব্যবহার করা কিছুটা ভুল, যদিও কখনও কখনও এটি প্রয়োজনীয়। এটি ব্যবহার করে, আমরা উল্লেখযোগ্যভাবে কার্যকারিতা সীমিত করি যা স্ট্যান্ডার্ড কনফিগারেশনে উল্লেখযোগ্যভাবে পরিবর্তন এবং পরিবর্তন করা যেতে পারে।

একটি বস্তু মডিউল পরিবর্তন করা

ইভেন্ট সাবস্ক্রিপশন মেকানিজম ডেভেলপারদের কাজকে অনেক সহজ করে দিয়েছে, কিন্তু একটি গুরুতর কিন্তু ছিল।

কিন্তু এটি ব্যবহার করার জন্য, আপনাকে প্রায়শই আপনার নিজস্ব সাধারণ মডিউল তৈরি করতে হয়েছিল, যা ডেটা সহ নির্দিষ্ট ক্রিয়াকলাপ প্রক্রিয়াকরণের পদ্ধতিগুলি সংরক্ষণ করবে। বর্তমানে, এক্সটেনশনের ব্যবহার এই কার্যকারিতাটিকে উল্লেখযোগ্যভাবে সংশোধন করা সম্ভব করেছে।

ধরা যাক যে কাজের প্রক্রিয়ায় এটি রেকর্ড করার সময় আমাদের স্ট্যান্ডার্ড "হায়ারিং" নথির জন্য কিছু ধরণের প্রক্রিয়াকরণ যুক্ত করতে হবে। আগে আমরা সাবস্ক্রিপশনে যেতাম এবং সেখান থেকে কাজ করতাম, এখন আমরা এই নথিটি এক্সটেনশনে যুক্ত করতে পারি:

  • আসুন কনফিগারেটে "কাজে ভর্তি" নির্বাচন করি এবং এর প্রসঙ্গ মেনু থেকে আমরা এটিকে আমাদের এক্সটেনশনে যুক্ত করব (যাইহোক, এই প্রক্রিয়াটির একটি হটকি সমন্বয় Alt+Shift+F2 রয়েছে);
  • উপযুক্ত অ্যাড-অন নির্বাচন করার পরে, আমরা চিত্র 14 এর মতো একটি ছবি পাব;

চিত্র 14

  • আমরা হলুদ রঙে হাইলাইট করা "অবজেক্ট মডিউল" এলিমেন্টে আগ্রহী হব আমরা প্রথমে সংশ্লিষ্ট চেকবক্স সক্রিয় করে এটি খুলব (চিত্র 15);

চিত্র.15

  • আমরা সফ্টওয়্যার মডিউলের একটি ফাঁকা শীট পাব, শীর্ষ প্যানেলে মনোযোগ দিব, বা আরও স্পষ্টভাবে, চিত্র 16-এ উপস্থাপিত উপাদানটির প্রতি, এখানে ড্রপ-ডাউন তালিকাটি ইভেন্টগুলি উপস্থাপন করে যা এই বস্তুর জন্য প্রক্রিয়া করা যেতে পারে;

Fig.16

  • বার্তায় নথির নম্বরটি প্রদর্শন করার চেষ্টা করা যাক যখন এটি সংশ্লিষ্ট ইভেন্টটি নির্বাচন করে রেকর্ড করা হয়েছিল;
  • আমরা একটি কল টাইপ নির্বাচন ফর্ম (চিত্র 17) পাব, কখন নম্বরটি প্রদর্শিত হবে তা নির্ধারণ করুন;

চিত্র 17

  • পদ্ধতি কোড চিত্র 18 এ দেখানো হয়েছে;

চিত্র 18

কিছু ক্ষেত্রে, "নিরাপদ মোড" চেকবক্স চেক করার কারণে, এক্সটেনশনটি সংযোগ করতে ব্যর্থ হয়৷

ছোট্ট একটি ঘোষণা

অদূর ভবিষ্যতে, 1C প্ল্যাটফর্ম 8.3.11 প্রকাশ করার পরিকল্পনা করছে, যেখানে তারা তাদের নিজস্ব যোগ করার সম্ভাবনা ঘোষণা করেছে:

  • নথিপত্র;
  • ডিরেক্টরি;
  • বিনিময় পরিকল্পনা;
  • তথ্যের রেজিস্টার।

বিশদ এবং সারণী অংশ যোগ করার ক্ষমতাও প্রয়োগ করা উচিত। একই সময়ে, বিকাশকারীরা মানক সমাধানগুলি পরিবর্তন করার সম্ভাবনাকে বিবেচনায় নিয়েছিল, যা এক্সটেনশনের ত্রুটির কারণ হতে পারে।

এক্সটেনশনে প্রবেশ করা ডেটা কোথাও হারিয়ে যাবে না, এবং সামঞ্জস্য সমস্যা সমাধান না হওয়া পর্যন্ত, এক্সটেনশন দ্বারা সংশোধিত প্রধান কনফিগারেশন ডিরেক্টরি লেখার যোগ্য হবে না।

1C:এন্টারপ্রাইজ প্ল্যাটফর্মের 8.3.6 সংস্করণ দিয়ে শুরু করে, এটিতে একটি প্রক্রিয়া উপস্থিত হয়েছিল কনফিগারেশন এক্সটেনশন.

এটি আপনাকে প্রধান (এক্সটেনসিবল) কনফিগারেশন পরিবর্তন না করে নতুন প্রবর্তন করতে এবং বিদ্যমান কার্যকারিতা পুনরায় সংজ্ঞায়িত করতে দেয়। এইভাবে, আমাদের কাছে অনেক নতুন সুযোগ রয়েছে যা আগে অনুপলব্ধ ছিল।

নতুন সুযোগ

বিধিনিষেধ

অবশ্যই সীমাবদ্ধতা আছে:

  • এক্সটেনশানগুলি শুধুমাত্র নতুন মেটাডেটার একটি সীমিত সেট যোগ করতে পারে৷ এগুলি হল সাবসিস্টেম, ভূমিকা, রিপোর্ট, প্রক্রিয়াকরণ এবং কিছু অন্যান্য।
  • কিছু পরিস্থিতিতে ডিবাগিং এর সাথে সমস্যা হতে পারে।

ব্যবহারের উদাহরণ

কনফিগারেশন এক্সটেনশন ব্যবহার করে আপনি কীভাবে একটি সাধারণ মডিউল পদ্ধতিকে ওভাররাইড করতে পারেন তার একটি উদাহরণ দেখুন। অর্থাৎ, এই ক্ষেত্রে যখন আমাদের রিলিজ জারি না করে এবং প্রধান কনফিগারেশন আপডেট না করেই কিছু ত্রুটি দ্রুত ঠিক করতে হবে। তাহলে ধরা যাক আমাদের একটি সাধারণ মডিউল আছে professia1c_ry_এক্সটেনশন.

এবং এটিতে সবচেয়ে সহজ পদ্ধতি রয়েছে যা বার্তাটি প্রদর্শন করে:

পদ্ধতি OutputMessage() Export Message = New MessageToUser; বার্তা। পাঠ্য = "এটি মৌলিক কনফিগারেশন"; বার্তা। প্রতিবেদন করেত() ; প্রক্রিয়া শেষ

এখন এক্সটেনশন ব্যবহার করে আরেকটি বার্তা প্রদর্শন করা যাক। প্রথমত, অবশ্যই, আমাদের নিজেই এক্সটেনশন তৈরি করতে হবে। কনফিগার মেনুতে নির্বাচন করুন কনফিগারেশন - কনফিগারেশন এক্সটেনশন


যে উইন্ডোটি খোলে, সেখানে বোতামটি ক্লিক করুন যোগ করুনএবং এক্সটেনশন বৈশিষ্ট্য সহ ক্ষেত্রগুলি পূরণ করুন। ক্ষেত্র নামএবং সমার্থক শব্দকোন মন্তব্য প্রয়োজন. প্রিফিক্সটি এক্সটেনশন পদ্ধতির নামের জন্য ব্যবহার করা হবে যা মূলটিকে প্রতিস্থাপন করবে। এবং তালিকায় উদ্দেশ্যতিনটি সম্ভাব্য বিকল্প থেকে (সংশোধন, অভিযোজন, সংযোজন) আমরা বেছে নেব সংশোধন:

এক্সটেনশনের তালিকার পরে, বাক্সগুলি থেকে টিক চিহ্ন সরিয়ে দিন "নিরাপদ মোড, নিরাপত্তা প্রোফাইল নাম"এবং "বিপজ্জনক কর্ম থেকে সুরক্ষা":


এইভাবে আমরা এক্সটেনশন তৈরি করেছি। কিন্তু আমরা যদি ডাবল ক্লিক করে এটি খুলি, আমরা দেখতে পাব যে এর মেটাডেটা ট্রি খালি। এবং এখন আমাদের এক্সটেনশনে একটি সাধারণ মডিউল যোগ করতে হবে।

এটি করার জন্য, প্রধান কনফিগারেশন মেটাডেটা ট্রিতে, পছন্দসই সাধারণ মডিউলটিতে ডান-ক্লিক করুন এবং নির্বাচন করুন "এক্সটেনশনে যোগ করুন":


এবং এখন আমাদের এক্সটেনশন এই মত দেখাবে:

কিন্তু যদি আমরা সাধারণ এক্সটেনশন মডিউলের কোড দেখি, আমরা দেখতে পাই যে এটি খালি। এবং পরবর্তী ধাপে একটি পদ্ধতি যোগ করা হয়। আবার আমরা মূল কনফিগারেশনে যাই, সাধারণ মডিউলের কোডটি খুলুন, পদ্ধতিতে ডান-ক্লিক করুন, আইটেমটি আবার নির্বাচন করুন "এক্সটেনশনে যোগ করুন"এবং যে উইন্ডোটি খোলে, সেখানে কলের ধরনটি নির্বাচন করুন পরিবর্তে কল করুন:

ফলস্বরূপ, সাধারণ এক্সটেনশন মডিউলে নিম্নলিখিত কোড সহ একটি পদ্ধতি যুক্ত করা হবে:

&এর পরিবর্তে("আউটপুট মেসেজ")পদ্ধতি Messages_OutputMessage() // পদ্ধতির বিষয়বস্তু সন্নিবেশ করান। ContinueCall(); প্রক্রিয়া শেষ

আপনি দেখতে পাচ্ছেন, পদ্ধতির নামটিতে প্রিফিক্স রয়েছে যা এক্সটেনশন তৈরি করার সময় নির্দিষ্ট করা হয়েছিল। এখন যা বাকি আছে তা হল আমাদের প্রয়োজন অনুসারে পদ্ধতি কোডটি সংশোধন করা:

&এর পরিবর্তে("আউটপুট মেসেজ")পদ্ধতি Messages_OutputMessage_() Message = New MessageToUser; বার্তা। পাঠ্য = "এটি একটি এক্সটেনশন" ; বার্তা। প্রতিবেদন করেত() ; প্রক্রিয়া শেষ

এবং এখন আমরা সহজেই নিশ্চিত করতে পারি যে আমরা যদি নিম্নলিখিত কোডটি চালাই তবে আমরা মূল কনফিগারেশন কোডের পরিবর্তে এক্সটেনশন কোড চালাব:

Professia1c_ry_এক্সটেনশন। আউটপুট মেসেজ();



শেয়ার করুন