1c-এ এক্সেলের প্রোগ্রামটির নাম কী? কোনটি ভাল - 1C বা এক্সেল? প্রোগ্রামিং ছাড়া আপলোড

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

কিভাবে 1C এবং তদ্বিপরীত এক্সেল নথি খুলবেন

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

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

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

    1C 7.7 এর ব্যবহারকারীরা 1C 8 সংস্করণে আপগ্রেড করতে পারেন, যার একটি উন্নত টেবিল সম্পাদক রয়েছে।

কিভাবে 1C এবং এক্সেল প্রোগ্রামগতভাবে ইন্টারঅ্যাক্ট করতে পারে

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

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

কিভাবে 1C প্রোগ্রামে একটি এক্সেল ফাইল খুলতে হয়

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

  • ব্যতিক্রম

    রিপোর্ট(ErrorDescription() + "এই কম্পিউটারে এক্সেল ইনস্টল করা নেই!");

  • প্রচেষ্টার সমাপ্তি।

টেবিল সম্পাদকের অ্যাক্সেস ইনস্টল করা হয়েছে, এখন নিম্নলিখিত কমান্ডগুলি ব্যবহার করে আপনাকে অ্যাক্সেস পেতে হবে:

    নির্দিষ্ট নথি:

    • বই = Excel.WorkBooks.Open(FilePath)

    • পত্রক = Book.WorkSheets(SheetNumber);

  • একটি নির্দিষ্ট শীট নম্বর সহ:

    একটি নির্দিষ্ট শীট নাম সহ:

    • পত্রক = Book.WorkSheets(SheetName);

    • মান = শীট। সেল (সারি নম্বর, কলাম সংখ্যা)।

একটি ফাইলের প্রথম পৃষ্ঠা থেকে ডেটা পড়তে, নিম্নলিখিত তালিকাগুলি ব্যবহার করুন:

    এক্সেল = CreateObject("Excel.Application");

    বই = Excel.WorkBooks.Open(FilePath);

    পত্রক = Book.Worksheets(1);

    মোট কলাম = শীট। সেল(1,1)।বিশেষ সেল(11)।কলাম;

    মোট সারি = শীট। কোষ(1,1)। বিশেষ কোষ(11)।

    Row = 1 TotalRows লুপের জন্য

    • কলাম = 1 মোট কলাম চক্রের জন্য

      মান = Abbr(Sheet.Cells(Row, Column).Value);

      এন্ডসাইকেল;

    এন্ডসাইকেল;

মনে রাখবেন, ফাইলের পথটি অবশ্যই সম্পূর্ণভাবে উল্লেখ করতে হবে। একটি নথির নাম সংরক্ষণ করার সময়, আপনি অক্ষর অন্তর্ভুক্ত করতে পারবেন না যেমন \, /, :, *, ?, ", >,< и |.

কিভাবে এক্সেলের মাধ্যমে একটি 1C ফাইল প্রোগ্রাম্যাটিকভাবে খুলবেন

এক্সেলে ডেটা রেকর্ড করতে আপনাকে অবশ্যই:

    অথবা একটি বিদ্যমান নথি খুলুন:

    • বই = Excel.WorkBooks.Open(ফাইলের পথ) - 1C থেকে একটি এক্সেল ফাইল পড়ার সাথে সাদৃশ্য দ্বারা;

    অথবা একটি নতুন যোগ করুন:

    • ওয়ার্কবুক = Excel.WorkBooks.Add();

    আপনি একটি নতুন নথিতে একটি নতুন শীট তৈরি করতে পারেন:

    • পত্রক = Book.Sheets.Add();

    এবং ঘরে একটি নতুন মান যোগ করুন:

    • Sheet.Cells(RowNumber, ColumnNumber).Value = Value; (OLE ব্যবহার করে মান লেখার পদ্ধতিগুলি ইন্টারনেটে বিস্তারিতভাবে বর্ণনা করা হয়েছে)।

  • Book.SaveAs(FilePath);

    ব্যতিক্রম

    রিপোর্ট(ErrorDescription()+"ফাইল সংরক্ষিত হয়নি!");

    প্রচেষ্টার সমাপ্তি।

যখন আপনি স্প্রেডশীট সম্পাদকের সাথে কাজ শেষ করেন, বিশেষ কমান্ড ব্যবহার করে প্রস্থান করুন (Excel.Application.Quit();)। এই পদ্ধতিটি পরবর্তী কাজের সময় কম্পিউটার সম্পদ সংরক্ষণ করতে সাহায্য করবে।

1C এবং Excel এর মধ্যে ডেটা বিনিময় করার সময় বিপদ

1C এবং Excel বিভিন্ন কোম্পানি দ্বারা তৈরি করা হয়েছে এবং ডেটা পরিচালনার বিভিন্ন উপায় ব্যবহার করে। অতএব, এক প্রোগ্রাম থেকে অন্য প্রোগ্রামে টেবিল স্থানান্তর করার সময়, নিম্নলিখিত ত্রুটিগুলি মনে রাখবেন:

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

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

আপনার যদি প্রচুর পরিমাণে ডেটা আদান-প্রদান করতে হয় বা ত্রুটি থেকে পরিত্রাণ পেতে না পারেন, সাহায্যের জন্য Setby কোম্পানির পেশাদারদের সাথে যোগাযোগ করুন। আমরা আপনাকে প্রোগ্রাম স্তরে আপনার সমস্যাগুলি সমাধান করতে এবং আপনার কাজের জন্য প্রয়োজনীয় কমান্ডগুলি বুঝতে সাহায্য করব৷

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

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

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

স্বচ্ছতার জন্য, আসুন কল্পনা করা যাক অ্যাকাউন্টিং অটোমেশনের জন্য কী প্রয়োজন হতে পারে, উদাহরণস্বরূপ, বাণিজ্যের জন্য:

1. একটি নির্দিষ্ট সময়ের মধ্যে বিক্রয় বিশ্লেষণ।

বিক্রয় বিভাগের প্রধান বিক্রয় তথ্য বিশ্লেষণ করতে পারেন। পরিকল্পনাটি বাস্তবায়িত হচ্ছে কিনা, তার কৌশলগুলি কতটা কার্যকর তা বোঝা তার জন্য গুরুত্বপূর্ণ, যাতে অকার্যকরতার ক্ষেত্রে তিনি কাজের সাথে সময়মতো সমন্বয় করতে পারেন।

2. গুদাম অ্যাকাউন্টিং।
আমাকে কি ব্যাখ্যা করতে হবে যে বিক্রয়ের জন্য স্টকে পণ্যের প্রাপ্যতা বোঝাও গুরুত্বপূর্ণ, কোন পণ্যগুলি সংরক্ষণ করা যেতে পারে এবং কোনটি স্টকের বাইরে এবং কী অর্ডার করা দরকার? আমি মনে করি এখানে সবকিছু পরিষ্কার।

3. প্রতিপক্ষের একটি ডাটাবেস বজায় রাখা।
এমনকি যদি মালিক কেবলমাত্র এখানে এবং এখন যা কেনা যায় তা বিক্রি করে, যা B2C সেক্টরের জন্য সাধারণ, তারপরও সরবরাহকারী বেস - চুক্তি, প্রাথমিকের সাথে তার একটি সামান্য ভিন্ন সম্পর্ক রয়েছে... কল্পনা করুন যে এটি কতটা সুবিধাজনক সরবরাহকারী স্বয়ংক্রিয়ভাবে এটি অবিলম্বে একটি একক ডাটাবেসে প্রদর্শিত হয়? গুদামের দায়িত্বে থাকা ব্যবস্থাপক অবিলম্বে গুদামে পণ্যের প্রাপ্যতা দেখেন, নথিগুলির জন্য দায়ী অন্য একজন কর্মচারী তাদের প্রাপ্যতার তথ্য নিরীক্ষণ করে, চুক্তিভিত্তিক সম্পর্কের অধীনে সমস্ত বাধ্যবাধকতা পূরণ হচ্ছে কিনা, কে কার ঋণ এবং কত। এবং অমিলের ক্ষেত্রে, আপনি একটি নির্দিষ্ট সময়ের জন্য ডেটা সমন্বয় করতে পারেন, এক মিনিটেরও কম সময়ে ফলাফল তৈরি করে৷

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

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

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

আমি 1C সম্পর্কে একই কথা বলতে পারি না, যেহেতু সমস্ত তথ্য কাঠামোগত এবং আন্তঃসংযুক্ত:

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

এক্সেলের প্রতিরক্ষায়

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

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

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


শেষ ফলাফল কি – “1C” বা “Excel”?

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

ক্লায়েন্ট এবং সরবরাহকারীদের সাথে এবং তত্ত্বাবধায়ক কর্তৃপক্ষের সাথে সম্পর্ক সম্পর্কিত স্বয়ংক্রিয় সমস্যাগুলি সহ আপনি যখন বুঝতে পারেন যে আপনার সংস্থানগুলিকে অপ্টিমাইজ করতে হবে তখন "1C" তে রূপান্তর করা যেতে পারে। সাধারণভাবে, ব্যবসায়িক দক্ষতা বাড়াতে আপনার কাজের প্রক্রিয়াগুলি সামঞ্জস্য করুন যখন তথ্য প্রক্রিয়াকরণে অনেক সময় লাগবে, এবং এক্সেল ফাইলগুলি আর ইনপুট ডেটার ভলিউমের সাথে মানিয়ে নিতে পারবে না৷

যাইহোক, প্রতিটি "1C" আপনার জন্য উপযুক্ত নাও হতে পারে; আপনাকে বিভিন্ন বিষয়গুলি বিবেচনায় নিতে হবে: ব্যবসার সুনির্দিষ্ট এবং পরিধি, স্কেল, দৈনন্দিন কাজের প্রয়োজনীয়তা, রুটিন যা ন্যূনতম করা দরকার। সবকিছুই স্বতন্ত্র। সত্য, যেমনটি আমি ইতিমধ্যে বলেছি, "1C" এবং "Excel" এর মধ্যে কোথাও রয়েছে - এটি একে অপরের পরিপূরক।

যে সম্ভবত সব. কিন্তু যদি আপনার কোন প্রশ্ন থাকে, তাহলে আমাদের সাথে যোগাযোগ করুন, আমরা আপনাকে সাহায্য করার চেষ্টা করব। সফল ব্যবসায়িক প্রক্রিয়া, সহকর্মীরা!

এই পদ্ধতি সহজ. এর সারমর্ম হল বস্তু ট্যাবুলার ডকুমেন্টপদ্ধতি আছে:

  • লেখ (< ИмяФайла>, < ТипФайлаТаблицы >) একটি ফাইলে ডেটা আপলোড করতে;
  • পড়ুন (< ИмяФайла>, < СпособЧтенияЗначений >) একটি ফাইল থেকে ডেটা লোড করতে।

মনোযোগ!

Write() পদ্ধতি ক্লায়েন্ট এবং সার্ভার উভয়েই উপলব্ধ। Read() পদ্ধতি শুধুমাত্র সার্ভার সাইডে উপলব্ধ। এই মনে রাখা প্রয়োজন
ক্লায়েন্ট-সার্ভার মিথস্ক্রিয়া পরিকল্পনা করার সময়।

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

ট্যাবডক . লিখুন(FilePath, TabularDocumentFileType. XLSX);

এখানে ট্যাবডক- তৈরি স্প্রেডশীট নথি, ফাইলের পথ- আপলোড করার জন্য ফাইলের নাম, TabularDocumentFileType.XLSX- তৈরি করা ফাইলের বিন্যাস। নিম্নলিখিত এক্সেল ফর্ম্যাটগুলি সমর্থিত:

  • XLS95 - এক্সেল 95 বিন্যাস;
  • XLS97 - এক্সেল 97 ফর্ম্যাট;
  • XLSX হল একটি Excel 2007 ফরম্যাট।

TabDoc = New TabularDocument;
ট্যাবডক . Read(PathToFile, মেথড অফ রিডিং টেবুলার ডকুমেন্ট ভ্যালুস। ভ্যালু);

এখানে ফাইলের পথ— ডাউনলোড করা এক্সেল ফাইলের পথ। একটি ট্যাবুলার ডকুমেন্টের মান পড়ার পদ্ধতি। মানএকটি উৎস নথি থেকে পড়া ডেটা কীভাবে ব্যাখ্যা করা উচিত তা নির্ধারণ করে। উপলব্ধ বিকল্প:

  • অর্থ;
  • পাঠ্য।

OLE এর মাধ্যমে বিনিময় করুন

OLE অটোমেশন প্রযুক্তির মাধ্যমে এক্সচেঞ্জ সম্ভবত এক্সেল ফাইলগুলির সাথে প্রোগ্রাম্যাটিকভাবে কাজ করার জন্য সবচেয়ে সাধারণ বিকল্প। এটি আপনাকে এক্সেল দ্বারা প্রদত্ত সমস্ত কার্যকারিতা ব্যবহার করতে দেয়, তবে অন্যান্য পদ্ধতির তুলনায় এটি ধীর। OLE এর মাধ্যমে বিনিময় করতে, MS Excel ইনস্টলেশন প্রয়োজন:

  • শেষ ব্যবহারকারীর কম্পিউটারে, যদি বিনিময়টি ক্লায়েন্টের দিকে ঘটে;
  • 1C: এন্টারপ্রাইজ সার্ভার কম্পিউটারে, যদি বিনিময়টি সার্ভারের দিকে হয়।

উদাহরণ আনলোডিং:

// একটি COM অবজেক্ট তৈরি করুন
এক্সেল = নতুন COMObject("Excel.Application");
// সতর্কতা এবং প্রশ্ন নিষ্ক্রিয় করুন
এক্সেল . DisplayAlerts = False;
// একটি নতুন বই তৈরি করুন
বই = এক্সেল। ওয়ার্কবুক। যোগ করুন();
// প্রথম শীটে অবস্থান
শীট = বই। ওয়ার্কশীট (1);

// একটি ঘরে একটি মান লিখুন
শীট . কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। মান = CellValue;

// ফাইলটি সংরক্ষণ করুন
বই . SaveAs(ফাইলের নাম);


এক্সেল . প্রস্থান ();
এক্সেল = 0;

উদাহরণ পড়া:

// -- বিকল্প 1 --

// একটি COM অবজেক্ট তৈরি করুন
এক্সেল = নতুন COMObject("Excel.Application");
// একটি বই খুলুন
বই = এক্সেল। ওয়ার্কবুক। খোলা( ফাইলের পথ );

শীট = বই। ওয়ার্কশীট (1);

// বই বন্ধ করা
বই . বন্ধ (0);

// এক্সেল বন্ধ করুন এবং মেমরি খালি করুন
এক্সেল . প্রস্থান ();
এক্সেল = 0;

// —— বিকল্প 2 ——

// একটি বই খুলুন
বই = GetCOMObject( ফাইলের পথ );
// পছন্দসই শীটে অবস্থান
শীট = বই। ওয়ার্কশীট (1);

// সেল মান পড়ুন, সাধারণত সেল ট্রাভার্সাল লুপ এখানে অবস্থিত
সেল ভ্যালু = শীট। কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। মান;

// বই বন্ধ করা
বই . আবেদন। কুই t();

জন্য বাইপাসএক্সেল ওয়ার্কশীটের সমস্ত সম্পূর্ণ সারিগুলির জন্য, আপনি নিম্নলিখিত কৌশলগুলি ব্যবহার করতে পারেন:

// -- বিকল্প 1 --
সারির সংখ্যা = শীট। কোষ (1, 1)। বিশেষ সেল (11)। সারি;
সারি সংখ্যার জন্য = 1 সারি চক্রের সংখ্যা দ্বারা
সেল ভ্যালু = শীট। কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। মান;
এন্ডসাইকেল;

// —— বিকল্প 2 ——
সারি সংখ্যা = 0 ;
যখন সত্য চক্র
RowNumber = RowNumber + 1 ;
সেল ভ্যালু = শীট। কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। মান;
মান পূরণ না হলে(সেলভ্যালু) তারপর
গর্ভপাত;
যদি শেষ;
এন্ডসাইকেল;

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

মোট কলাম = শীট। কোষ (1, 1)। বিশেষ সেল (11)। কলাম;
মোট সারি = পাতা। কোষ (1, 1)। বিশেষ সেল (11)। সারি;

অঞ্চল = পাতা। পরিসর(শীট। সেল(1, 1), শীট। সেল (মোট সারি, মোট কলাম));
ডেটা = অঞ্চল। মান. আনলোড();

নীচের টেবিলটি OLE এর মাধ্যমে Excel এর সাথে কাজ করার জন্য সর্বাধিক জনপ্রিয় বৈশিষ্ট্য এবং পদ্ধতিগুলি দেখায়:

কর্ম কোড একটি মন্তব্য
অ্যাপ্লিকেশন নিয়ে কাজ করা
অ্যাপ্লিকেশন উইন্ডো দৃশ্যমানতা সেট করা হচ্ছে এক্সেল . দৃশ্যমান= মিথ্যা;
সতর্কতা আউটপুট মোড সেট করা হচ্ছে (প্রদর্শন/প্রদর্শন নয়) এক্সেল . ডিসপ্লে অ্যালার্ট= মিথ্যা;
আবেদন বন্ধ এক্সেল . প্রস্থান ();
একটি বই নিয়ে কাজ করা
একটি নতুন বই তৈরি করা হচ্ছে বই = এক্সেল। ওয়ার্কবুক। যোগ করুন();
একটি বিদ্যমান ওয়ার্কবুক খোলা হচ্ছে বই = এক্সেল। ওয়ার্কবুক। খুলুন (ফাইলের নাম);
একটি বই সংরক্ষণ বই . SaveAs(ফাইলের নাম);
বই বন্ধ করা বই . বন্ধ (0);
একটি শীট সঙ্গে কাজ
বর্তমান শীট সেট করা হচ্ছে শীট = বই। ওয়ার্কশীট(শীট নম্বর);
নাম নির্ধারণ শীট . নাম = নাম;
সুরক্ষা সেট আপ করা হচ্ছে শীট . রক্ষা করুন();
সুরক্ষা অপসারণ শীট . অরক্ষিত();
পৃষ্ঠার অভিযোজন সেট করা হচ্ছে শীট . পাতা ঠিক করা. ওরিয়েন্টেশন = 2; 1 - প্রতিকৃতি, 2 - ল্যান্ডস্কেপ
বাম সীমানা সেট করা হচ্ছে শীট . পাতা ঠিক করা. LeftMargin = Excel। সেন্টিমিটার টুপয়েন্টস(সেন্টিমিটার);
ঊর্ধ্ব সীমা নির্ধারণ শীট . পাতা ঠিক করা. টপ মার্জিন = এক্সেল। সেন্টিমিটার টুপয়েন্টস(সেন্টিমিটার);
সঠিক সীমানা নির্ধারণ করা হচ্ছে শীট . পাতা ঠিক করা. রাইট মার্জিন = এক্সেল। সেন্টিমিটার টুপয়েন্টস(সেন্টিমিটার);
নিম্ন সীমা নির্ধারণ শীট . পাতা ঠিক করা. বটম মার্জিন = এক্সেল। সেন্টিমিটার টুপয়েন্টস(সেন্টিমিটার);
সারি, কলাম, ঘর নিয়ে কাজ করা
কলামের প্রস্থ সেট করা হচ্ছে শীট . কলাম (কলাম সংখ্যা)। কলাম প্রস্থ = প্রস্থ;
একটি লাইন মুছুন শীট . সারি (সারি সংখ্যা)। মুছে ফেলা();
একটি কলাম সরানো হচ্ছে শীট . কলাম (কলাম সংখ্যা)। মুছে ফেলা();
একটি সেল মুছুন শীট . কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। মুছে ফেলা();
মান নির্ধারণ করা শীট . কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। মান = মান;
কোষ একত্রিত করা শীট . ব্যাপ্তি(শীট। কক্ষ (সারি নম্বর, কলাম সংখ্যা), পত্রক। কক্ষ (সারি নম্বর 1, কলাম নম্বর 1))। একত্রিত করা();
ফন্ট সেট করা হচ্ছে শীট . কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। হরফ। নাম = FontName;
ফন্ট সাইজ সেট করা হচ্ছে শীট . কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। হরফ। সাইজ = ফন্ট সাইজ;
বোল্ড ফন্ট সেট করা হচ্ছে শীট . কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। হরফ। সাহসী = 1 ; 1 - সাহসী, 0 - স্বাভাবিক
তির্যক সেট করা হচ্ছে শীট . কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। হরফ। তির্যক = 1 ; 1 - তির্যক, 0 - স্বাভাবিক
আন্ডারলাইন করা ফন্ট সেট করা হচ্ছে শীট . কক্ষ (সারি সংখ্যা, কলাম সংখ্যা)। হরফ। আন্ডারলাইন করুন = 2 ; 2 - আন্ডারলাইন করা, 1 - না

কোন সম্পত্তি পরিবর্তন করতে হবে বা কোন পদ্ধতি কল করতে হবে তা খুঁজে বের করার জন্য, আপনি ব্যবহার করতে পারেন ম্যাক্রোএক্সেল আপনি যদি প্রয়োজনীয় ক্রিয়াগুলির সাথে একটি ম্যাক্রো রেকর্ড করেন, তাহলে আপনি রেকর্ড করা ম্যাক্রোর VBA কোডটি দেখতে পারেন।

COMSafeArray ব্যবহার করে

1C থেকে Excel এ প্রচুর পরিমাণে ডেটা ডাউনলোড করার সময়, আপনি গতি বাড়াতে বস্তুটি ব্যবহার করতে পারেন COMSafeArray. সিনট্যাক্স সহকারীর সংজ্ঞা অনুসারে, COMSafeArray হল একটি বহুমাত্রিক অ্যারের উপর একটি বস্তুর মোড়ক নিরাপদ অ্যারে COM থেকে। COM অবজেক্টের মধ্যে ডেটা আদান-প্রদানের জন্য আপনাকে SafeArray তৈরি করতে এবং ব্যবহার করতে দেয়। সহজ কথায় বলতে গেলে, এটি মানগুলির একটি অ্যারে যা OLE প্রযুক্তি ব্যবহার করে অ্যাপ্লিকেশনগুলির মধ্যে বিনিময় করতে ব্যবহার করা যেতে পারে।

// COMSafeArray তৈরি করুন
ArrayCom = নতুন COMSafeArray("VT_Variant" , TotalColumns, TotalRows);
// COMSafeArray পূরণ করুন
জন্য পৃষ্ঠা = 0 মোট লাইন দ্বারা - 1 চক্র
জন্য সংখ্যা = 0 মোট কলাম - 1 চক্র
অ্যারেকম . সেট ভ্যালু(গণনা, পৃষ্ঠা, মান);
এন্ডসাইকেল;
এন্ডসাইকেল;
// COMSafeArray থেকে মানগুলিতে একটি এক্সেল ওয়ার্কশীট এলাকা বরাদ্দ করা
শীট . পরিসর(শীট। কক্ষ(1, 1), পত্রক। কক্ষ(মোট সারি, মোট কলাম))। মান = ArrayCom;

ADO এর মাধ্যমে বিনিময়

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

ADO এর মাধ্যমে এক্সচেঞ্জ OLE এর মাধ্যমে এক্সচেঞ্জের তুলনায় লক্ষণীয়ভাবে দ্রুত, কিন্তু আপলোড করার সময়, সেল ডিজাইন করা, পৃষ্ঠা তৈরি করা, সূত্র সেট করা ইত্যাদির জন্য এক্সেল কার্যকারিতা ব্যবহার করা সম্ভব নয়।

উদাহরণ আনলোডিং:


সংযোগ = নতুন COMObject("ADODB.Connection");


যৌগ . সংযোগ স্ট্রিং = "

|ডেটা উৎস=" + ফাইলের নাম + ";
;
যৌগ . খোলা(); // একটি সংযোগ খুলুন

// কমান্ডের জন্য একটি COM অবজেক্ট তৈরি করুন
কমান্ড = নতুন COMObject("ADODB.Command");
টীম

// একটি টেবিল তৈরি করতে কমান্ড টেক্সট বরাদ্দ করা
টীম . CommandText = "টেবিল তৈরি করুন [শীট1] (কলাম 1 অক্ষর(255), কলাম 2 তারিখ, কলাম 3 int, কলাম 4 ফ্লোট)";
টীম . এক্সিকিউট(); // কমান্ডটি চালান

// একটি টেবিল সারি যোগ করতে কমান্ড টেক্সট বরাদ্দ করা
টীম . CommandText = "[শীট1] (কলাম1, কলাম2, কলাম3, কলাম4) মান ('abvwhere', '8/11/2017', '12345', '12345,6789') ঢোকান";
Command.Execute(); // কমান্ডটি চালান

// কমান্ডটি সরান এবং সংযোগ বন্ধ করুন
কমান্ড = Undefined;
যৌগ . বন্ধ();
সংযোগ = অনির্ধারিত;

একটি নতুন শীট তৈরি করতে এবং এর গঠন গঠন করতে, আপনি বস্তু ব্যবহার করতে পারেন ADOX.Catalogএবং ADOX.Table. এই ক্ষেত্রে, কোড দেখতে হবে:

// বইয়ের সাথে কাজ করার জন্য একটি COM অবজেক্ট তৈরি করুন
বই = নতুন COMObject("ADOX.Catalog");
বই . সক্রিয় সংযোগ = সংযোগ;

// শীটে ডেটা স্ট্রাকচারের সাথে কাজ করার জন্য একটি COM অবজেক্ট তৈরি করুন
টেবিল = নতুন COMObject("ADOX.Table");
টেবিল . নাম = "শীট1" ;
টেবিল . কলাম. যোগ করুন ("কলাম 1", 202);
টেবিল . কলাম. যোগ করুন ("কলাম 2", 7);
টেবিল . কলাম. যোগ করুন ("কলাম 3", 5);
টেবিল . কলাম. যোগ করুন ("কলাম 4", 5);

// ওয়ার্কবুকে বর্ণিত কাঠামোর সাথে একটি শীট তৈরি করুন
বই . টেবিল। যোগ করুন (সারণী);
সারণি = Undefined;
বই = Undefined;

উপরের উদাহরণে, পদ্ধতিতে

টেবিল . কলাম. যোগ করুন("কলাম 1", 202);

দ্বিতীয় পরামিতি কলামের ধরন নির্দিষ্ট করে। প্যারামিটারটি ঐচ্ছিক, এখানে কিছু কলাম টাইপ মান রয়েছে:

  • 5 - অ্যাডডাবল;
  • 6 - adCurrency;
  • 7 - adDate;
  • 11 - অ্যাডবুলিয়ান;
  • 202 - adVarWChar;
  • 203 - adLongVarWChar.

উদাহরণ পড়া:

// সংযোগের জন্য একটি COM অবজেক্ট তৈরি করুন
সংযোগ = নতুন COMObject("ADODB.Connection");

// সংযোগ স্ট্রিং সেট করুন
যৌগ . সংযোগ স্ট্রিং = "
|প্রদানকারী=Microsoft.ACE.OLEDB.12.0;
|ডেটা উৎস=" + ফাইলের নাম + ";
|বর্ধিত বৈশিষ্ট্য=""Excel 12.0 XML;HDR=YES"";";
যৌগ . খোলা(); // একটি সংযোগ খুলুন

// নির্বাচন পেতে একটি COM অবজেক্ট তৈরি করুন
নির্বাচন করুন = নতুন COMObject("ADODB.Recordset");
RequestText = "[শীট1$] থেকে * নির্বাচন করুন";

// অনুরোধটি কার্যকর করুন
নমুনা . খুলুন (কোয়েরি টেক্সট, সংযোগ);

// নমুনা ফলাফল বাইপাস
এখনও একটি নির্বাচন না. EOF() লুপ
কলাম 1 মান = নির্বাচন। ক্ষেত্র। আইটেম ("কলাম 1")। মান ; // কলামের নাম দ্বারা অ্যাক্সেস
Column2Value = নির্বাচন। ক্ষেত্র। আইটেম(0)। মান; // কলাম সূচক দ্বারা অ্যাক্সেস
নমুনা . মুভ নেক্সট();
এন্ডসাইকেল;

নমুনা . বন্ধ ();
নমুনা = Undefined;
যৌগ . বন্ধ ();
সংযোগ = Undefined;

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

  • হ্যাঁ - প্রথম লাইনটিকে কলামের নাম হিসাবে বিবেচনা করা হয়। নাম এবং কলাম সূচক দ্বারা মানগুলি অ্যাক্সেস করা যেতে পারে।
  • না - প্রথম লাইনটিকে ডেটা হিসাবে বিবেচনা করা হয়। মান শুধুমাত্র কলাম সূচী দ্বারা অ্যাক্সেস করা যেতে পারে.

এই উদাহরণগুলি শুধুমাত্র কয়েকটি ADO বস্তুকে কভার করে। ADO অবজেক্ট মডেল নিম্নলিখিত অবজেক্ট নিয়ে গঠিত:

  • সংযোগ;
  • আদেশ;
  • রেকর্ডসেট;
  • রেকর্ড;
  • ক্ষেত্র;
  • প্রবাহ;
  • ত্রুটি;
  • পরামিতি;
  • বৈশিষ্ট্য.

প্রোগ্রামিং ছাড়া আপলোড

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

একটি স্প্রেডশীট নথি সংরক্ষণ করতে (উদাহরণস্বরূপ, একটি প্রতিবেদনের ফলাফল), আপনি কমান্ডটি কল করতে পারেন সংরক্ষণবা সংরক্ষণ করুন…প্রধান সূচি.

যে উইন্ডোটি খোলে, আপনাকে সংরক্ষিত ফাইলের ডিরেক্টরি, নাম এবং বিন্যাস নির্বাচন করতে হবে।

গতিশীল তালিকা থেকে ডেটা সংরক্ষণ করতে (উদাহরণস্বরূপ, আইটেমগুলির একটি তালিকা), আপনাকে অবশ্যই:

  1. কমান্ড ব্যবহার করে একটি স্প্রেডশীট নথিতে ডেটা আউটপুট করুন আরও ⇒ তালিকা...;
  2. প্রয়োজনীয় বিন্যাসে স্প্রেডশীট নথি সংরক্ষণ করুন.

1C-তে MS Excel ফাইলগুলির সাথে কাজ করার 2টি উপায় রয়েছে: একটি COM অবজেক্টের মাধ্যমে এবং একটি স্প্রেডশীট ডকুমেন্ট অবজেক্ট ব্যবহার করে বিল্ট-ইন 1C টুলের মাধ্যমে। আসুন আরো বিস্তারিতভাবে এই পদ্ধতি উভয় তাকান.

1. একটি COM অবজেক্টের মাধ্যমে কাজ করুন।

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

উদাহরণ (আপনি এটি নিবন্ধের শেষে পাঠ্য আকারে দেখতে পারেন):

এটা উল্লেখ করা উচিত যে COM অবজেক্ট "Excel.Application" দ্বারা প্রদত্ত সমস্ত বস্তু, পদ্ধতি এবং বৈশিষ্ট্য হল VBA, MS Office প্রোগ্রামিং ভাষা এর অবজেক্ট, পদ্ধতি এবং বৈশিষ্ট্য।

বিঃদ্রঃ:

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

2. ট্যাবুলার ডকুমেন্ট 1C এর মাধ্যমে কাজ করুন।

1C স্প্রেডশীট ডকুমেন্ট 8 প্ল্যাটফর্ম থেকে শুরু করে রেকর্ডিংয়ের জন্য এমএস এক্সেল বিন্যাস সমর্থন করে, কিন্তু শুধুমাত্র প্ল্যাটফর্ম 8.3.6 থেকে শুরু করে খোলার জন্য। তাছাড়া, যখন খোলা হয়, সমস্ত শীট একটি স্প্রেডশীট নথিতে লোড হয়। সংস্করণ 8.3.10 থেকে, লোড করার সময়, বিভিন্ন শীট বিভিন্ন এলাকা হিসাবে লোড হয়।

একটি উদাহরণ এন্ট্রি খুব সহজ এবং বিশেষ মনোযোগ প্রয়োজন হয় না:

যাইহোক, এখানে আমাদের একটি সমস্যা আছে। এক্সেল ওয়ার্কবুকে 1C থেকে রেকর্ড করার সময়, শীট নামের প্রদর্শন ডিফল্টরূপে অক্ষম থাকে।

এই সমস্যাটি 2 উপায়ে সমাধান করা যেতে পারে, 1 - বইটিতে নিজেই, সেটিংসে শীটগুলির প্রদর্শন সক্ষম করুন (সকল ব্যবহারকারী এটি করতে রাজি হবেন না), 2 - এটি একটি COM অবজেক্টের মাধ্যমে করুন (আমাদের আবার এমএস এক্সেল ইনস্টল করা দরকার )

এই ছোট সংযোজনের পরে, পত্রক লেবেলগুলি MS Excel ফাইলে দৃশ্যমান হবে।

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

&অনক্লায়েন্ট

প্রসিডিউর ক্রিয়েট ডকুমেন্ট()

ব্যতিক্রম

শেষ প্রচেষ্টা;

বই = Excel.WorkBooks.Add(); // একটি নতুন এমএস এক্সেল ওয়ার্কবুক তৈরি করুন

পত্রক = Book.WorkSheets.Add(); // একটি শীট যোগ করুন

Sheet.Name = "1C থেকে উদাহরণ"; //শীটের নাম সেট করুন

Sheet.Cells(1,1)।Value = "চলুন একটি সূত্র তৈরি করি)";!}

পত্রক। কোষ(2,1)।মান = 1;

পত্রক। কোষ(2,2)।মান = 2;

পত্রক। কোষ(2,3)। সূত্র = "=A2+B2";

Sheet.Cells(3,1).Value = CurrentDate();

Book.SaveAs("C:\1\Test.xlsx");

বুক.ক্লোজ();

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

সার্ভারে

ফাংশন GetLayoutServer()

ফিরুন FormAttributesValue("Object").GetLayout("TemplateForUpload"); //এইভাবে আমরা বাহ্যিক প্রক্রিয়াকরণ বিন্যাস পেতে পারি;

এন্ড ফাংশন

&অনক্লায়েন্ট

কার্যপ্রণালী কাজ()

এক্সেল = নতুন COMObject("Excel.Application");

ব্যতিক্রম

রিপোর্ট("এক্সেল উপাদান সংযোগ করার একটি প্রচেষ্টা ব্যর্থ হয়েছে। এই কম্পিউটারে এক্সেল ইনস্টল নাও হতে পারে!");

শেষ প্রচেষ্টা;

লেআউট = GetLayoutServer();

লেআউট।লিখুন(অস্থায়ী ফাইলের নাম);

আপনার কি প্রশ্ন আছে বা পরামর্শদাতার সাহায্যের প্রয়োজন আছে?

বই = Excel.WorkBooks.Open(TemporaryFileName);

পত্রক টেমপ্লেট = Book.WorkSheets(1);

SheetTemplate.Cells(6,1)।মান = "তারিখ:";!}

SheetTemplate.Cells(6,2).Value = CurrentDate();

SheetTemplate.NumberFormat = "dd/mm/yy;@"; // তারিখ বিন্যাস দিন, এই বিন্যাসটি MS Excel এ একটি ম্যাক্রো রেকর্ড করে প্রাপ্ত হয়েছিল

SheetTemplate.Columns("B:B").EntireColumn.AutoFit; // কলামটি প্রসারিত করুন যাতে তারিখটি ঠিক ফিট করে

Book.SaveAs(FileName);

বুক.ক্লোজ();

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

&অনক্লায়েন্ট

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

&অনক্লায়েন্ট

প্রসিডিউর রাইটটেবুলার ডকুমেন্ট()

TabularDocument = নতুন TabularDocument();

TabularDocument.Area("R1C1").Text = "1C থেকে এমএস এক্সেলে একটি রেকর্ডের উদাহরণ";

TabularDocument.Write("C:\1\Test2.xls", TabularDocumentFileType.XLSX);

এক্সেল = নতুন COMObject("Excel.Application");

Excel.WorkBooks.Open("C:\1\Test2.xls");

Excel.Visible = 0;

Excel.ActiveWindow.DisplayWorkbookTabs = 1;

Excel.ActiveWindow.TabRatio = 0.6;

Excel.ActiveWorkbook.Save();

Excel.Application.Quit()

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

BinaryData = নতুন BinaryData("C:\1\test2.xlsx");

ঠিকানা=PlaceInTemporaryStorage(BinaryData,ThisForm.UniqueIdentifier);

TabularDocument = UploadOnServer(Address);

TabularDocument.Show();

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

সার্ভারে

ফাংশন UploadOnServer(ঠিকানা)

অস্থায়ী ফাইলের নাম = GetTemporaryFileName("xlsx");

ফাইলডেটা = GetFromTemporaryStorage(Address);

FileData.Write(TemporaryFileName);

TabularDocument = নতুন TabularDocument();

ট্যাবুলার ডকুমেন্ট ফেরত;