1s 8.3 ishlov berish shakli boshqariladigan ilovani oching. Tashqi ishlov berish diskda ma'lumotlar bazasidan alohida saqlanadi

Ushbu maqolada biz boshqariladigan dastur rejimida 1C 8.3 da tashqi ishlov berishni yaratish bo'yicha bosqichma-bosqich ko'rsatmalarni ko'rib chiqamiz, shunga ko'ra biz boshqariladigan shakllardan foydalanamiz. Va eng muhimi, biz uni standart quyi tizimlarning 2.0 va undan keyingi versiyalari kutubxonasida qurilgan 1C konfiguratsiyasini "tashqi ishlov berish" mexanizmiga qanday ulashni o'rganamiz.

Vazifa quyidagilardan iborat bo'ladi: "Item" katalogida guruhli harakatni amalga oshiradigan eng oddiy tashqi ishlov berishni yaratish, ya'ni belgilangan elementlar guruhi uchun tanlangan QQS stavkasini o'rnatish.

Buning uchun biz darhol dasturda kerakli sozlamalarni o'rnatamiz (biz 1C 8.3 konfiguratsiyasini ko'rib chiqamiz: boshqariladigan shakllarda "Korxona hisobi 3.0").

Ushbu katakchani belgilash bizga tashqi ishlov berishdan foydalanish imkoniyatini beradi.

Misol yordamida 1C 8.3 da yangi tashqi ishlov berishni yaratish

Endi konfiguratorga o'tamiz. "Fayl" menyusida "Yangi ..." ni tanlang. Yaratiladigan fayl turini tanlash oynasi ochiladi. "Tashqi ishlov berish" ni tanlang:

Yangi tashqi ishlov berish oynasi ochiladi. Keling, darhol unga nom beraylik. Bu ishlov berishni diskka saqlashda taklif qilinadi:

Yangi boshqariladigan ishlov berish shaklini qo'shamiz. Biz shuni ko'rsatamizki, bu qayta ishlash shakli va u asosiysi:

Shaklda ikkita ma'lumotga ega bo'lamiz:

  • Nomenklatura guruhi - "Nomenklatura" katalogiga havola;
  • SelectVATRate - QQS stavkasini o'tkazish uchun havola.

Yuqori o'ng oynadagi "Xususiyatlar" ustunida tafsilotlarni yaratamiz. Ularni sichqoncha bilan yuqori chap oynaga torting. Yangi tafsilotlar darhol quyidagi shaklda paydo bo'lishi kerak.

Tafsilotlar tartibini "yuqoriga" - "pastga" strelkalari yordamida o'zgartirish mumkin:

1C da 267 ta video darslarni bepul oling:

Faqatgina "O'rnatish" tugmasini qo'shish qoladi. Boshqariladigan shakllarda siz formaga shunchaki tugma qo‘sha olmaysiz. Agar siz uni forma elementlari tuzilishiga qo'shsangiz ham, u formaning o'zida ko'rinmaydi. Tugma u bajaradigan buyruq bilan bog'lanishi kerak. "Buyruqlar" yorlig'iga o'ting va "QQS stavkasini o'rnatish" buyrug'ini qo'shing. Buyruqning xususiyatlarida harakat yarating. "Mijozda" buyruqlar ishlovchisini tanlang. Buyruqni formaga oddiygina shakl elementlari bo'lgan bo'limga sudrab borish orqali ham qo'shish mumkin.

Form modulida bir xil nomdagi protsedura yaratiladi. Unda biz serverdagi protsedurani chaqiramiz:

&OnClient

QQS stavkasini belgilash tartibi (buyruq)

SetVATRateOnServer();

EndProcedure

Serverdagi protsedurada biz kichik so'rov va QQS stavkasini belgilash bilan bog'liq harakatlar yozamiz:

&Serverda

SetVATRateOnServer() protsedurasi

So'rov = Yangi so'rov;
So'rov.Matn =
"TANLANG
| Nomenklatura. Havola
|FROM
| Katalog.Nomenklatura AS Nomenklaturasi
|QAYERDA
| Nomenklatura.IERARXIYADAGI havola (&Nomenklatura guruhi)
| VA EMAS Nomenklatura.MarkDeletion
| VA Nomenklatura EMAS Bu guruhdir”;

Request.SetParameter("Elementlar guruhi", Elementlar guruhi);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

SelectRecordDet.Next() tsikli paytida

Urinish
SprNomObject.Write();
Istisno
Hisobot("Obyektni yozishda xatolik """ + SprNomObject + """!
|» + DescriptionError());
EndAttempt;

EndCycle;

EndProcedure

Biz "Forma" yorlig'iga qaytamiz, shaklga tugma qo'shamiz va uni buyruq bilan bog'laymiz:

Shunday qilib, bizning qayta ishlashimiz foydalanishga tayyor. Uni chaqirish uchun "1C Enterprise" rejimida siz "Fayl" - "Ochish" menyusiga o'tishingiz va yaratilgan faylni tanlashingiz kerak.

Biroq, ushbu rejimda ishlash disk raskadrovka ishlovi uchun qulay, lekin foydalanuvchi uchun to'liq mos kelmaydi. Foydalanuvchilar hamma narsani "barmoq uchida", ya'ni ma'lumotlar bazasida bo'lishga odatlangan.

"Qo'shimcha hisobotlar va qayta ishlash" bo'limi aynan shu maqsadda.

Lekin u yerga ishlovimizni qo'shish uchun avvalo unga tavsif berishimiz va dasturga uning xususiyatlarini aytib berishimiz kerak.

"Tashqi qayta ishlash haqida ma'lumot" funktsiyasining tavsifi

Men ushbu funktsiyaning mazmuniga misol keltiraman. U eksport qilinadigan va shunga mos ravishda ishlov berish modulida joylashgan bo'lishi kerak:

Funktsiya InformationOnExternalProcessing() eksporti

DataForReg = Yangi tuzilma();
DataForReg.Insert("Ism", "QQS stavkasini belgilash");
DataForReg.Insert("Xavfsiz rejim", rost);
DataForReg.Insert("Versiya", "ver.: 1.001");
DataForReg.Insert("Ma'lumot", "Nomenklatura ma'lumotnomasida QQS stavkasini belgilash uchun ishlov berish");
DataForReg.Insert("Ko'rish", "Qo'shimcha ishlov berish");

Buyruqlar jadvali = NewValueTable;
TabZnCommands.Columns.Add("Identifikator");
TabZnCommands.Columns.Add("Foydalanish");
TabZnCommands.Columns.Add("Ko'rish");

NewRow = TabZnCommands.Add();
NewString.Identifier = "Ochiq ishlov berish";
NewRow.Use = "Ochiq shakl";
NewRow.View = "Ochiq ishlov berish";
DataForReg.Insert("Buyruqlar", TabZnCommands);

DataForReg-ni qaytarish;

EndFunction

Ro'yxatga olish ma'lumotlari strukturasining qaysi sohalaridan foydalanish kerakligini yaxshiroq tushunish uchun "Qo'shimcha hisobotlar va qayta ishlash" katalogining tafsilotlarini ko'rib chiqaylik:

Ko'rib turganingizdek, hamma narsa juda oddiy. Faqat bitta atribut mos kelmaydi: "Ishga tushirish opsiyasi" - "Foydalanish". Agar biz umumiy modullardan birining kodini ko'rib chiqsak, ushbu maydonlarning bir to'plami qanday paydo bo'lishini ko'ramiz:

Strukturaning qaysi maydonlari talab qilinishini aniqlash uchun avval uni tavsiflay olmaysiz, shunchaki bo'sh joy yarating va keyin tuzatuvchidan foydalaning. Agar siz qayta ishlashni ro'yxatdan o'tkazayotganda modullarni kuzatib boradigan bo'lsangiz, qaysi maydonlar zarur va qaysi biri kerak emasligi darhol aniq bo'ladi.

1C 8.3 da tashqi ishlov berishni ulash

Tashqi ishlov berish bilan ishlash uchun (va tashqi chop etish shakli ham tashqi ishlov berishdir), ob'ekt mavjud Tashqi ishlov berish.

Keling, ikkita mumkin bo'lgan holatni ko'rib chiqaylik:

Tashqi ishlov berish diskda ma'lumotlar bazasidan alohida saqlanadi

1C-da tashqi ishlov berishni dasturiy ravishda ochish uchun siz uning faylining manzilini bilishingiz kerak. Buni bilib, siz qayta ishlash formasini ochishingiz yoki u bilan keyingi harakatlarni amalga oshirish uchun ishlov berish ob'ektini olishingiz mumkin (masalan, ob'ekt modulidan eksport funktsiyalarini chaqirish uchun).

Tashqi ishlov berish shaklini ochish

1C da tashqi ishlov berish shaklini dasturiy ravishda ochish uchun funktsiyadan foydalaning GetForm() ob'ekt Tashqi ishlov berish. Funktsiya bir nechta parametrlarga ega. Asosiy ishlov berish shaklining oddiy ochilishini ko'rib chiqing:


Shakl = Tashqi jarayonlar. GetForm (Fayl manzili);
Shakl. Ochiq();

Kichik tashqi ishlov berish shaklini ochish uchun uning nomini ko'rsatishingiz kerak.

//FileAddress o'zgaruvchisi tashqi ishlov berish fayliga to'liq yo'lni o'z ichiga oladi
Shakl = Tashqi jarayonlar. GetForm (Fayl manzili, "Kichik shakl") ;
Shakl. Ochiq();

Ob'ekt sifatida tashqi ishlov berishni ochish

Ob'ekt sifatida tashqi qayta ishlashni qabul qilish uchun funktsiyadan foydalaniladi Yaratmoq() ob'ekt Tashqi ishlov berish.

//FileAddress o'zgaruvchisi tashqi ishlov berish fayliga to'liq yo'lni o'z ichiga oladi
ProcessingObject = Tashqi ishlov berish. Yaratish (Fayl manzili);

Odatiy bo'lib, barcha ishlov berish xavfsiz rejimda ochiladi. Uni o'chirish uchun quyidagi variantlardan foydalaning:

//FileAddress o'zgaruvchisi tashqi ishlov berish fayliga to'liq yo'lni o'z ichiga oladi

Ma'lumot bazasida saqlangan tashqi ishlov berish yoki chop etish shakli

Ko'pgina konfiguratsiyalarda tashqi bosma shakllarni saqlash va to'g'ridan-to'g'ri ma'lumotlar bazasida ishlov berish mumkin. Buning uchun ma'lumotnomadan foydalaniladi. Tashqi ishlov berish. Tashqi ishlov berishning o'zi ikkilik ma'lumotlar yoki atributlarda saqlanadi StorageExternalProcessing, yoki jadval bo'limida Mansublik rekvizitlarda StorageExternalProcessing.

Tashqi ishlov berishni ochish uchun sizga kerak bo'ladi:

  1. Uni saqlash joyidan oling.
  2. Qayta ishlangan faylni diskka saqlang.
  3. Shaklni oching yoki ishlov berish ob'ektini oling.
  4. Agar biz tashqi bosma shakl bilan ishlayotgan bo'lsak, unda biz standart ma'lumotlarni to'ldirishimiz mumkin Ob'ektga havola va eksport funksiyasini chaqiring Muhr.

//RefLink o'zgaruvchisi ExternalProcessings katalog elementiga havolani o'z ichiga oladi
DvData = RefLink. Tashqi ishlov berish xotirasi. Get();
FileAddress = GetTemporaryFileName() ;
DvData. Yozish (Fayl manzili);
ProcessingObject = Tashqi ishlov berish. Yaratish (Fayl manzili, False);