অন্তর্নির্মিত ভাষা অনুরোধ বস্তুর সাথে কাজ করার পদ্ধতি। "ভাষা" কনফিগারেশন বস্তুর উদ্দেশ্য কি?

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

1C-এর অন্তর্নির্মিত ভাষা: এন্টারপ্রাইজ সিস্টেমের অন্যান্য প্রোগ্রামিং ভাষার সাথে অনেক মিল রয়েছে, তবে এটি তাদের কোনোটির সরাসরি অ্যানালগ নয়। এর সবচেয়ে উল্লেখযোগ্য বৈশিষ্ট্য:

· নরম টাইপিং (একটি ভেরিয়েবলের ধরন নির্ধারণ করা হয় এতে যে মান রয়েছে এবং অপারেশন চলাকালীন পরিবর্তন হতে পারে);

· অ্যাপ্লিকেশন প্রকারের সফ্টওয়্যার বিবরণের অভাব (কনফিগারেশন অবজেক্ট যোগ করার সময় এগুলি তৈরি করা হয়);

· ঘটনা-ভিত্তিক অন্তর্নির্মিত ভাষা;

· সমস্ত অপারেটরের রাশিয়ান এবং ইংরেজি উভয় বানান রয়েছে, যা একই সাথে ব্যবহার করা যেতে পারে।

কনফিগারেশন মডিউল

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

নিম্নলিখিত ধরণের সফ্টওয়্যার মডিউলগুলি আলাদা করা হয়েছে:

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

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

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

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

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

প্রসঙ্গ

1C: এন্টারপ্রাইজ সিস্টেমে, প্রসঙ্গটি মডিউলের পরিবেশকে বোঝায়, যেমন ভেরিয়েবল, বস্তু, বৈশিষ্ট্য, পদ্ধতি এবং ঘটনা এটি উপলব্ধ. আমরা নিম্নলিখিত ধরণের প্রসঙ্গগুলিকে আলাদা করতে পারি, এবং সেই অনুযায়ী, রপ্তানি করা ভেরিয়েবল, পদ্ধতি এবং ফাংশনগুলির দৃশ্যমানতার জন্য নিয়মগুলি:

· বৈশ্বিক প্রেক্ষাপটে, অন্যান্য সমস্ত প্রসঙ্গে উপলব্ধ, নিম্নলিখিত অংশগুলি নিয়ে গঠিত:

§ বৈশ্বিক প্রেক্ষাপটের বৈশিষ্ট্য, পদ্ধতি এবং ঘটনা (উদাহরণস্বরূপ, সম্পত্তি কাজের তারিখ);

§ সিস্টেম গণনা এবং সিস্টেম মান সেট (উদাহরণস্বরূপ, কোড ডায়ালগ ফেরত দিনএবং প্রতীক).

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

· একটি অ্যাপ্লিকেশন মডিউল বা বহিরাগত সংযোগ মডিউল প্রসঙ্গেরপ্তানি পদ্ধতি এবং সাধারণ মডিউল ফাংশন উপলব্ধ.

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

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

প্রসঙ্গগুলির মধ্যে সম্পর্কটি পরিকল্পিতভাবে দেখানো হয়েছে চাল 2.চালু চাল 3জার্নাল ফর্ম মডিউল এবং নথি মডিউলের সম্ভাব্য মিথস্ক্রিয়া চিত্রিত করে।


পদ্ধতি এবং ফাংশন

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

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

উদাহরণ 1:

পদ্ধতি গণনা()

পরিমাণ = মূল্য * পরিমাণ;

পদ্ধতির সমাপ্তি

গণনা(); // পদ্ধতিতে কল করুন

উদাহরণ 2:

পেরেম গ্লোব;

// পদ্ধতির বর্ণনা

পদ্ধতি গণনা (Par1, Par2, ParZ) রপ্তানি

Glob = Glob + Par1 + Par2 + ParZ;

পদ্ধতির সমাপ্তি

গণনা (5, 6, 7); // পদ্ধতিতে কল করুন

উদাহরণ 3:

পেরেম গ্লোব;

// ফাংশনের বর্ণনা

ফাংশন গণনা (Par1, Par2, ParZ) রপ্তানি

লোক = Glob + Par1 + Par2 + ParZ;

রিটার্ন লক;

এন্ড ফাংশন

Res = Calc(5, 6, 7); // ফাংশন কল

তথ্যের ধরণ

সংখ্যা, স্ট্রিং, তারিখ, বুলিয়ান, অনির্ধারিত, নাল (ডাটাবেস টেবিলে অনির্দিষ্ট মানের জন্য)

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

ভেরিয়েবল ঘোষণা

নিম্নলিখিত ক্ষেত্রে প্রোগ্রামে ভেরিয়েবল উপস্থিত হয়:

ভেরিয়েবল অপারেটর ব্যবহার করে ঘোষণা করার পর।

পেরেম<Имя_переменной>[রপ্তানি];

পরিবর্তনশীল A, B;

অ্যাসাইনমেন্ট অপারেটরের বাম দিকে ভেরিয়েবল নামের প্রথম বসানোর পরে।

উদাহরণ:

সম্পাদিত ডায়ালগ উপাদানগুলির সনাক্তকারীর নাম নির্ধারণ করার সময়;

· পদ্ধতির আনুষ্ঠানিক পরামিতি সেট করার সময়।

কাস্ট

টাইপ কাস্টিং স্পষ্ট বা অন্তর্নিহিত হতে পারে।

স্পষ্ট কাস্টিংয়ের জন্য, নিম্নলিখিত ফাংশনগুলি বিদ্যমান: সংখ্যা, স্ট্রিং, তারিখ, বুলিয়ান। ইমপ্লিসিট টাইপ কাস্টিং এক্সপ্রেশন মূল্যায়ন করার সময় সিস্টেম দ্বারা স্বয়ংক্রিয়ভাবে সঞ্চালিত হয়।

উদাহরণ: সাংখ্যিক ভেরিয়েবল MonthNumber-এর মান নিহিতভাবে একটি স্ট্রিং-এ রূপান্তরিত হয় এবং অন্য স্ট্রিং-এ যুক্ত হয়:

A = "মাস" + মাসসংখ্যা;

ডিরেক্টরি

ডিরেক্টরিগুলির সাথে কাজ নিম্নলিখিত বস্তুগুলি ব্যবহার করে করা হয়:

· ডিরেক্টরি ম্যানেজার।সমস্ত কনফিগারেশন রেফারেন্স বই অ্যাক্সেস প্রদান করে. এই অবজেক্টের বৈশিষ্ট্যগুলি ডিরেক্টরির নামের সাথে মিলে যায় এবং ডিরেক্টরি ম্যানেজার টাইপের অবজেক্ট ধারণ করে।

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

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

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

· ডিরেক্টরি নির্বাচন।ডিরেক্টরি উপাদানগুলির মাধ্যমে পুনরাবৃত্তি করার ক্ষমতা প্রদান করে। নমুনা সরাসরি বা শ্রেণিবদ্ধ হতে পারে।

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

1C: এন্টারপ্রাইজ সিস্টেমে?

1. কনফিগারেশন এবং ডাটাবেস পাঠ্য বিন্যাসে সংরক্ষণ করা হয়ইউনিকোড

3. কোন সঠিক উত্তর নেই

6.75 কি উদ্দেশ্যে কনফিগারেশন এবং ডাটাবেস পাঠ্য বিন্যাসে সংরক্ষণ করা হয়ইউনিকোড?

1. ইউনিকোড ফর্ম্যাট তথ্য উপস্থাপনের অপরিবর্তনীয়তা (অপারেটিং সিস্টেম সফ্টওয়্যার প্ল্যাটফর্মের স্বাধীনতা) নিশ্চিত করে

2. বিন্যাসইউনিকোড আপনাকে 1C: এন্টারপ্রাইজ সিস্টেমে বিভিন্ন ভাষা সমর্থন করতে দেয়

3. কোন সঠিক উত্তর নেই

6.76 আন্তর্জাতিকীকরণ প্রক্রিয়া নির্ধারণ করা হয়েছে. ..

1. প্রযুক্তি প্ল্যাটফর্ম 1C: এন্টারপ্রাইজ

2. প্রয়োগ করা সমাধান

3. উত্তর 1 এবং 2 সঠিক

4. কোন সঠিক উত্তর নেই

6.77 একটি স্থানীয়করণ কোড কি?

1. একটি ভাষা কোড এবং একটি দেশের কোড নিয়ে গঠিত একটি স্ট্রিং যা বিশ্বের কিছু অঞ্চলকে চিহ্নিত করে

2. সফ্টওয়্যার পণ্য কোড (রেজিস্ট্রেশন ফর্মে নির্দেশিত, ডেলিভারি কিটে অন্তর্ভুক্ত ডকুমেন্টেশন)

3. রূপান্তরের জন্য ফর্ম্যাট স্ট্রিং বিকল্প

4. তার উত্তর সঠিক

6.78 এটা কি সত্য যে 1C:Enterprise 8-এ যেকোনো টেক্সট তথ্য একই সাথে বিভিন্ন ভাষার অক্ষর অন্তর্ভুক্ত করতে পারে?

1. হ্যাঁ, যেহেতু সমস্ত কনফিগারেশন এবং ডাটাবেস পাঠ্য বিন্যাসে সংরক্ষণ করা হয়ইউনিকোড

2. ইনফোবেস তৈরি করার সময় নির্দিষ্ট সেটিংসের উপর নির্ভর করে

3. শুধুমাত্র যদি এটি কনফিগারেশন দ্বারা প্রদান করা হয়

6.79 "ভাষা" কনফিগারেশন অবজেক্টের উদ্দেশ্য কী?

1. বিভিন্ন ভাষায় একটি প্রোগ্রাম ইন্টারফেস তৈরি করা

2. বিভিন্ন ভাষায় পাঠ্য নথি তৈরি করা

3. এই ধরনের একটি বস্তু 1C: এন্টারপ্রাইজ 8 এ বিদ্যমান নেই

6.80 কনফিগারেশন দেখার (সম্পাদনা) জন্য আমি কিভাবে ভাষা পরিবর্তন করতে পারি?

1. "NUM" বোতামের ডানদিকে স্ট্যাটাস বারে অবস্থিত ভাষা নির্বাচন বোতামটি ব্যবহার করে৷

2. মেনু আইটেমের মাধ্যমে "কনফিগারেশন - কনফিগারেশন সম্পাদনা ভাষা"

3. 1 সি: এন্টারপ্রাইজে এই সম্ভাবনা নেই

4. ভার্পা 1 এবং 2 উত্তর দেয়

6.81 অন্তর্নির্মিত ভাষা অপারেটরদের বানান কি?

1. শুধুমাত্র রাশিয়ান লেখা

3.

6.82 বিল্ট-ইন ভাষা অপারেটর রাশিয়ান এবং ইংরেজি লেখার একটি উৎস পাঠে ব্যবহার করা কি সম্ভব?

1. শুধুমাত্র বিশেষ কনফিগারেটর সেটিংস সহ

2. হ্যাঁ, এর জন্য কোনো কনফিগারেটর সেটিংস পরিবর্তন করার প্রয়োজন নেই

3. না, যেহেতু অন্তর্নির্মিত ভাষা বিকল্পটি কনফিগারেশন বৈশিষ্ট্যগুলিতে সেট করা আছে

6.83 অন্তর্নির্মিত ভাষার উদ্দেশ্য কি?

1. ডিফল্ট প্রোগ্রাম ইন্টারফেস নির্ধারণ করতে

2. একটি প্রয়োগকৃত টাস্কের কার্যকারিতার জন্য (কনফিগারেশন ডেভেলপমেন্ট পর্যায়ে) অ্যালগরিদম বর্ণনা করতে

3. কোন সঠিক উত্তর নেই

6.84 অন্তর্নির্মিত ভাষার ফাংশনগুলির বানান কী?

1. শুধুমাত্র রাশিয়ান লেখা

2. শুধুমাত্র ইংরেজি বানান

3. রাশিয়ান এবং ইংরেজি লেখা

4. কনফিগারেটর সেটিংসের উপর নির্ভর করে

6.85 প্যারামিটার L বলতে কী বোঝায়?(এল) NumberInWriting() ফরম্যাটিং ফাংশনের ফরম্যাট স্ট্রিং এ?

1. সাইন "সংখ্যা/শব্দে ভগ্নাংশের অংশ আউটপুট করুন"

2. দশমিক স্থানের সংখ্যা

3. স্থানীয়করণ কোড

7. অ্যাপ্লিকেশন সমাধানের ট্যাবুলার মডেল

7.1 ডেটা অ্যাক্সেস সীমাবদ্ধতা সেট আপ করার সময়, আপনি বেশ কয়েকটি (ক্ষেত্রের সংখ্যার উপর ভিত্তি করে) সীমাবদ্ধতা সেট করতে পারেন:

1. "পড়ুন" ডান জন্য

2. সঠিক "পরিবর্তন" এর জন্য

3. ডান "যোগ" জন্য

4. "মুছুন" ডান জন্য

5. উপরের সমস্ত অধিকারের জন্য

6. সমস্ত সম্ভাব্য অধিকারের জন্য

7.2 ডেটা অ্যাক্সেস সীমাবদ্ধতা সেট আপ করার সময়, নিম্নলিখিত মানগুলি ব্যবহার করা যেতে পারে যার দ্বারা ডেটা অ্যাক্সেস সীমাবদ্ধতা তৈরি করা হয়:

1. শুধুমাত্র সেশন প্যারামিটার মান

2. শুধুমাত্র টেবিল থেকে ডেটা (কোয়েরি)

3. সেশন প্যারামিটার মান এবং টেবিল থেকে ডেটা (কোয়েরি)

4. প্রকারের সাথে শুধুমাত্র মান: সংখ্যা, স্ট্রিং, বুলিয়ান, তারিখ

7.3 উপরের কোন পদ্ধতিটি ব্যবহার করা যেতে পারে যাতে ডিরেক্টরির কোড এবং নাম কোয়েরি ডিজাইনারের "ক্ষেত্র" বিভাগে উপস্থিত হয়?

1. প্রথমে "টেবিল" বিভাগটি পূরণ করুন, এবং তারপর, এই বিভাগ থেকে পছন্দসই বস্তুগুলি নির্বাচন করে, মাউসের বাম বোতাম দিয়ে ডাবল-ক্লিক করে সেগুলিকে "ক্ষেত্র" বিভাগে নিয়ে যান

2. "টেবিল" বিভাগটি পূরণ না করে, অবিলম্বে টেবিলগুলি থেকে প্রয়োজনীয় বস্তুগুলি নির্বাচন করুন - "ডাটাবেস" বিভাগের ডেটা উত্স, টেনে আনুন এবং ড্রপ প্রযুক্তি ব্যবহার করে সেগুলিকে "ক্ষেত্র" বিভাগে স্থানান্তর করুন৷ "টেবিল" বিভাগটি স্বয়ংক্রিয়ভাবে পূর্ণ হয়

3. প্রথমে "টেবিল" বিভাগটি পূরণ করুন, এবং তারপর, এই বিভাগ থেকে প্রয়োজনীয় বস্তুগুলি নির্বাচন করে, ফর্মের বোতামগুলি ব্যবহার করে সেগুলিকে "ক্ষেত্র" বিভাগে স্থানান্তর করুন ">" """

4. উত্তর I এবং 3 সঠিক

5. উত্তর I, 2 এবং 3 সঠিক

7.4 অনুরোধ সম্পাদনের গতি বাড়াতে, আপনাকে অবশ্যই:

1. বেশিরভাগ বাস্তব টেবিলের জন্য পরামিতি সেট করুন

2. বেশিরভাগ ভার্চুয়াল টেবিলের জন্য পরামিতি সেট করুন

3. একটি বাস্তব বা ভার্চুয়াল টেবিলের জন্য পরামিতি নির্দিষ্ট করার পরিবর্তে, "WHERE" ক্যোয়ারী ভাষা নির্মাণ দ্বারা নির্দিষ্ট নির্বাচন ব্যবহার করুন

4. উত্তর I এবং 2 সঠিক

7.5 ক্যোয়ারী ডিজাইনারের "টেবিল" বিভাগে একটি উত্স টেবিল নির্বাচন করার সময় এটির জন্য একটি নতুন নাম (উনাম) বরাদ্দ করা কি সম্ভব?

1. হ্যা, তুমি পারো

2. হ্যাঁ, আপনি করতে পারেন, কিন্তু শুধুমাত্র যদি ডেটা উৎস একটি নেস্টেড ক্যোয়ারী হয়

3. হ্যাঁ, আপনি করতে পারেন, কিন্তু শুধুমাত্র যদি ডেটা উৎস একটি ভার্চুয়াল টেবিল হয়

4. উত্তর 1 এবং 2 সঠিক

5. উত্তর 1 এবং 3 সঠিক

7.6 একটি নেস্টেড ক্যোয়ারী ব্যবহার করা যেতে পারে:

1. ডাটা সোর্স টেবিল হিসাবে

2. ভার্চুয়াল টেবিল প্যারামিটার সেট করার সময় তুলনামূলক অপারেশন "B" বা "NOT B" এর একটি অপারেন্ড হিসাবে

3. তুলনামূলক ক্রিয়াকলাপগুলির একটি অপারেন্ড হিসাবে "B" বা "NOT B" যখন কোয়েরি ভাষা নির্মাণ "WHERE" নির্দিষ্ট করে

4. ভার্পা 1, 2 এবং 3 উত্তর দেয়

7.7 কোয়েরি ডিজাইনার ব্যবহার করে ক্রমানুসারে টোটাল পাওয়া কি সম্ভব?

1. এটা সম্ভব যদি আপনি গ্রুপিং ক্ষেত্রের জন্য "এলিমেন্টস এবং হায়ারার্কি" মোট প্রকার উল্লেখ করেন

2. এটা সম্ভব যদি আপনি গ্রুপিং ক্ষেত্রের জন্য "শুধুমাত্র শ্রেণিবিন্যাস" মোট প্রকার উল্লেখ করেন

3. ভার্পা 1 এবং 2 উত্তর দেয়

7.8 ক্যোয়ারী ডিজাইনারের "শর্তাবলী" ট্যাবে, শর্তগুলির তালিকার একটি পৃথক লাইন তৈরি করা যেতে পারে:

1. উপলব্ধ ক্ষেত্রের তালিকায় পছন্দসই ক্ষেত্রের বাম মাউস বোতাম দিয়ে ডাবল-ক্লিক করুন

2. ড্র্যাগ অ্যান্ড ড্রপ প্রযুক্তি ব্যবহার করে পছন্দসই ক্ষেত্রটিকে তালিকায় সরিয়ে নিয়ে

3. "যোগ করুন" বোতামে ক্লিক করুন৷ যদি শর্তটি নির্বিচারে হয়, তবে শর্ত পাঠ্য "ম্যানুয়ালি" প্রবেশ করা যেতে পারে

4. প্রসঙ্গ মেনুতে কল করুন এবং এটি থেকে "যোগ করুন" নির্বাচন করুন৷ এটি একটি নির্বিচারে অভিব্যক্তি ব্যবহার করা সম্ভব

5. উপরের সব উত্তরই সঠিক

7.9 ক্যোয়ারী ডিজাইনারের "লিঙ্ক" ট্যাবে, আপনি সংজ্ঞায়িত করতে পারেন:

1. ডেটা সোর্স টেবিল এবং তাদের মধ্যে সম্পর্ক সংযুক্ত করা

2. ডাটা সোর্স টেবিল এবং তাদের মধ্যে সংযোগ একত্রিত করা

3. প্রশ্নের ফলে প্রাপ্ত টেবিলের ক্ষেত্রগুলির মধ্যে সম্পর্ক

4. তথ্য উৎস টেবিলের ক্ষেত্র এবং প্রশ্নের ফলে প্রাপ্ত টেবিলের মধ্যে সম্পর্ক

7.10 ক্যোয়ারী ডিজাইনারে ডেটা সোর্স টেবিলে যোগদান করার সময়, আপনি করতে পারেন:

1. সংযোগের শর্ত উল্লেখ না করে একটি সংযোগ বরাদ্দ করুন

2. সংযোগ শর্ত নির্দেশ করে একটি সংযোগ বরাদ্দ করুন, এবং এই শর্ত শুধুমাত্র একটি হতে পারে

3. সংযোগের শর্ত নির্দেশ করে একটি সংযোগ বরাদ্দ করুন এবং এই শর্তটি কেবল সহজ হতে পারে

4. প্রয়োজনীয় সংখ্যক যোগাযোগের শর্তাবলী নির্দেশ করে প্রয়োজনীয় সংখ্যক সংযোগ বরাদ্দ করুন এবং এই শর্তগুলি হয় সহজ বা নির্বিচারে হতে পারে

7.11 ক্যোয়ারী ডিজাইনারে ডেটা সোর্স টেবিলের মধ্যে একটি সংযোগ তৈরি করা অনুমতি দেয়:

1. শুধুমাত্র দুটি তথ্য উৎস টেবিল যোগদান

2. প্রয়োজনীয় সংখ্যক ডেটা সোর্স টেবিল সংযুক্ত করা হচ্ছে

3. শুধুমাত্র দুটি ডেটা সোর্স টেবিলের সাথে সংযোগ স্থাপন করা হচ্ছে এবং অন্তত একটি টেবিলের জন্য "সমস্ত" চেকবক্সটি অবশ্যই চেক করতে হবে

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

এখানে অন্তর্নির্মিত ভাষার সবচেয়ে উল্লেখযোগ্য বৈশিষ্ট্যগুলির মধ্যে কয়েকটি রয়েছে:

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

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

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

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

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

পূর্বনির্ধারিত ডেটা প্রকার

1C:Enterprise 8.0 প্ল্যাটফর্ম ডেভেলপারকে বিভিন্ন ধরনের ডেটা ব্যবহার করতে দেয়।

প্ল্যাটফর্মের স্তরেই সংজ্ঞায়িত প্রচুর পরিমাণে ডেটা প্রকার রয়েছে। যেমন এই আদিম তথ্য প্রকার, যেমন স্ট্রিং, সংখ্যা, তারিখ, ইত্যাদি


বর্ণনা আদিম তথ্য প্রকার:

  • খালি- অনুপস্থিত মান। ব্যবহার করা হয়, উদাহরণস্বরূপ, প্রশ্নে।
  • অনির্ধারিত- খালি, অনির্ধারিত মান। এটি ব্যবহার করা হয়, উদাহরণস্বরূপ, একটি পদ্ধতি বা ফাংশন কল করার সময় যদি এই প্যারামিটারটি বাদ দেওয়া হয় তাহলে প্যারামিটার পাস করার মূল্যায়ন করার সময়। যে বিবরণগুলির একটি যৌগিক ডেটা টাইপ রয়েছে সেগুলি ডিফল্টরূপে "অনির্ধারিত" টাইপের।
  • বুলিয়ান- দুটি মান রয়েছে: সত্য বা মিথ্যা। উদাহরণস্বরূপ, যৌক্তিক অভিব্যক্তিতে ব্যবহৃত হয় - একটি যৌক্তিক অভিব্যক্তি "বুলিয়ান" টাইপের।
  • তারিখ- তারিখ এবং সময় রয়েছে। ডিফল্ট মান হল 01/01/01 00:00:00 আমাদের যুগের শুরুর তারিখ৷ দিনের শুরু থেকে সময় পরিমাপ করা হয়। একটি আক্ষরিক টাইপ "তারিখ" আছে এমন একটি অভিব্যক্তি নিম্নরূপ লেখা হয় - "00010101000000"। প্রথমে বছর, তারপর মাস, তারপর তারিখ এবং তারপর সময় লেখা হয়। নিম্নলিখিত এন্ট্রি সম্ভব: "20041031"। ডিফল্ট সময় হল দিনের শুরু।
  • লাইন- পরিবর্তনশীল, স্থির বা সীমাহীন দৈর্ঘ্য হতে পারে। সাধারণভাবে, পরিবর্তনশীল দৈর্ঘ্যের স্ট্রিং ব্যবহার করার পরামর্শ দেওয়া হয়।
  • সংখ্যা- সংখ্যা বিট গভীরতা 38 বিট বৃদ্ধি করা হয়েছে.
  • টাইপ- মানগুলির ধরন নির্ধারণ করতে কাজ করে। ব্যবহার করা হয়, উদাহরণস্বরূপ, ডেটা প্রকারের তুলনা করতে। এটির কোন আক্ষরিক নেই এবং ফাংশন টাইপ (<Имя типа>) বা TypeValue(<Значение>).

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


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

অ্যারে. একটি নির্বিচারে ধরণের মানগুলির একটি সংখ্যাযুক্ত সংগ্রহের প্রতিনিধিত্ব করে। একটি অ্যারে উপাদান তার সূচক দ্বারা অ্যাক্সেস করা যেতে পারে। একটি অ্যারের উপাদান, বিশেষ করে, অন্যান্য অ্যারে হতে পারে। এটি আপনাকে বহুমাত্রিক অ্যারে তৈরি করতে দেয়।

গঠন. কী-মান জোড়া সমন্বিত একটি নামযুক্ত সংগ্রহের প্রতিনিধিত্ব করে। কী শুধুমাত্র একটি স্ট্রিং হতে পারে, মান একটি নির্বিচারে ধরনের হতে পারে। একটি গঠন উপাদান তার কী এর মান দ্বারা অ্যাক্সেস করা যেতে পারে, যেমন নামে. সাধারণত স্বল্প সংখ্যক মান সঞ্চয় করতে ব্যবহৃত হয়, প্রতিটি একটি অনন্য নামের সাথে।

চিঠিপত্র. ঠিক কাঠামোর মতো, এটি কী - মান জোড়ার একটি সংগ্রহ। যাইহোক, একটি কাঠামোর বিপরীতে, একটি কী প্রায় যেকোনো ধরনের হতে পারে।

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

মান সারণী. একটি মান সারণী আপনাকে মানগুলির গতিশীল সেট তৈরি এবং পরিচালনা করতে দেয়। এটি যে কোনও ধরণের মান দিয়ে পূর্ণ হতে পারে এবং একটি টেবিলে সংরক্ষিত মানগুলির ধরনগুলি আলাদা হতে পারে।

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

COMSafeArray. একটি বহুমাত্রিক SAFEARRAY অ্যারের উপর একটি বস্তুর মোড়ক প্রতিনিধিত্ব করে৷

পদ্ধতি SelectFromFileClick(Element) // viewingFileSelectionDialog = NewFileSelectionDialog(FileSelectionDialogMode.Open) সহ একটি ফাইল নির্বাচন করা; FileSelectionDialog.Directory = ""; FileSelectDialog.Preview = True; FileSelectionDialog.FilterIndex = 0; যদি FileSelectDialog.Select() তাহলে File = New File(FileSelectDialog.FullFileName); ছবি = NewValueStorage(NewImage(FileSelectionDialog.FullFileName)); ডিসপ্লে ইমেজ(); যদি শেষ; পদ্ধতির সমাপ্তি

THIS_KEYWORD
<Это конструкция языка>,
<Это конструкция языка>
THIS_FUNCTION(<Это конструкция языка>)

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

ভাষা নির্মাণে ঐচ্ছিক উপাদান থাকতে পারে - কীওয়ার্ড ইত্যাদি। ক্যোয়ারী ভাষা বর্ণনা করার নিয়মগুলিতে, ঐচ্ছিক উপাদানগুলি "[" এবং "]" বর্গাকার বন্ধনীতে আবদ্ধ থাকে:

[এটি একটি ঐচ্ছিক শব্দ] [<Это необязательная конструкция>]

কিছু ক্ষেত্রে, ভাষার নকশা বিভিন্ন বিকল্প উপাদানের একটি ব্যবহার করতে পারে। নিয়মের এই জাতীয় উপাদানগুলি একটি উল্লম্ব বারের মাধ্যমে তালিকাভুক্ত করা হয়েছে “|”:

EITHER_THIS_WORD | অথবা THIS_WORD
<Либо эта конструкция> | <Либо эта конструкция>

সমস্ত কন্সট্রাক্টের বর্ণনার সাথে উদাহরণ রয়েছে যা ব্যাখ্যা করে যে সেগুলি কীভাবে ক্যোয়ারী ভাষায় ব্যবহার করা হয়।

ক্যোয়ারী ভাষায় মন্তব্য

অনুরোধ বডি মন্তব্য অন্তর্ভুক্ত করতে পারে. একটি মন্তব্য একটি লাইনের একটি অংশ হিসাবে বিবেচিত হয় যা অক্ষরের ক্রম দিয়ে শুরু হয় // এবং লাইনের শেষ পর্যন্ত চলতে থাকে:

// এটি একটি মন্তব্য।

অনুরোধটি কার্যকর হলে মন্তব্য উপেক্ষা করা হয়।

কীওয়ার্ডের দ্বিভাষিক উপস্থাপনা

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

অনুরোধ টেক্সট প্রধান বিভাগ

অনুরোধের পাঠ্য নিম্নলিখিত নিয়ম দ্বারা বর্ণনা করা যেতে পারে:

<Описание запроса>
[<Объединение запросов>]
[<Упорядочивание результатов>]
[অটো অর্ডার]
[<Описание итогов>]

এই নিয়ম থেকে দেখা যায়, অনুরোধের পাঠ্যটি বেশ কয়েকটি অংশ বা বিভাগ নিয়ে গঠিত:

বিভাগে<Упорядочивание результатов>আপনি ক্যোয়ারী ফলাফলে সারিগুলির জন্য অর্ডার করার শর্তগুলি সংজ্ঞায়িত করতে পারেন। একটি প্রশ্নের ফলাফল ক্রম 324 পৃষ্ঠায় আলোচনা করা হয়েছে.

স্বয়ংক্রিয় আদেশ আপনাকে প্রশ্নের ফলাফলে সারিগুলির স্বয়ংক্রিয় ক্রম সক্ষম করতে দেয়৷ এই মোডটি 331 পৃষ্ঠায় বর্ণিত হয়েছে।

বিভাগে<Описание итогов>আপনি ক্যোয়ারীতে কোন টোটাল গণনা করা উচিত তা নির্দিষ্ট করতে পারেন। এই বিভাগটি 332 পৃষ্ঠায় বর্ণিত হয়েছে।

বিবরণ অনুরোধ করুন

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

অনুরোধের ফলাফলে যে ক্ষেত্রগুলি থাকবে;

কোয়েরি ডেটা উত্স - উত্স টেবিল;

অনুরোধে ডেটা নির্বাচনকে প্রভাবিত করে এমন শর্ত;

যে ক্রমে কোয়েরির ফলাফলগুলিকে গোষ্ঠীবদ্ধ করা হয়েছে৷

অনুরোধের বিবরণ বিভাগে কয়েকটি আন্তঃসম্পর্কিত বাক্য রয়েছে:

নির্বাচন করুন [ভিন্ন] [প্রথম<Количество>]
<Список полей выборки>
[থেকে<Список источников>]
[কোথায়<Условие отбора>]
[গ্রুপ বাই<Поля группировки>]
[ থাকা<Условие отбора>]
[পরিবর্তনের জন্য [<Список таблиц верхнего уровня>]]

অনুরোধের বিবরণ একটি প্রয়োজনীয় কীওয়ার্ড দিয়ে শুরু হয় পছন্দ করা.

অফার কোথায়<Условие отбора> আপনাকে প্রশ্নের ফলাফল ফিল্টার করতে দেয়। ফলাফল শুধুমাত্র সেইসব রেকর্ড অন্তর্ভুক্ত করে যার জন্য নির্দিষ্ট শর্ত সত্য। নির্বাচনের শর্ত বর্ণনা করার নিয়ম 315 পৃষ্ঠায় আলোচনা করা হয়েছে।

অফার পরিবর্তনের জন্যএকটি লেনদেনে পড়া ডেটা ব্লক করার প্রয়োজনীয়তা নির্দেশ করার উদ্দেশ্যে।

অফার গ্রুপযে ক্রমানুসারে ক্যোয়ারী ফলাফল গোষ্ঠীবদ্ধ করা হয়েছে তা বর্ণনা করতে আপনাকে অনুমতি দেয়। 316 পৃষ্ঠায় গ্রুপিং সম্পর্কে বিস্তারিত আলোচনা করা হয়েছে।

অফার থাকাআপনাকে গ্রুপিং ফলাফলের উপর শর্ত আরোপ করার অনুমতি দেয়। 318 পৃষ্ঠায় বর্ণিত।

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

একটি SELECT স্টেটমেন্ট এবং নির্বাচন ক্ষেত্রগুলির একটি তালিকা সমন্বিত একটি মোটামুটি সহজ প্রশ্নের উদাহরণ দেওয়া যাক।

//আপনাকে প্রতিবেদনে চালানের একটি তালিকা প্রদর্শন করতে হবে।

প্রশ্নের ফলাফল:

ভিন্ন শব্দের ব্যবহার

অনেক পরিস্থিতিতে, রিপোর্টে একই সারি পুনরাবৃত্তি না করা বাঞ্ছনীয়।

// সাধারণভাবে কোন প্রতিপক্ষ খুঁজে বের করা প্রয়োজন
// সময়ের জন্য পণ্য পাঠানো হয়েছে.
Document.Invoice.Counterparty নির্বাচন করুন

প্রশ্নের ফলাফল:

এটি দেখা যায় যে ক্যোয়ারী ফলাফলে অনেক বার বার লাইন রয়েছে, যা এর স্বচ্ছতা হ্রাস করে। পুনরাবৃত্তি এড়াতে, ক্যোয়ারী বিবরণে ভিন্ন শব্দটি উল্লেখ করা উচিত।

বিভিন্ন ডকুমেন্ট.ইনভয়েস.কাউন্টারপার্টি নির্বাচন করুন

প্রশ্নের ফলাফল:

FIRST শব্দের ব্যবহার

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

// সবচেয়ে দামি পাঁচটি পণ্য নির্বাচন করা প্রয়োজন।
// পণ্যের দামের নিচের ক্রম অনুসারে নির্বাচন করা উচিত।
প্রথম 5 নির্বাচন করুন
ডিরেক্টরি।নামকরণ।নাম,
ডিরেক্টরি।নামকরণ।ক্রয়মূল্য
ডিরেক্টরি অনুসারে বাছাই করুন

প্রশ্নের ফলাফল:

নির্বাচন ক্ষেত্রগুলির বর্ণনা

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

<Описание поля>[ [কিভাবে]<Псевдоним поля>]

<Выражение>[.<Группа полей>]

নির্বাচন ক্ষেত্রগুলির তালিকায় কমা দ্বারা পৃথক করা এক বা একাধিক উপাদান থাকে। প্রতিটি<Поле выборки>নির্বাচন ক্ষেত্রের একটি বিবরণ এবং একটি ঐচ্ছিক ক্ষেত্রের উপনাম নিয়ে গঠিত।

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

মন্তব্য!নির্বাচন ক্ষেত্রগুলির তালিকায় একটি তারকাচিহ্ন "*" নির্দিষ্ট করার সময়, উত্স টেবিলের ভার্চুয়াল ক্ষেত্রগুলি ফলাফলে অন্তর্ভুক্ত করা হয় না।

<Описание поля>কিভাবে ক্ষেত্রের মান তৈরি করা উচিত তা সংজ্ঞায়িত করে। সবচেয়ে সহজ ক্ষেত্রে, নির্বাচন ক্ষেত্রটি উৎস টেবিলের একটি ক্ষেত্রের একটি লিঙ্ক। এই ক্ষেত্রটি সম্বলিত সারণী নির্দিষ্ট করে অথবা টেবিলটি নির্দিষ্ট না করেই লিঙ্কটি নির্দিষ্ট করা যেতে পারে। ফিল্ড ডিরেফারেন্সিং এ আলোচনা করা হয়েছে।

সাধারণভাবে, নির্বাচনের ক্ষেত্রটি শুধুমাত্র উত্স টেবিলের একটি ক্ষেত্রের একটি লিঙ্ক নয়, কিছু হতে পারে<Выражение>. 344 পৃষ্ঠায় অভিব্যক্তিগুলি বিস্তারিতভাবে আলোচনা করা হয়েছে।

নির্বাচিত ক্ষেত্রগুলিতে অভিব্যক্তি হিসাবে নির্দিষ্ট করা সমষ্টিগত ফাংশন ব্যবহার করে কোয়েরির ফলাফলগুলিকে গোষ্ঠীভুক্ত করা যেতে পারে। গ্রুপিং কোয়েরির ফলাফল 316 পৃষ্ঠায় আলোচনা করা হয়েছে। মোট ফাংশন 345 পৃষ্ঠায় বর্ণনা করা হয়েছে।

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

<Группа полей>শুধুমাত্র নির্দিষ্ট করা যেতে পারে যখন নির্বাচিত ক্ষেত্রটি একটি নেস্টেড টেবিলের দিকে নির্দেশ করে। এই ক্ষেত্রে, নেস্টেড টেবিল নির্বাচনে কোন ক্ষেত্রগুলি প্রক্রিয়া করা উচিত তা আপনি নির্দিষ্ট করতে পারেন। যদি একটি ফিল্ড গ্রুপ নির্দিষ্ট করা না থাকে, নেস্টেড টেবিলের সমস্ত ক্ষেত্র নির্বাচন প্রক্রিয়া করা হবে। নেস্টেড টেবিল অ্যাক্সেস করা বর্ণনা করা হয়েছে.

নির্বাচন তালিকায় ক্ষেত্র উপনাম

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

HOW কীওয়ার্ডটি ক্ষেত্রের উপনামের আগে থাকতে পারে। এই শব্দটি মোটেই নির্দিষ্ট নাও হতে পারে, তবে এটি নির্দিষ্ট করা থাকলে অনুরোধের পাঠ্যের দৃশ্যমানতা এবং পাঠযোগ্যতা বৃদ্ধি পায়।

ক্ষেত্র উপনাম পরিবর্তনশীল শনাক্তকারী বরাদ্দ করার নিয়ম অনুযায়ী সেট করা হয়। অনুরোধের উপনাম একই হতে পারে না।

ক্ষেত্রগুলিতে উপনাম বরাদ্দ করা নিজেই ক্যোয়ারীতে ডেটা নির্বাচনকে প্রভাবিত করে না।

// পণ্য ডিরেক্টরি থেকে নির্বাচন করতে হবে
// পণ্যের নাম এবং গ্রুপের নাম।
পছন্দ করা
ডিরেক্টরি। নামকরণ। পণ্য হিসাবে নাম,
ডিরেক্টরি। নামকরণ।পিতা-মাতা।গোষ্ঠী হিসেবে নাম
থেকে
ডিরেক্টরি।নামকরণ

প্রশ্নের ফলাফল:

মনে রাখবেন যে ক্ষেত্রের ক্যোয়ারী ফলাফলের ক্ষেত্রগুলির নাম "আইটেম" এবং "গ্রুপ"। যদি ক্ষেত্রের উপনামগুলি নির্দিষ্ট করা না থাকে, তাহলে ক্যোয়ারী ফলাফলের ক্ষেত্রগুলিকে "নাম" এবং "নাম1" বলা হবে (কোয়েরির ফলাফলের ক্ষেত্রের নামগুলি মেলে না, তাই "1" স্বয়ংক্রিয়ভাবে দ্বিতীয় ক্ষেত্রের নামের সাথে যোগ করা হয়), যা অনেক কম স্পষ্ট।

নির্বাচন ক্ষেত্রের তালিকায় নেস্টেড টেবিল

নির্বাচন তালিকার একটি ক্ষেত্র ক্যোয়ারী ডেটা উৎসে একটি নেস্টেড টেবিল উল্লেখ করতে পারে। এই ক্ষেত্রে, ক্যোয়ারী ফলাফলের ক্ষেত্রটি হবে কোয়েরি ফলাফলের প্রকারের, অর্থাৎ, এটিতে নেস্টেড সোর্স টেবিলের ভিত্তিতে তৈরি একটি নেস্টেড কোয়েরির ফলাফল থাকবে।

ডিফল্টরূপে, নেস্টেড টেবিলের সমস্ত ক্ষেত্র - ডেটা উৎস - নেস্টেড ফলাফলে অন্তর্ভুক্ত করা হয়। একটি নেস্টেড ক্যোয়ারী ফলাফলে থাকা উচিত এমন ক্ষেত্রগুলির একটি গ্রুপকে স্পষ্টভাবে সংজ্ঞায়িত করা সম্ভব। নেস্টেড ফলাফল ক্ষেত্রগুলির একটি গ্রুপ নিম্নলিখিত নিয়ম অনুসারে বর্ণনা করা হয়েছে:

(<Список вложенных полей>) | *

<Вложенное поле [, <Вложенное поле>[, ...] ]

<Список вложенных полей>কমা দ্বারা পৃথক করা এক বা একাধিক উপাদান নিয়ে গঠিত। তালিকায় একটি উপাদান থাকলে, এটি বন্ধনীতে আবদ্ধ করার প্রয়োজন নেই।

নেস্টেড ক্ষেত্রগুলি তালিকাভুক্ত করার পরিবর্তে, আপনি একটি তারকাচিহ্ন "*" নির্দিষ্ট করতে পারেন; এর মানে হবে নেস্টেড ক্যোয়ারী ফলাফলে নেস্টেড টেবিলে থাকা সমস্ত ক্ষেত্র থাকতে হবে।

<Выражение>[[কিভাবে]<Псевдоним поля>]

<Вложенное поле>কিছু অভিব্যক্তি প্রতিনিধিত্ব করতে পারে. সহজ ক্ষেত্রে<Выражение>একটি নেস্টেড টেবিলের একটি ক্ষেত্রের একটি রেফারেন্স। 344 পৃষ্ঠায় অভিব্যক্তিগুলি বিস্তারিতভাবে আলোচনা করা হয়েছে।

প্রতিটি নেস্টেড ক্ষেত্রের একটি উপনাম বরাদ্দ করা যেতে পারে। আরও<Псевдоним поля>এই ক্ষেত্রে আরও সুবিধাজনক অ্যাক্সেসের জন্য ব্যবহার করা যেতে পারে, নির্বাচন তালিকার ক্ষেত্রের উপনামের অনুরূপ - "নির্বাচন তালিকার ক্ষেত্রের জন্য উপনাম" বিভাগটি দেখুন

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

// প্রতিবেদনে চালানের স্পেসিফিকেশন প্রদর্শন করা প্রয়োজন,
// নথি নিজেই, নামকরণ এবং পরিমাণ।
পছন্দ করা

ডকুমেন্ট।ইনভয়েস।কম্পোজিশন।(পণ্য হিসাবে নামকরণ, পরিমাণ)

প্রশ্নের ফলাফল:

লিঙ্ক যৌগ
পণ্য পরিমাণ
মহিলাদের জন্য জিন্স 4
মহিলাদের জন্য জিন্স 5
শার্ট "কাউগার্ল" 5
চালান 00005 তারিখ 02/24/2002 0:00:00 মহিলাদের জন্য জিন্স 1
মহিলাদের জন্য জিন্স 1
Moydodyr "অ্যাকোয়ারিয়াম" 5
সিঙ্ক "লিলি" 8
মিক্সার "আল্ট্রা" 10

অনুগ্রহ করে মনে রাখবেন যে ক্যোয়ারী ফলাফলের "কম্পোজিশন" ক্ষেত্রটি একটি নেস্টেড টেবিল যাতে "নামকরণ" এবং "পরিমাণ" ক্ষেত্র রয়েছে।

// প্রতিবেদনে চালানের ট্যাবুলার অংশের সমস্ত ক্ষেত্র প্রদর্শন করুন।
পছন্দ করা
ডকুমেন্ট। ইনভয়েস। লিঙ্ক,
ডকুমেন্ট। ইনভয়েস। কম্পোজিশন।*

IZ ক্লজের উদ্দেশ্য হল উৎস টেবিলের একটি তালিকা নির্ধারণ করা - একটি প্রদত্ত SELECT বিবৃতিতে ব্যবহৃত ডেটা উত্স।

এটি উল্লেখ করা উচিত যে কোয়েরি ভাষায় IZ ধারাটি ঐচ্ছিক। এটি বাদ দেওয়া হতে পারে যদি ডেটা উত্সগুলি SELECT ক্লজে অন্তর্ভুক্ত নির্বাচন ক্ষেত্রগুলির তালিকার বিবরণে সম্পূর্ণরূপে যোগ্য হয়। অনুগ্রহ করে মনে রাখবেন যে পূর্ববর্তী বিভাগগুলির কয়েকটি উদাহরণে IZ ধারাটি ছিল না।

কীওয়ার্ড IZ এর পরে, উত্সগুলির একটি তালিকা নির্দেশিত হয়। সাধারণভাবে, উত্সগুলির তালিকা নিম্নলিখিত নিয়মগুলির সেট দ্বারা বর্ণিত হয়:

<Источник>[, <Источник>[, ...]]

কোয়েরি ডেটা উত্সগুলি উৎস তালিকায় তালিকাভুক্ত করা হয়, কমা দ্বারা পৃথক করা হয়। প্রতি<Источник>উৎসের তালিকায় উৎসের বিবরণ থাকতে হবে; উপরন্তু, এটা নির্দিষ্ট করা যেতে পারে<Перечень соединений>- অন্যান্য উত্সের সাথে একটি উত্স সংযোগ করার নিয়ম৷ সংযোগ স্পেসিফিকেশন বর্ণনা করা হয়.

<Описание источника> [ <Перечень соединений> ]

যদি ডেটা উত্স একটি ইনফোবেস টেবিল হয়,<Описание источника>ধারণ করে<Имя таблицы>.

<Таблица>[ [কিভাবে]<Псевдоним источника>]

উৎস টেবিল ভার্চুয়াল হলে, আপনি নির্দিষ্ট করতে পারেন<Параметры>এর গঠন। ভার্চুয়াল টেবিল প্যারামিটারগুলি "কোয়েরি ডেটা সোর্স" বিভাগে বিশদভাবে বর্ণনা করা হয়েছে।

<Имя таблицы> [(<Параметры>)] | <Описание запроса>

একটি সাবকোয়েরি একটি কোয়েরি ডেটা উত্স হিসাবেও কাজ করতে পারে; এই ক্ষেত্রে উৎস বিবরণ রয়েছে<Описание запроса>. নেস্টেড প্রশ্নের ব্যবহার এখানে বর্ণিত হয়েছে।

ডেটা উৎসের বিবরণ তার উপনামও বরাদ্দ করতে পারে। আরও<Псевдоним источника>এই উত্সে আরও সুবিধাজনক অ্যাক্সেসের জন্য ব্যবহার করা যেতে পারে। তথ্য উৎস উপনামের ব্যবহার আলোচনা করা হয়েছে.

সংযোগ স্পেসিফিকেশন

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

প্রশ্নের ফলাফল:

কাউন্টারপার্টি ব্যাংক
সরবরাহকারীদের জেএসসিবি ইনভেস্টব্যাঙ্ক
সরবরাহকারীদের JSCB PromStroyBank
সেলাইয়ের কারখানা "জারিয়া" জেএসসিবি ইনভেস্টব্যাঙ্ক
সেলাইয়ের কারখানা "জারিয়া" JSCB PromStroyBank
ডেনিম কাপড়ের কারখানা জেএসসিবি ইনভেস্টব্যাঙ্ক
ডেনিম কাপড়ের কারখানা JSCB PromStroyBank
ক্রেতাদের জেএসসিবি ইনভেস্টব্যাঙ্ক
ক্রেতাদের JSCB PromStroyBank
পোশাকের মেলা জেএসসিবি ইনভেস্টব্যাঙ্ক
পোশাকের মেলা JSCB PromStroyBank
ট্রেডিং হাউস "বুডেনভস্কি" জেএসসিবি ইনভেস্টব্যাঙ্ক
ট্রেডিং হাউস "বুডেনভস্কি" JSCB PromStroyBank
প্যাভিলিয়ন 45 পাইকারি বাজারে জেএসসিবি ইনভেস্টব্যাঙ্ক
প্যাভিলিয়ন 45 পাইকারি বাজারে JSCB PromStroyBank
বাভারিয়া - চীনামাটির বাসন জেএসসিবি ইনভেস্টব্যাঙ্ক
বাভারিয়া - চীনামাটির বাসন JSCB PromStroyBank
ডেনিম কাপড়ের কারখানা জেএসসিবি ইনভেস্টব্যাঙ্ক
ডেনিম কাপড়ের কারখানা JSCB PromStroyBank
JSCB PromStroyBank জেএসসিবি ইনভেস্টব্যাঙ্ক
JSCB PromStroyBank JSCB PromStroyBank

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

বিভিন্ন ধরণের সংযোগ রয়েছে, সেগুলি নিম্নলিখিত নিয়ম দ্বারা বর্ণনা করা হয়েছে:

<Соединение> [<Перечень соединений>]

সাধারণভাবে<Перечень соединений>শুধুমাত্র একটি সংযোগ (দুটি উত্সের) নয়, একই সাথে একাধিক উত্সের একাধিক সংযোগ থাকতে পারে এবং বর্ণনা করতে পারে।

[অভ্যন্তরীণ] যোগ দিন<Описание источника>দ্বারা<Условие отбора> |

বামে [বাইরে] যোগ দিন<Описание источника>দ্বারা<Условие отбора> |

ডান [বাইরে] যোগ দিন<Описание источника>দ্বারা<Условие отбора> |

পূর্ণ (বাহ্যিক) যোগ দিন<Описание источника>দ্বারা<Условие отбора>

<Условие отбора>এমন শর্ত রয়েছে যা অনুযায়ী নির্বাচনকে অবশ্যই মূল টেবিল থেকে ডেটা একত্রিত করতে হবে - কোয়েরির উৎস। ক্যোয়ারী ভাষায় শর্ত বর্ণনা করার নিয়ম 357 পৃষ্ঠায় আলোচনা করা হয়েছে।

কীওয়ার্ড বাম, ডান এবং সম্পূর্ণ সংযোগের প্রকৃতি স্পষ্ট করে। অভ্যন্তরীণ বা বহিরাগত শব্দগুলি একেবারে নির্দিষ্ট নাও হতে পারে; তারা অনুরোধের পাঠ্যের স্পষ্টতা এবং পাঠযোগ্যতা বাড়ায়।

যোগদান করা উৎসগুলি একে অপরের সমতুল্য নয়, এবং কিছু ক্ষেত্রে ফলাফল নির্ভর করে কোন টেবিলটি প্রথমে তালিকাভুক্ত করা হয়েছে, JOIN কীওয়ার্ডের আগে (এর বাম দিকে), এবং কোন টেবিলটি দ্বিতীয় (ডানদিকে) তালিকাভুক্ত হয়েছে তার উপর।

[অভ্যন্তরীণ] যোগদানের অর্থ হল উভয় উৎস সারণী থেকে - ডেটা উত্স, শুধুমাত্র সেই সমস্ত রেকর্ডের সংমিশ্রণ যা নির্দিষ্ট শর্ত পূরণ করে ক্যোয়ারী ফলাফলে অন্তর্ভুক্ত করা আবশ্যক। অবশিষ্ট রেকর্ড ফলাফল অন্তর্ভুক্ত করা হয় না.

// একই সময়ে কোন ব্যাংক আছে তা খুঁজে বের করতে হবে
// প্রতিপক্ষ (একই নাম বর্তমান
// উভয় কাউন্টারপার্টিজ ডিরেক্টরি এবং ব্যাঙ্ক ডিরেক্টরিতে)।
পছন্দ করা

Banks.Link How to Bank
থেকে

ভেতরের যোগ দিতে
ডিরেক্টরি.ব্যাংক কিভাবে ব্যাংক
দ্বারা

প্রশ্নের ফলাফল:

কাউন্টারপার্টি ব্যাংক
JSCB PromStroyBank JSCB PromStroyBank

একটি বাম [বাইরে] যোগদানের অর্থ হল ক্যোয়ারী ফলাফলে অবশ্যই নির্দিষ্ট শর্ত পূরণকারী উভয় উৎস টেবিলের রেকর্ডের সংমিশ্রণ অন্তর্ভুক্ত করতে হবে। কিন্তু, একটি অভ্যন্তরীণ যোগদানের বিপরীতে, ক্যোয়ারী ফলাফলে অবশ্যই প্রথম উত্স থেকে রেকর্ডগুলি অন্তর্ভুক্ত করতে হবে (JOIN শব্দের বাম দিকে নির্দেশিত) যার জন্য দ্বিতীয় উত্স থেকে কোনও রেকর্ড পাওয়া যায়নি যা শর্তের সাথে মেলে৷

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

// প্রতিবেদনে এবং তাদের জন্য সমস্ত প্রতিপক্ষ প্রদর্শন করা প্রয়োজন
// যিনি একটি ব্যাংকও - ব্যাঙ্কের একটি লিঙ্ক নির্দেশ করুন।
পছন্দ করা
কাউন্টারপার্টি। কাউন্টারপার্টি হিসেবে লিঙ্ক,
Banks.Link How to Bank
থেকে
ডিরেক্টরি। কাউন্টারপার্টি কিভাবে কাউন্টারপার্টি
বাম বাইরের যোগদান
ডিরেক্টরি.ব্যাংক কিভাবে ব্যাংক
দ্বারা
Counterparties.Name = Banks.Name

প্রশ্নের ফলাফল:

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

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

// রিপোর্টে সমস্ত ব্যাঙ্ক প্রদর্শন করা প্রয়োজন, এবং তাদের জন্য
// যিনি কাউন্টারপার্টিও - কাউন্টারপার্টির একটি লিঙ্ক নির্দেশ করুন।
পছন্দ করা
কাউন্টারপার্টি। কাউন্টারপার্টি হিসেবে লিঙ্ক,
Banks.Link Like Bank
থেকে
ডিরেক্টরি। কাউন্টারপার্টি কিভাবে কাউন্টারপার্টি
ডান বাইরের যোগদান
ডিরেক্টরি.ব্যাংক কিভাবে ব্যাংক
দ্বারা
Counterparties.Name = Banks.Name

প্রশ্নের ফলাফল:

কাউন্টারপার্টি ব্যাংক
খালি জেএসসিবি ইনভেস্টব্যাঙ্ক
JSCB PromStroyBank JSCB PromStroyBank

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

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

// রিপোর্টে সমস্ত প্রতিপক্ষ এবং সমস্ত ব্যাঙ্ক প্রদর্শন করা প্রয়োজন,
// এবং যারা উভয়ই - এক লাইনে প্রিন্ট করুন।
পছন্দ করা
কাউন্টারপার্টি। কাউন্টারপার্টি হিসেবে লিঙ্ক,
Banks.Link How to Bank
থেকে
ডিরেক্টরি। কাউন্টারপার্টি কিভাবে কাউন্টারপার্টি
সম্পূর্ণ বাইরের যোগদান
ডিরেক্টরি.ব্যাংক কিভাবে ব্যাংক
দ্বারা
Counterparties.Name = Banks.Name

প্রশ্নের ফলাফল:

ডেটা উৎস উপনাম

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

ভেরিয়েবল আইডেন্টিফায়ার বরাদ্দ করার নিয়ম অনুযায়ী উপনাম সেট করা হয়েছে। অনুরোধের উপনাম একই হতে পারে না।

HOW মূলশব্দটি উৎস উপনামের আগে হতে পারে। এই শব্দটি মোটেই নির্দিষ্ট নাও হতে পারে, তবে এটি নির্দিষ্ট করা থাকলে অনুরোধের পাঠ্যের দৃশ্যমানতা এবং পাঠযোগ্যতা বৃদ্ধি পায়।

উৎসগুলিতে উপনাম বরাদ্দ করা নিজেই ক্যোয়ারীতে ডেটা নির্বাচনকে প্রভাবিত করে না।

// এই উদাহরণটি ব্যবহার দেখায়
// ওরফে পণ্যের নির্বাচন ক্ষেত্রের তালিকায়,
// সোর্স টেবিল ডিরেক্টরিতে বরাদ্দ করা হয়েছে। নামকরণ
পছন্দ করা
পণ্যের নাম,
পণ্য।পিতা
থেকে
ডিরেক্টরি।নামকরণ।পণ্য

উৎস তালিকায় নেস্টেড টেবিল

সূত্রের তালিকায় নেস্টেড টেবিলও থাকতে পারে - রেফারেন্স বই এবং নথির সারণী অংশ।

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

প্রশ্নের ফলাফল:

লিঙ্ক নামকরণ পরিমাণ
চালান 00007 তারিখ 02/25/2002 21:03:21 মহিলাদের জন্য জিন্স 4
চালান 00006 তারিখ 02/25/2002 0:00:00 মহিলাদের জন্য জিন্স 5
চালান 00006 তারিখ 02/25/2002 0:00:00 শার্ট "কাউগার্ল" 5
চালান 00005 03/01/2002 থেকে 20:58:28 মহিলাদের জন্য জিন্স 1
চালান 00004 তারিখ 03/01/2002 20:50:40 মহিলাদের জন্য জিন্স 1
চালান 00003 তারিখ 02/23/2002 0:00:00 Moydodyr "অ্যাকোয়ারিয়াম" 5
চালান 00003 তারিখ 02/23/2002 0:00:00 সিঙ্ক "লিলি" 8
চালান 00003 তারিখ 02/23/2002 0:00:00 মিক্সার "আল্ট্রা" 10

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

উৎস তালিকায় সাবকোয়ারি

ক্যোয়ারী উৎসের তালিকায়, একটি সাবকোয়েরি সোর্স টেবিল হিসাবে ব্যবহার করা যেতে পারে। এই ক্ষেত্রে, উৎসের বিবরণে সাবকোয়েরি বিবরণ থাকে। একটি নেস্টেড ক্যোয়ারির বর্ণনাটি নিয়মিত একটির মতো ঠিক একইভাবে সংকলিত হয়: দেখুন

একটি ডেটা উৎস হিসাবে নেস্টেড ক্যোয়ারী ব্যবহার করা একটি ইনফোবেস টেবিল ব্যবহার করার থেকে আলাদা নয়। সাবকোয়েরি নির্বাচন ক্ষেত্রগুলির তালিকায় বর্ণিত সমস্ত ক্ষেত্রগুলি এই জাতীয় উত্সের ক্ষেত্র হিসাবে উপলব্ধ।

ফলাফল ঠিক আগের উদাহরণের মতই হবে।

প্রতিবেদন তৈরি করা হচ্ছে

অনুরোধ সঙ্গে কাজ

প্রশ্নগুলির সাথে কাজ করার জন্য, একটি অন্তর্নির্মিত ভাষা বস্তু ব্যবহার করা হয় অনুরোধ . এটি আপনাকে নির্দিষ্ট নিয়ম অনুসারে গঠিত একটি নমুনার আকারে ডাটাবেস ক্ষেত্রগুলিতে সংরক্ষিত তথ্য পেতে দেয়।

কোয়েরি ডেটা সোর্স

প্রশ্নটি টেবিলের একটি সেট থেকে প্রাথমিক তথ্য পায়। এই টেবিলগুলি বাস্তব ডাটাবেস টেবিল থেকে একটি সহজ-বিশ্লেষণ আকারে তথ্য উপস্থাপন করে। তাদের দুটি বড় গ্রুপে বিভক্ত করা যেতে পারে: বাস্তব এবং ভার্চুয়াল।

বাস্তব টেবিল, ঘুরে, বস্তু (রেফারেন্স) বা অ-অবজেক্ট (অ-রেফারেন্স) হতে পারে:

বাস্তব টেবিলের স্বতন্ত্র বৈশিষ্ট্য হল যে তারা একটি ডাটাবেসে সংরক্ষিত একক বাস্তব টেবিল থেকে ডেটা ধারণ করে। উদাহরণ স্বরূপ, আসল টেবিল হল "Directory.Clients" টেবিল, যা "Clients" ডিরেক্টরির সাথে সম্পর্কিত, অথবা "Accumulation Register. Material Remaining" টেবিল, "Material Remaining" জমা রেজিস্টারের সাথে সম্পর্কিত।

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

বাস্তব টেবিল অবজেক্ট (রেফারেন্স) এবং নন-অবজেক্ট (নন-রেফারেন্স) টেবিলে বিভক্ত।

অবজেক্ট (রেফারেন্স) টেবিলগুলি রেফারেন্স ডেটা প্রকার (ডিরেক্টরি, নথি, বৈশিষ্ট্যের প্রকারের জন্য পরিকল্পনা ইত্যাদি) সম্পর্কে তথ্য প্রদান করে। এবং নন-অবজেক্টে (নন-রেফারেন্স) - অন্যান্য সমস্ত ডেটা প্রকার (ধ্রুবক, রেজিস্টার ইত্যাদি)।

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

কোয়েরি ভাষা

যে অ্যালগরিদম দ্বারা অনুরোধের উত্স টেবিল থেকে ডেটা নির্বাচন করা হবে তা একটি বিশেষ ভাষায় অনুরোধের পাঠ্যে বর্ণনা করা হয়েছে - প্রশ্নের ভাষা।অনুরোধের পাঠ্যটি কয়েকটি অংশ নিয়ে গঠিত:

    অনুরোধের বিবরণ,

    একত্রিত প্রশ্ন

    ফলাফল অর্ডার করা,

    স্বয়ংক্রিয় আদেশ,

    ফলাফলের বর্ণনা।

অনুরোধের একমাত্র বাধ্যতামূলক অংশটি হল প্রথমটি - অনুরোধের বিবরণ। প্রয়োজন অনুযায়ী বাকি সবাই উপস্থিত।

বিবরণ অনুরোধ করুনডেটা উত্স, নির্বাচন ক্ষেত্র, গ্রুপিং ইত্যাদি সংজ্ঞায়িত করে।

প্রশ্ন মার্জিংএকাধিক প্রশ্নের ফলাফল কিভাবে একত্রিত হবে তা নির্ধারণ করে।

ফলাফল আয়োজনক্যোয়ারী ফলাফল সারি জন্য ক্রম শর্ত সংজ্ঞায়িত করে.

স্বয়ংক্রিয় অর্ডারআপনি ক্যোয়ারী ফলাফল সারি স্বয়ংক্রিয় ক্রম সক্রিয় করতে পারবেন.

ফলাফলের বিবরণক্যোয়ারীতে কোন টোটাল গণনা করা উচিত এবং ফলাফলগুলিকে কীভাবে গোষ্ঠীভুক্ত করা যায় তা নির্ধারণ করে।

পরিষেবার নথির বিধানের রিপোর্ট রেজিস্টার

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

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

অনুরোধের জন্য একটি ডেটা উত্স হিসাবে, আমরা "পরিষেবা বিধান" নথির অবজেক্ট (রেফারেন্স) টেবিলটি নির্বাচন করব৷ এই টেবিল থেকে আমরা নিম্নলিখিত ক্ষেত্রগুলি নির্বাচন করি:

  • "মাস্টার",

    "ক্লায়েন্ট":

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

এর পরে, আসুন "অর্ডার" ট্যাবে যান এবং নির্দেশ করুন যে অনুরোধের ফলাফলটি প্রথমে "তারিখ" ক্ষেত্রের মান দ্বারা এবং তারপরে "পরিষেবা বিধান। লিঙ্ক" ক্ষেত্রের মান দ্বারা আদেশ করা উচিত:

আসুন "রিপোর্ট" ট্যাবে যান এবং "রিপোর্ট বিল্ডার ব্যবহার করুন" পতাকা রিসেট করুন:

আসুন "রিপোর্ট বিল্ডার ব্যবহার করুন" পতাকা রিসেট করি...

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

Query.Text = "নির্বাচন করুন

পরিষেবার বিধান। তারিখ হিসাবে তারিখ,

পরিষেবার বিধান। নম্বর AS নম্বর,

পরিষেবার বিধান। গুদাম,

সেবা প্রদান। গুদাম। উপস্থাপনা,

সেবা প্রদান। মাস্টার,

পরিষেবা প্রদান করা। মাস্টার। উপস্থাপনা,

পরিষেবার বিধান। গ্রাহক,

পরিষেবার বিধান। গ্রাহক। প্রতিনিধিত্ব

নথি। পরিষেবাগুলির বিধান কীভাবে পরিষেবাগুলি সরবরাহ করবেন

ক্রমানুসার

অনুরোধের পাঠ্যটি শুরু হয়, যেমনটি আমরা উপরে বলেছি, অনুরোধের বিবরণের অংশ দিয়ে:

I পরিষেবার বিধান। তারিখ হিসাবে তারিখ,

I পরিষেবার বিধান। নম্বর AS নম্বর,

I পরিষেবার বিধান। গুদাম,

I পরিষেবার বিধান। গুদাম। উপস্থাপনা,

আমি সেবা প্রদান করছি। মাস্টার,

I পরিষেবার বিধান। মাস্টার। উপস্থাপনা,

I পরিষেবার বিধান। ক্লায়েন্ট,

1 পরিষেবার বিধান। ক্লায়েন্ট। প্রতিনিধিত্ব

I নথি। পরিষেবার বিধান কীভাবে পরিষেবা প্রদান করা যায়

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

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

আমরা নির্বাচন ক্ষেত্রগুলির বর্ণনায় এই কলটি দেখতে পাই:

| পরিষেবার বিধান। তারিখ হিসাবে তারিখ,

| পরিষেবার বিধান। নম্বর AS নম্বর,

| পরিষেবার বিধান। গুদাম,

| সেবা প্রদান। গুদাম। উপস্থাপনা,

| সেবা প্রদান। মাস্টার,

| পরিষেবা প্রদান করা। মাস্টার। উপস্থাপনা,

| পরিষেবার বিধান। গ্রাহক,

| পরিষেবার বিধান। গ্রাহক। প্রতিনিধিত্ব

নির্বাচন ক্ষেত্রগুলির উপনামও থাকতে পারে, যা অনুরোধের পাঠ্যে পরে এই ক্ষেত্রটি উল্লেখ করতে ব্যবহার করা যেতে পারে। আমাদের ক্ষেত্রে, এগুলি হল "তারিখ" এবং "নম্বর" উপনাম।

আমাদের উদাহরণে প্রশ্নের বর্ণনা অংশের পরে ফলাফলের ক্রম অংশটি আসে:

|অর্ডার বাই

| তারিখ, | সংখ্যা";

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

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

প্রসিডিউর রেজিস্টার অফ ডকুমেন্টস প্রোভিশন অফ সার্ভিসেস (ট্যাবডক) এক্সপোর্ট

//((CONSTRUCTOR_OUTPUT_FORM(পরিষেবার নথিপত্রের নিবন্ধন)// এই খণ্ডটি নির্মাণকারী দ্বারা নির্মিত হয়েছিল।// কনস্ট্রাক্টর পুনরায় ব্যবহার করার সময়,// প্রবর্তিতম্যানুয়ালি পরিবর্তনহারিয়ে যাবে!!!

বিন্যাস = GetLayout ("পরিষেবা প্রদানকারী নথিপত্রের নিবন্ধন"); অনুরোধ = নতুন অনুরোধ;

ফলাফল = Query.Run();

HeaderArea = Layout.GetArea("Header"); এরিয়া বেসমেন্ট =

Layout.GetArea("টেবিলফুটার"); DetailRecordsArea =

TabDoc.Output(TableHeadArea); TabDoc.StartAutogruttingRows();

সিলেক্ট ডিটেইলস = রেজাল্ট। সিলেক্ট();

যখন SelectDetails.NextFunctions() লুপ

AreaDetailRecords.Parameters.Fill(Selection Details);

TabDoc.Output(RecordsDetailsArea,DetailsSelection.Level()); এন্ডসাইকেল;

/L)CONSTRUCTOR_OUTPUT_FORM শেষ প্রক্রিয়া

রিপোর্ট ফর্ম একটি নিয়ন্ত্রণ উপাদান রয়েছে ট্যাবুলার ডকুমেন্টফিল্ড"TabDoc" নামের সাথে, যা ডিজাইনার দ্বারা তৈরি লেআউটের উপর ভিত্তি করে ডেটা দিয়ে পূর্ণ।

পদ্ধতির শুরুতে, আমরা একটি প্রতিবেদনের বিন্যাস পাই, যেখান থেকে আমরা সংশ্লিষ্ট ভেরিয়েবলের মধ্যে বিদ্যমান ক্ষেত্রগুলিকে প্রাপ্ত করি:

HeaderArea = Layout.GetArea("Header"); এরিয়া বেসমেন্ট =

লেআউট।গেটএরিয়া("বেসমেন্ট"); TableHeaderArea =

Layout.GetArea("TableHeader"); টেবিলফুটারএরিয়া =

Layout.GetArea("TableFooter"");DetailRecordsArea =

বিন্যাস.GetArea("বিশদ বিবরণ");

তারপরে আমরা স্প্রেডশীট নথিটি সাফ করি এবং সেই অঞ্চলগুলি প্রদর্শন করি যেগুলিতে ক্যোয়ারী ফলাফল থেকে প্রাপ্ত ডেটা নেই:

TabDoc.Clear(); TabDoc.Output(AreaHeader);

TabDoc.Output(TableHeadArea); TabDoc.StartAutoGroupingRows();

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

এর পরে, আমরা ক্যোয়ারী ফলাফল থেকে একটি নির্বাচন পাই, যা আমরা একটি লুপের মধ্য দিয়ে যাই:

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

পদ্ধতির শেষে, আমরা একটি স্প্রেডশীট নথিতে লেআউটের চূড়ান্ত ক্ষেত্রগুলি প্রদর্শন করি:

TabDoc.FinishAutoGroupingRows();

TabDoc.Output(TableFooterArea);

TabDoc.Output(AreaFooter);

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

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

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

আসুন একটি নতুন কনফিগারেশন অবজেক্ট "পরিষেবা রেটিং" রিপোর্ট তৈরি করি। আসুন "লেআউটস" ট্যাবে যান এবং আউটপুট ফর্ম কনস্ট্রাক্টরকে কল করি।

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

তারপরে কার্সারটিকে "সেলস টার্নওভার" টেবিলে রাখুন এবং ভার্চুয়াল টেবিল প্যারামিটার প্রবেশের জন্য ডায়ালগটি কল করুন:

ভার্চুয়াল টেবিল প্যারামিটার প্রবেশের জন্য ডায়ালগ খুলুন

আসুন আমরা ইঙ্গিত করি যে সময়ের শুরু এবং শেষ সংশ্লিষ্ট প্যারামিটারে পাস করা হবে “StartDate” এবং “EndDate” (নামের আগে “&” চিহ্নটি নির্দেশ করে যে এটি একটি অনুরোধ প্যারামিটার):

তারপর টেবিল থেকে “SprNomenclature.Link” এবং “SalesTurnover.RevenueTurnover” ফিল্ড নির্বাচন করুন:

SprNomenclature.Presentation

SalesTurnoverRevenueTurnover

আসুন "লিঙ্ক" ট্যাবে যান এবং দেখুন যে ডিজাইনার ইতিমধ্যে দুটি নির্বাচিত টেবিলের মধ্যে একটি সংযোগ তৈরি করেছেন - "নামকরণ" রেজিস্টার পরিবর্তনের মান "নামকরণ" ডিরেক্টরি উপাদানের রেফারেন্সের সমান হওয়া উচিত।

রেজিস্টার টেবিলের জন্য "সমস্ত" পতাকা রিসেট করা এবং ডিরেক্টরি টেবিলের জন্য সেট করা আমাদের জন্য একমাত্র কাজ বাকি।

আমরা "নামকরণ" ডিরেক্টরি থেকে সমস্ত উপাদান নির্বাচন করব

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

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

দ্বিতীয় শর্তটি হতে হবে যে নির্বাচিত আইটেমটি একটি পরিষেবা (এটি হল "সহজ শর্ত"):

ভবিষ্যতে, অনুরোধটি কার্যকর করার আগে, আমরা "নামকরণের প্রকার" প্যারামিটারে সংশ্লিষ্ট গণনা মানটি পাস করব।

চলুন "অ্যাসোসিয়েশন/অ্যালিয়াসেস" ট্যাবে যান এবং উল্লেখ করুন যে ডিরেক্টরি আইটেম ভিউতে উপনাম "পরিষেবা" থাকবে, এবং রেজিস্টার ক্ষেত্রের উপনাম "রাজস্ব" থাকবে:

আসুন "অর্ডার" ট্যাবে যান এবং নির্দেশ করি যে ক্যোয়ারী ফলাফলটি "রাজস্ব" ক্ষেত্রের মানের অবতরণ ক্রমে সাজানো উচিত।

"মোট" ট্যাবে, আমরা নির্ধারণ করি যে আমাদের সাধারণ মোট প্রদর্শন করতে হবে এবং সেগুলি "রাজস্ব" ক্ষেত্রের মানগুলির সমষ্টি হওয়া উচিত:

"রিপোর্ট" ট্যাবে, "রিপোর্ট বিল্ডার ব্যবহার করুন" পতাকা সাফ করুন।

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

"ঠিক আছে" ক্লিক করুন। প্ল্যাটফর্মটি একটি লেআউট এবং রিপোর্ট ফর্ম তৈরি করবে৷ ফর্ম মডিউলটি খুলুন এবং এতে "পরিষেবা রেটিং" পদ্ধতিটি সন্ধান করুন৷

এই পদ্ধতিতে, যে অংশে ক্যোয়ারী প্যারামিটার সেট করা আছে, সেখানে আমরা "নামকরণের ধরন" প্যারামিটারের মান নির্ধারণ করব (সংশোধনগুলি বোল্ডে হাইলাইট করা হয়েছে):

| বাম সংযোগ নিবন্ধন সংগ্রহ. বিক্রয়, টার্নওভার (&শুরু তারিখ,

| মেয়াদ শেষ হওয়ার তারিখ,)

| কিভাবে সেলসটার্নওভার করবেন

|অর্ডার বাই | রাজস্ব ডাউন

| ফলাফলের পরিমাণ (রাজস্ব) | সাধারণ";

RequestSetParameterC "নামের প্রকার",

স্থানান্তর। নামকরণের প্রকার। পরিষেবা);

Query.SetParameter("StartDate",StartDate); Request.SetParameterC"EndDate", EndDate);

এখন কনস্ট্রাক্টর দ্বারা উত্পন্ন অনুরোধ পাঠ্য দেখুন:

| SprNomenclature.Representation AS রিপ্রেজেন্টেশন,

|বিক্রয় টার্নওভার।রেভিনিউ টার্নওভার হিসাবে রাজস্ব

| ডিরেক্টরি. নামকরণ AS RefNomenclature

বাম সংযোগ নিবন্ধন সংগ্রহ. বিক্রয়. টার্নওভার

| কিভাবে সেলসটার্নওভার করবেন

| Software SalesTurnover.Nomenclature = SprNomenclature.Link

| (RefNomenclature.ThisGroup = False) এবং

| SprNomenclature.Type of Nomenclature = &Nomenclature এর প্রকার

|অর্ডার বাই

| রাজস্ব ডাউন

|ফলাফলের পরিমাণ (রাজস্ব) দ্বারা

প্রথমে, যথারীতি, অনুরোধের বিবরণ অংশটি আসে এবং এতে এমন নির্মাণ রয়েছে যা আমাদের কাছে নতুন।

অনুরোধের উত্সগুলি বর্ণনা করার সময় (IZ কীওয়ার্ডের পরে), বেশ কয়েকটি অনুরোধ উত্স সংজ্ঞায়িত করার ক্ষমতা ব্যবহার করা হয়েছিল:

| ডিরেক্টরি. নামকরণ AS RefNomenclature

|&শেষ তারিখ,)

| কিভাবে সেলসটার্নওভার করবেন

| Software SalesTurnover.Nomenclature = SprNomenclature.Link

এই ক্ষেত্রে, রেকর্ড দুটি উত্স থেকে নির্বাচন করা হয়: "SprNomenklatura" এবং "SalesTurnover", মূল বাক্য সহ বাম সংযোগ... দ্বারাএই দুটি উৎস থেকে রেকর্ড একত্রিত করা হবে উপায় বর্ণনা করে.

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

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

| RegisterAccumulations.Sales.Turnover(&Start date, &end date,)

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

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

এ অবস্থা দূর করতে হলে দুটি কাজ করতে হবে।

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

আসুন তারিখের রচনাটি নির্ধারণ করি ...

দ্বিতীয়ত, পরামিতি পাস করার সময়, বিল্ট-ইন ফাংশন ব্যবহার করুন দিন শেষে().এটি করার জন্য, রিপোর্ট ফর্ম মডিউলে ফিরে যান এবং প্রয়োজনীয় পরিবর্তনগুলি করুন (সংযোজনগুলি বোল্ডে হাইলাইট করা হয়েছে):

ProcedureFormActionsRatingServicesGenerate(Button) //((CONSTRUCTOR_WEEKEND_FORM_PROCEDURE_CALL(RatingServices) //এই খণ্ডটি নির্মাণকারী দ্বারা নির্মিত হয়েছিল। // কনস্ট্রাক্টর পুনরায় ব্যবহার করার সময়, // ম্যানুয়ালি করা পরিবর্তনগুলি হারিয়ে যাবে!!!

TabDoc = FormElements.TableField;

//))CONSTRUCTOR_OUTPUT_FORM_CALL_PROCEDURE

কো. নেট পদ্ধতি

এর অনুরোধ টেক্সট তাকান অবিরত. ক্যোয়ারী বর্ণনার অংশ হিসাবে, আরেকটি নির্মাণ রয়েছে যা আমাদের কাছে নতুন - উৎস টেবিল থেকে ডেটা নির্বাচন করার শর্ত নির্ধারণ করা:

| SprNomenclature.Representation AS রিপ্রেজেন্টেশন,

| SalesTurnover.RevenueTurnover হিসাবে রাজস্ব

| ডিরেক্টরি. নামকরণ AS RefNomenclature

| বাম সংযোগ নিবন্ধন সংগ্রহ. বিক্রয়. টার্নওভার

| মেয়াদ শেষ হওয়ার তারিখ,

| কিভাবে সেলসটার্নওভার করবেন

| Software SalesTurnover.Nomenclature = SprNomenclature.Ssshka

| SprNomenclature.ThisGroup = False AND

| SprNomenclature.Type of Nomenclature = &Nomenclature এর প্রকার

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

ফলাফলের পরিমাণ (রাজস্ব) PO

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

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

03/01/2004 থেকে 04/30/2004 পর্যন্ত রিপোর্টিং সময়কাল সেট করা যাক। ফলাফল এই মত দেখাবে:

এখন শেষ তারিখ পরিবর্তন করে 03/31/2004 করা যাক এবং নিশ্চিত করুন যে 31 মার্চের ডেটা রিপোর্টে অন্তর্ভুক্ত করা হয়েছে: