ফর্মের প্রাথমিক বিবরণ। পরিচালিত ফর্ম বিশদ বিবরণ (1Cv8) 1c পরিচালিত ফর্ম প্রোগ্রামগতভাবে বিবরণ যোগ করে

ফর্ম বিবরণ

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

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

বরাদ্দ করা সম্ভব মৌলিক ফর্ম বিবরণ, অর্থাৎ, বৈশিষ্ট্যগুলি যা ফর্মের মানক কার্যকারিতা নির্ধারণ করবে (ফর্ম এক্সটেনশন)৷ এটি মনে রাখা উচিত যে একটি ফর্মের শুধুমাত্র একটি প্রধান বৈশিষ্ট্য থাকতে পারে।

ফর্ম এক্সটেনশন- এগুলি হল ManagedForm অবজেক্টের অতিরিক্ত বৈশিষ্ট্য, পদ্ধতি এবং ফর্ম প্যারামিটার, বস্তুর বৈশিষ্ট্য যা ফর্মের প্রধান উপাদান।

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

বৈশিষ্ট্য বৈশিষ্ট্য ফর্ম সংরক্ষিত ডেটাএটি একটি চিহ্ন যে বিশদ বিবরণে একটি ইন্টারেক্টিভ পরিবর্তন সম্পাদনার জন্য ফর্ম ডেটা ব্লক করার প্রচেষ্টার পাশাপাশি ফর্ম পরিবর্তন পতাকার স্বয়ংক্রিয় সেটিংয়ের দিকে পরিচালিত করবে৷

একটি পরিচালিত আকারে উপলভ্য ডেটা প্রকার

একটি পরিচালিত ফর্ম একটি নিয়মিত ফর্ম থেকে ভিন্ন ধরনের ডেটার সাথে এটি কাজ করে। যদি স্বাভাবিক ফর্মটি 1C:Enterprise প্রদান করে এমন বেশিরভাগ প্রকারের সাথে কাজ করে (যার মধ্যে DirectoryObject, DocumentObject, ইত্যাদি প্রকারগুলি সহ), তাহলে পরিচালিত ফর্মে নিম্নলিখিত ধরণের প্রকারগুলিকে আলাদা করা যেতে পারে:

  • যে প্রকারগুলি সরাসরি ফর্মে ব্যবহৃত হয় সেগুলি হল সেই প্রকারগুলি যেগুলি পাতলা এবং ওয়েব ক্লায়েন্টের পাশে বিদ্যমান (উদাহরণস্বরূপ, নম্বর, ডিরেক্টরিলিঙ্ক. পণ্য, গ্রাফিকস্কিম, ট্যাবুলার ডকুমেন্ট);
  • যে প্রকারগুলি বিশেষ ডেটা প্রকারে রূপান্তরিত হবে—পরিচালিত ফর্ম ডেটা প্রকার। এই ধরনের ধরনগুলি বন্ধনীতে ফর্মের বিবরণের তালিকায় প্রদর্শিত হয়, উদাহরণস্বরূপ (DirectoryObject.Products);
  • গতিশীল তালিকা (আরো বিশদ বিবরণের জন্য, এই অধ্যায়ের "ডাইনামিক তালিকা" বিভাগটি দেখুন)।

ফর্ম ডেটাতে অ্যাপ্লিকেশন অবজেক্টকে রূপান্তর করা হচ্ছে

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

নিম্নলিখিত তথ্য প্রকার ব্যবহার করা হয়:

  • ফর্ম ডেটাস্ট্রাকচার - একটি নির্বিচারী ধরণের বৈশিষ্ট্যের একটি সেট রয়েছে। বৈশিষ্ট্যগুলি সংগ্রহ সহ অন্যান্য কাঠামো, সংগ্রহ বা কাঠামো হতে পারে। এই ধরনের উপস্থাপন করা হয়, উদাহরণস্বরূপ, ডিরেক্টরি অবজেক্ট ফর্মে।
  • একটি ফর্মডেটা সংগ্রহ একটি অ্যারের অনুরূপ টাইপ করা মানগুলির একটি তালিকা৷ একটি সংগ্রহ উপাদান সূচক বা শনাক্তকারী দ্বারা অ্যাক্সেস করা হয়। আইডি দ্বারা অ্যাক্সেস কিছু ক্ষেত্রে উপলব্ধ নাও হতে পারে. এটি এই সংগ্রহ দ্বারা প্রতিনিধিত্ব করা হয় যে অ্যাপ্লিকেশন বস্তুর ধরনের কারণে হয়. শনাক্তকারী যেকোনো পূর্ণসংখ্যা হতে পারে। এই ধরনের প্রতিনিধিত্ব করা হয়, উদাহরণস্বরূপ, একটি সারণী অংশ আকারে।
  • ফর্ম DataStructureWithCollection হল একটি অবজেক্ট যা একই সময়ে একটি কাঠামো এবং একটি সংগ্রহ হিসাবে উপস্থাপন করা হয়। এটি এই সত্ত্বার মতো আচরণ করা যেতে পারে। এই ধরনের প্রতিনিধিত্ব করে, উদাহরণস্বরূপ, একটি ফর্মে রেকর্ডের একটি সেট।
  • ফর্ম DataTree – শ্রেণীবদ্ধ তথ্য সংরক্ষণ করার জন্য ডিজাইন করা একটি বস্তু।

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

উদাহরণস্বরূপ, একটি টেবুলার অংশ সম্বলিত একটি নথি FormDataStructure প্রকারের একটি বস্তু দ্বারা প্রতিনিধিত্ব করা হবে (নথি নিজেই), যেখানে FormDataCollection প্রকারের একটি বস্তু (নথির সারণী অংশ) অধীনস্থ।

গুরুত্বপূর্ণ !একটি কনফিগারেশন বিকাশ করার সময়, এটি মনে রাখা গুরুত্বপূর্ণ যে অ্যাপ্লিকেশন অবজেক্টগুলি শুধুমাত্র সার্ভারে উপলব্ধ, যখন ফর্ম ডেটা অবজেক্টগুলি সার্ভার এবং ক্লায়েন্ট উভয়েই ব্যবহার করা যেতে পারে।

একটি পরিচালিত ফর্মের ক্লায়েন্ট এবং সার্ভার অংশগুলির মধ্যে ডেটা পাস করা

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

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

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

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

অ্যাপ্লিকেশন অবজেক্ট ডেটা ফর্ম ডেটাতে রূপান্তর করার পদ্ধতি

অ্যাপ্লিকেশন অবজেক্টকে ফর্ম ডেটা এবং ব্যাক রূপান্তর করতে, বিশ্বব্যাপী পদ্ধতির একটি সেট রয়েছে:

  • ValueInFormData(),
  • FormDataInValue(),
  • কপিফর্মডেটা()।

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

একটি অ্যাপ্লিকেশন অবজেক্টে ফর্ম ডেটা রূপান্তর করার সময়, আপনাকে তাদের সামঞ্জস্য বিবেচনা করতে হবে।

  • ValueInFormData() - একটি অ্যাপ্লিকেশন টাইপ অবজেক্টকে ফর্ম ডেটাতে রূপান্তর করে;
  • FormDataInValue() – ফর্ম ডেটাকে একটি অ্যাপ্লিকেশন টাইপ অবজেক্টে রূপান্তর করে;
  • CopyFormData() - একটি সামঞ্জস্যপূর্ণ কাঠামো আছে এমন ডেটার অনুলিপি করে। অনুলিপি সফল হলে সত্য, অথবা বস্তুর কাঠামো বেমানান হলে মিথ্যা প্রদান করে।

বিঃদ্রঃ. প্রধান বিবরণ সহ একটি ফর্মের স্ট্যান্ডার্ড অ্যাকশন (একটি ফর্ম খোলা, একটি স্ট্যান্ডার্ড রাইট কমান্ড চালানো ইত্যাদি) সম্পাদন করার সময়, রূপান্তরটি স্বয়ংক্রিয়ভাবে সঞ্চালিত হয়।

আপনার নিজের অ্যালগরিদমে ডেটা ট্রান্সফরমেশন কীভাবে ব্যবহার করবেন তার একটি উদাহরণ দেওয়া যাক।

&OnServer প্রক্রিয়া যখন CreateOnServer(ব্যর্থতা, স্ট্যান্ডার্ড প্রসেসিং)

ObjectProduct = Directories.Products.FindByName("কফিপট").GetObject(); ValueInFormData(ObjectItem, Object);

প্রক্রিয়া শেষ

&অনক্লায়েন্ট পদ্ধতি লিখুন()

WriteOnServer();

প্রক্রিয়া শেষ

&অনসার্ভার পদ্ধতি WriteOnServer()

ObjectProduct = FormDataValue(অবজেক্ট, Type("DirectoryObject.Products")); ObjectItem.Write();

প্রক্রিয়া শেষ

ManagedForm অবজেক্টের সার্ভারে উপলব্ধ পদ্ধতি রয়েছে:

  • ValueВFormAttribute() - একটি অ্যাপ্লিকেশন টাইপ অবজেক্টকে নির্দিষ্ট ফর্ম অ্যাট্রিবিউটে রূপান্তর করে।
  • FormAttributeVValue() - একটি ফর্ম ডেটা অ্যাট্রিবিউটকে একটি অ্যাপ্লিকেশন টাইপের বস্তুতে রূপান্তর করে।

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

আসুন এই পদ্ধতিগুলি ব্যবহার করার একটি উদাহরণ দেওয়া যাক।

&অনসার্ভার পদ্ধতি পুনরায় গণনা করাঅনসার্ভার()

// অবজেক্ট অ্যাট্রিবিউটকে একটি অ্যাপ্লিকেশন অবজেক্টে রূপান্তর করে। ডকুমেন্ট = ফর্ম অ্যাট্রিবিউটস ভ্যালু("অবজেক্ট"); // নথি মডিউলে সংজ্ঞায়িত পদ্ধতি ব্যবহার করে পুনঃগণনা সম্পাদন করে। নথি। পুনঃগণনা(); // অ্যাপ্লিকেশন অবজেক্টটিকে একটি প্রপে রূপান্তর করে। ValueVFormAttributes(নথি, "অবজেক্ট");

প্রক্রিয়া শেষ

সফটওয়্যার ইন্টারফেস

ফর্মডেটাট্রি

  • FindById
  • GetItems

বর্ণনা:

পরিচালিত ফর্ম ডেটাতে একটি গাছের মডেল করার জন্য ডিজাইন করা হয়েছে।

এই অবজেক্টটি XDTO-তে/থেকে সিরিয়াল করা যেতে পারে। এই বস্তুর সাথে সম্পর্কিত XDTO প্রকারটি নামস্থানে সংজ্ঞায়িত করা হয়েছে। XDTO টাইপ নাম:

GetItems

বাক্য গঠন:

GetItems()

ফেরত মূল্য:

টাইপ: ট্রি এলিমেন্টের ফর্ম ডেটা কালেকশন।

বর্ণনা:

শীর্ষ-স্তরের গাছের উপাদানগুলির একটি সংগ্রহ পায়।

উপলব্ধতা: ক্লায়েন্ট, সার্ভার, পাতলা ক্লায়েন্ট, ওয়েব ক্লায়েন্ট।

FindById

বাক্য গঠন:

FindById(<Идентификатор>)

বিকল্প:

<Идентификатор>(প্রয়োজনীয়)

প্রকার: সংখ্যা। গাছের উপাদান শনাক্তকারী।

ফেরত মূল্য:

প্রকার:FormDataTreeElement।

বর্ণনা:

আইডি দ্বারা একটি সংগ্রহ উপাদান পায়.

উপলব্ধতা: ক্লায়েন্ট, সার্ভার, পাতলা ক্লায়েন্ট, ওয়েব ক্লায়েন্ট।

FormDataTreeItem

বৈশিষ্ট্য:

<Имя свойства> (<Имя свойства>)

  • GetId (GetId)
  • GetParent
  • GetItems
  • সম্পত্তি

বর্ণনা:

ফর্ম ডেটা ট্রি উপাদান।

FormDataTreeItemCollection

সংগ্রহের উপাদান: DataFormTreeElement

একটি বস্তুর জন্য, প্রতিটির জন্য... থেকে... লুপ অপারেটর ব্যবহার করে সংগ্রহটি অতিক্রম করা সম্ভব। ট্রাভার্সাল সংগ্রহের উপাদান নির্বাচন করে। [...] অপারেটর ব্যবহার করে একটি সংগ্রহের উপাদান অ্যাক্সেস করা সম্ভব। উপাদানের সূচক একটি যুক্তি হিসাবে পাস করা হয়.

  • ঢোকান
  • যোগ করুন
  • সূচক (IndexOf)
  • গণনা
  • পরিষ্কার
  • পাওয়া
  • সরান
  • মুছে ফেলা

বর্ণনা:

কাঠের উপাদান সংগ্রহ।

উপলব্ধতা: ক্লায়েন্ট, সার্ভার, পাতলা ক্লায়েন্ট, ওয়েব ক্লায়েন্ট।

আরো দেখুন:

  • FormDataTreeElement, GetElements পদ্ধতি
  • DataFormTree, পদ্ধতি GetItems

একটি মান গাছের সাথে কাজ করার বৈশিষ্ট্য

গাছ আপডেট

একটি সমস্যা আছে পড়েগাছ আপডেট করার সময় প্লাটফর্ম।

যদি গাছের কোন নোড প্রসারিত করা হয় এবং একটি অধীনস্থ নোড নির্বাচন করা হয়, তাহলে ফাংশন সহ ট্রি আপডেট করার সময় ValueInFormDataপ্ল্যাটফর্ম পড়ে

সমাধান: আপডেট করার আগে আপনাকে গাছটি পরিষ্কার করতে হবে।

উদাহরণ স্বরূপ:

&সারভার পদ্ধতিতে ClearTree(উপাদান) উপাদান থেকে প্রতিটি উপাদানের জন্য লুপ ClearTree(element.GetElements()); এন্ডসাইকেল; উপাদান। পরিষ্কার(); প্রক্রিয়া শেষ

&সার্ভার পদ্ধতিতে কনসেপ্ট ট্রি() dConcepts = srProperties. Build Concept Tree(OnDate, Meta.CurrentIB()); ClearTree(ConceptTree.GetItems()); ValueInFormData(dConcepts, ConceptTree); প্রক্রিয়া শেষ

&OnClient পদ্ধতি OnDateOnChange(Element) Fill ConceptTree(); প্রক্রিয়া শেষ

1C: এন্টারপ্রাইজ প্ল্যাটফর্ম আপনাকে প্রোগ্রাম্যাটিকভাবে একটি পরিচালিত ফর্মের উপাদান যোগ এবং পরিবর্তন করতে দেয়। এর কেন প্রয়োজন হতে পারে তা খুঁজে বের করা যাক।

ফর্মের সফ্টওয়্যার পরিবর্তন বিভিন্ন ক্ষেত্রে প্রয়োজন হতে পারে:

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

একটি পরিচালিত ফর্মে, আপনি প্রোগ্রাম্যাটিকভাবে যোগ করতে, পরিবর্তন করতে এবং মুছতে পারেন:

  • প্রয়োজনীয় জিনিসপত্র
  • স্থানীয় দল;
  • উপাদান

এই সমস্ত অপারেশন শুধুমাত্র সার্ভারেই সম্ভব।

প্রোগ্রাম্যাটিক পুনর্নির্মাণের সীমাবদ্ধতা রয়েছে:

  • আপনি শুধুমাত্র প্রোগ্রামগতভাবে যোগ করা বিবরণ/কমান্ড/উপাদান মুছে ফেলতে পারেন। আপনি প্রোগ্রাম্যাটিকভাবে কনফিগারে তৈরি বস্তু মুছে ফেলতে পারবেন না।
  • আপনি প্রধান হিসাবে একটি বৈশিষ্ট্য বরাদ্দ করতে পারবেন না.

ফর্ম কমান্ড পরিবর্তন

একটি বস্তুর জন্য কমান্ডের রচনা পরিচালনা করতে পরিচালিত ফর্মএকটি সংগ্রহ আছে দল

    যোগ করুন (< ИмяКоманды >)

    পরিমাণ ()

    অনুসন্ধান (< ИмяКоманды >)

    মুছে ফেলা (< Команда >)

টিম সংগ্রহ ক্লায়েন্ট এবং সার্ভার উভয়েই উপলব্ধ। আপনি শুধুমাত্র সার্ভারে সংগ্রহ (Add() এবং Delete() পদ্ধতিগুলি পরিবর্তন করতে পারেন। আপনি ক্লায়েন্ট এবং সার্ভারে উভয় উপাদানের সংখ্যা (খুঁজুন () এবং গণনা () পদ্ধতিগুলি অনুসন্ধান করতে এবং পেতে পারেন।

ফর্ম কমান্ডের সাথে কাজ করার উদাহরণ হিসাবে, আসুন "চেঞ্জ হিস্টরি..." শিরোনাম সহ একটি নতুন ChangeHistory কমান্ড তৈরি করি, যা হ্যান্ডলারকে কল করবে প্রদর্শনের ইতিহাস()। ফর্ম খোলা হলে সৃষ্টি হয়।

সার্ভারে
পদ্ধতি WhenCreatingOnServer(ব্যর্থতা, স্ট্যান্ডার্ড প্রসেসিং)
টীম = দল। যোগ করুন( "পরিবর্তনের ইতিহাস");
টীম . কর্ম = ;
টীম . শিরোনাম = "পরিবর্তনের ইতিহাস...";
প্রক্রিয়া শেষ
&অনক্লায়েন্ট
পদ্ধতি Connectable_DisplayHistory(কমান্ড)
// কমান্ড কর্ম
প্রক্রিয়া শেষ

কমান্ড হ্যান্ডলার অবশ্যই একটি ফর্মে অবস্থিত এবং একটি &OnClient সংকলন নির্দেশিকা থাকতে হবে।

ফর্মের বিবরণ পরিবর্তন করা হচ্ছে

ফর্ম বিবরণের রচনা পড়া ফাংশন দ্বারা সঞ্চালিত হয় বিস্তারিত বিবরণ পেতে(< Путь >) FormAttributes টাইপ একটি অ্যারে ফেরত. ফাংশন প্যারামিটার প্যারেন্ট অ্যাট্রিবিউটের পাথ নির্দিষ্ট করে (একটি স্ট্রিং হিসাবে)। যদি প্যারামিটারটি বাদ দেওয়া হয় বা একটি খালি স্ট্রিং নির্দিষ্ট করা হয়, তাহলে শীর্ষ-স্তরের বিবরণ ফেরত দেওয়া হয়।

বিস্তারিত পরিবর্তন পদ্ধতি ব্যবহার করে করা হয় বিবরণ পরিবর্তন করুন(<বিবরণ যোগ করা হয়েছে>, <অপসারণযোগ্য বিবরণ>) বস্তু পরিচালিত ফর্ম. পরামিতি থেকে বিবরণ যোগ করা হয়েছেএবং অপসারণযোগ্য বিবরণফর্ম অ্যাট্রিবিউট টাইপের উপাদান সহ অ্যারে প্রেরণ করা হয়।

মনোযোগ!

বিবরণের রচনা পরিবর্তন করার প্রক্রিয়াটি বেশ সম্পদ-নিবিড়। ফর্মটি আসলে পুনরায় তৈরি করা হচ্ছে। এই বিষয়ে, ফর্মের বিবরণ সহ কাজ ব্যাচ মোডে সঞ্চালিত হয়।

Buyer নামের একটি নতুন ফর্ম অ্যাট্রিবিউট তৈরি করা যাক:


যোগ করা বিবরণ = নতুন অ্যারে;
বিস্তারিত যোগ করা হয়েছে. যোগ করুন (নতুন ফর্ম বৈশিষ্ট্য(“ক্রেতা”, নতুন টাইপ বর্ণনা (“ডিরেক্টরিলিঙ্ক। কাউন্টারপার্টিজ”), “ক্লায়েন্ট”));

// বিবরণের রচনায় পরিবর্তন
);

ফর্ম উপাদান পরিবর্তন

বস্তুর উপাদানের গঠন নিয়ন্ত্রণ করা পরিচালিত ফর্মএকটি সংগ্রহ আছে উপাদান. সংগ্রহের বিভিন্ন পদ্ধতি রয়েছে:

    ঢোকান (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    যোগ করুন (< Имя>, < ТипЭлемента>, < Родитель >)

    পরিমাণ ()

    অনুসন্ধান (< Имя >)

    সরান(< Элемент>, < Родитель>, < МестоРасположения >)

    মুছে ফেলা (< Элемент >)

আইটেম সংগ্রহ ক্লায়েন্ট এবং সার্ভার উভয়েই উপলব্ধ। একটি সংগ্রহ পরিবর্তন করুন (প্রথা সন্নিবেশ করান () , Add () , Move () এবং Delete () ) শুধুমাত্র সার্ভারে উপলব্ধ। আপনি ক্লায়েন্ট এবং সার্ভারে উভয় উপাদানের সংখ্যা (খুঁজুন () এবং গণনা () পদ্ধতিগুলি অনুসন্ধান করতে এবং পেতে পারেন। সংগ্রহ উপাদান হতে পারে:

  • ফর্মগ্রুপ;
  • ফর্ম টেবিল;
  • ফর্মফিল্ড;
  • ফর্ম বোতাম।

উপাদান গঠনের জন্য আপনি প্রোগ্রাম্যাটিকভাবে ইভেন্ট হ্যান্ডলারদের বরাদ্দ করতে পারেন। পদ্ধতি এই উদ্দেশ্যে উদ্দেশ্যে করা হয় সেটঅ্যাকশন(< ИмяСобытия>, < Действие >) .

কমান্ড, বিশদ বিবরণ এবং ফর্ম উপাদানগুলির সাথে কাজ করার কিছু সাধারণ উদাহরণ দেখি।

একটি কমান্ড এবং এর সংশ্লিষ্ট বোতাম যোগ করা হচ্ছে:

// একটি কমান্ড তৈরি করুন
টীম = দল। যোগ করুন( "পরিবর্তনের ইতিহাস");
টীম . কর্ম = "প্লাগ-ইন_ডিসপ্লে ইতিহাস"; // ফর্মে নির্দিষ্ট নামের একটি পদ্ধতি থাকতে হবে
টীম . শিরোনাম = "পরিবর্তনের ইতিহাস...";
// একটি বোতাম তৈরি করুন এবং এটি একটি কমান্ডের সাথে সংযুক্ত করুন
উপাদান = আইটেম। যোগ করুন( "পরিবর্তনের ইতিহাস", প্রকার ("ফর্মবাটন"));
Element.CommandName = "পরিবর্তনের ইতিহাস";

একটি বৈশিষ্ট্য এবং সংশ্লিষ্ট ইনপুট ক্ষেত্র যোগ করা হচ্ছে:

// যোগ করা বিশদ বিবরণ
যোগ করা বিবরণ = নতুন অ্যারে;
বিস্তারিত যোগ করা হয়েছে. যোগ করুন(নতুন ফর্ম প্রপস ("ক্রেতা", নতুন প্রকার বর্ণনা ( "ডিরেক্টরিলিঙ্ক। কাউন্টারপার্টি"), "ক্লায়েন্ট" ));
// বিবরণের রচনা পরিবর্তন করা
বিবরণ পরিবর্তন করুন (বিশদ বিবরণ যোগ করা হয়েছে);
// একটি ইনপুট ক্ষেত্র তৈরি করা এবং অ্যাট্রিবিউটের সাথে সংযোগ করা
উপাদান = আইটেম। যোগ করুন ("ক্রেতা" , টাইপ ("ফর্মফিল্ড"));
উপাদান . View = FormFieldView। প্রবেশ ক্ষেত্র;
উপাদান . PathToData= "ক্রেতা" ;

একটি ফর্ম উপাদানে একটি ইভেন্ট হ্যান্ডলার বরাদ্দ করা:

আইটেম গ্রাহক। সেটঅ্যাকশন("যখন এটি পরিবর্তিত হয়", "সংযুক্ত_BuyerOnChange");

&অনক্লায়েন্ট
পদ্ধতি Connected_BuyerOnChange(উপাদান)
// ইভেন্ট কর্ম
প্রক্রিয়া শেষ

মনোযোগ!

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

মনোযোগ!

আপনি প্রোগ্রাম্যাটিক অনুসন্ধান এবং পরিবর্তিত বিবরণ, কমান্ড এবং একটি পরিচালিত ফর্মের উপাদানগুলির উদাহরণ সহ প্রক্রিয়াকরণ ডাউনলোড করতে পারেন।

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

1C পরীক্ষার প্রশ্ন 10.05: প্ল্যাটফর্ম প্রফেশনাল। প্রধান ফর্ম বৈশিষ্ট্য কি জন্য ব্যবহৃত হয়?

  1. সম্পূর্ণরূপে ফর্মের জন্য ডেটা উৎস সংজ্ঞায়িত করে
  2. প্রধান অ্যাট্রিবিউটে উল্লিখিত টাইপের ডেটা সহ ফর্মের সাথে কাজ করার জন্য প্ল্যাটফর্মের মানক ক্ষমতাগুলি সংজ্ঞায়িত করে
  3. স্থানীয় ফর্ম প্রসঙ্গ থেকে প্রোগ্রাম্যাটিকভাবে বস্তুর বিবরণ অ্যাক্সেস করার ক্ষমতা প্রদান করা
  4. ফর্ম ডায়ালগে বস্তুর বিশদ বিবরণের ভিজ্যুয়ালাইজেশন প্রদান করে
  5. 2 এবং 3 সঠিক
  6. 1 এবং 2 সঠিক

সঠিক উত্তরটি ছয় নম্বর, উপরে দেখুন।


1C পরীক্ষার প্রশ্ন 10.06: প্ল্যাটফর্ম প্রফেশনাল। ফর্ম বিবরণ কি জন্য প্রয়োজন?
  1. কোন ফর্মে প্রদর্শিত, সম্পাদিত বা সংরক্ষিত ডেটার বিষয়বস্তু বর্ণনা করতে
  2. একটি ফর্মে ডেটা প্রদর্শন এবং সম্পাদনা করতে
  3. 1 এবং 2 সঠিক

সঠিক উত্তর তৃতীয় - উভয়.

1C পরীক্ষার প্রশ্ন 10.07: প্ল্যাটফর্ম পেশাদার। একটি নির্বিচারে নিয়ন্ত্রিত ফর্মে মৌলিক বৈশিষ্ট্য বরাদ্দ করতে...

  1. আপনাকে ফর্ম অ্যাট্রিবিউটের বৈশিষ্ট্যগুলিতে "প্রাথমিক বিবরণ" চেকবক্সটি চেক করতে হবে৷
  2. প্রয়োজনীয় ফর্ম অ্যাট্রিবিউট নির্বাচন করে আপনাকে ফর্মের "ডেটা" বৈশিষ্ট্য পূরণ করতে হবে

সঠিক উত্তরটি দ্বিতীয়:

1C পরীক্ষার প্রশ্ন 10.08: প্ল্যাটফর্ম প্রফেশনাল। একটি নির্বিচারে নিয়মিত ফর্মে প্রধান বিবরণ বরাদ্দ করতে...
  1. ফর্মটিকে প্রধান করা দরকার, প্রধান বিবরণ স্বয়ংক্রিয়ভাবে নির্ধারিত হয়
  2. আপনাকে ফর্ম অ্যাট্রিবিউটের বৈশিষ্ট্যগুলিতে "প্রাথমিক বিবরণ" চেকবক্সটি চেক করতে হবে৷
  3. আপনাকে "সম্পাদনা" মেনুতে যেতে হবে, "মৌলিক বিবরণ" এবং পছন্দসই মান নির্বাচন করতে হবে
  4. প্রয়োজনীয় ফর্ম অ্যাট্রিবিউট নির্বাচন করে আপনাকে ফর্মের "ডেটা" বৈশিষ্ট্য পূরণ করতে হবে

চতুর্থ সঠিক উত্তর হল:

প্রধান বিবরণ গাঢ়ভাবে হাইলাইট করা হয়েছে:

1C পরীক্ষার প্রশ্ন 10.09: প্ল্যাটফর্ম পেশাদার। যদি একটি প্রধান ফর্ম বৈশিষ্ট্য আছে, এটি অন্য প্রধান বৈশিষ্ট্য যোগ করা সম্ভব?
  1. এটা অসম্ভব
  2. ফর্ম অ্যাট্রিবিউট সম্পত্তিতে উপযুক্ত মান নির্ধারণ করে এটি সম্ভব
  3. "ফর্ম" অবজেক্ট অ্যাক্সেস করার সময় এটি শুধুমাত্র প্রোগ্রাম্যাটিকভাবে সম্ভব
  4. সংশ্লিষ্ট ফর্ম সম্পত্তিতে আরেকটি মান যোগ করে এটি সম্ভব

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

1C পরীক্ষার প্রশ্ন 10.113: প্ল্যাটফর্ম প্রফেশনাল। চিত্রে উপস্থাপিত ফর্মের বিবরণগুলির মধ্যে কোনটি প্রধান?

  1. মুদ্রা হার তালিকা
  2. ডিরেক্টরি অবজেক্ট
  3. ডিরেক্টরি ফর্মের মৌলিক বিবরণ নেই
  4. ডিরেক্টরি ফর্মের সমস্ত মৌলিক বিবরণ আছে
দ্বিতীয় সঠিক উত্তরটি মোটা অক্ষরে।

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

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

একটি ফর্ম উপাদান যোগ করা

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

নির্বাচন করার পরে, পছন্দসই উপাদান উইন্ডোতে প্রদর্শিত হবে উপাদান.

পরিচালিত ফর্ম উপাদান মাঠ

চলুন একটি পরিচালিত ফর্ম উপাদান তাকান মাঠ. এই উপাদানটি ফর্মে তথ্য লিখতে হবে। এবং কোন তথ্য প্রদর্শন করতে. আপনি ফর্মটিতে এই উপাদানটি যোগ করার পরে, ফর্ম উপাদান বৈশিষ্ট্য প্যালেট ডানদিকে খুলবে। আপাতত, আপনার দুটি বৈশিষ্ট্যে আগ্রহী হওয়া উচিত - ডেটাপাথ এবং ভিউ।

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

এখন আমাদের সাম্প্রতিক যোগ করা ফর্ম উপাদানটিকে বিশদগুলির একটির সাথে সংযুক্ত করা যাক৷ এটি করার জন্য, উপাদানটির PathKData বৈশিষ্ট্য থেকে পছন্দসই বৈশিষ্ট্যটি নির্বাচন করুন৷

এর পরে, DataPath এবং View বৈশিষ্ট্যগুলি পূরণ করা হবে, এবং উপাদানটি নিজেই ফর্ম ভিউতে প্রদর্শিত হবে।

উপাদান সম্পত্তি মনোযোগ দিন দেখুন. এই বৈশিষ্ট্যটি ইনপুট ক্ষেত্রের কার্যকারিতা নির্ধারণ করে। আপনি এই সম্পত্তির জন্য বিভিন্ন মান নির্বাচন করতে পারেন।

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

এই সম্পত্তি মান দেখুনইনপুট ক্ষেত্রগুলি নির্বাচন করার জন্য সুবিধাজনক যখন আপনাকে কেবল ব্যবহারকারীকে সহায়তার তথ্য দেখাতে হবে৷

এখন টাইপের সাথে একটি নতুন ফর্ম উপাদান যোগ করা যাক প্রবেশ ক্ষেত্রএবং প্রপসের সাথে এটি সংযুক্ত করুন বিস্তারিত তারিখআমাদের কাছে ইতিমধ্যে পরিচিত DataPath সম্পত্তির মাধ্যমে

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

সুতরাং, আমরা উপসংহারে পৌঁছেছি যে ইনপুট ক্ষেত্রের কার্যকারিতা বৈশিষ্ট্যের ধরণের উপর নির্ভর করে।

টাইপ সঙ্গে প্রপস জন্য বুলিয়াননিম্নলিখিত দেখুন সম্পত্তি মান উপলব্ধ হবে.

এবং রেফারেন্স টাইপের বৈশিষ্ট্যগুলির জন্য, ভিউ প্রপার্টির অন্যান্য মানগুলি উপলব্ধ হবে।

ব্যবহারিক উদাহরণ ব্যবহার করে ফর্ম উপাদানগুলির সাথে আরও বিশদ কাজ "1C-তে বিকাশের মৌলিক বিষয়: ট্যাক্সি" বইটিতে দেওয়া হয়েছে। 12টি ধাপে পরিচালিত অ্যাপ্লিকেশন ডেভেলপমেন্ট"।

কখনও কখনও মনে হয় যে 1C তে প্রোগ্রামিং ভাষা শেখা জটিল এবং কঠিন। আসলে, 1C তে প্রোগ্রামিং করা সহজ। আমার বইগুলি আপনাকে দ্রুত এবং সহজে 1C-তে প্রোগ্রামিং আয়ত্ত করতে সাহায্য করবে: এবং "1C-তে উন্নয়নের মৌলিক বিষয়গুলি: ট্যাক্সি"

আমার বই "প্রোগ্রামিং ইন 1C ইন 11 ধাপ" এর সাহায্যে 1C-তে প্রোগ্রামিং শিখুন

  1. কোন জটিল প্রযুক্তিগত পদ.
  2. ব্যবহারিক উপাদানের 700 পৃষ্ঠারও বেশি।
  3. প্রতিটি কাজের সাথে একটি অঙ্কন (স্ক্রিনশট) থাকে।
  4. বাড়ির কাজের জন্য সমস্যার একটি সংগ্রহ।
  5. বইটি পরিষ্কার এবং সহজ ভাষায় লেখা হয়েছে - একজন শিক্ষানবিশের জন্য।

এই বইটি তাদের জন্য উপযুক্ত যারা ইতিমধ্যেই প্রোগ্রামিং শুরু করেছেন এবং এই বিষয় নিয়ে কিছু অসুবিধার সম্মুখীন হচ্ছেন এবং যারা দীর্ঘদিন ধরে প্রোগ্রামিং করছেন, কিন্তু 1C পরিচালিত ফর্মগুলির সাথে কখনও কাজ করেননি তাদের জন্য।

  1. জটিল প্রযুক্তিগত পদ ছাড়া;
  2. ব্যবহারিক উপাদানের 600 পৃষ্ঠারও বেশি;
  3. প্রতিটি উদাহরণ একটি অঙ্কন (স্ক্রিনশট) দ্বারা অনুষঙ্গী হয়;
  4. বইটি পিডিএফ ফরম্যাটে ইমেইলে পাঠানো হয়েছে। যে কোন ডিভাইসে খোলা যাবে!

15% ডিসকাউন্টের জন্য প্রচার কোড - 48PVXHeYu


যদি এই পাঠটি আপনাকে কোনো সমস্যা সমাধান করতে সাহায্য করে, আপনি এটি পছন্দ করেন বা এটি দরকারী বলে মনে করেন, তাহলে আপনি যে কোনো পরিমাণ দান করে আমার প্রকল্পকে সমর্থন করতে পারেন:

আপনি ম্যানুয়ালি অর্থ প্রদান করতে পারেন:

Yandex.Money - 410012882996301
ওয়েব মানি - R955262494655

আমার দলে যোগ দিন।

এবং কোড স্ট্রাকচারিং-এ ডেটা ট্রান্সফার অবজেক্ট, 1C 8.2 পরিবেশে নিয়ন্ত্রিত ফর্ম।

ভূমিকা

আসুন "পরিচালিত ফর্ম" ধারণা এবং 1C প্ল্যাটফর্মের সম্পর্কিত ধারণাগুলির একটি সংক্ষিপ্ত বিবরণ দিয়ে শুরু করি। প্ল্যাটফর্ম বিশেষজ্ঞরা এই বিভাগটি এড়িয়ে যেতে চাইতে পারেন।

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

  • পুরু ক্লায়েন্ট (স্বাভাবিক এবং পরিচালিত লঞ্চ মোড)
  • পাতলা ক্লায়েন্ট
  • ওয়েব ক্লায়েন্ট
পরিচালিত অ্যাপ্লিকেশন নতুন প্রযুক্তির উপর নির্মিত ফর্ম ব্যবহার করে। তাদের ডাকা হয় পরিচালিত ফর্ম. স্থানান্তর সহজ করার জন্য, পূর্ববর্তী ফর্মগুলি (তথাকথিত নিয়মিত ফর্মগুলি)ও সমর্থিত, কিন্তু তাদের কার্যকারিতা বিকাশ করা হয়নি এবং তারা শুধুমাত্র পুরু ক্লায়েন্ট লঞ্চ মোডে উপলব্ধ।
একজন বিকাশকারীর জন্য পরিচালিত ফর্মগুলির প্রধান পার্থক্য:
  • ঘোষণামূলক, "পিক্সেল বাই পিক্সেল" কাঠামোর বর্ণনা নয়। যখন ফর্মটি প্রদর্শিত হয় তখন উপাদানগুলির নির্দিষ্ট স্থান নির্ধারণ সিস্টেম দ্বারা স্বয়ংক্রিয়ভাবে সঞ্চালিত হয়।
  • ফর্মের সমস্ত কার্যকারিতা হিসাবে বর্ণনা করা হয় বিস্তারিতএবং দল. বিবরণ হল সেই ডেটা যা ফর্মটি কাজ করে এবং কমান্ডগুলি হল কার্য সম্পাদন করা।
  • ফর্মটি সার্ভার এবং ক্লায়েন্ট উভয়েই চলে।
  • ক্লায়েন্ট প্রসঙ্গে, প্রায় সব ধরনের অ্যাপ্লিকেশন অনুপলব্ধ, এবং সেই অনুযায়ী ইনফোবেসে ডেটা পরিবর্তন করা অসম্ভব।
  • প্রতিটি পদ্ধতি বা ফর্ম ভেরিয়েবলের জন্য, এটি নির্দিষ্ট করা আবশ্যক সংকলন নির্দেশিকা, এক্সিকিউশন অবস্থান (ক্লায়েন্ট বা সার্ভার) এবং ফর্ম প্রসঙ্গে অ্যাক্সেস নির্ধারণ করে।
ফর্ম পদ্ধতি কম্পাইল করার জন্য নির্দেশাবলী তালিকা করা যাক:
  • &অনক্লায়েন্ট
  • সার্ভারে
  • &অনসার্ভার প্রসঙ্গ ছাড়াই
  • &OnClientOnServer প্রসঙ্গ ছাড়াই
আসুন আমরা উপরেরটি চিত্রিত করি। স্ক্রিনশটটি একটি পরিচালিত ফর্মের একটি উদাহরণ এবং উন্নয়ন মোডে এর মডিউল দেখায়৷ ঘোষণামূলক বিবরণ, প্রপস, সংকলন নির্দেশিকা, ইত্যাদি খুঁজুন।

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

এর সমস্যা সংজ্ঞায়িত করা যাক

1C প্ল্যাটফর্মের নতুন সংস্করণ সক্রিয়ভাবে ব্যবহৃত হওয়ার পর বেশ কিছু বছর কেটে গেছে এবং 1C এবং এর অনেক অংশীদার উভয়ের দ্বারা অনেকগুলি সমাধান (কনফিগারেশন) প্রকাশিত হয়েছে।
এই সময়ের মধ্যে, বিকাশকারীরা ফর্ম তৈরি করার সময় ক্লায়েন্ট-সার্ভার ইন্টারঅ্যাকশনের নীতিগুলির একটি সাধারণ বোঝার বিকাশ করেছে এবং নতুন স্থাপত্য বাস্তবতায় সফ্টওয়্যার মডিউলগুলি বাস্তবায়নের পদ্ধতি কি পরিবর্তিত হয়েছে?

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

  • অ-তথ্যমূলক শব্দ "সাধারণ, পরিষেবা, সহায়ক"।
  • ভীতু ক্লায়েন্ট এবং সার্ভার পদ্ধতি আলাদা করার চেষ্টা করে।
  • পদ্ধতিগুলি প্রায়শই ইন্টারফেস উপাদান দ্বারা গোষ্ঠীবদ্ধ হয় "টেবুলার অংশ পণ্যগুলির সাথে কাজ করা, যোগাযোগের তথ্য"।
  • পদ্ধতি এবং কোড গ্রুপের নির্বিচারে ব্যবস্থা। উদাহরণস্বরূপ, ইভেন্ট হ্যান্ডলাররা এক ফর্মে শীর্ষে থাকতে পারে, অন্য ফর্মে নীচে, তৃতীয়টিতে হাইলাইট করা হয়নি ইত্যাদি।
  • এবং আসুন ভুলে গেলে চলবে না যে এই সমস্ত একটি কনফিগারেশনের মধ্যে রয়েছে।
  • হ্যাঁ, এমন কনফিগারেশন রয়েছে যেখানে "সাধারণ, পরিষেবা, সহায়ক" শব্দগুলি সর্বদা একই জায়গায় থাকে তবে...
কেন আপনি কোড গঠন প্রয়োজন?
  • রক্ষণাবেক্ষণের সরলীকরণ।
  • শেখার সহজ করা।
  • রেকর্ডিং সাধারণ/গুরুত্বপূর্ণ/সফল নীতি।
  • ...আপনার বিকল্প
কেন 1C থেকে বিদ্যমান উন্নয়ন মান সাহায্য করে না?
আইটিএস ডিস্কে এবং বিভিন্ন "ডেভেলপার'স গাইড..."-এ প্রকাশিত নীতিগুলি দেখুন যা একটি পরিচালিত ফর্ম লেখার সময় সুপারিশ করা হয়৷
  • সার্ভার কলের সংখ্যা কমিয়ে দিন।
  • সার্ভারে সর্বোচ্চ কম্পিউটিং।
  • নন-প্রসঙ্গগত সার্ভার কলগুলি প্রাসঙ্গিকগুলির চেয়ে দ্রুততর।
  • ক্লায়েন্ট-সার্ভার যোগাযোগের কথা মাথায় রেখে প্রোগ্রাম।
  • এবং তাই
এগুলো এমন স্লোগান যা একেবারেই সত্য, কিন্তু এগুলো কিভাবে বাস্তবায়ন করা যায়? কলের সংখ্যা কীভাবে কম করবেন, ক্লায়েন্ট-সার্ভার মোডে প্রোগ্রাম করার অর্থ কী?

নকশা নিদর্শন বা প্রজন্মগত জ্ঞান

ক্লায়েন্ট-সার্ভার ইন্টারঅ্যাকশন কয়েক দশক ধরে বিভিন্ন সফ্টওয়্যার প্রযুক্তিতে ব্যবহৃত হচ্ছে। পূর্ববর্তী বিভাগে বর্ণিত প্রশ্নগুলির উত্তর দীর্ঘকাল ধরে পরিচিত এবং দুটি মৌলিক নীতিতে সংক্ষিপ্ত করা হয়েছে।
  • দূরবর্তী সম্মুখভাগ(এরপরে রিমোট অ্যাক্সেস ইন্টারফেস হিসাবে উল্লেখ করা হয়েছে)
  • ডেটা ট্রান্সফার অবজেক্ট(এরপরে ডেটা ট্রান্সফার অবজেক্ট হিসাবে উল্লেখ করা হয়েছে)
মার্টিন ফাউলারের একটি শব্দ, এই নীতিগুলির তার বর্ণনা:
  • দূরবর্তী অ্যাক্সেসের জন্য সম্ভাব্য প্রতিটি বস্তু অবশ্যই থাকতে হবে কম গ্রানুলারিটি ইন্টারফেস, যা একটি নির্দিষ্ট পদ্ধতি সঞ্চালনের জন্য প্রয়োজনীয় কলের সংখ্যা কমিয়ে দেবে। ... একটি চালান এবং এর সমস্ত আইটেম আলাদাভাবে অনুরোধ করার পরিবর্তে, আপনাকে একটি অনুরোধে সমস্ত চালান আইটেম পড়তে এবং আপডেট করতে হবে৷ এটি বস্তুর সম্পূর্ণ কাঠামোকে প্রভাবিত করে...মনে রাখবেন: দূরবর্তী অ্যাক্সেস ইন্টারফেস ডোমেন লজিক ধারণ করে না.
  • ...যদি আমি একজন যত্নশীল মা হতাম, আমি অবশ্যই আমার সন্তানকে বলতাম: "কখনও ডেটা ট্রান্সফার অবজেক্ট লিখবেন না!" বেশিরভাগ ক্ষেত্রে, ডেটা স্থানান্তর বস্তুর চেয়ে বেশি কিছু নয় স্ফীত ক্ষেত্র সেট... এই ঘৃণ্য দানবের মূল্য শুধুমাত্র সম্ভাবনার মধ্যেই নিহিত এক কলে নেটওয়ার্কে একাধিক তথ্য প্রেরণ করুন- একটি কৌশল যা বিতরণ সিস্টেমের জন্য অত্যন্ত গুরুত্বপূর্ণ।
1C প্ল্যাটফর্মে টেমপ্লেটের উদাহরণ
একটি পরিচালিত ফর্ম বিকাশ করার সময় বিকাশকারীর কাছে উপলব্ধ অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেসে এই নীতিগুলির অনেক উদাহরণ রয়েছে।
উদাহরণস্বরূপ, OpenForm() পদ্ধতি, একটি সাধারণ "রুক্ষ" ইন্টারফেস।
খোলার পরামিতি = নতুন কাঠামো("প্যারামিটার1, প্যারামিটার2, প্যারামিটার3", মান1, মান2, মান3); ফর্ম = OpenForm(FormName, Opening Parameters);
v8.1-এ গৃহীত শৈলীর সাথে তুলনা করুন।
ফর্ম = GetForm(FormName); Form.Parameter1 = Value1; Form.Parameter2 = Value2; Form.Open();

একটি পরিচালিত ফর্মের প্রসঙ্গে, অনেক "ডেটা ট্রান্সফার অবজেক্ট" আছে। আপনি নির্বাচন করতে পারেন পদ্ধতিগতএবং বিকাশকারী-সংজ্ঞায়িত.
সিস্টেম এক বা একাধিক ফর্ম ডেটা উপাদানের আকারে ক্লায়েন্টে একটি অ্যাপ্লিকেশন অবজেক্টের মডেল করে। ফর্মের বিবরণের রেফারেন্স ছাড়া এগুলি তৈরি করা অসম্ভব।

  • ডেটাফর্ম স্ট্রাকচার
  • ডেটাফর্ম সংগ্রহ
  • ডাটাফর্ম স্ট্রাকচার উইথ কালেকশন
  • DataShapesTree
সিস্টেম ডাটা ট্রান্সফার অবজেক্টের রূপান্তর অ্যাপ্লিকেশন প্রকারে এবং তদ্বিপরীত নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে সঞ্চালিত হয়:
  • ValueInFormData()
  • ফর্মডেটা ভ্যালু()
  • কপিফর্মডেটা()
  • ValueInFormAttributes()
  • FormAttributesValue()
একটি বিদ্যমান সমাধান অভিযোজিত করার সময় প্রায়ই স্পষ্ট রূপান্তর ব্যবহার করা হয়। পদ্ধতিগুলি ইনপুট প্যারামিটারগুলি আশা করতে পারে (বৈশিষ্ট্যগুলি ব্যবহার করুন) যেমন FormDataCollection এর পরিবর্তে ValueTable, অথবা পদ্ধতিটি একটি অ্যাপ্লিকেশন অবজেক্টের প্রেক্ষাপটে সংজ্ঞায়িত করা হয়েছে এবং ফর্ম থেকে সরাসরি কলের জন্য অনুপলব্ধ হয়ে গেছে৷
উদাহরণ 1C v8.1:
// FillUserCache(DepartmentLink) ফর্মের প্রসঙ্গে ক্লায়েন্টের উপর
উদাহরণ 1C v8.2:
// সার্ভারে ফর্মের প্রেক্ষাপটে ProcessingObject = Form AttributesValue("Object"); ProcessingObject.FillUserCache(DepartmentRef); ValueVFormAttributes(ProcessingObject, "Object");

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

  • আদিম প্রকার (স্ট্রিং, সংখ্যা, বুলিয়ান)
  • গঠন
  • চিঠিপত্র
  • অ্যারে
  • অ্যাপ্লিকেশন বস্তুর লিঙ্ক (অনন্য শনাক্তকারী এবং পাঠ্য উপস্থাপনা)
উদাহরণ: পদ্ধতিটি স্থিতি পরিবর্তন করার জন্য আদেশের একটি তালিকা গ্রহণ করে এবং ক্লায়েন্টের কাছে ত্রুটিগুলির একটি বিবরণ ফেরত দেয়।
&OnServerWithoutContext ফাংশন ServerChangeOrderStatus(Orders, NewStatus) Errors = New Match(); // [order][error description] প্রতিটি অর্ডারের জন্য অর্ডার সাইকেল স্টার্ট ট্রানজেকশন(); DocOb = Order.GetObject(); …. অন্যান্য কর্ম, শুধুমাত্র আদেশের সাথেই সম্ভব নয়... ব্যতিক্রম বাতিল লেনদেন(); Errors.Insert(অর্ডার, ErrorDescription()); শেষ প্রচেষ্টা; এন্ডসাইকেল; রিটার্ন ত্রুটি; এন্ডফাংশন // সার্ভারচেঞ্জঅর্ডার স্ট্যাটাস()

কোড গঠন

পরিচালিত ফর্ম মডিউলটি প্রতিফলিত হওয়া উচিত এবং সমাধানের দিকে যাওয়া উচিত এমন প্রধান লক্ষ্যগুলি।
  • ক্লায়েন্ট এবং সার্ভার কোড পরিষ্কার বিচ্ছেদ.আসুন ভুলে যাবেন না যে কার্যকর করার সময় এগুলি দুটি ইন্টারঅ্যাকটিং প্রক্রিয়া, যার প্রতিটিতে উল্লেখযোগ্যভাবে আলাদা উপলব্ধ কার্যকারিতা রয়েছে।
  • দূরবর্তী অ্যাক্সেস ইন্টারফেসের পরিষ্কার সনাক্তকরণ, কোন সার্ভার পদ্ধতি ক্লায়েন্ট থেকে কল করা যেতে পারে এবং কোনটি পারে না? দূরবর্তী ইন্টারফেস পদ্ধতির নাম "সার্ভার" উপসর্গ দিয়ে শুরু হয়। এটি আপনাকে কোডটি পড়ার সময় সার্ভারে নিয়ন্ত্রণের স্থানান্তর অবিলম্বে দেখতে দেয় এবং প্রাসঙ্গিক সহায়তার ব্যবহারকে সহজ করে। নোট করুন যে অফিসিয়াল সুপারিশ (ITS) পোস্টফিক্সের সাথে নামকরণের পদ্ধতির পরামর্শ দেয়, উদাহরণস্বরূপ, ChangeOrderStatusOnServer()। যাইহোক, আমরা পুনরাবৃত্তি করি যে সমস্ত সার্ভার পদ্ধতি ক্লায়েন্ট থেকে কল করা যায় না, এবং তাই সংকলন অবস্থানের পরিবর্তে যৌক্তিক অ্যাক্সেসযোগ্যতা আরও গুরুত্বপূর্ণ। অতএব, উপসর্গ "সার্ভার" দিয়ে আমরা শুধুমাত্র ক্লায়েন্টের জন্য উপলব্ধ পদ্ধতিগুলি চিহ্নিত করি; আসুন উদাহরণ পদ্ধতিটিকে কল করি ServerChangeOrderStatus()।
  • পঠনযোগ্যতা।স্বাদের বিষয়, সার্ভারে একটি ফর্ম তৈরি করার পদ্ধতি এবং দূরবর্তী অ্যাক্সেসের পদ্ধতিগুলি দিয়ে মডিউল শুরু হলে আমরা অর্ডারটি গ্রহণ করি।
  • রক্ষণাবেক্ষণযোগ্যতা।নতুন কোড যোগ করার জন্য একটি পরিষ্কার অবস্থান থাকতে হবে। একটি গুরুত্বপূর্ণ বিষয় হল যে পদ্ধতি টেমপ্লেটগুলি স্বয়ংক্রিয়ভাবে কনফিগারার দ্বারা তৈরি করা হয় মডিউলের শেষে যোগ করা হয়। যেহেতু ফর্ম উপাদানগুলির জন্য ইভেন্ট হ্যান্ডলারগুলি প্রায়শই স্বয়ংক্রিয়ভাবে তৈরি হয়, তাই সংশ্লিষ্ট ব্লকটি সর্বশেষে অবস্থিত, যাতে প্রতিটি হ্যান্ডলারকে মডিউলের অন্য জায়গায় টেনে না নিয়ে যায়।
নীচে মডিউলের মৌলিক কাঠামো রয়েছে যা তালিকাভুক্ত লক্ষ্যগুলি বাস্তবায়ন করে।
  • গ্রাফিকাল বিকল্প - স্পষ্টভাবে কার্যকর করার প্রধান প্রবাহ দেখায়।
  • টেক্সট বিকল্পটি একটি নতুন ফর্ম মডিউলে একটি কাঠামো দ্রুত সন্নিবেশ করার জন্য একটি টেমপ্লেট ডিজাইনের একটি উদাহরণ।

//////////////////////////////////////////////////////////////////////////////// // <(c) Автор=""তারিখ =""/> // <Описание> // // /////////////////////////////////////// ///////////////////// মডিউল পরিবর্তনশীল //////////////// //////////////////////////////////////// ///////// // সার্ভারে //******* সার্ভারে ইভেন্টস ******* সার্ভারে তৈরি হলে সার্ভার পদ্ধতিতে (ব্যর্থতা, স্ট্যান্ডার্ড প্রসেসিং) / /হ্যান্ডলারের বিষয়বস্তু সন্নিবেশ করুন পদ্ধতির শেষ //******* রিমোট অ্যাক্সেস ইন্টারফেস ******* //******* সার্ভারে ব্যবসায়িক যুক্তি ******* //////////////////////////////////////// /////////////////////// ক্লায়েন্ট এবং সার্ভারের সাধারণ পদ্ধতি ////////////// ///////////////////////////////////////// ///// /////// // ক্লায়েন্টের উপর //******* ক্লায়েন্টের উপর ব্যবসায়িক যুক্তি ******* //******* দল * ****** //******** ক্লায়েন্ট ইভেন্টস ******* /////////////////////// ///////////////////////////////////////// // // প্রধান প্রোগ্রাম অপারেটর

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