Mxl ochishdan ko'ra. Mxl 1s 8.3 faylni saqlash dialogini ochishdan ko'ra

Uy / Ma'lumotlarni qayta tiklash

Vaqt muqarrar ravishda oldinga siljiydi va 1C 8 platformasi bu vaqtdan ham tezroq ishlaydi.

Boshqariladigan shakllar endi "TAXI interfeysi" deb nomlanadi, modal oynalar taqiqlanadi va kengaytmalar va tashqi komponentlarga sinxron qo'ng'iroqlardan foydalanish rejimi ushbu kengaytmalar va tashqi komponentlarning ko'pchiligining funksionalligini butunlay to'xtatdi va qo'shimcha ravishda eski usullarning yarmi. .

Umuman olganda, bolalar, ishlar shunday - ko'pchiligingiz ajoyib P. Chistovning 8.3 da fayllar bilan ishlash haqidagi maqolasini o'qigansiz.

Agar buni hali qilmagan bo'lsangiz, davom eting! ()

Fayllar bilan ishlash mexanizmining mohiyati qisqacha:

1) Mijozda faylni tanlang

2) Biz uni qora qutiga tashlaymiz

3) Qora quti tarkibini serverda saqlang

Shunisi e'tiborga loyiqki, buni ayniqsa, yangicha va jon bilan qilish kerak.

Shuning uchun sizning

SelectedFile.Exists()

va boshqa butparast narsalar bu erda ishlamaydi.

Xo'sh, ketaylik!

Bu erda mijozdan faylni yuklab olish imkonini beruvchi kod ro'yxati

Ogohlantirish tavsifi = Yangi ogohlantirish tavsifi ("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = False; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Bizni usul qiziqtiradi " StartPlaceFiles", bu, aslida, fayl tanlash dialogini chaqiradi va bu faylni vaqtincha saqlashga joylashtiradi. Vaqtinchalik saqlash tavsifi bilan bezovta qilishning ma'nosi yo'q, shunchaki esda tuting - bu biz tanlagan barcha fayllar joylashtirilgan joy. ikkilik ma'lumotlar shakli (qora quti).

&Mijoz ProcessFileSelection ProcessFileSelection(PlacedFiles, Qo'shimchaParameters) Protsedurasida Eksport Agar PlacedFiles = Aniqlanmagan bo'lsa, keyin qaytaring;

endIf; Har bir TransferredFile From PlacedFiles sikli uchun PathToFile = TransferredFile.Name;").

Record.FileName = ParseLine(PathToFile, "\"); Items.OpenFile.Header = Entry.FileName;", Menimcha, hech kim bahslashmaydi. Faylni vaqtinchalik xotiradan oling va uni "turi bilan atributga joylashtiring. Items.OpenFile.Header = Entry.FileName;" quyidagicha amalga oshirilishi mumkin:

NewValueStorage(GetFromTemporaryStorage(Manzil));

Biz bitta narsani hal qildik, endi ikkinchi narsa - bu qiymat do'konidan faylni qanday olish kerak (u sizga eslatib o'taman, serverda joylashgan) va uni mijozning diskiga saqlash kerakmi?

Avvalo, biz "turi" bilan atributga navigatsiya havolasini olishimiz kerak. Items.OpenFile.Header = Entry.FileName;", bu erda biz faylni ikkilik ma'lumotlar shaklida joylashtiramiz.

Ehtiyot bo'ling! Bu navigatsiya havolasi endi vaqtinchalik xotiraga aloqasi yo‘q! Usul yordamida navigatsiya havolasi turini tekshirishingiz mumkin

Bu vaqtinchalik saqlash manzili (manzil)

An'anaga ko'ra, faylni saqlash dialogini chaqiradigan kodlar ro'yxati

Ogohlantirish tavsifi = Yangi ogohlantirish tavsifi ("Faylni saqlash jarayoni", bu shakl); Fayl = TransferFilening yangi tavsifi (Fayl nomi, manzili); ReceiveFiles = Yangi massiv; ReceiveFiles.Add(Fayl); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = False; StartReceivingFiles(DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

O'zgaruvchan qiymat " Fayl"Bu yana bir xususiyat bu usul. Bu erda e'tibor berishga arziydi " Fayl nomi"Gap shundaki, faylni vaqtincha saqlashga qoʻyishda uning nomi va kengaytmasi haqidagi maʼlumotlar yoʻqoladi. Shuning uchun fayl nomini yoki hech boʻlmaganda uning kengaytmasini biror joyda saqlashni unutmang. keyinroq savol" Bu Word hujjati yoki MP3mi?"

Usul " Fayllarni qabul qilishni boshlang"usulga o'xshash" StartPlaceFiles". Shunchaki biri faylni tanlash uchun dialog oynasini ochadi, ikkinchisi esa, aksincha, faylni saqlash uchun dialog oynasini ochadi.

Asosan shunday.

Ushbu usuldan foydalanganda konfiguratsiya xususiyatlarida hech qanday modallik va sinxron qo'ng'iroq mosligini o'rnatishga hojat yo'q.

Men maqolani ko'proq o'zim uchun eslatma sifatida yozdim.

Vaqt muqarrar ravishda oldinga siljiydi va 1C 8 platformasi bu vaqtdan ham tezroq ishlaydi.

Boshqariladigan shakllar endi "TAXI interfeysi" deb nomlanadi, modal oynalar taqiqlangan va kengaytmalar va tashqi komponentlarga sinxron qo'ng'iroqlardan foydalanish rejimi ushbu kengaytmalar va tashqi komponentlarning ko'pchiligining funksionalligini va qo'shimcha ravishda eski usullarning yarmini to'liq to'xtatdi. .

Umuman olganda, bolalar, ishlar shunday - ko'pchiligingiz ajoyib P. Chistovning 8.3 da fayllar bilan ishlash haqidagi maqolasini o'qigansiz.

Agar buni hali qilmagan bo'lsangiz, davom eting! ()

Fayllar bilan ishlash mexanizmining mohiyati qisqacha:

1) Mijozda faylni tanlang

2) Biz uni qora qutiga tashlaymiz

3) Qora quti tarkibini serverda saqlang

Shunisi e'tiborga loyiqki, buni ayniqsa, yangicha va jon bilan qilish kerak.

Shuning uchun sizning

SelectedFile.Exists()

va boshqa butparast narsalar bu erda ishlamaydi.

Xo'sh, ketaylik!

Bu erda mijozdan faylni yuklab olish imkonini beruvchi kod ro'yxati

Ogohlantirish tavsifi = Yangi ogohlantirish tavsifi ("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = False; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Bizni usul qiziqtiradi " StartPlaceFiles", bu, aslida, fayl tanlash dialogini chaqiradi va bu faylni vaqtincha saqlashga joylashtiradi. Vaqtinchalik saqlash tavsifi bilan bezovta qilishning ma'nosi yo'q, shunchaki esda tuting - bu biz tanlagan barcha fayllar ikkilik ma'lumotlar (qora quti) shaklida joylashtirilgan joy.

&Mijoz ProcessFileSelection ProcessFileSelection(PlacedFiles, Qo'shimchaParameters) Protsedurasida Eksport Agar PlacedFiles = Aniqlanmagan bo'lsa, keyin qaytaring;

Ushbu vaqtinchalik omborda nima borligini va uni qanday saqlash kerakligini tushunish deyarli mumkin emas. Siz bizning faylimizga faqat avtomatik ravishda tayinlanadigan navigatsiya havolasi orqali kirishingiz mumkin (" o'zgaruvchisiga qarang" Har bir TransferredFile From PlacedFiles sikli uchun PathToFile = TransferredFile.Name;“).

Fayllar atribut yoki resursda "turi bilan saqlanishi kerak" Items.OpenFile.Header = Entry.FileName;“Hech kim bahslashmaydi deb o'ylamayman. Faylni vaqtinchalik xotiradan oling va uni "turi bilan atributga joylashtiring. Items.OpenFile.Header = Entry.FileName;” quyidagicha amalga oshirilishi mumkin:

NewValueStorage(GetFromTemporaryStorage(Manzil));

Biz bitta narsani hal qildik, endi ikkinchi narsa - bu qiymat do'konidan faylni qanday olish kerak (u sizga eslatib o'taman, serverda joylashgan) va uni mijozning diskiga saqlash kerakmi?

Avvalo, biz turi bilan atributga navigatsiya havolasini olishimiz kerak. Items.OpenFile.Header = Entry.FileName;", bu erda biz faylni ikkilik ma'lumotlar ko'rinishida joylashtiramiz.

Ehtiyot bo'ling! Bu navigatsiya havolasi endi vaqtinchalik xotiraga aloqasi yo‘q! Usul yordamida navigatsiya havolasi turini tekshirishingiz mumkin

Bu vaqtinchalik saqlash manzili (manzil)

An'anaga ko'ra, faylni saqlash dialogini chaqiradigan kodlar ro'yxati

Ogohlantirish tavsifi = Yangi ogohlantirish tavsifi ("Faylni saqlash jarayoni", bu shakl); Fayl = TransferFilening yangi tavsifi (Fayl nomi, manzili); ReceiveFiles = Yangi massiv; ReceiveFiles.Add(Fayl); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = False; StartReceivingFiles(DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

O'zgaruvchining qiymati " Fayl“Bu usulning yana bir xususiyati. Bu erda e'tibor berishga arziydi " Fayl nomi“. Gap shundaki, faylni vaqtincha saqlashga qo'yish orqali uning nomi va kengaytmasi haqidagi ma'lumotlar yo'qoladi. Shuning uchun, savoldan tashvishlanmaslik uchun fayl nomini yoki hech bo'lmaganda uning kengaytmasini biron bir joyda saqlashni unutmang. Bu Word hujjati yoki MP3mi?

Usul " Fayllarni qabul qilishni boshlang"usuliga o'xshash" StartPlaceFiles“. Biri shunchaki faylni tanlash uchun dialog oynasini ochadi, ikkinchisi esa, aksincha, faylni saqlash uchun dialog oynasini ochadi.

Asosan shunday.

Ushbu usuldan foydalanganda konfiguratsiya xususiyatlarida hech qanday modallik va sinxron qo'ng'iroq mosligini o'rnatishga hojat yo'q.

Men maqolani ko'proq o'zim uchun eslatma sifatida yozdim.

1C: Enterprise 8 texnologiya platformasi axborot bazasida ixtiyoriy fayllarni saqlash, ularni u yerdan olish va ulardan foydalanish imkonini beradi. turli yo'llar bilan. Keling, misollar yordamida ushbu operatsiyalarni ko'rib chiqaylik.

Faylni 1C ma'lumot bazasiga yuklashdan oldin siz diskdagi faylning to'liq manzilini olishingiz kerak. Fayl tanlash dialog oynalari bilan ishlash bo'limda tasvirlangan.

Fayllarni saqlash uchun turi bilan atributdan (yoki registr resursidan) foydalaning Saqlash qiymatlari.

1C ma'lumotlar bazasiga o'zboshimchalik bilan faylni yuklash

Har qanday fayl ikkilik ma'lumotlar sifatida ko'rsatilishi va yuklanishi mumkin Qiymatni saqlash.

Ikkilik ma'lumotlarni ob'ektga aylantirishda Saqlash qiymatlari dizayn ishlatilgan yangi saqlash qiymatlari (ma'lumotlar, siqish) ikkita parametr bilan:

  1. Ma'lumotlar— saqlashda saqlanishi kerak bo'lgan ikkilik ma'lumotlar
  2. Siqish— Deflation algoritmining siqilish nisbati. -1...9 oralig'idagi butun son. -1 standart siqish darajasi. 0 - siqilish yo'q, 9 - maksimal siqish. Standart qiymat: -1. Parametr ixtiyoriy, agar ko'rsatilmagan bo'lsa, unda siqish ishlatilmaydi.

//Faylni ikkilik ma'lumotlarga aylantirish
Fayl = Yangi BinaryData(Yo'l);

//Yaratish yangi ob'ekt Saqlash qiymatlari

DataStorage = NewValueStorage(Fayl, NewDataCompression(9) );

1C ma'lumotlar bazasidan o'zboshimchalik bilan faylni diskka saqlash

Faylni 1C ma'lumotlar bazasidan diskka saqlash uchun siz yo'l va fayl nomini aniqlashingiz kerak. Buning uchun faylni saqlash dialog oynasi mavjud bo'lib, u bilan ishlash bo'limda tasvirlangan.

// Xotiradan ikkilik ma'lumotlarni oling
//Ma'lumotlarni saqlash - qiymatni saqlash turiga ega ob'ektning atributi

//Qabul qilingan ma'lumotlarni diskka yozing
//Path o'zgaruvchisi diskdagi faylning to'liq manzilini o'z ichiga oladi
Ma'lumotlar. Yozish (yo'l);

1C ma'lumotlar bazasida joylashgan faylni ko'rish

Ma'lumotlar bazasida saqlangan faylni ko'rish uchun kompyuteringizda faylni ochadigan dastur o'rnatilgan bo'lishi kerak.

// Kerakli kengaytmali vaqtinchalik fayl nomini oling
//Kengaytma o'zgaruvchisiga fayl kengaytmasini qo'yish kerak, masalan, "pdf"
Yo'l = GetTemporaryFileName (kengaytma);

// Saqlashdan ma'lumotlarni qabul qilish
//Ma'lumotlarni saqlash - qiymatni saqlash turiga ega ob'ektning atributi
Ma'lumotlar = Ma'lumotlar ombori. Get();

//Vaqtinchalik faylga ma'lumotlarni yozish
Ma'lumotlar. Yozish (yo'l);

//Faylni mo'ljallangan dasturda ochishga urinish
//Agar ilova topilmasa, tizim dialog oynasi paydo bo'ladi "Ochish...".
LaunchApplication(Path);

"1C: Enterprise - Fayllar bilan ishlash" dasturi alohida dasturiy mahsulot, bu bepul tarqatiladi. U 1C: Enterprise tizimi o'rnatilmagan kompyuterlarda 1C: Enterprise fayllarini ko'rish va tahrirlash uchun mo'ljallangan.

Quyidagi fayl formatlari qo'llab-quvvatlanadi:

  • (*.Xabar);
  • (*.mxl);
  • (*.htm, *.html);
  • (*.grs);
  • (*.geo);

O'rnatish jarayonida dastur mxl, grs va geo kengaytmalarini ro'yxatdan o'tkazadi, buning natijasida ushbu fayllarni ko'rish va tahrirlash uchun ularni sichqoncha bilan bosish kifoya qiladi:

Dasturni ishga tushirish uchun qo'llab-quvvatlanadi buyruq qatori. Bunday holda, qayta ishlanadigan faylni ko'rsatish mumkin. Masalan, "Remains.mxl" faylini qayta ishlash uchun buyruqni bajarish kifoya:

"D:\Program Files\1cv82fv\bin\1cv8fv.exe" D:\FileWorkshop\Remainings.mxl

"1C: Enterprise - Fayllar bilan ishlash" 1C: Enterprise tizimida joriy qilingan rejimga o'xshash rejimni qo'llab-quvvatlaydi. Shunday qilib, masalan, foydalanuvchi ikkita balans hisobotini vizual ravishda solishtirishi mumkin:

Yetkazib berish imkoniyatlari

1C: Enterprise - Fayllar bilan ishlash dasturini etkazib berishning ikkita varianti mavjud:

  • rus tilida so'zlashuvchi;
  • xalqaro.

Xalqaro yetkazib berish va rus tilidagi yetkazib berish o'rtasidagi farq shundaki, u 1C: Enterprise tizimi ishlatadiganlarni o'z ichiga oladi.

Shuningdek, xalqaro yetkazib berish uchun /L buyruq qatori kaliti ishlatiladigan interfeys tilini belgilash uchun ishlatilishi mumkin. Masalan, "Remainings.mxl" faylini dasturda ishlash uchun Ingliz interfeysi (en), faqat buyruqni bajaring:

"D:\Program Files\1cv82fv\bin\1cv8fv.exe" /Len D:\FileWorkshop\Remainings.mxl

© 2024 ermake.ru -- Kompyuterni ta'mirlash haqida - Axborot portali