1c da bir nechta excel fayllarini dasturli ochish. Qaysi biri yaxshiroq - 1C yoki Excel? Mumkin bo'lgan xatolar haqida bir necha so'z

Kirish.

Ko'pchilik Excel 1C dan ancha eski ekanligini biladi. Menimcha, bu juda muvaffaqiyatli mahsulot va men bu haqda hech qanday shikoyatlarni eshitmadim. Excel oddiy va ko'p qirrali. U nafaqat oddiy arifmetik amallarni, balki murakkab hisob-kitoblarni, grafiklarni chizish va hokazolarni ham bajarishga qodir. Men tashkilotlar 1C-ga o'tishdan oldin Excel-da buxgalteriya hisobining bir qismini saqlagan misollarni bilaman. Ko'p odamlar hali ham ikkita dasturni parallel ravishda ishlatishadi. Ushbu maqolada biz 1C va Excel o'rtasida ma'lumot almashish usullarini ko'rib chiqamiz.

Jadvallar 1C va Excel.

Foydalanish qulayligi uchun ko'plab foydalanuvchilar 1C jadvallarini (bosma shakllar) Excel formatida (*.xls) saqlaydi. Shundan so'ng, hosil bo'lgan faylda turli guruhlarga ajratish, saralash, hisoblash va hokazolar amalga oshiriladi. Buning sababi, 1C jadvallari Excel jadvallari kabi juda katta funksiyalarga ega emas. Ammo 1C 8.0 versiyasida jadvallar bilan ishlashni yanada qulayroq qiladigan yangiliklar mavjud.

1C veb-saytida (http://www.1c.ru/) Excelda 1C jadvallarini ochish va Excel varag'ini 1C jadvali sifatida saqlash imkonini beruvchi foydali dastur mavjud. Agar 1C jadvali Excel formatida saqlanmagan bo'lsa va 1C ushbu jadvalni ochishingiz kerak bo'lgan kompyuterda o'rnatilmagan bo'lsa, bu foydalidir. Va 1C jadvalini Excel formatida saqlashingiz kerakligini doimo eslab qolishning hojati yo'q.

Dastur haqida toʻliq maʼlumot bu yerda.
Dasturni bu yerdan yuklab olishingiz mumkin (zip arxivi 682 739 bayt).

Izoh: Excelda kasr ajratgich "," belgisidir. Shuning uchun, 1C jadvalini Excel formatida saqlashdan oldin undagi boshqa ajratgichni (masalan, ".") "," bilan almashtiring. Aks holda, Excel bu raqamlar bilan hisob-kitoblarni amalga oshira olmaydi yoki ular umuman raqamlar sifatida ko'rsatilmaydi. Masalan, 1C-jadvalda "15.2" Excelda "15-fevral" sifatida ko'rsatiladi.

Exceldan ma'lumotlarni olish.

1C dan Excelga kirish OLE orqali amalga oshiriladi. Masalan, kod
Urinish
Istisno
Hisobot (ErrorDescription() +
);
Qaytish;
EndAttempt;
bizga Excel o'zgaruvchisi orqali ishlaydigan Excel dasturiga kirish imkonini beradi. Va keyin siz ish kitobiga (fayl), varaq va ma'lumotlar bilan hujayraga kirishingiz mumkin. Quyida kod misollari keltirilgan.

Kitobni (faylni) ochish:
Kitob = Excel. Ish kitoblari. Ochish (PathKFile);
FilePath - Excel ish kitobi fayliga to'liq yo'l.

Ishlash uchun ish kitobi varag'ini tanlash:
yoki
Sheet = Kitob. Ish varaqlari (SheetName);
SheetNumber - ishchi daftardagi varaqning raqami, SheetName - ishchi daftardagi varaqning nomi.

Varaq katak qiymatini olish:
Qiymat = varaq. Hujayralar (qator raqami, ustun raqami). Qiymat;

Muhim: kerakli amallarni bajarish uchun maydonga Excel kodini qo'shishni unutmang. Chiqish(); , aks holda ishlaydigan jarayon tugallanmagan bo'lib qoladi va kompyuter xotirasi va protsessorini egallaydi.

Excelga ma'lumotlarni chiqarish.

Excelga ma'lumotlarni chiqarish (yuklash) uchun siz mavjud ish kitobini ochishingiz yoki yangisini yaratishingiz va ma'lumotlarni chiqarish uchun ishchi varaqni tanlashingiz kerak. Mavjud ish kitobini ochish yuqorida tavsiflangan, ammo yangi ish kitobini yaratish uchun siz quyidagi koddan foydalanishingiz kerak:
Urinish
Excel = CreateObject("Excel.Application" );
Istisno
Hisobot (ErrorDescription() +
"Bu kompyuterda Excel o'rnatilmagan!");
Qaytish;
EndAttempt;
Kitob = Excel. Ish kitoblari. Qo'shish ();

Excelda ish kitobini yaratishda varaqlar avtomatik ravishda yaratilishi sababli (Asboblar->Tanlovlar->Umumiy->Yangi ish kitobidagi varaqlar), siz faqat ishlash uchun varaqni tanlashingiz kerak:
Sheet = Kitob. Ish varaqlari (SheetNumber);
yoki agar kerak bo'lsa, ish kitobiga yangi varaq qo'shing:
Sheet = Kitob. Choyshablar. Qo'shish ();
Keyingi qadam hujayra qiymatini o'rnatishdir:
Barg. Hujayralar (qator raqami, ustun raqami). Qiymat = Qiymat;
RowNumber, ColumnNumber - katakchaning kesishmasida joylashgan satr va ustun raqami.
Va oxirida siz yaratilgan kitobni yozib olishingiz kerak:
Urinish
Kitob. SaveAs (FilePath);
Istisno
Hisobot (Xato tavsifi()
+ "Fayl saqlanmadi!");
Qaytish;
EndAttempt;
FilePath - Excel ish kitobi fayliga to'liq yo'l (shu jumladan nom).
Muhim: Shuni unutmangki, fayl nomlari \ / : * belgilaridan iborat bo'lmasligi kerak ? " >< |.

Excelda qiymatlarni o'qish/o'rnatish uchun keng tarqalgan usullar.

Excel = CreateObject("Excel.Application" ); Excel dasturiga kirish huquqiga ega bo'ling.
Excel. Visible = Visibility; 0 - Excel ko'rinmaydi, 1 - ko'rinadi.
Kitob = Excel. Ish kitoblari. Qo'shish(); Yangi Excel ish kitobini (faylini) yaratish.
Kitob. SaveAs (Fayl nomi); Excel ish kitobini saqlash.
Sheet = Kitob. Ish varaqlari. Qo'shish (); Ish kitobiga yangi varaq qo'shish.
Kitob = Excel. Ish kitoblari. Ochish (Fayl nomi); Mavjud Excel ish kitobini (fayl) ochish.
Sheet = Kitob. Ish varaqlari (SheetNumber); SheetNumber raqami bilan varaqni ishchi varaq sifatida o'rnatish.
Barg. Ism = SheetName; Ish varag'iga SheetName nomini bering
Barg. Sahifa sozlamalari. Kattalashtirish = Kattalashtirish; Sahifa opsiyasini o'rnating "Mashtab" (10 dan 400 gacha).
Barg. Sahifa sozlamalari. Orientatsiya = Orientatsiya; Orientatsiya: 1 - portret, 2 - landshaft.
Barg. Sahifa sozlamalari. LeftMargin = Excel. SantimetreToPoints(Santimetr); Chap chegarani belgilaydi (santimetrda).
Barg. Sahifa sozlamalari. TopMargin = Excel. SantimetreToPoints(Santimetr); Yuqori chegarani belgilaydi (santimetrda).
Barg. Sahifa sozlamalari. RightMargin = Excel. SantimetreToPoints(Santimetr); O'ng chegarani belgilaydi (santimetrda).
Barg. Sahifa sozlamalari. BottomMargin = Excel. SantimetreToPoints(Santimetr); Pastki chegarani o'rnatish (santimetrda).
Barg. Ustunlar (ustun raqami). ColumnWidth = Kenglik; Ustun kengligini o'rnating.
Barg. Hujayralar (qator raqami, ustun raqami). Qiymat = Qiymat; Hujayraga ma'lumotlarni kiritish.
Barg. Hujayralar (qator raqami, ustun raqami). Shrift. Ism = Shrift nomi; Hujayradagi shriftni o'rnatish.
Barg. Hujayralar (qator raqami, ustun raqami). Shrift. Hajmi = FontSize; Hujayradagi shrift hajmini o'rnating.
Barg. Hujayralar (qator raqami, ustun raqami). Shrift. Qalin = qalin; 1 - qalin, 0 - normal.
Barg. Hujayralar (qator raqami, ustun raqami). Shrift. Kursiv = Kursiv; 1 - kursiv shrift, 0 - normal.
Barg. Hujayralar (qator raqami, ustun raqami). Shrift. tagiga chizilgan = tagiga chizilgan; 2 - tagiga chizilgan, 1 - yo'q.
Barg. Hujayralar (qator raqami, ustun raqami). NumberFormat = Format; Hujayra ma'lumotlari formatini o'rnating.
Barg. Hujayralar (qator raqami, ustun raqami). Chegaralar. Linestyle = LineType; Hujayra ramkalarini o'rnatish. 1 - yupqa qattiq.

Ko'pincha, potentsial mijozlar bilan muloqotda bo'lganimda, men ofis paketidagi stol funksiyalari ular uchun etarli ekanligini eshitaman va ular 1C dasturlarida nuqta ko'rmaydilar. Buning sababi shundaki, ba'zi odamlar hali ham bu yechimni faqat buxgalterlar uchun dasturlar bilan bog'lashadi, bu to'g'ri emas.

Excel universal va ommaviy ishlab chiqarilgan mahsulotdir, siz bu bilan bahslasha olmaysiz. Tor mutaxassislarga mo'ljallangan 1C ishlanmalaridan farqli o'laroq, ushbu dasturdan deyarli hamma foydalanishi mumkin. "Yashil" jadvallardan foydalanib, siz qulay bo'lgan kerakli funksionallikni bemalol amalga oshirishingiz mumkin: bu erda barcha o'zaro hisob-kitoblar, boshqaruv hisobi, hatto tartibga solinadiganlari, ma'lumotlarni vizualizatsiya qilishning katta tanlovi, kengaytirish imkoniyati mavjud bo'lgan tashkilotning moliyaviy modeli. turli xil qo'shimchalardan foydalangan holda dasturning imkoniyatlari - hamma narsa sizning qo'lingizda, hamma narsa noldan ...

Agar siz o'z biznesingizni endigina boshlayotgan bo'lsangiz, mijozlar, etkazib beruvchilar, nazorat qiluvchi organlar bilan munosabatlar to'g'risidagi jadvaldagi kerakli ma'lumotlarni asta-sekin hisobga olgan holda, o'zingizning o'zboshimchalik bilan tuzilmangizni yaratsangiz yaxshi bo'ladi, ammo ma'lumotlar bazasi kattalashganda nima qilish kerak va xodimlar. raqamlar o'nlab? Hali ham o'z parametrlaringiz bo'yicha hisoblaysizmi? Men qulaylikni odat bilan chalkashtirmaslik tarafdoriman, bu ko'pincha biznesni tizimlashtirishga va, demak, uni optimallashtirishga xalaqit beradi.

Aniqlik uchun, keling, buxgalteriya hisobini avtomatlashtirish uchun qanday ehtiyojlar paydo bo'lishi mumkinligini tasavvur qilaylik, masalan, savdo:

1. Muayyan davr ichida sotish tahlili.

Savdo bo'limi boshlig'i savdo ma'lumotlarini tahlil qilishi mumkin. Axir, u uchun reja amalga oshirilmoqdami yoki yo'qmi, uning strategiyalari qanchalik samarali ekanligini tushunish muhimdir, natijada samarasiz bo'lsa, u ishga o'z vaqtida tuzatishlar kirita oladi.

2. Omborlar hisobi.
Sotish uchun zaxiradagi tovarlar mavjudligini, qaysi tovarlarni bron qilish mumkin, qaysilari zaxirada yo'qligini va nimaga buyurtma berish kerakligini tushunish muhimligini tushuntirishim kerakmi? Menimcha, bu erda hamma narsa aniq.

3. Kontragentlar ma'lumotlar bazasini yuritish.
Egasi faqat shu yerda va hozir sotib olish mumkin bo'lgan narsalarni sotsa ham, bu B2C sektoriga xos bo'lsa, u holda etkazib beruvchilar bazasi bilan biroz boshqacha munosabatda bo'ladi - shartnomalar, birlamchi... Tasavvur qiling-a, hamma narsa kompaniya bilan bog'langanda qanchalik qulay. yetkazib beruvchi avtomatik ravishda u darhol bitta ma'lumotlar bazasida ko'rsatiladimi? Omborga mas'ul bo'lgan mudir darhol omborda tovarlar mavjudligini ko'radi, hujjatlar uchun mas'ul bo'lgan boshqa xodim ularning mavjudligi, shartnoma munosabatlari bo'yicha barcha majburiyatlar bajarilmoqdami yoki yo'qmi, kimdan va qancha qarzdorligi to'g'risidagi ma'lumotlarni nazorat qiladi. Va agar nomuvofiqliklar bo'lsa, siz ma'lum bir davr uchun ma'lumotlarni solishtirib, bir daqiqadan kamroq vaqt ichida natijani yaratishingiz mumkin.

4. Tashkilotning foydasi.
Foyda hisobotini yaratish qiyin bo'lmaydi, chunki xarajatlar va daromadlar haqidagi barcha ma'lumotlar allaqachon ma'lumotlar bazasida mavjud. Ma'lumotlar o'z vaqtida, hech bo'lmaganda talab qilingan sanaga kiritilgan bo'lsa. Bu erda asosiy omil - foydalanuvchining shaxsiy javobgarligi.

Agar sizda mijozlar va etkazib beruvchilar ko'p bo'lmasa, Excel sizga haqiqatan ham mos keladi, chunki jadvalda o'zingizning diagrammalaringizni loyihalash va ularni to'ldirish, keyin hujjatlarni kompyuterdagi turli papkalarga tarqatish uchun ko'p vaqt bor: shartnomalar, etkazib beruvchilar. , mijozlar, mahalladagi mijozlar, ishlab chiqilayotgan mijozlar, o'chirilishi kerak bo'lgan mijozlar - papka ichida papkalarni yaratishning cheksiz va qiziqarli jarayoni. Va agar ma'lumotlar juda ko'p bo'lsa, ma'lumotlar bazasini yozib olish qulaymi? Albatta, har doim istisnolar mavjud, ba'zida moliyaviy ma'lumotlar faqat Excelda saqlanadigan katta aylanmaga ega tashkilotlar mavjud. Ular bo'limlar o'rtasida ma'lumotlarni almashish va birlashtirish uchun qancha vaqt ketadi? Men javob beraman: juda ko'p.

Ixtiyoriy tizimda tashkil etilgan ko'p sonli Excel hujjatlarida kerakli narsani qanday tezda topishni tasavvur qila olmayman. Masalan, soliq idorasidan talablar uchun hujjatlarni taqdim etishda. Ma'lumotlarning barchasi tarqalib ketganda, buxgalter nazorat qiluvchi organlarga hisobotlarni qanday taqdim etadi? Buxgalteriya hisobi, albatta, autsorsing bo'lishi mumkin va ba'zi biznes egalari, afsuski, balanslarni muvozanatlashtirar ekan, ma'lum bir mutaxassis qanday jarayonlarga ega bo'lishi mumkinligiga e'tibor bermasliklari mumkin. Ammo shunday bo'lsa ham, hujjatlar almashinuvi jarayoni qanday tashkil etilgan? Tashqi xodim ma'lumotlar tuzilmasini qanchalik tez tushunadi?

Men 1C haqida shunday deya olmayman, chunki u erdagi barcha ma'lumotlar tuzilgan va o'zaro bog'langan:

    Masofaviy va to'liq vaqtli xodimlar uchun yagona ma'lumotlar bazasi, unda siz barcha standartlashtirilgan va moslashtirilgan hujjatlar bilan ishlashingiz mumkin;
    Nazorat qiluvchi organlarga hisobot berish dasturda allaqachon aks ettirilgan ma'lumotlar asosida yaratiladi, yakuniy natijalarni olish uchun ko'plab fayllarni ochish, bir nechta qiymatlarni bitta jadvalga birlashtirish kerak emas;
"1C" yaxshi ma'noda, buxgalteriya hisobining odatiy vazifalariga va faoliyat sohasiga qarab barcha tashkiliy jarayonlarni avtomatlashtirishga qaratilgan ko'p vazifali tizimdir. Bu erda asosiy so'z tizimdir. Hech kim sizni Excelda biznes tizimingizni tashkil qilishingizga to'sqinlik qilmayapti, lekin vaqt va moliyaviy xarajatlarni optimallashtirish uchun deyarli barcha ehtiyojlarni qoplaydigan, ishingizni tizimlashtirishga yordam beradigan yechimlar mavjud bo'lganda, nega g'ildirakni qaytadan ixtiro qilish kerak?

Excel himoyasida

Ehtimol, men "yashil" jadvallarda ma'lumotlarni yaratishga qarshiman. Arzimaydi. Aslida, men o'zim tez-tez Excel-da biron bir ish bilan shug'ullanaman: agar menga o'zboshimchalik bilan hisob-kitoblar kerak bo'lsa, agar menga ma'lumotlarni mijoz bo'yicha segmentlash kerak bo'lsa, 1C-da bo'lmagan parametrlar asosida tahlil qilish kerak bo'lsa - ha, bu sodir bo'ladi - men "Excel" ga o'taman. Oddiy qilib aytganda, jadvallarda men hisob-kitoblar va nostandart tahlillar qilaman, lekin keyin baribir 1C da hamma narsani tizimlashtiraman.

Va keyin, 1C-dan yuklab olingan fayllarni ko'rish uchun sizga hali ham Excel kerak bo'ladi, chunki 1C-dagi ma'lumotlar elektron jadvallarda saqlanadi. Sizningcha, bu shafqatsiz doiradir? Men boshqacha aytaman: "1C" va "Excel" ikkita sherik kabi yonma-yon ketadi, lekin ularning har biri o'z maqsadiga ega, ular bir-birini yaxshi to'ldiradi, lekin bir-birini almashtirmaydi.

Agar siz o'z ishlaringizni davlatimizning qonunchilik tizimini hisobga olgan holda, biznesning o'ziga xosligi va yo'nalishini hisobga olgan holda tizimlashtirishingiz kerak bo'lsa, ayniqsa katta hajmdagi ma'lumotlar haqida gap ketganda, sizga 1C kerak bo'ladi. Agar sizga o'zboshimchalik bilan hisob-kitoblar, noldan strategiya yaratish, nostandart tahliliy ma'lumotlarni vizualizatsiya qilish kerak bo'lsa, Excel sizning xizmatingizda. Ammo bu echimlar bilan bir vaqtning o'zida ishlash ancha qulayroq.


Yakuniy natija nima - "1C" yoki "Excel"?

Eng boshida, agar savol avtomatlashtirish uchun moliya haqida bo'lsa, asosiy 1C dasturlari unchalik qimmatga tushmasa ham, men Exceldan foydalanardim. Katta afzallik shundaki, "yashil" jadvallar ma'lumotlarini yo'qotmasdan 1C ga yuklash mumkin. Ammo siz masshtablashtirganingizda, men sizga biznes jarayonlarini avtomatlashtirish dasturlariga e'tibor berishingizni maslahat beraman. Ularning ko'pi bor va u 1C bo'lishi shart emas...

"1C" ga o'tish sizning resurslaringizni optimallashtirish, shu jumladan mijozlar va etkazib beruvchilar va nazorat organlari bilan munosabatlar bilan bog'liq muammolarni avtomatlashtirish kerakligini tushunganingizda amalga oshirilishi mumkin. Umuman olganda, ma'lumotni qayta ishlash ko'p vaqt talab qiladigan va Excel fayllari kiritilgan ma'lumotlar hajmiga bardosh bera olmasa, biznes samaradorligini oshirish uchun ish jarayonlaringizni sozlang.

Biroq, har bir "1C" sizga mos kelmasligi mumkin, siz turli omillarni hisobga olishingiz kerak: biznesning o'ziga xosligi va ko'lami, miqyosi, kundalik vazifalarga bo'lgan ehtiyoj, minimallashtirilishi kerak bo'lgan tartib. Hamma narsa individualdir. Haqiqat, yuqorida aytganimdek, "1C" va "Excel" o'rtasida - u bir-birini to'ldiradi.

Balki hammasi shu. Ammo agar sizda biron bir savol bo'lsa, biz bilan bog'laning, biz sizga yordam berishga harakat qilamiz. Muvaffaqiyatli biznes jarayonlari, hamkasblar!

Ko'pincha, potentsial mijozlar bilan muloqotda bo'lganimda, men ofis paketidagi stol funksiyalari ular uchun etarli ekanligini eshitaman va ular 1C dasturlarida nuqta ko'rmaydilar. Buning sababi shundaki, ba'zi odamlar hali ham bu yechimni faqat buxgalterlar uchun dasturlar bilan bog'lashadi, bu to'g'ri emas.

Excel universal va ommaviy ishlab chiqarilgan mahsulotdir, siz bu bilan bahslasha olmaysiz. Tor mutaxassislarga mo'ljallangan 1C ishlanmalaridan farqli o'laroq, ushbu dasturdan deyarli hamma foydalanishi mumkin. "Yashil" jadvallardan foydalanib, siz qulay bo'lgan kerakli funksionallikni bemalol amalga oshirishingiz mumkin: bu erda barcha o'zaro hisob-kitoblar, boshqaruv hisobi, hatto tartibga solinadiganlari, ma'lumotlarni vizualizatsiya qilishning katta tanlovi, kengaytirish imkoniyati mavjud bo'lgan tashkilotning moliyaviy modeli. turli xil qo'shimchalardan foydalangan holda dasturning imkoniyatlari - hamma narsa sizning qo'lingizda, hamma narsa noldan ...

Agar siz o'z biznesingizni endigina boshlayotgan bo'lsangiz, mijozlar, etkazib beruvchilar, nazorat qiluvchi organlar bilan munosabatlar to'g'risidagi jadvaldagi kerakli ma'lumotlarni asta-sekin hisobga olgan holda, o'zingizning o'zboshimchalik bilan tuzilmangizni yaratsangiz yaxshi bo'ladi, ammo ma'lumotlar bazasi kattalashganda nima qilish kerak va xodimlar. raqamlar o'nlab? Hali ham o'z parametrlaringiz bo'yicha hisoblaysizmi? Men qulaylikni odat bilan chalkashtirmaslik tarafdoriman, bu ko'pincha biznesni tizimlashtirishga va, demak, uni optimallashtirishga xalaqit beradi.

Aniqlik uchun, keling, buxgalteriya hisobini avtomatlashtirish uchun qanday ehtiyojlar paydo bo'lishi mumkinligini tasavvur qilaylik, masalan, savdo:

1. Muayyan davr ichida sotish tahlili.

Savdo bo'limi boshlig'i savdo ma'lumotlarini tahlil qilishi mumkin. Axir, u uchun reja amalga oshirilmoqdami yoki yo'qmi, uning strategiyalari qanchalik samarali ekanligini tushunish muhimdir, natijada samarasiz bo'lsa, u ishga o'z vaqtida tuzatishlar kirita oladi.

2. Omborlar hisobi.
Sotish uchun zaxiradagi tovarlar mavjudligini, qaysi tovarlarni bron qilish mumkin, qaysilari zaxirada yo'qligini va nimaga buyurtma berish kerakligini tushunish muhimligini tushuntirishim kerakmi? Menimcha, bu erda hamma narsa aniq.

3. Kontragentlar ma'lumotlar bazasini yuritish.
Egasi faqat shu yerda va hozir sotib olish mumkin bo'lgan narsalarni sotsa ham, bu B2C sektoriga xos bo'lsa, u holda etkazib beruvchilar bazasi bilan biroz boshqacha munosabatda bo'ladi - shartnomalar, birlamchi... Tasavvur qiling-a, hamma narsa kompaniya bilan bog'langanda qanchalik qulay. yetkazib beruvchi avtomatik ravishda u darhol bitta ma'lumotlar bazasida ko'rsatiladimi? Omborga mas'ul bo'lgan mudir darhol omborda tovarlar mavjudligini ko'radi, hujjatlar uchun mas'ul bo'lgan boshqa xodim ularning mavjudligi, shartnoma munosabatlari bo'yicha barcha majburiyatlar bajarilmoqdami yoki yo'qmi, kimdan va qancha qarzdorligi to'g'risidagi ma'lumotlarni nazorat qiladi. Va agar nomuvofiqliklar bo'lsa, siz ma'lum bir davr uchun ma'lumotlarni solishtirib, bir daqiqadan kamroq vaqt ichida natijani yaratishingiz mumkin.

4. Tashkilotning foydasi.
Foyda hisobotini yaratish qiyin bo'lmaydi, chunki xarajatlar va daromadlar haqidagi barcha ma'lumotlar allaqachon ma'lumotlar bazasida mavjud. Ma'lumotlar o'z vaqtida, hech bo'lmaganda talab qilingan sanaga kiritilgan bo'lsa. Bu erda asosiy omil - foydalanuvchining shaxsiy javobgarligi.

Agar sizda mijozlar va etkazib beruvchilar ko'p bo'lmasa, Excel sizga haqiqatan ham mos keladi, chunki jadvalda o'zingizning diagrammalaringizni loyihalash va ularni to'ldirish, keyin hujjatlarni kompyuterdagi turli papkalarga tarqatish uchun ko'p vaqt bor: shartnomalar, etkazib beruvchilar. , mijozlar, mahalladagi mijozlar, ishlab chiqilayotgan mijozlar, o'chirilishi kerak bo'lgan mijozlar - papka ichida papkalarni yaratishning cheksiz va qiziqarli jarayoni. Va agar ma'lumotlar juda ko'p bo'lsa, ma'lumotlar bazasini yozib olish qulaymi? Albatta, har doim istisnolar mavjud, ba'zida moliyaviy ma'lumotlar faqat Excelda saqlanadigan katta aylanmaga ega tashkilotlar mavjud. Ular bo'limlar o'rtasida ma'lumotlarni almashish va birlashtirish uchun qancha vaqt ketadi? Men javob beraman: juda ko'p.

Ixtiyoriy tizimda tashkil etilgan ko'p sonli Excel hujjatlarida kerakli narsani qanday tezda topishni tasavvur qila olmayman. Masalan, soliq idorasidan talablar uchun hujjatlarni taqdim etishda. Ma'lumotlarning barchasi tarqalib ketganda, buxgalter nazorat qiluvchi organlarga hisobotlarni qanday taqdim etadi? Buxgalteriya hisobi, albatta, autsorsing bo'lishi mumkin va ba'zi biznes egalari, afsuski, balanslarni muvozanatlashtirar ekan, ma'lum bir mutaxassis qanday jarayonlarga ega bo'lishi mumkinligiga e'tibor bermasliklari mumkin. Ammo shunday bo'lsa ham, hujjatlar almashinuvi jarayoni qanday tashkil etilgan? Tashqi xodim ma'lumotlar tuzilmasini qanchalik tez tushunadi?

Men 1C haqida shunday deya olmayman, chunki u erdagi barcha ma'lumotlar tuzilgan va o'zaro bog'langan:

    Masofaviy va to'liq vaqtli xodimlar uchun yagona ma'lumotlar bazasi, unda siz barcha standartlashtirilgan va moslashtirilgan hujjatlar bilan ishlashingiz mumkin;
    Nazorat qiluvchi organlarga hisobot berish dasturda allaqachon aks ettirilgan ma'lumotlar asosida yaratiladi, yakuniy natijalarni olish uchun ko'plab fayllarni ochish, bir nechta qiymatlarni bitta jadvalga birlashtirish kerak emas;
"1C" yaxshi ma'noda, buxgalteriya hisobining odatiy vazifalariga va faoliyat sohasiga qarab barcha tashkiliy jarayonlarni avtomatlashtirishga qaratilgan ko'p vazifali tizimdir. Bu erda asosiy so'z tizimdir. Hech kim sizni Excelda biznes tizimingizni tashkil qilishingizga to'sqinlik qilmayapti, lekin vaqt va moliyaviy xarajatlarni optimallashtirish uchun deyarli barcha ehtiyojlarni qoplaydigan, ishingizni tizimlashtirishga yordam beradigan yechimlar mavjud bo'lganda, nega g'ildirakni qaytadan ixtiro qilish kerak?

Excel himoyasida

Ehtimol, men "yashil" jadvallarda ma'lumotlarni yaratishga qarshiman. Arzimaydi. Aslida, men o'zim tez-tez Excel-da biron bir ish bilan shug'ullanaman: agar menga o'zboshimchalik bilan hisob-kitoblar kerak bo'lsa, agar menga ma'lumotlarni mijoz bo'yicha segmentlash kerak bo'lsa, 1C-da bo'lmagan parametrlar asosida tahlil qilish kerak bo'lsa - ha, bu sodir bo'ladi - men "Excel" ga o'taman. Oddiy qilib aytganda, jadvallarda men hisob-kitoblar va nostandart tahlillar qilaman, lekin keyin baribir 1C da hamma narsani tizimlashtiraman.

Va keyin, 1C-dan yuklab olingan fayllarni ko'rish uchun sizga hali ham Excel kerak bo'ladi, chunki 1C-dagi ma'lumotlar elektron jadvallarda saqlanadi. Sizningcha, bu shafqatsiz doiradir? Men boshqacha aytaman: "1C" va "Excel" ikkita sherik kabi yonma-yon ketadi, lekin ularning har biri o'z maqsadiga ega, ular bir-birini yaxshi to'ldiradi, lekin bir-birini almashtirmaydi.

Agar siz o'z ishlaringizni davlatimizning qonunchilik tizimini hisobga olgan holda, biznesning o'ziga xosligi va yo'nalishini hisobga olgan holda tizimlashtirishingiz kerak bo'lsa, ayniqsa katta hajmdagi ma'lumotlar haqida gap ketganda, sizga 1C kerak bo'ladi. Agar sizga o'zboshimchalik bilan hisob-kitoblar, noldan strategiya yaratish, nostandart tahliliy ma'lumotlarni vizualizatsiya qilish kerak bo'lsa, Excel sizning xizmatingizda. Ammo bu echimlar bilan bir vaqtning o'zida ishlash ancha qulayroq.


Yakuniy natija nima - "1C" yoki "Excel"?

Eng boshida, agar savol avtomatlashtirish uchun moliya haqida bo'lsa, asosiy 1C dasturlari unchalik qimmatga tushmasa ham, men Exceldan foydalanardim. Katta afzallik shundaki, "yashil" jadvallar ma'lumotlarini yo'qotmasdan 1C ga yuklash mumkin. Ammo siz masshtablashtirganingizda, men sizga biznes jarayonlarini avtomatlashtirish dasturlariga e'tibor berishingizni maslahat beraman. Ularning ko'pi bor va u 1C bo'lishi shart emas...

"1C" ga o'tish sizning resurslaringizni optimallashtirish, shu jumladan mijozlar va etkazib beruvchilar va nazorat organlari bilan munosabatlar bilan bog'liq muammolarni avtomatlashtirish kerakligini tushunganingizda amalga oshirilishi mumkin. Umuman olganda, ma'lumotni qayta ishlash ko'p vaqt talab qiladigan va Excel fayllari kiritilgan ma'lumotlar hajmiga bardosh bera olmasa, biznes samaradorligini oshirish uchun ish jarayonlaringizni sozlang.

Biroq, har bir "1C" sizga mos kelmasligi mumkin, siz turli omillarni hisobga olishingiz kerak: biznesning o'ziga xosligi va ko'lami, miqyosi, kundalik vazifalarga bo'lgan ehtiyoj, minimallashtirilishi kerak bo'lgan tartib. Hamma narsa individualdir. Haqiqat, yuqorida aytganimdek, "1C" va "Excel" o'rtasida - u bir-birini to'ldiradi.

Balki hammasi shu. Ammo agar sizda biron bir savol bo'lsa, biz bilan bog'laning, biz sizga yordam berishga harakat qilamiz. Muvaffaqiyatli biznes jarayonlari, hamkasblar!

Bu usul oddiy. Uning mohiyati shundaki, ob'ekt Jadvalli hujjat usullari mavjud:

  • Yozing (< ИмяФайла>, < ТипФайлаТаблицы >) faylga ma’lumotlarni yuklash;
  • O'qing (< ИмяФайла>, < СпособЧтенияЗначений >) fayldan ma'lumotlarni yuklash uchun.

Diqqat!

Write() usuli mijozda ham, serverda ham mavjud. Read() usuli faqat server tomonida mavjud. Buni eslash kerak
mijoz va server o'zaro ta'sirini rejalashtirishda.

Elektron jadval hujjatini faylga saqlash misolini ko'rib chiqamiz. TabularDocument ob'ektini istalgan usulda yaratish va to'ldirish kerak va tushirish faylga faqat bitta qator bilan amalga oshiriladi:

TabDoc . Write(FilePath, TabularDocumentFileType. XLSX);

Bu yerga TabDoc- yaratilgan elektron jadval hujjati, Faylga yo'l- yuklanadigan fayl nomi, TabularDocumentFileType.XLSX— yaratilgan fayl formati. Quyidagi Excel formatlari qo'llab-quvvatlanadi:

  • XLS95 - Excel 95 formati;
  • XLS97 - Excel 97 formati;
  • XLSX Excel 2007 formatidir.

TabDoc = Yangi jadval hujjati;
TabDoc . Read(PathToFile, Method of ReadingTabularDocumentValues.Value);

Bu yerga Faylga yo'l— yuklab olingan Excel fayliga yo'l. Jadvalli hujjatning qiymatlarini o'qish usuli. Qiymat manba hujjatdan o'qilgan ma'lumotlar qanday talqin qilinishi kerakligini belgilaydi. Mavjud variantlar:

  • Ma'nosi;
  • Matn.

OLE orqali almashish

OLE avtomatlashtirish texnologiyasi orqali almashinuv Excel fayllari bilan dasturiy jihatdan ishlashning eng keng tarqalgan variantidir. Bu Excel tomonidan taqdim etilgan barcha funksiyalardan foydalanish imkonini beradi, lekin boshqa usullarga nisbatan sekinroq. OLE orqali almashish uchun MS Excel dasturini o'rnatish talab qilinadi:

  • Yakuniy foydalanuvchining kompyuterida, agar almashinuv mijoz tomonida sodir bo'lsa;
  • 1C: Enterprise server kompyuterida, agar almashinuv server tomonida sodir bo'lsa.

Misol tushirish:

// COM ob'ektini yarating
Excel = Yangi COMObject("Excel.Application");
// Ogohlantirishlar va savollarni o'chirib qo'ying
Excel . DisplayAlerts = False;
// Yangi kitob yarating
Kitob = Excel. Ish kitoblari. Qo'shish();
// Birinchi varaqdagi joylashuv
Varaq = Kitob. Ishchi varaqlar(1);

// Yacheykaga qiymat yozish
Varaq . Hujayralar (qator raqami, ustun raqami). Qiymat = CellValue;

// Faylni saqlang
Kitob . SaveAs (Fayl nomi);


Excel . Chiqish();
Excel = 0;

Misollar o'qish:

// -- 1-VARIANT --

// COM ob'ektini yarating
Excel = Yangi COMObject("Excel.Application");
// Kitob oching
Kitob = Excel. Ish kitoblari. Ochiq( Faylga yo'l);

Varaq = Kitob. Ishchi varaqlar(1);

// Kitobni yopish
Kitob . Yopish(0);

// Excelni yoping va xotirani bo'shating
Excel . Chiqish();
Excel = 0;

// —— 2-VARIANT ——

// Kitob oching
Kitob = GetCOMObject( Faylga yo'l);
// Kerakli varaqda joylashtirish
Varaq = Kitob. Ishchi varaqlar(1);

// Hujayra qiymatini o'qing, odatda hujayraning o'tish davri bu erda joylashgan
CellValue = varaq. Hujayralar (qator raqami, ustun raqami). Qiymat;

// Kitobni yopish
Kitob . Ilova. Qui t();

Uchun chetlab o'tish Excel ish varag'ining barcha to'ldirilgan satrlari uchun siz quyidagi usullardan foydalanishingiz mumkin:

// -- 1-VARIANT --
Qatorlar soni = varaq. Hujayralar (1 , 1 ). Maxsus hujayralar(11). Qator;
Qator raqami uchun = 1 qatorlar soni bo'yicha tsikl
CellValue = varaq. Hujayralar (qator raqami, ustun raqami). Qiymat;
EndCycle;

// —— 2-VARIANT ——
Qator raqami = 0;
Haqiqat aylanishi paytida
RowNumber = RowNumber + 1;
CellValue = varaq. Hujayralar (qator raqami, ustun raqami). Qiymat;
Agar ValueFilled EMAS (CellValue) Keyin
Bekor qilish;
endIf;
EndCycle;

Varaqning barcha qatorlarini ketma-ket bosib o'tish o'rniga, mumkin barcha ma'lumotlarni massivga tashlash va u bilan ishlash. Ushbu yondashuv katta hajmdagi ma'lumotlarni o'qishda tezroq bo'ladi:

Jami ustunlar = varaq. Hujayralar (1 , 1 ). Maxsus hujayralar(11). Ustun;
Jami qatorlar = Barg. Hujayralar (1 , 1 ). Maxsus hujayralar(11). Qator;

Mintaqa = Barg. Diapazon(Varaq. Yacheykalar(1, 1), Sheet. Yacheykalar(TotalRows,TotalColumns));
Ma'lumotlar = Mintaqa. Qiymat. Yukni tushirish();

Quyidagi jadvalda OLE orqali Excel bilan ishlashning eng mashhur xususiyatlari va usullari ko'rsatilgan:

Harakat Kod Izoh
Ilova bilan ishlash
Ilova oynasi ko'rinishini sozlash Excel . Ko'rinadigan= False;
Ogohlantirish chiqish rejimini o'rnatish (ko'rsatish/ko'rsatish emas) Excel . Ogohlantirishlarni ko'rsatish= False;
Ilovani yopish Excel . Chiqish();
Kitob bilan ishlash
Yangi kitob yaratish Kitob = Excel. Ish kitoblari. Qo'shish();
Mavjud ish kitobini ochish Kitob = Excel. Ish kitoblari. Ochish (Fayl nomi);
Kitobni saqlash Kitob . SaveAs (Fayl nomi);
Kitobni yopish Kitob . Yopish(0);
Choyshab bilan ishlash
Joriy varaqni sozlash Varaq = Kitob. Ish varaqlari (SheetNumber);
Ismni sozlash Varaq . Ism = Ism;
Himoyani sozlash Varaq . Himoya qilish();
Himoyani olib tashlash Varaq . Himoyani olib tashlash();
Sahifa yo'nalishini o'rnatish Varaq . Sahifa sozlamalari. Orientatsiya = 2; 1 - portret, 2 - landshaft
Chap chegarani o'rnatish Varaq . Sahifa sozlamalari. LeftMargin = Excel. SantimetreToPoints(Santimetr);
Yuqori chegarani o'rnatish Varaq . Sahifa sozlamalari. TopMargin = Excel. SantimetreToPoints(Santimetr);
To'g'ri chegarani o'rnatish Varaq . Sahifa sozlamalari. RightMargin = Excel. SantimetreToPoints(Santimetr);
Pastki chegarani o'rnatish Varaq . Sahifa sozlamalari. BottomMargin = Excel. SantimetreTo Points(Santimetr);
Satrlar, ustunlar, katakchalar bilan ishlash
Ustun kengligini sozlash Varaq . Ustunlar (ustun raqami). ColumnWidth = Kenglik;
Bir qatorni o'chirish Varaq . Qatorlar (Qator raqami). Oʻchirish();
Ustunni olib tashlash Varaq . Ustunlar (ustun raqami). O'chirish();
Hujayrani o'chirish Varaq . Hujayralar (qator raqami, ustun raqami). Oʻchirish();
Qiymatni belgilash Varaq . Hujayralar (qator raqami, ustun raqami). Qiymat = Qiymat;
Hujayralarni birlashtirish Varaq . Diapazon(Varaq. Hujayralar(Qator raqami, Ustun raqami), varaq. Yacheykalar(1-qator raqami, 1-ustun raqami)). Birlashtirish();
Shriftni sozlash Varaq . Hujayralar (qator raqami, ustun raqami). Shrift. Ism = Shrift nomi;
Shrift o'lchamini o'rnatish Varaq . Hujayralar (qator raqami, ustun raqami). Shrift. Hajmi = Shrift hajmi;
Qalin shriftni sozlash Varaq . Hujayralar (qator raqami, ustun raqami). Shrift. Qalin = 1 ; 1 - qalin, 0 - normal
Kursivni o'rnatish Varaq . Hujayralar (qator raqami, ustun raqami). Shrift. Kursiv = 1 ; 1 - kursiv, 0 - normal
Tagi chizilgan shriftni o'rnatish Varaq . Hujayralar (qator raqami, ustun raqami). Shrift. tagiga chizish = 2 ; 2 - tagiga chizilgan, 1 - yo'q

Qaysi xususiyatni o'zgartirish kerakligini yoki qaysi usulni chaqirish kerakligini bilish uchun siz foydalanishingiz mumkin makroslar Excel. Agar siz kerakli harakatlar bilan makrosni yozsangiz, u holda yozilgan so'lning VBA kodini ko'rishingiz mumkin.

COMSafeArray-dan foydalanish

1C dan Excelga katta hajmdagi ma'lumotlarni yuklab olayotganda, siz ob'ektni tezlashtirish uchun foydalanishingiz mumkin COMSafeArray. Sintaksis yordamchisining ta'rifiga ko'ra, COMSafeArray ko'p o'lchovli massiv ustidagi ob'ektni o'rash vositasidir. SafeArray COMdan. COM ob'ektlari o'rtasida ma'lumot almashish uchun SafeArray yaratish va foydalanish imkonini beradi. Oddiy qilib aytganda, bu OLE texnologiyasidan foydalangan holda ilovalar o'rtasida almashish uchun ishlatilishi mumkin bo'lgan qiymatlar to'plami.

// COMSafeArray yarating
ArrayCom = Yangi COMSafeArray("VT_Variant", TotalColumns, TotalRows);
// COMSafeArray-ni to'ldirish
Uchun Sahifa = 0 TotalLines bo'yicha - 1 tsikl
Uchun Raqam = 0 Jami ustunlar - 1 tsikl
ArrayKom . SetValue (hisob, sahifa, qiymat);
EndCycle;
EndCycle;
// Excel ish varag'i maydonini COMSafeArray-dan qiymatlarga belgilash
Varaq . Diapazon(Varaq. Hujayralar(1, 1), varaq. Yacheykalar(Jami qatorlar, umumiy ustunlar)). Qiymat = ArrayCom;

ADO orqali almashish

Excel fayli, ADO orqali almashtirilganda, SQL so'rovlari yordamida kirish mumkin bo'lgan ma'lumotlar bazasi. MS Excel dasturini o'rnatish shart emas, lekin sizda ODBC drayveri bo'lishi kerak, unga kirish mumkin. Amaldagi ODBC drayveri faylga ulanish satrini belgilash orqali aniqlanadi. Odatda, kerakli drayver allaqachon kompyuterda o'rnatilgan.

ADO orqali almashish OLE orqali almashishdan sezilarli darajada tezroq, lekin yuklashda Excel funksiyasidan hujayralarni loyihalash, sahifalarni joylashtirish, formulalarni o'rnatish va hk uchun foydalanish mumkin emas.

Misol tushirish:


Ulanish = Yangi COMObject("ADODB.Connection");


Murakkab . ConnectionString = "

|Ma'lumotlar manbai=" + Fayl nomi + ";
;
Murakkab . Ochiq(); // Ulanishni oching

// Buyruq uchun MAQOMOTI ob'ektini yarating
Buyruq = Yangi COMObject("ADODB.Buyruq");
Jamoa

// Jadval yaratish uchun buyruq matnini belgilash
Jamoa . Buyruq matni = "JADVAL YARATISH [Vraq1] (1-ustun belgi(255), 2-ustun sanasi, 3-ustun int, 4-ustun float)";
Jamoa . Execute(); // Buyruqni bajaring

// Jadval qatorini qo'shish uchun buyruq matnini tayinlash
Jamoa . Buyruq matni = "[Shaxs1] INSERT INTO (1-ustun, 2-ustun, 3-ustun, 4-ustun) qiymatlarini ('abvwhere', '8/11/2017', '12345', '12345,6789')";
Command.Execute(); // Buyruqni bajaring

// Buyruqni olib tashlang va ulanishni yoping
Buyruq = Aniqlanmagan;
Murakkab . Yopish();
Ulanish = Aniqlanmagan;

Yangi varaq yaratish va uning tuzilishini shakllantirish uchun siz ob'ektlardan foydalanishingiz mumkin ADOX.Katalog Va ADOX. Jadval. Bunday holda, kod quyidagicha ko'rinadi:

// Kitob bilan ishlash uchun MAQOMOTI ob'ektini yaratish
Kitob = Yangi COMObject("ADOX.Catalog");
Kitob . ActiveConnection = Ulanish;

// Varaqdagi ma'lumotlar strukturasi bilan ishlash uchun MAQOMOTI ob'ektini yarating
Jadval = Yangi COMObject("ADOX.Table");
Jadval . Ism = "Shaxs 1";
Jadval . Ustunlar. Ilova("1-ustun", 202);
Jadval . Ustunlar. Qo'shimchalar ("2-ustun", 7);
Jadval . Ustunlar. Qo'shish ("3-ustun", 5);
Jadval . Ustunlar. Qo'shish ("4-ustun", 5);

// Ish kitobida tavsiflangan tuzilmaga ega varaq yarating
Kitob . Jadvallar. Qo'shish (jadval);
Jadval = Aniqlanmagan;
Kitob = Aniqlanmagan;

Yuqoridagi misolda, usulda

Jadval . Ustunlar. Qo'shish(“1-ustun”, 202);

ikkinchi parametr ustun turini belgilaydi. Parametr ixtiyoriy, bu erda ustun turi qiymatlari mavjud:

  • 5 - adDouble;
  • 6 - adCurrency;
  • 7 - qo'shilgan sana;
  • 11 - adBoolean;
  • 202 - adVarWChar;
  • 203 - adLongVarWChar.

Misol o'qish:

// Ulanish uchun COM ob'ektini yarating
Ulanish = Yangi COMObject("ADODB.Connection");

// Ulanish qatorini o'rnating
Murakkab . ConnectionString = "
|Provayder=Microsoft.ACE.OLEDB.12.0;
|Ma'lumotlar manbai=" + Fayl nomi + ";
|Kengaytirilgan xususiyatlar=""Excel 12.0 XML;HDR=HA"";";
Murakkab . Ochiq(); // Ulanishni oching

// Tanlovni qabul qilish uchun MAQOMOTI ob'ektini yarating
Tanlang = Yangi COMObject("ADODB.Recordset");
RequestText = “[Sheet1$] FROMDAN * TANLASH”;

// So'rovni bajaring
Namuna . Ochish (QueryText, Connection);

// Namuna natijasini chetlab o'tish
Hali tanlov emas. EOF() tsikli
Ustun 1 qiymati = Tanlash. Maydonlar. Element (“1-ustun”). Qiymat ; // Ustun nomi bo'yicha kirish
Ustun2Value = Tanlash. Maydonlar. Element (0). Qiymat; // Ustun indeksi bo'yicha kirish
Namuna . MoveNext();
EndCycle;

Namuna . Close();
Namuna = Aniqlanmagan;
Murakkab . Close();
Ulanish = Aniqlanmagan;

Ulanish satrida parametr HDR varaqdagi birinchi qator qanday qabul qilinishini belgilaydi. Mumkin variantlar:

  • HA - birinchi qator ustun nomlari sifatida qabul qilinadi. Qiymatlarga nom va ustun indeksi bo'yicha kirish mumkin.
  • YO'Q - birinchi qator ma'lumotlar sifatida ko'rib chiqiladi. Qiymatlarga faqat ustun indeksi orqali kirish mumkin.

Bu misollar faqat bir nechta ADO obyektlarini qamrab oladi. ADO ob'ekt modeli quyidagi ob'ektlardan iborat:

  • ulanish;
  • Buyruq;
  • rekordlar to'plami;
  • Yozib olish;
  • Maydonlar;
  • Oqim;
  • Xatolar;
  • parametrlar;
  • Xususiyatlari.

Dasturlashsiz yuklash

1C dan Excelga ma'lumotlarni saqlash uchun har doim ham dasturlashga murojaat qilish tavsiya etilmaydi. Agar Enterprise rejimida foydalanuvchi yuklab olish uchun zarur bo'lgan ma'lumotlarni ko'rsata olsa, u holda ular Excelda dasturlashsiz saqlanishi mumkin.

Elektron jadval hujjatini (masalan, hisobot natijasi) saqlash uchun siz buyruqni chaqirishingiz mumkin Saqlash yoki Sifatida saqlash… Asosiy menyu.

Ochilgan oynada siz saqlangan faylning katalogini, nomini va formatini tanlashingiz kerak.

Dinamik ro'yxatlardan (masalan, elementlar ro'yxati) ma'lumotlarni saqlash uchun siz:

  1. Buyruq yordamida ma'lumotlarni elektron jadval hujjatiga chiqarish Batafsil ⇒ Roʻyxat...;
  2. Elektron jadval hujjatini kerakli formatda saqlang.

  • kontragentlar o'rtasida ma'lumot almashishda (narxlar ro'yxati, solishtirish hisobotlari va boshqalar);
  • Asosiy buxgalteriya hisobi 1C da, ba'zilari esa Excel jadvallarida amalga oshirilgan hollarda operatorlarning ishini engillashtirish;
  • Ma'lumotlar bazasini birinchi marta to'ldirishda.

Ushbu operatsiyani bajarish uchun siz axborot texnologiyalarini qo'llab-quvvatlashga (ITS) obuna bo'lgan standart funksionallikdan va turli xil ulanish variantlari orqali amalga oshiriladigan mustaqil ravishda yozma ishlov berishdan foydalanishingiz mumkin. Maqolamizda biz barcha mumkin bo'lgan holatlarni iloji boricha to'liq tahlil qilishga harakat qilamiz va Excel-dan 1C-ga ma'lumotlarni yuklash bo'yicha mavjud savollarning aksariyatiga javob beramiz.

Universal mexanizm

ITS disklarida, shuningdek, 1C portalida "Texnologik yordam" -> "Universal hisobotlar va qayta ishlash" menyusiga o'tish orqali tegishli ishlov berish "Elektron jadval hujjatidan ma'lumotlarni yuklash" papkasida joylashgan.

Uni ishga tushirganingizda forma ochiladi (1-rasm):

Shakldan ko'rinib turibdiki, u sizga ma'lumotlarni quyidagi konfiguratsiya ob'ektlariga o'tkazish imkonini beradi:

  1. katalog;
  2. Hujjat yoki ma'lumotnomaning jadval qismi;
  3. Ma'lumotlar reestri.

Kalit o'rnatilgan pozitsiyaga qarab, ob'ektni tanlash maydoni o'zgaradi.

Yuklab olingan fayl ochilganda ishlov berish jadvali shakli to'ldiriladi.

Oddiy ishlov berish quyidagidan yuklab olishni qo'llab-quvvatlaydi:

  • 1C mutaxassislari tomonidan ishlab chiqilgan, fayl formatimxl;
  • Lisztxls formatida saqlanganExcel 97-2003;
  • Matn fayliXabar;
  • Jadvallardbf.

Katta o'lchamdagi Excel fayllarini yuklash juda uzoq vaqt talab qilishi mumkin, shuning uchun agar ma'lumotlarni yuklash bir necha bosqichda sodir bo'lishi mumkin deb taxmin qilinsa yoki asab va vaqtni tejash uchun mavjud faylni bir necha marta ochishingiz kerakligini aniq bilsangiz, undan ma'lumotni mxl formatida saqlagan ma'qul. Bu to'g'ridan-to'g'ri ishlov berish shaklidan amalga oshirilishi mumkin.

Agar manba faylida qatorlar guruhlari, sarlavhalar va eslatmalar mavjud bo'lsa, ularni qo'lda olib tashlash kerakligini tushunish muhimdir.

Endi "Sozlamalar" yorlig'iga o'tamiz (2-rasm):

2-rasm

Ko'pincha Excel jadvallari qayta ishlanishiga yo'l qo'ymaslik uchun barcha turdagi ma'lumotlar va ma'lumotlar (chop etilgan shakl nomi, kontragentning tafsilotlari, kiruvchi hujjatning sanasi va raqami, ustun nomlari va boshqalar) bilan sarlavhani o'z ichiga oladi. Shakldagi dastur tomonidan "Elektron jadval hujjatining birinchi qatori" da uzatilgan ma'lumotlar bilan birinchi qatorni ko'rsatishingiz kerak.

Ma'lumot yoziladigan metadata ob'ektini tanlagandan so'ng, "Sozlamalar" yorlig'ining jadval qismi avtomatik ravishda tafsilotlarning nomlari, ularning turlari tavsifi va boshqa muhim ma'lumotlar bilan to'ldiriladi. "Sozlamalar" yorlig'ining jadval qismining ustunlarini ko'rib chiqish uchun alohida bo'lim ajratilishi kerak.

"Sozlamalar" ustunlari

Belgilash - satrdagi katakchani belgilash yoki olib tashlash orqali tegishli atribut to'ldiriladimi yoki yo'qmi aniqlanadi.

Atributni ko'rsatish - bu erda konfiguratorda ko'rsatilganidek, metadata atributining sinonimi (nomi) yoziladi.

Qidiruv maydoni - agar siz ushbu maydonni belgilasangiz, ishlov berish mos keladigan ma'lumotlardan foydalangan holda elementlarni qidiradi va agar muvaffaqiyatli bo'lsa, mavjud ma'lumotlarni o'zgartirsa, ushbu maydonning qo'shimcha funktsiyasi - takrorlashdan himoya qilish;

Turlarning tavsifi - ma'lum bir metadata atributiga ega bo'lgan ma'lumotlar turini ko'rsatadi.

Yuklash rejimi - tanlash uchun uchta variantni taklif qiladi (3-rasm):

3-rasm

  • Qidiruv - tegishli element uchun qidiruv amalga oshiriladi, agar u yo'q bo'lsa, yangisini yaratish mumkin;
  • Set - ma'lum bir qiymat bo'ysunuvchi tarzda o'rnatiladi;
  • Hisoblash - bu holda "Ulanish sharti/qiymat uchun ifoda" ustunida ko'rsatilgan ifodani hisoblash natijasi yaratilgan element maydoniga o'rnatiladi.

Ikkinchi holda, Ifoda maydoni faollashtirilsa, forma ochiladi (4-rasm).

4-rasm

Ustun raqami - Excel jadvalining qaysi ustuni ma'lumotlar bilan to'ldirilishi kerakligini ko'rsatish uchun ishlatiladigan maydon.

Standart qiymat - ko'pincha yuklab olingan faylda elementni yozish uchun zarur bo'lgan barcha ma'lumotlar mavjud bo'lmaganda yuzaga keladi, bu holda ushbu maydondagi ma'lumotlar to'ldiriladi;

Qiymat uchun bog'lanish sharti/ifodasi - biz hisoblangan maydonlarni ko'rib chiqqanimizda allaqachon bu maydonga qisman tegdik, qo'shimcha ravishda siz manba ma'lumotlari sinxronlashtiriladigan shartni belgilashingiz mumkin;

Bu, qoida tariqasida, "Sozlamalar" yorlig'ida mavjud bo'lgan barcha ma'lumotlar.

Har safar yuklash, yozishmalar va ifodalarni yozishda ko'p vaqtni behuda sarflamaslik uchun ishlab chiquvchilar konfiguratsiya opsiyasini mxlz kengaytmali faylga saqlash imkoniyatini taqdim etdilar.

O'tkazilgan ma'lumotlarning to'g'riligini "To'ldirishni boshqarish" tugmasini bosish orqali tekshirishingiz mumkin (1-rasm). Shundan so'ng siz yuklab olish jarayonini boshlashingiz mumkin. Jarayonning muvaffaqiyatli yakunlanganligi yoki noodatiy vaziyatlar haqida sizga alohida xabar beriladi.

Menejment va savdo ma'lumotlar bazalariga Exceldan ma'lumotlarni yuklashning yana bir mexanizmi mavjud. Bu yuqoridagi usuldan kamroq universaldir, lekin ITS obunasini talab qilmaydi va standart yetkazib berish tarkibiga kiradi.

Ushbu qayta ishlashni "Xaridlar" yorlig'ida, "Xizmat" menyusida topish mumkin, u "Fayllardan yetkazib beruvchi narxlarini yuklash" deb ataladi (5-rasm).

5-rasm

Qayta ishlash shakli quyidagilarni o'z ichiga oladi:

  1. Bu narx qaysi vaqt uchun amal qilishini ko'rsatadigan sanani tanlash maydoni;
  2. Narxlar ro'yxatini yuborgan kontragentni tanlash uchun maydon;
  3. O'rnatiladigan narxlar turini tanlash imkonini beruvchi tugma;
  4. Yuklab olingan ma'lumotlar bilan to'ldirilishi mumkin bo'lgan jadval qismi.

Ushbu shaklni 6-rasmda ko'rish mumkin

6-rasm

Shaklning yuqori qismidagi tushuntirish shaklning birinchi yorlig'idan qanday foydalanishni tushuntiradi.

Kontragentni tanlagandan so'ng (u yetkazib beruvchi, komissioner yoki sotuvchi bo'lishiga qarab) jadvalda har bir narx turi uchun qo'shimcha ustunlar mavjud bo'ladi.

Veb-interfeys orqali ishlashda ba'zi brauzerlar brauzer plaginini o'rnatishni talab qilishi mumkin (7-rasm). Biz "O'rnatishni boshlash" tugmasini bosishimiz va ulanishimizni qayta boshlashimiz kerak.

7-rasm

Shundan so'ng, clipboard yordamida biz ma'lumotlarni bir jadvaldan ikkinchisiga o'tkazishimiz mumkin bo'ladi. Bizga kerak bo'lgan ustunlar ("Maqola", "Ism", "Narx") to'ldirilganda, biz "Keyingi" tugmasini bosamiz va ikkinchi sahifaga o'tamiz (8-rasm).

8-rasm

Dastur avtomatik ravishda ma'lumotlar bazasida mos keladiganlarni qidiradi va agar topilmasa, xatoni bartaraf etish variantlarini taklif qiladi. Jadval qismining ko'rinishi kalit yordamida boshqarilishi mumkin. Bundan tashqari, foydalanuvchi yuklab olingan faylning elementlarini ma'lumotlar bazasida mavjud ma'lumotlar bilan mustaqil ravishda solishtirishi mumkin.

  • Hamma narsani ro'yxatdan o'tkazish;
  • Ma'lumotlar bazasida mavjud bo'lganlarga nisbatan faqat o'zgarganlarni ro'yxatdan o'tkazing.

Matn maydoniga hujjatga yoziladigan izohni kiritishingiz mumkin (9-rasm):

9-rasm

Qayta ishlash tugagandan so'ng:

  • Tegishli element "Yetkazib beruvchilar nomenklaturasi" katalogida yaratiladi (agar u mavjud bo'lmasa);
  • "Nomenklatura" katalog elementi u bilan bog'lanadi;
  • "Tovar narxlarini belgilash" hujjati yaratiladi va joylashtiriladi, unda quyidagilar ko'rsatiladi: etkazib beruvchi, narxlar turi va ma'lumotlarni yozib olish sanasi.

"Tashqi fayllardan mahsulotlarni yuklash" jarayoni xuddi shunday ishlaydi.

DIY uzatishni qayta ishlash imkoniyatlari

Excel faylidan ma'lumotlarni olishda asosiy muammo shundaki, 1C uni ochish uchun o'rnatilgan aniq mexanizmga ega emas. Excelni 1C ga ulashning bir nechta variantlari mavjud:

  • Microsoft ADODB orqali - bu, qoida tariqasida, fayl va mijoz-server ma'lumotlar bazasini saqlash imkoniyatlari uchun qo'llaniladigan juda tez usul;
  • Microsoft Office-dan foydalanish orqali - SQL ma'lumotlar bazalari bilan ishlashda ba'zida muvaffaqiyatsiz bo'ladigan usul, qoida tariqasida, u birinchi usulga qaraganda biroz sekinroq ishlaydi va u Office o'rnatilishini ham talab qiladi;
  • Libre Office orqali - oldingi usuldan farqli o'laroq, u bepul, xls va xlsx formatlaridan tashqari, o'z jadvallarini ham qo'llab-quvvatlaydi, lekin o'rnatilgan LibreOffice paketini va yuklab olingan faylni biroz tayyorlashni talab qiladi (jadvalning birinchi qatorida ustunlar nomlari).

Keling, turli usullar va variantlarni batafsil ko'rib chiqaylik.

ADODB.Connection orqali

Umuman olganda, ADO ActiveX Data Object degan ma'noni anglatadi va turli ma'lumotlar bazalariga dasturiy kirish uchun ishlatiladi. Uchinchi tomon fayliga (jumladan, Excel) ulanishni yaratishda eng katta muammo ulanish qatorini to'g'ri tuzishdir.

Excel fayllari uchun uchta variant mavjud:

Ulanish qatori variantlari:

  • Provayder – foydalaniladigan drayver bu yerda aniqlanadi;
  • Ma'lumotlar manbai - biz ochadigan fayl nomini belgilaydi;
  • Kengaytirilgan xususiyatlar – bu yerda jadval uchun sarlavha qatori kerak yoki yoʻqligini belgilashingiz mumkin (HDR = YES maʼlumotlar birinchi qatordan oʻqilishini bildiradi, HDR = YOʻQ – ikkinchi satrdan nima), fayl faqat oʻqish uchun ochiladimi (Faqat o'qish) va boshqa ba'zi qo'shimcha parametrlar.

Ulanish qatorini yaratib, biz yuklab olingan faylga ulanishimiz mumkin (13-rasm)

13-rasm

Endi yuklab olingan fayldan ma'lumot olishni boshlash uchun oddiy so'rovdan foydalanishimiz mumkin (14-rasm).

Bunday holda, "Varaq" parametri Excel ish kitobidan qaysi varaq bilan ishlashimizni aniqlaydi.

Ish varag'ida saqlangan yozuvlar to'plamini Recordset ob'ekti yordamida o'qish mumkin. Bunday holda, varaqning birinchi yozuvini BOF (faylning boshlanishi) parametri va oxirgi EOF (faylning oxiri) bilan olish mumkin.

Excel dasturi orqali

Oldingi usuldan asosiy farqi shundaki, ulanish o'rnatilgan kompyuterda ma'lumotlar bazasi drayverlaridan tashqari Excel o'rnatilgan bo'lishi kerak. Faqat bu holatda biz dasturni jadvaldan ma'lumotlarni o'qish uchun ishga tushirishimiz mumkin (16-rasm).

Ushbu MAQOMOTI ob'ektida bir nechta bola parametrlari mavjud, ammo biz uchun asosiysi, vazifaning joriy shartlarini hisobga olgan holda, WorkBooks parametridir (17-rasm).

Ishchi kitobni ishga tushirgandan so'ng, ma'lumotlar o'qiladigan varaqni aniqlash kerak (18-rasm).

Shundan so'ng, siz ochilayotgan fayl jadvalining satrlari va ustunlari bo'ylab aylanishingiz mumkin.

Mumkin bo'lgan xatolar haqida bir necha so'z

Faylga ulanishda xatoliklarning eng katta ulushi fayl allaqachon boshqa dastur tomonidan band bo'lganligi sababli yuzaga keladi. Vazifalar panelida Excel kompyuterda ishlayotganini ko'rsangiz yaxshi bo'ladi, lekin siz yoki boshqa foydalanuvchi uni tashqi ishlov berish orqali ochgan bo'lsa, buni faqat "Vazifa menejeri" orqali vizual tarzda aniqlash mumkin, shuning uchun ulanishni yopishni unutmang. uzatish jarayonini yakunlashdan oldin:

ADO orqali ishlaganda (19-rasm);

19-rasm

  • Ilova bilan ishlashda (20-rasm).

Guruch. 20.

Urinish-istisno-EndAttempt konstruksiyasida ulanishni va ma'lumotlar bilan ishlashni yakunlash tartibini, istisno holatlarda xato tavsifini chaqirish yaxshidir. Garchi bu ba'zan ishni sekinlashtiradigan bo'lsa-da, bu xatoning sababini aniqlashni va oxir-oqibat uni qanday yo'q qilishni ancha osonlashtiradi.