নথি 1s 8.3 এর সারণী অংশে একটি লাইন যোগ করুন। হটকি: সাধারণ ক্রিয়া

পূর্ববর্তী উদাহরণের জন্য, আপনি কোডের নিম্নলিখিত লাইন যোগ করতে পারেন:

ফর্ম উপাদান. টেবিলফিল্ড1. অ্যাডরো(); page = FormElements.TableField1.CurrentRow; p.প্রথম = 3; p.Second = "ময়দা"; p. পরিমাণ = 350;

1s 8 এ মানের টেবিলে সারির সংখ্যা কীভাবে নির্ধারণ করবেন?

countRows = table.Quantity(); রিপোর্ট("সারণী মানের সারণিতে সারির সংখ্যা = " + সারির সংখ্যা);

ফলাফল:

সারণী মানের সারণিতে সারির সংখ্যা = 3

1s 8 এ মানগুলির একটি টেবিলের একটি সারি কীভাবে মুছবেন?

rowTable = টেবিল; table.Delete(rowTable);

কিভাবে 1s 8 এ মানের একটি টেবিল ভেঙে ফেলা যায়?

সঙ্কুচিত করুন:

টেবিল।পতন("দ্বিতীয়", "পরিমাণ");

আমরা আবর্তনের পরে পাই:

কিভাবে 1s 8 এ মানের একটি টেবিল সাজাতে হয়?

দ্বিতীয় এবং তৃতীয় কলাম অনুসারে সাজান:

table.Sort("দ্বিতীয়, পরিমাণ");

কিভাবে 1c 8 এ একটি লাইনে একটি টেবিল ক্ষেত্র অবস্থান করবেন?

দ্বিতীয় লাইনে:

Form Elements.TableField1.CurrentRow = টেবিল;

1s 8 এ মুদ্রণযোগ্য ফর্ম

প্রথমে, আমরা একটি লেআউট তৈরি করি (এলাকার নাম: লেআউটের প্রয়োজনীয় লাইনগুলি নির্বাচন করুন, বৈশিষ্ট্যগুলিতে, নাম ক্ষেত্রে, এলাকার নাম লিখুন), তারপর এটি একটি স্প্রেডশীট নথিতে প্রদর্শন করুন:

প্রসিডিউর CommandPanel1Print(Button) ভেরিয়েবল td, rs, rs1, লেআউট, কোড, নাম, নাম; কোড = 0; লেআউট = GetLayout("পণ্য"); হেডার = লেআউট।গেটএরিয়া("হেডার"); header.Parameters.datta = CurrentDate(); pc = layout.GetArea("pc"); pc1 = layout.GetArea("pc1"); td = নতুন ট্যাবুলার ডকুমেন্ট; td.আউটপুট(ক্যাপ); nomen = Directories.Nomenclature; Selection = nom.SelectHierarchically(); while fetch.Next() লুপ কোড = কোড + 1; যদি sample.ThisGroup = True তাহলে pc1.Parameters.code = code; pc1.Parameters.name = Selection.Name; td.আউটপুট(rs1); else rs.Parameters.code = কোড; rs.Parameters.name = Selection.Name; td. প্রত্যাহার(rs); যদি শেষ; শেষ চক্র; etc.ViewOnly = True; td.Show("ডিরেক্টরি ""নামকরণ"""); প্রক্রিয়া শেষ

একটি প্রোগ্রামিং ভাষার মৌলিক ক্ষমতা সাধারণত সংখ্যা এবং স্ট্রিং সঙ্গে কাজ অন্তর্ভুক্ত. সাধারণত এই বৈশিষ্ট্যগুলি কম্পাইলার কোডে হার্ড-কোড করা হয় (বা প্রোগ্রামিং ভাষার "বেস" ক্লাসগুলি প্রয়োগ করা হয়)।

1C-তে, স্ট্রিংগুলির সাথে কাজ করার ক্ষমতা প্ল্যাটফর্মেই প্রোগ্রাম করা হয়। আজ আমরা বিল্ট-ইন 1C ভাষায় প্রোগ্রামগুলিতে 1C স্ট্রিংগুলির সাথে কাজ করার বৈশিষ্ট্যগুলি দেখব।

লাইন মান 1C

1. এর সবচেয়ে সহজ দিয়ে শুরু করা যাক। একটি ভেরিয়েবল তৈরি করা এবং এটিতে একটি ধ্রুবক স্ট্রিং মান বরাদ্দ করা 1C-তে এইরকম দেখায়:

পরিবর্তনশীল = "হ্যালো, বিশ্ব!";

আপনি যদি একটি ধ্রুবক 1C স্ট্রিং মানের একটি উদ্ধৃতি অক্ষর নির্দিষ্ট করতে চান, তাহলে আপনাকে এটি দ্বিগুণ করতে হবে ""

পরিবর্তনশীল = "হ্যালো, বিশ্ব"!;

2. লাইন ব্রেক 1C একবারে দুটি উপায়ে নির্দিষ্ট করা যেতে পারে। প্রথমটি প্রতীক ব্যবহার করছে |

পরিবর্তনশীল = "হ্যালো,
| বিশ্ব ";

দ্বিতীয়টি প্রতীক সিস্টেম গণনা ব্যবহার করছে। এটি আপনাকে 1C লাইন বিরতি এবং অন্যান্য নন-প্রিন্টিং অক্ষর, যেমন TAB উভয়ই যোগ করতে দেয়।

পরিবর্তনশীল = "হ্যালো" + প্রতীক. পিএস + "শান্তি!";

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

ভাষার তালিকা সাধারণ/ভাষা শাখার কনফিগারেশন উইন্ডোতে অবস্থিত। প্রতিটি ভাষার একটি সংক্ষিপ্ত শনাক্তকারী রয়েছে যেমন ruবা eng.

এটা স্পষ্ট যে এই ধরনের কনফিগারেশন প্রোগ্রামিং করার সময়, 1C লাইনগুলিও বহুভাষিক হতে পারে। এটি করার জন্য, এর মাধ্যমে নির্দিষ্ট করে এমন একটি 1C লাইন তৈরি করা সম্ভব; ভাষা শনাক্তকারী দ্বারা বিকল্প:

পরিবর্তনশীল = "ru=""হ্যালো, ওয়ার্ল্ড!""; en=""হ্যালো, ওয়ার্ল্ড!""";

আপনি যদি যথারীতি এইভাবে গঠিত 1C লাইনটি ব্যবহার করেন তবে এটিতে যা লেখা আছে তা হবে। সিস্টেমটিকে দুটি বিকল্পে বিভক্ত করার জন্য এবং পছন্দসই একটি ব্যবহার করার জন্য, আপনাকে НStr() ফাংশনটি ব্যবহার করতে হবে:

// দ্বিভাষিক কনফিগারেশনের জন্য সঠিক
রিপোর্ট(NStr(ভেরিয়েবল));

লাইন টাইপ 1C সহ প্রপস

বৈশিষ্ট্য হল 1C ডিরেক্টরি/নথির একটি ক্ষেত্র। এটি 1C ভাষার একটি প্রোগ্রামের একটি ভেরিয়েবল থেকে আলাদা যে বৈশিষ্ট্যটির জন্য এর ধরনটি সঠিকভাবে নির্দেশিত (সংখ্যা, 1C স্ট্রিং, ইত্যাদি)। একটি প্রপ কি আপনার স্মৃতি রিফ্রেশ করার প্রয়োজন হলে, পাঠটি দেখুন।

আপনি যদি অ্যাট্রিবিউটের ধরন নির্দিষ্ট করেন - লাইন 1C, তবে আপনাকে অবশ্যই অতিরিক্ত প্যারামিটারগুলি নির্দিষ্ট করতে হবে।

1C লাইন সীমাহীন দৈর্ঘ্যে আসে (দৈর্ঘ্য = 0 হিসাবে নির্দেশিত) এবং সীমিত দৈর্ঘ্য, অক্ষরের সঠিক সংখ্যা নির্দেশ করে। সীমাহীন দৈর্ঘ্যের 1C সারিগুলি একটি পৃথক SQL টেবিলে সংরক্ষণ করা হয়, তাই তাদের ব্যবহার সীমিতগুলির তুলনায় কম ফলপ্রসূ হয়৷

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

1C স্ট্রিং দিয়ে কাজ করা

স্ট্রিংগুলির সাথে কাজ করার জন্য 1C প্ল্যাটফর্মের বেশ কয়েকটি অন্তর্নির্মিত ফাংশন রয়েছে।

  • AbbrLP ("অবিশ্বাস্য, কিন্তু সত্য!")
    1C লাইন থেকে অতিরিক্ত স্পেস সরিয়ে দেয়। যেকোনো প্রকারকে 1C স্ট্রিংয়ে রূপান্তর করতেও ব্যবহার করা যেতে পারে (উদাহরণস্বরূপ, সংখ্যা)।
  • পরিবর্তনশীল = "ভাস্য" + AbbrLP(" প্লাস") + "ওলিয়া"; // "ভাস্যা প্লাস অলিয়া" থাকবে
    বেশ কয়েকটি 1C স্ট্রিং মান যোগ করার একটি উদাহরণ। ফলাফল হবে এক লাইন 1C।
  • পরিবর্তনশীল = লেভ("মিউজিক", 2); // "মু" হবে
    পরিবর্তনশীল = মাঝারি ("সংগীত", 2, 2); // "হুমকি" থাকবে
    পরিবর্তনশীল = অধিকার ("সংগীত", 2); // "কা" থাকবে
    একটি 1C স্ট্রিং থেকে একটি সাবস্ট্রিং পাওয়ার জন্য বিভিন্ন বিকল্প।
  • পরিবর্তনশীল = খুঁজুন("সংগীত", "zy"); // 3টি হবে
    অক্ষর 1 দিয়ে শুরু করে স্ট্রিং 1C-তে একটি সাবস্ট্রিং খুঁজুন।
  • পরিবর্তনশীল = StrLength("Music"); // 6 হবে
    1C লাইনে অক্ষরের সংখ্যা প্রদান করে।
  • রিপোর্ট করুন ("হ্যালো") // 1C উইন্ডোর নীচে বার্তা উইন্ডোতে৷
    সতর্কতা("হ্যালো") //পপআপ ডায়ালগ
    স্ট্যাটাস("হ্যালো") // নীচে বাম দিকে স্ট্যাটাস ডিসপ্লে লাইনে
    .

লাইন 1C অবজেক্ট আনা

আপনি জানেন যে, বর্তমানে কাঠামোগত তথ্য বিনিময়ের জন্য সবচেয়ে জনপ্রিয় ফর্ম্যাট হল XML। এমনকি এমএস অফিস ওয়ার্ড এবং এক্সেলের সর্বশেষ সংস্করণ এই বিন্যাসে ফাইলগুলি সংরক্ষণ করে (যথাক্রমে, ডকএক্স এবং এক্সএলএসএক্স, এক্সটেনশনটিকে জিপ-এ পরিবর্তন করে, একটি আর্কাইভারে খুলুন)।

ডেটা এক্সচেঞ্জের জন্য 1C প্ল্যাটফর্ম বেশ কয়েকটি বিকল্প সরবরাহ করে, যার মধ্যে প্রধানটি হল XML।

1. সবচেয়ে সহজ পদ্ধতি হল Abbreviation() বা String() ফাংশন ব্যবহার করা। আপনি অনুরোধের বডিতে REPRESENTATION() ফাংশন ব্যবহার করতে পারেন। তাদের কর্মের ফলাফল একই - তারা ব্যবহারকারীর জন্য যেকোনো 1C বস্তুর একটি স্ট্রিং উপস্থাপনা তৈরি করে।

ডিফল্টরূপে একটি ডিরেক্টরির জন্য, এটি তার নাম হবে। একটি নথির জন্য - নথির নাম, নম্বর এবং তারিখ।

2. যেকোনো 1C অবজেক্ট (সীমাবদ্ধতা সহ) XML-এ রূপান্তরিত হতে পারে এবং এর বিপরীতে। রূপান্তর প্রক্রিয়াকে সিরিয়ালাইজেশন বলা হয়।

StringViewXml = XMLString(মান); // 1C মান থেকে XML পান
Value1C = XMLValue(Type("DirectoryLink.Nomenclature"),TypeStringXml); // XML স্ট্রিং থেকে 1C মান পান, আপনাকে অবশ্যই 1C টাইপটি নির্দিষ্ট করতে হবে যা গ্রহণ করা উচিত

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

সারি = ValueInRowInt(Value1C); // মান 1C থেকে স্ট্রিং 1C পান
ValueVFile("C:\MyFile.txt", Value1C); //অন্য বিকল্প, আমরা 1C মান থেকে একটি সংরক্ষিত স্ট্রিং সহ একটি ফাইল পাই
Value1C = ValueFromStringInt(String); // লাইন 1C থেকে ফিরে
Value1C = ValueFile("C:\MyFile.txt"); // ফাইল থেকে ফিরে

ফর্মে 1C লাইন সম্পাদনা করা হচ্ছে

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

1. সবচেয়ে সহজ উপায় হল চাহিদা অনুযায়ী 1C লাইনের প্রবেশের অনুরোধ করা। 1C প্রোগ্রামিং শেখানোর সময় এই পদ্ধতিটি ব্যবহার করা হয়; জীবনে এটি অনেক কম ব্যবহৃত হয় (তবে এটি ব্যবহার করা হয়!)

পরিবর্তনশীল = "";
সারি = EnterValue(ভেরিয়েবল, "সম্পূর্ণ নাম লিখুন");

2. একটি 1C অবজেক্ট (ডিরেক্টরি/ডকুমেন্ট) বা ফর্মের বিশদ বিবরণ (দেখুন) প্রদর্শন করতে, একটি ইনপুট ক্ষেত্র প্রায়শই ব্যবহৃত হয়। ব্যবহারকারীর সম্পাদনা ক্ষেত্রগুলির সাথে কাজ করার জন্য এটি 1C-তে সবচেয়ে সাধারণ সরঞ্জাম।

3. ইনপুট ক্ষেত্রের ক্ষমতাগুলি প্রসারিত করা যেতে পারে (ইনপুট ক্ষেত্রের বৈশিষ্ট্যগুলি দেখুন, এটিতে ডান ক্লিক করুন, আরও বিশদ বিবরণ):

  • চেকবক্স মাল্টিলাইন এডিটিং মোড
  • উন্নত সম্পাদনা চেকবক্স (পূর্ববর্তী চেকবক্সটি চেক করা থাকলে উপলব্ধ)
  • চেকবক্স পাসওয়ার্ড মোড (দেখুন)।

4. ইনপুট ক্ষেত্রের সমস্ত ক্ষমতা আপনার জন্য যথেষ্ট না হলে, একটি অন্তর্নির্মিত সম্পাদক আছে। ফর্মে এটি যোগ করতে, আপনাকে ফর্ম/ইনসার্ট কন্ট্রোল মেনুতে একটি পাঠ্য নথি ক্ষেত্র যোগ করতে হবে। এর বৈশিষ্ট্যগুলিতে আপনি এটির অপারেটিং মোড - এক্সটেনশন সম্পত্তি নির্দিষ্ট করতে পারেন।

একটি পাঠ্য নথি ক্ষেত্র সরাসরি ডেটার সাথে যুক্ত করা যাবে না। ফর্মের OnOpen() ইভেন্ট হ্যান্ডলারে একটি ফাংশন লিখতে হবে (দেখুন):

Form Elements.ElementNameTextDocumentField.SetText(StringValue); //এখানে ValueString হল টেক্সট গৃহীত, উদাহরণস্বরূপ, অ্যাট্রিবিউট থেকে

এবং সেভ হ্যান্ডলারে - উদাহরণস্বরূপ, সেভ বোতামে - একটি সংরক্ষণ যোগ করুন:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //Valueএই লাইনটি হল অ্যাট্রিবিউট যেখানে আমরা মান সংরক্ষণ করি

5. 1C সংস্করণ 8.2.11-এ, পরিচালিত ফর্মগুলিতে, 1C লাইনের প্রতিনিধিত্ব করার জন্য একটি নতুন বিকল্প উপস্থিত হয়েছে - ফর্ম্যাটেড ডকুমেন্ট ক্ষেত্র৷


একটি পাঠ্য নথির ক্ষেত্রের অনুরূপ, এটি খোলার সময় আপনাকে অবশ্যই এটি সেট করতে হবে এবং প্রোগ্রাম ব্যবহার করে এটি সংরক্ষণ করার সময় এটি লিখতে হবে।

  • 1C অবজেক্টে যার ফর্ম আমরা তৈরি করছি (ডিরেক্টরি, ডকুমেন্ট, প্রসেসিং, ইত্যাদি) - ভ্যালু স্টোরেজ টাইপের সাথে একটি অ্যাট্রিবিউট যোগ করুন
  • OnReadOnServer() ফাংশনে আমরা অ্যাট্রিবিউট থেকে টেক্সট সেট করি

    //এখানে অ্যাট্রিবিউট হল 1C অবজেক্টের যোগ করা অ্যাট্রিবিউট
    //এখানে FormattedDocument হল সম্পাদনার জন্য ফর্মের ক্ষেত্রের নাম
    সার্ভারে

    ফরম্যাটেড ডকুমেন্ট = CurrentObject.Attributes.Get();
    প্রক্রিয়া শেষ

  • BeforeWritingOnServer() ফাংশনে বা বোতাম ব্যবহার করে, আমরা ফিল্ড থেকে পাঠ্য লিখব

    সার্ভারে
    পদ্ধতি যখন ReadingOnServer(CurrentObject)
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    প্রক্রিয়া শেষ

1C-তে অনেক বস্তুর জন্য ট্যাবুলার অংশ বিদ্যমান:

  • ডিরেক্টরি
  • ডকুমেন্টেশন
  • রিপোর্ট এবং প্রক্রিয়াকরণ
  • অ্যাকাউন্টের চার্ট
  • চারিত্রিক ধরনের পরিকল্পনা
  • গণনার ধরন পরিকল্পনা
  • ব্যবসায়িক প্রক্রিয়া এবং কাজ

ট্যাবুলার অংশগুলি আপনাকে একটি বস্তুর অন্তর্গত সীমাহীন পরিমাণে কাঠামোগত তথ্য সংরক্ষণ করতে দেয়।

টেবুলার অংশগুলির সাথে কাজ করার জন্য কিছু কৌশল দেখুন।

ট্যাবুলার অংশ বাইপাস কিভাবে

টেবিলের অংশ অতিক্রম করতে, আপনি একটি লুপ ব্যবহার করতে পারেন প্রতিটির জন্য

চক্রের ট্যাবুলার অংশ থেকে প্রতিটি সারির জন্য

রিপোর্ট (স্ট্রিং। ট্যাবুলারপার্ট অ্যাট্রিবিউট);

এন্ডসাইকেল;

পরিবর্তনশীল মধ্যে প্রতিটি পুনরাবৃত্তি এ লাইনট্যাবুলার বিভাগের পরবর্তী সারিটি প্রেরণ করা হয়। সারির বিবরণের মান এক্সপ্রেশন দ্বারা প্রাপ্ত করা যেতে পারে Line.AttributeName.

টেবুলার অংশের নির্বাচিত সারিগুলি কীভাবে পাবেন এবং বাইপাস করবেন

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

নির্বাচিত লাইনগুলির একটি তালিকা পেতে, নিম্নলিখিত কোডটি ব্যবহার করুন:

নির্বাচিত লাইনগুলির মাধ্যমে পুনরাবৃত্তি করতে একটি লুপ ব্যবহার করা হয়। প্রতিটির জন্য:

নির্বাচিত সারি = FormElements। টেবিলফিল্ডের নাম। নির্বাচিত সারি;

নির্বাচিত সারি লুপ থেকে প্রতিটি সারির জন্য

// লুপ বিষয়বস্তু

এন্ডসাইকেল;

কীভাবে প্রোগ্রাম্যাটিকভাবে একটি সারণী অংশের সারি নির্বাচন করবেন (টেবিল ক্ষেত্র) এবং সেগুলি অনির্বাচন করুন

একটি টেবিল ক্ষেত্রের সারিগুলি প্রোগ্রাম্যাটিকভাবে অনির্বাচন করতে:

ফর্ম উপাদান. টেবিলফিল্ডের নাম। নির্বাচিত সারি। পরিষ্কার() ;

একটি টেবিল ক্ষেত্রের সমস্ত সারি প্রোগ্রাম্যাটিকভাবে নির্বাচন করতে:

TabularPart লুপ থেকে প্রতিটি CurrentRow এর জন্য
ফর্ম উপাদান. টেবিলফিল্ডের নাম। নির্বাচিত লাইন। যোগ করুন (কারেন্টরো);
এন্ডসাইকেল;

টেবিলের অংশটি কীভাবে পরিষ্কার করবেন

ট্যাবুলার পার্ট। পরিষ্কার() ;

কিভাবে একটি টেবিল বিভাগের বর্তমান সারি পেতে

বর্তমান লাইন হল টাইমলাইন যেখানে ব্যবহারকারীর বর্তমানে কার্সার রয়েছে। এটি পেতে, আপনাকে ট্যাবুলার অংশের সাথে যুক্ত ফর্মের নিয়ন্ত্রণ উপাদানটি অ্যাক্সেস করতে হবে।

নিয়মিত ফর্মগুলির জন্য কোডটি এইরকম দেখাবে:

ফর্ম উপাদান. টেবিলফিল্ডের নাম। বর্তমান তথ্য;

পরিচালিত ফর্মের জন্য:

উপাদান। টেবিলফিল্ডের নাম। বর্তমান তথ্য;

কীভাবে একটি টেবিল বিভাগে একটি নতুন সারি যুক্ত করবেন

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

NewRow = টেবিল পার্ট। যোগ করুন();

টেবিল বিভাগে যে কোনো জায়গায় একটি নতুন লাইন যোগ করা হচ্ছে (পরবর্তী লাইনগুলি স্থানান্তরিত হবে):

NewRow = টেবিল পার্ট। সন্নিবেশ (সূচী)
//সূচী - যোগ করা লাইনের সংখ্যা। লাইন সংখ্যা শূন্য থেকে শুরু হয়।

নতুন লাইন. প্রপস1 = "মান" ;

একটি টেবিল সারির বিশদগুলি প্রোগ্রাম্যাটিকভাবে কীভাবে পূরণ করবেন

আপনি যদি ব্যবহারকারীর দ্বারা যোগ করা একটি টেবিল বিভাগের সারির বিশদটি প্রোগ্রামগতভাবে পূরণ করতে চান তবে আপনাকে অবশ্যই টেবিল বিভাগ ইভেন্ট হ্যান্ডলার ব্যবহার করতে হবে এডিটিং শুরু করার সময়.

হ্যান্ডলার দ্বারা তৈরি পদ্ধতির তিনটি পরামিতি রয়েছে:

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

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

পদ্ধতি ট্যাবুলারপার্টঅ্যাটস্টার্ট এডিটিং(এলিমেন্ট, নিউরো, কপি)

//যদি ব্যবহারকারী একটি বিদ্যমান লাইন সম্পাদনা করে, তাহলে আমরা কিছুই করি না
যদি NewRow না হয় তাহলে
প্রত্যাবর্তন;
যদি শেষ ;

// যদি লাইনটি নতুন হয়, তাহলে অ্যাকাউন্টিং অ্যাকাউন্ট সেট করুন
টেকস্ট্রিং = আইটেম। বর্তমান তথ্য; // সারণী অংশের বর্তমান সারি পান
টেকস্ট্রিং। হিসাব নিকাশ = হিসাবপত্রের চার্ট। স্ব-সমর্থক। প্রয়োজনীয় অ্যাকাউন্ট;
প্রক্রিয়া শেষ