Үй / Ойын консольдері / Excel кестесін 1-ге қалай қосуға болады. Қайсысы жақсы - «1С» немесе «Excel»? Сізде сұрақ бар ма немесе кеңесшінің көмегі қажет пе?

Excel кестесін 1-ге қалай қосуға болады. Қайсысы жақсы - «1С» немесе «Excel»? Сізде сұрақ бар ма немесе кеңесшінің көмегі қажет пе?

Көбінесе әлеуетті клиенттермен сөйлескенде, мен олардың кеңсе жиынтығынан үстелдің функционалдығы жеткілікті екенін естимін және олар 1С бағдарламаларында мәнді көрмейді. Себебі кейбіреулер әлі күнге дейін бұл шешімді тек бухгалтерлік бағдарламалармен байланыстырады, бұл дұрыс емес.

Excel - бұл әмбебап және жаппай өнім, онымен дауласуға болмайды. Тар мамандарға бағытталған «1С» әзірлемелерінен айырмашылығы, бұл бағдарламаны барлығы дерлік пайдалана алады. «Жасыл» кестелерді пайдалана отырып, сіз ыңғайлы болатын қажетті функционалдылықты ерікті түрде жүзеге асыра аласыз: мұнда барлық өзара есеп айырысулары бар ұйымның қаржылық моделі, басқару есебі, тіпті реттелетін, деректерді визуализациялаудың үлкен таңдауы, бағдарламаны кеңейту мүмкіндігі бар. әр түрлі қондырмаларды қолдана отырып, өз мүмкіндіктеріңіз - бәрі нөлден бастап сіздің қолыңызда...

Егер сіз өз бизнесіңізді жаңадан бастап жатсаңыз, тұтынушылармен, жеткізушілермен, реттеуші органдармен қарым-қатынастар туралы кестедегі қажетті деректерді бірте-бірте ескере отырып, өз ерікті құрылымыңызды құру жақсы, бірақ деректер базасы көлемді болған кезде не істеу керек, ал қызметкерлер ондықтарда болу? Бәрібір өз параметрлері бойынша қарастыру керек пе? Мен бизнесті жүйелеуге, демек, оны оңтайландыруға жиі кедергі келтіретін әдеттер мен ыңғайлылықты шатастырмауды жақтаймын.

Түсінікті болу үшін бухгалтерлік есепті автоматтандыруда қандай қажеттіліктер туындауы мүмкін екенін елестетіп көрейік, мысалы, саудада:

1. Белгілі бір кезеңдегі сату көлемін талдау.

Сату бөлімінің басшысы сату деректерін талдай алады. Өйткені, ол тиімсіз жағдайда дер кезінде түзетулер енгізу үшін жоспардың орындалып жатқанын, оның стратегияларының қаншалықты тиімді екенін түсіну маңызды.

2. Қойма есебі.
Сату үшін қоймадағы тауарлардың бар-жоғын, қандай тауарларды брондауға болатынын және қайсысы жоқ екенін және не тапсырыс беру керектігін түсіну маңызды екенін түсіндіруім керек пе? Менің ойымша, бұл жерде бәрі түсінікті.

3. Контрагенттердің деректер қорын жүргізу.
Тіпті егер иесі B2C секторына тән осы жерден және қазір сатып алуға болатын нәрсені ғана сатса да, оның жеткізуші базасымен сәл өзгеше қарым-қатынастары бар - келісім-шарттар, бастапқы ... Жеткізушіге қатысты барлық нәрсенің қаншалықты ыңғайлы екенін елестетіп көріңізші. бірден бір дерекқорда автоматты түрде көрсетіледі? Қоймаға жауапты меңгеруші қоймада тауардың бар-жоғын дереу көреді, құжаттарға жауапты басқа қызметкер олардың бар-жоғы, шарттық қатынастар бойынша барлық міндеттемелер орындалып жатыр ма, кімнің кімге және қанша қарыз екені туралы ақпаратты бақылайды. Ал сәйкессіздіктер болған жағдайда, сіз бір минуттан аз уақыт ішінде нәтиже жасай отырып, белгілі бір кезеңдегі деректерді тексере аласыз.

4. Ұйымның пайдасы.
Пайда туралы есепті жасау қиын болмайды, өйткені шығыстар мен кірістер туралы барлық деректер дерекқорда бар. Ақпарат уақтылы, кем дегенде талап етілетін күнге дейін енгізілген жағдайда. Мұнда негізгі фактор пайдаланушының жеке жауапкершілігі болып табылады.

Егер сізде көптеген клиенттер мен жеткізушілер болмаса, Excel бағдарламасы сізге шынымен сәйкес келеді, өйткені кестеде өзіңіздің схемаларыңызды құрастыруға және оларды толтыруға көп уақыт бар, содан кейін құжаттарды компьютеріңіздегі әртүрлі қалталарға таратады: келісім-шарттар, жеткізушілер, клиенттер, маңайдағы клиенттер, даму үстіндегі клиенттер, жойылатын клиенттер - қалта ішінде қалталарды жасаудың шексіз және қызықты процесі. Ал егер ақпарат көп болса, бұл жағдайда өз деректер базасының есебін жүргізу ыңғайлы ма? Әрине, әрқашан ерекше жағдайлар бар, кейде қаржылық деректері тек Excel бағдарламасында жүргізілетін үлкен айналымы бар ұйымдар бар. Бөлімшелер арасында деректермен алмасу және біріктіру оларға қанша уақытты алады? Жауап: көп.

Мен ерікті жүйемен ұйымдастырылған көптеген Excel құжаттарының ішінен дұрысын қалай тез табуға болатынын білмеймін. Мысалы, салықтық талаптарға құжаттарды тапсыру кезінде. Ақпарат шашыраңқы болған кезде бухгалтер бақылаушы органдарға есептерді қалай береді? Бухгалтерлік есеп, әрине, аутсорсингке берілуі мүмкін және кейбір бизнес иелері, өкінішке орай, ол теңгерімді болған жағдайда, берілген маманның қандай процестері болуы мүмкін екеніне мән бермеуі мүмкін. Бірақ солай болса да, құжат алмасу процесі қалай ұйымдастырылады? Бүйірдегі қызметкер экспромттық ақпараттық құрылымды қаншалықты тез түсінеді?

Мен 1С туралы бұлай айта алмаймын, өйткені ондағы барлық ақпарат құрылымдалған және өзара байланысты:

    Барлық стандартталған және еркін құжаттармен жұмыс істеуге болатын қашықтағы және толық уақытты жұмыс істейтін қызметкерлер үшін бірыңғай деректер базасы;
    Реттеуші органдарға есеп беру бағдарламада көрсетілген деректерге негізделген, соңғы нәтижелерді алу үшін көптеген файлдарды ашудың, бірнеше мәндерді бір кестеге азайтудың қажеті жоқ.
«1С», жақсы мағынада, типтік есеп тапсырмаларына да, қызмет саласына байланысты барлық ұйымдық процестерді автоматтандыруға бағытталған көп тапсырмалы жүйе. Мұндағы негізгі сөз – жүйе. Excel бағдарламасында бизнес жүйеңізді ұйымдастыру үшін сізді ешкім алаңдатпайды, бірақ уақыт пен қаржылық шығындарды оңтайландыруда барлық дерлік қажеттіліктерді жабатын, жұмысты жүйелеуге көмектесетін шешімдер болған кезде неге дөңгелекті қайта ойлап табу керек?

Excel бағдарламасын қорғауда

Мүмкін, мен «жасыл» кестелерде деректерді құруға қарсымын деп ойлаған шығармын. Ештене етпейді. Шындығында, мен өзім Excel бағдарламасында жиі бизнеспен айналысамын: егер маған ерікті есептеулер қажет болса, егер маған деректерді клиенттер бойынша сегменттеу керек болса, 1С-те жоқ параметрлерге сәйкес аналитика жүргізу керек болса - иә, бұл орын алады - мен « excel-ге барамын. Қарапайым тілмен айтқанда, кестелерде мен есептеулерді, стандартты емес талдауларды жасаймын, бірақ мен бәрін кейінірек 1С-де жүйелеймін.

Содан кейін 1С-тен жүктелген файлдарды көру үшін сізге әлі де Excel қажет, өйткені 1С-дегі деректер электрондық кестелерде сақталады. Сіз бұл тұйық шеңбер деп ойлайсыз ба? Мен оны басқаша айтайын: «1С» мен «Excel» екі серіктес сияқты қатар жүреді, бірақ олардың әрқайсысының өз мақсаты бар, олар бір-бірін жақсы толықтырады, бірақ өзара алмастырылмайды.

Егер сізге мемлекетіміздің заңнамалық жүйесін ескере отырып, бизнестің ерекшеліктері мен бағытын ескере отырып, өз істеріңізді жүйелеу қажет болса, әсіресе ақпараттың үлкен көлеміне келетін болсақ, онда сізге 1С қажет. Егер сізге ерікті есептеулер, нөлден стратегия құру, стандартты емес аналитикалық деректерді визуализациялау қажет болса, Excel сіздің қызметіңізде. Бірақ бұл шешімдермен бір уақытта жұмыс істеу әлдеқайда ыңғайлы.


Нәтиже қандай - «1С» немесе «Excel»?

Бастапқыда, егер мәселе автоматтандыруға арналған қаржыға қатысты болса, негізгі 1С бағдарламалары соншалықты көп ақшаны қажет етпесе де, мен Excel бағдарламасын қолданар едім. Үлкен плюс - «жасыл» кестелердегі деректерді жоғалтпай 1С-ге жүктеуге болады. Бірақ сіз масштабты кеңейте отырып, мен сізге бизнес-процестерді автоматтандыру бағдарламаларына назар аударуға кеңес берер едім. Олардың көпшілігі бар және бұл міндетті түрде «1С» болмауы мүмкін ...

1С-ке көшу ресурстарыңызды оңтайландыру, соның ішінде тұтынушылармен және жеткізушілермен, қадағалау органдарымен қарым-қатынасқа қатысты мәселелерді автоматтандыру қажет екенін түсінген кезде жасалуы мүмкін. Жалпы, ақпаратты өңдеу көп уақытты қажет ететін және Excel файлдары енді енгізілген деректер көлемін жеңе алмайтын бизнес тиімділігін арттыру үшін жұмыс процестерін жақсарту үшін.

Дегенмен, әрбір «1С» сізге сәйкес келе бермейді, сіз әртүрлі факторларды ескеруіңіз керек: бизнестің ерекшеліктері мен ауқымы, ауқымы, күнделікті тапсырмалардың қажеттілігі, азайтуды қажет ететін жұмыс тәртібі. Барлығы жеке. Шындық, мен айтқанымдай, «1С» мен «Excel» арасында - бұл бір-біріне қосымша.

Бұл туралы, мүмкін, бәрі. Бірақ сұрақтарыңыз болса, бізге хабарласыңыз, біз сізге көмектесуге тырысамыз. Сәтті бизнес-процестер, әріптестер!

  • Контрагенттер арасында ақпарат алмасуды жүзеге асыру кезінде (баға прейскуранттары, салыстыру актілері және т.б.);
  • Негізгі есеп 1С-де жүргізілетін, ал кейбіреулері Excel кестелерінде орындалатын жағдайларда операторлардың жұмысын жеңілдету;
  • Мәліметтер қорын бастапқы толтыру кезінде.

Бұл әрекетті орындау үшін ақпараттық технологияларды қолдауға (ITS) жазылыммен қолжетімді стандартты функционалдылықты және әртүрлі қосылым опциялары арқылы жүзеге асырылатын өздігінен жазылған өңдеуді пайдалануға болады. Біздің мақалада біз барлық ықтимал жағдайларды мүмкіндігінше толық талдауға тырысамыз және деректерді Excel-ден 1C-ге жүктеуге қатысты көптеген сұрақтарға жауап береміз.

Әмбебап қозғалыс

ITS дискілерінде, сондай-ақ 1С порталында «Технологиялық қолдау» -> «Әмбебап есептер және өңдеу» мәзіріне өту арқылы «Электрондық кесте құжатынан деректерді жүктеу» қалтасында сәйкес өңдеу бар.

Ол іске қосылғанда пішін ашылады (1-сурет):

Пішіннен көріп отырғаныңыздай, ол ақпаратты келесі конфигурация нысандарына тасымалдауға мүмкіндік береді:

  1. Анықтамалық;
  2. Құжаттың немесе анықтамалықтың кестелік бөлігі;
  3. Ақпарат тізілімі.

Коммутатордың орнына байланысты объект таңдау өрісі өзгереді.

Жүктеп салынған файлды ашқан кезде өңдеу кестелік пішіні толтырылады.

Түрді өңдеу келесіден жүктеп салуға қолдау көрсетеді:

  • 1С компаниясының мамандары әзірлеген, форматтағы файлдарmxl;
  • Листxls пішімінде сақталғанExcel 97-2003;
  • мәтіндік файлжазу;
  • кестелерdbf.

Үлкен көлемдегі Excel файлдарын жүктеуге ұзақ уақыт кетуі мүмкін, сондықтан деректерді жүктеу бірнеше кезеңде жүзеге асырылуы мүмкін деп болжанса немесе бар файлды бірнеше рет ашуға тура келетініне сенімді болсаңыз, ақпаратты сақтаған дұрыс. одан нервтерді және уақыт форматын сақтау үшін mxl. Сіз мұны тікелей өңдеу пішінінен жасай аласыз.

Бастапқы файлда жол топтары, ішкі тақырыптар және ескертпелер бар болса, оларды қолмен жою қажет болатынын түсіну маңызды.

Енді «Параметрлер» қойындысына көшейік (2-сурет):

2-сурет

Көбінесе Excel электрондық кестелерінде олардың өңделуін болдырмау үшін барлық мәліметтер мен деректер (басылған пішіннің атауы, контрагенттің мәліметтері, кіріс құжатының күні мен нөмірі, баған атаулары және т.б.) бар тақырып болады. пішіндегі бағдарламаның «Электрондық кесте құжатының бірінші жолы» атрибутында тасымалданатын ақпаратпен бірінші жолды көрсету керек

Ақпарат жазылатын метадеректер нысанын таңдағаннан кейін «Параметрлер» қойындысының кестелік бөлімі автоматты түрде атрибуттардың атауларымен, олардың түрлерінің сипаттамаларымен және т.б. толтырылады. маңызды ақпарат. «Параметрлер» қойындысының кестелік бөлігінің бағандарын қарастыру жеке бөлімге арналуы керек.

Параметрлер бағандары

Жалауша – жолдағы құсбелгіні қою немесе құсбелгіні алып тастау арқылы сәйкес атрибуттың толтырылатыны немесе толтырылмағаны анықталады.

Атрибуттың көрсетілімі – конфигураторда көрсетілгендей метадеректер атрибутының синонимі (атауы) осында жазылады.

Іздеу өрісі - бұл құсбелгіні қойсаңыз, өңдеу сәйкес атрибут бойынша элементтерді іздейді және сәтті болса, бар деректерді өзгертеді, қосымша функциябұл өріс - көшірмелердің пайда болуынан қорғау.

Түрлердің сипаттамасы - бір немесе басқа метадеректер атрибуты бар деректер түрін көрсетеді.

Жүктеп алу режимі - таңдау үшін үш опцияны ұсынады (Cурет 3):

3-сурет

  • Іздеу - сәйкес элемент ізделеді, ол болмаған жағдайда жаңасын жасауға болады;
  • Жиын – белгілі бір мән бағыныңқы жолмен қойылады;
  • Есептеу – бұл жағдайда «Қарым-қатынас шарты/Мәнге арналған өрнек» бағанында көрсетілген өрнекті есептеу нәтижесі жасалып жатқан элемент өрісінде орнатылады.

Соңғы жағдайда Өрнек өрісін белсендіру форманы ашады (Cурет 4).

4-сурет

Баған нөмірі – толтыру үшін деректерді Excel электрондық кестесінің қай бағанынан алу керектігін көрсету үшін пайдаланылатын өріс.

Әдепкі мән - көбінесе жүктеп салынған файлда элементті жазуға қажетті барлық деректер болмаған жағдайда туындайды, бұл жағдайда толтыру үшін осы өрістегі ақпарат толтырылады.

Сілтеме шарты / Мәннің өрнегі - есептелген өрістерді қарастырған кезде біз осы өріске ішінара тоқталған болатынбыз, сонымен қатар бастапқы деректер синхрондалатын шартты көрсетуге болады.

Мұнда, негізінен, «Параметрлер» қойындысында қол жетімді барлық ақпарат.

Әр жолы жүктеуге, сәйкестіктер мен өрнектерді жазуға көп уақыт жұмсамау үшін әзірлеушілер mxlz кеңейтімі бар файлға параметрлер опциясын сақтау мүмкіндігін берді.

Тасымалданған деректердің дұрыстығын «Толтыруды басқару» түймесін басу арқылы тексеруге болады (1-сурет). Осыдан кейін сіз жүктеу процесін бастай аласыз. Сізге процедураның сәтті аяқталғаны немесе стандартты емес жағдайлар туралы бөлек хабарланады.

Excel бағдарламасынан деректерді жүктеп салу үшін ақпараттық базалар«Менеджмент және сауда» тағы бір тетік бар. Бұл жоғарыда аталған әдіске қарағанда әмбебап емес, бірақ ол ITS жазылуын қажет етпейді және стандартты жеткізілімге кіреді.

Бұл өңдеуді «Сатып алулар» қойындысында, «Қызмет» мәзірінде табуға болады, ол «Файлдардан жеткізушілердің бағасын жүктеу» деп аталады (5-сурет).

5-сурет

Өңдеу пішіні мыналарды қамтиды:

  1. Бұл бағаның қай уақытқа сәйкес келетінін көрсететін күнді таңдау өрісі;
  2. Прайс-парақшасын жіберген контрагентті таңдау өрісі;
  3. Орнатылатын бағалар түрін таңдауға мүмкіндік беретін түйме;
  4. Жүктеп салынған деректермен толтырылуы мүмкін кестелік бөлім.

Бұл пішінді 6-суретте көруге болады

6-сурет

Пішіннің жоғарғы жағындағы белгі пішіннің бірінші қойындысын пайдалану жолын түсіндіреді.

Контрагентті таңдағаннан кейін (оның жеткізуші, комиссионер немесе сатушы ретінде әрекет етуіне байланысты) кестеде әрбір баға түріне арналған қосымша бағандар қолжетімді болады.

Веб-интерфейс арқылы жұмыс істеу кезінде кейбір браузерлер браузер қондырмасын орнатуды қажет етуі мүмкін (Cурет 7). Біз «Орнатуды бастау» түймесін басып, қосылымды қайта бастауымыз керек.

7-сурет

Осыдан кейін алмасу буферінің көмегімен біз ақпаратты бір кестеден екінші кестеге тасымалдай аламыз. Бізге қажетті бағандар («Мақала», «Аты», «Баға») толтырылған кезде «Келесі» түймесін басып, екінші бетке өтеміз (8-сурет)

8-сурет

Бағдарлама дерекқордағы сәйкестіктерді автоматты түрде іздейді және егер жоқ болса, қатені шешу опцияларын ұсынады. Сыртқы түрікестелік бөлікті коммутатор арқылы басқаруға болады. Сонымен қатар, пайдаланушы жүктелген файлдың элементтерін дерекқордағы элементтермен дербес салыстыра алады.

  • Барлығын тіркеңіз;
  • Деректер базасында бұрыннан барлармен салыстырғанда өзгергендерді ғана тіркеңіз.

Мәтін өрісінде құжатта жазылатын түсініктемені енгізуге болады (9-сурет):

9-сурет

Өңдеуден кейін:

  • «Жеткізушілер номенклатурасы» анықтамалығында сәйкес элемент жасалады (егер ол жоқ болса);
  • Ол «Номенклатура» анықтамалығының элементімен сәйкестендіріледі;
  • «Тауарлардың бағасын белгілеу» құжаты жасалады және орналастырылады, онда мыналар көрсетіледі: жеткізуші, баға түрі және деректер бекітілген күні.

«Сыртқы файлдардан тауарларды жүктеу» өңдеу ұқсас жолмен жұмыс істейді.

DIY тасымалдауды өңдеу опциялары

Excel файлынан деректерді алудағы негізгі мәселе - 1C-де оны ашудың кірістірілген бір мағыналы механизмі жоқ. Бірнеше нұсқа бар Excel қосылымдары 1С дейін:

  • Microsoft ADODB арқылы – әдетте файлды да, клиент-серверді де дерекқорды сақтау опцияларына қолданылатын өте жылдам әдіс;
  • арқылы Microsoft пайдалану Office – SQL дерекқорларымен жұмыс істеу кезінде кейде сәтсіз болатын әдіс, әдетте, ол бірінші әдіске қарағанда біршама баяу жұмыс істейді және Office да қажет;
  • Libre Office арқылы - алдыңғы әдіске қарағанда, ол тегін, xls және xlsx форматтарынан басқа, ол өз кестелерін де қолдайды, бірақ орнатылған файлды қажет етеді. LibreOffice бумасыжәне жүктелген файлды біраз дайындау (кестенің бірінші жолында бағандардың атаулары болуы керек).

Толығырақ қарастырайық әртүрлі жолдаржәне опциялар.

ADODB.Connection арқылы

Жалпы, ADO ActiveX деректер нысанын білдіреді және қызмет етеді бағдарламаға қол жеткізуәртүрлі деректер қорларына. Үшінші тарап файлына (соның ішінде Excel) кез келген қосылымды жасау кезіндегі ең үлкен мәселе қосылым жолын дұрыс құрастыру болып табылады.

Excel файлдары үшін үш опция бар:

Қосылым жолы опциялары:

  • Провайдер – пайдаланылған драйвер осында анықталады;
  • Деректер көзі – біз ашатын файлдың атын анықтайды;
  • Кеңейтілген сипаттар - мұнда кестеге тақырып жолының қажет екенін көрсетуге болады (HDR = ИӘ деректер бірінші жолдан оқылатынын көрсетеді, HDR = ЖОҚ - екіншісінен), файл тек оқу үшін ашылады ма ( ReadOnly) және басқа да қосымша опциялар.

Қосылым жолын жасағаннан кейін біз жүктелген файлға қосыла аламыз (Cурет 13)

13-сурет

Енді біз пайдалана аламыз қарапайым өтініш(Cурет 14) жүктелген файлдан ақпаратты алуды бастаңыз.

AT бұл жағдай«Парақ» параметрі Excel жұмыс кітабындағы қай парақпен жұмыс істеу керектігін анықтайды.

Парақта сақталған жазбалар жиынын Recordset нысаны арқылы оқуға болады. Бұл жағдайда парақтың бірінші жазбасын BOF (файлдың басы) параметрі, ал соңғы EOF (файлдың соңы) арқылы алуға болады.

Excel қолданбасы арқылы

Алдыңғы әдістен негізгі айырмашылығы - деректер базасының драйверлерінен басқа, Excel бағдарламасы қосылу жүзеге асырылатын компьютерде орнатылуы керек. Тек осы жағдайда ғана кестеден деректерді оқуға арналған қосымшаны инициализациялауға болады (16-сурет).

Бұл COM объектісінің бірнеше еншілес параметрлері бар, бірақ біз үшін ең бастысы, тапсырманың ағымдағы жағдайында жұмыс кітаптары параметрі болып табылады (Cурет 17).

Кітапты инициализациялаудан кейін деректер оқылатын парақты анықтау қажет (18-сурет).

Осыдан кейін ашылатын файл кестесінің жолдары мен бағандарының циклдерінің ішінде қайталауға болады.

Мүмкін болатын қателер туралы бірнеше сөз

Файлға қосылу кезіндегі қателердің көп бөлігі файлдың басқа қолданбада бұрыннан пайдаланылғандығына байланысты орын алады. Тапсырмалар тақтасы Excel бағдарламасы компьютерде жұмыс істеп тұрғанын көрсетсе, бірақ оны сіз немесе басқа пайдаланушы ашқан болса, жақсы сыртқы өңдеу, визуалды түрде мұны тек «Тапсырмалар менеджері» арқылы анықтауға болады, сондықтан тасымалдау процедурасы аяқталғанға дейін қосылымды жабуды ұмытпаңыз:

ADO арқылы жұмыс істеген жағдайда (19-сурет);

19-сурет

  • Қосымшамен жұмыс істеген жағдайда (20-сурет).

Күріш. жиырма.

Қосылым және деректермен жұмысты аяқтау процедурасы ерекше жағдайда қате сипаттамасын тудыратын әрекет-ерекшелік-аяқтау әрекеті құрылымында жақсы ұйымдастырылған. Бұл кейде жұмысты бәсеңдетсе де, қатенің себебін анықтауды және, сайып келгенде, оны жою жолдарын айтарлықтай жеңілдетеді.

1С тілінде COM нысаны және электрондық кесте құжатының нысанын қолданатын кірістірілген 1С құралдары арқылы MS Excel файлдарымен жұмыс істеудің 2 әдісі бар. Осы екі әдісті де толығырақ қарастырайық.

1. COM-объектісі арқылы жұмыс.

Бұл әдіс MS Excel бағдарламасының орнатылуын талап етеді, егер сіз серверде файлмен жұмыс істеп жатсаңыз, онда MS Excel серверде орнатылуы керек, егер клиентте болса, клиент жағында MS Excel де қажет.

Мысал (мақаланың соңында мәтін түрінде көруге болады):

«Excel.Application» COM объектісімен қамтамасыз етілген барлық нысандар, әдістер мен қасиеттер VBA, MS Office бағдарламалау тілі объектілері, әдістері мен қасиеттері екенін атап өткен жөн.

Ескерту:

Кейде бұрыннан бар үлгімен жұмыс істеу қажет. Содан кейін біз бұл үлгіні барлық қажетті пайдаланушылар оған қол жеткізе алатындай жерде сақтауымыз керек. Дегенмен, оңайырақ шешім бар, біз үлгіні екілік орналасу ретінде сақтаймыз.

2. 1С электрондық кесте құжатымен жұмыс.

1С электрондық кесте құжаты MS Excel пішімін 8-платформадан бастап жазуды қолдайды, бірақ тек 8.3.6 платформасынан бастап ашу үшін. Сонымен қатар, ашу кезінде барлық парақтар бір электрондық кесте құжатына жүктеледі. 8.3.10 нұсқасынан бастап, жүктеу кезінде әртүрлі парақтар әртүрлі аймақтар ретінде жүктеледі.

Жазу үлгісі өте қарапайым және көп көңіл бөлуді қажет етпейді:

Дегенмен, бұл жерде бізде проблема бар. Excel жұмыс кітабында 1С жүйесінен жазу кезінде парақ атауларының көрсетілімі әдепкі бойынша өшіріледі.

Бұл мәселені екі жолмен шешуге болады, 1 - параметрлерде кітаптың өзінде парақтарды көрсетуді қосыңыз (барлық пайдаланушылар мұнымен келісе бермейді), 2 - COM нысаны арқылы жасаңыз (бізге қайтадан MS Excel орнатылуы керек) .

Осы шағын қосымшадан кейін парақ белгілері MS Excel файлында көрінеді.

MS Excel бағдарламасын оқу қарапайым тапсырма емес, өйткені оқу әдісі тек серверде немесе қалың клиентте қол жетімді. Ол үшін MS Excel файлын серверге тасымалдауымыз керек.

&AtClient

CreateDocument() процедурасы

Ерекшелік

Әрекеттің соңы;

Кітап = Excel.WorkBooks.Add(); //Жаңа MS Excel жұмыс кітабын құру

Sheet = Book.WorkSheets.Add(); // Парақ қосу

Sheet.Name = "1С-тен мысал"; //Парақ атауын орнатыңыз

Sheet.Cells (1,1).Value = "(!LANG:Формуланы құрайық.";!}

Sheet.Cells(2,1).Мән = 1;

Sheet.Cells(2,2).Мән = 2;

Sheet.Cells(2,3).Формула = "=A2+B2";

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

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

Book.Close();

EndProcedure

&Серверде

GetLayoutServer() функциясы

Қайтару FormAttributeToValue("Object").GetLayout("Жүктеп салу шаблоны"); //Сыртқы өңдеу схемасын осылай аламыз;

EndFunctions

&AtClient

Процедура жұмысы()

Excel = Жаңа COMObject («Excel.Application»);

Ерекшелік

Show("Excel компонентін қосу әрекеті сәтсіз аяқталды. Excel бағдарламасы орнатылмаған болуы мүмкін осы компьютер!");

Әрекеттің соңы;

Layout = GetLayoutServer();

Layout.Write(Уақытша файл атауы);

Сұрақ бар ма, кеңесшінің көмегі қажет пе?

Кітап = Excel.WorkBooks.Open(TempFileName);

SheetTemplate = Book.WorkSheets(1);

SheetTemplate.Cells (6,1).Value = "(!LANG:Date:";!}

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

SheetTemplate.NumberFormat = "dd/aa/yy;@"; // Күн форматын берейік, бұл формат MS Excel-де макрос жазу арқылы алынады

SheetTemplate.Columns("B:B").EntireColumn.AutoFit; // Күнді дәл сәйкестендіру үшін бағанды ​​созыңыз

Book.SaveAs(ФайлАты);

Book.Close();

EndProcedure

&AtClient

EndProcedure

&AtClient

WriteSpreadsheetDocument() процедурасы

SpreadsheetDocument = New SpreadsheetDocument();

SpreadsheetDocument.Area("R1C1").Text = "MS Excel-дегі 1С-тен жазбаның мысалы";

SpreadDocument.Write("C:\1\Test2.xls",SpreadDocumentFileType.XLSX);

Excel = Жаңа 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()

EndProcedure

BinaryData = Жаңа BinaryData("C:\1\test2.xlsx");

Мекенжай=PutToTempStorage(BinaryData,ThisForm.UniqueIdentifier);

SpreadsheetDocument = DownloadOnServer(Мекенжай);

SpreadsheetDocument.Show();

EndProcedure

&Серверде

LoadOnServer функциясы (мекенжайы)

TempFileName = GetTemporaryFileName("xlsx");

FileData = GetFromTempStorage(Мекенжай);

FileData.Write(TemporaryFileName);

SpreadsheetDocument = New SpreadsheetDocument();

Электрондық кесте құжатын қайтару;

Кіріспе.

Көптеген адамдар Excel бағдарламасының 1С-тен әлдеқайда ескі екенін біледі. Менің ойымша, бұл өте сәтті өнім, мен ол туралы ешқандай шағым естіген жоқпын. Excel қарапайым және жан-жақты. Ол қарапайым арифметикалық амалдарды ғана емес, сонымен қатар күрделі есептеулерді, графиктерді және т.б. Мен ұйымдар 1С-ге ауыспас бұрын Excel-де бухгалтерлік есептің бір бөлігін жүргізген мысалдарды білемін. Көптеген және қазір параллельді екі бағдарламаны пайдаланады. Бұл мақалада біз 1С және Excel арасында деректер алмасу жолдарын қарастырамыз.

1С және Excel кестелері.

Ыңғайлы болу үшін көптеген пайдаланушылар 1С кестелерін (басылатын пішіндер) Excel пішімінде (* .xls) сақтайды. Осыдан кейін алынған файлда әртүрлі топтастырулар, сұрыптаулар, есептеулер және т.б. Бұл 1С кестелерінде Excel кестелеріндегідей үлкен функционалдылықтың жоқтығына байланысты. Бірақ 1С 8.0 нұсқасында кестелермен жұмыс істеуді ыңғайлы ететін жаңалықтар бар.

1С веб-сайтында (http://www.1c.ru/) Excel бағдарламасында 1С кестелерін ашуға және Excel парағын 1С кестесі ретінде сақтауға мүмкіндік беретін пайдалы бағдарлама бар. Бұл 1С кестесі Excel пішімінде сақталмаған болса және осы кестені ашу қажет компьютерде 1С орнатылмаған болса пайдалы. Иә, 1С кестесін Excel форматында сақтау қажет екенін үнемі есте сақтаңыз, қажет болмайды.

Бағдарлама туралы толық ақпаратты мына жерден табуға болады.
Бағдарламаны осы жерден жүктеп алуға болады (zip архиві 682 739 байт).

Пікір: Excel бағдарламасында ондық бөлгіш «,» болып табылады. Сондықтан 1С кестесін Excel пішімінде сақтамас бұрын ондағы басқа бөлгішті (мысалы, «.») «,» дегенге ауыстырыңыз. Әйтпесе, Excel бұл сандармен есептеулерді орындай алмайды немесе олар сандар ретінде мүлдем көрсетілмейді. Мысалы, 1С кестесінде «15.2» Excel бағдарламасында «15 ақпан» ретінде көрсетіледі.

Excel бағдарламасынан деректерді алу.

1С-ден Excel-ге кіру OLE арқылы жүзеге асырылады. Мысалы, код
Әрекет
Ерекшелік
Хабарландыру(қате сипаттамасы() +
);
Қайтару;
Әрекеттің соңы;
бізге «Excel» айнымалысы арқылы қол жеткізуге мүмкіндік береді іске қосылған қолданба Excel. Содан кейін сіз кітапқа (файлға), параққа және деректері бар ұяшыққа қол жеткізе аласыз. Төменде код мысалдары берілген.

Кітапты (файлды) ашу:
Кітап = Excel. жұмыс дәптерлері. Open(PathToFile);
PathToFile — Excel жұмыс кітабы файлының толық жолы.

Жұмыс істеу үшін кітап парағын таңдау:
немесе
Парақ = Кітап. Worksheets(SheetName);
SheetNumber - кітаптағы парақтың нөмірі, SheetName - кітаптағы парақтың аты.

Парақ ұяшығының мәнін алу:
Мән = Парақ. Ұяшықтар (LineNumber , ColumnNumber ). құндылық;

Маңызды:қажетті әрекеттерді орындау үшін өріске Excel кодын қосуды ұмытпаңыз. Quit(); , әйтпесе орындалатын процесс аяқталмай қалады және компьютердің жады мен процессорын алады.

Excel бағдарламасына деректерді шығару.

Excel бағдарламасына деректерді шығару (жүктеп салу) үшін бұрыннан бар жұмыс кітабын ашу немесе жаңасын жасау және деректерді шығару үшін жұмыс парағын таңдау керек. Бар кітапты ашу жоғарыда сипатталған, бірақ жаңа кітап жасау үшін келесі кодты пайдалану керек:
Әрекет
Excel = CreateObject («Excel.Application» );
Ерекшелік
Хабарландыру(қате сипаттамасы() +
"Бұл компьютерде Excel орнатылмаған!");
Қайтару;
Әрекеттің соңы;
Кітап = Excel. жұмыс дәптерлері. қосу();

Excel бағдарламасында кітап жасаған кезде парақтар автоматты түрде жасалатындықтан (Құралдар-> Параметрлер-> Жалпы-> Жаңа кітаптағы парақтар), тек жұмыс істеу үшін парақты таңдау керек:
Парақ = Кітап. Worksheets(SheetNumber);
немесе қажет болса, кітапқа жаңа парақ қосыңыз:
Парақ = Кітап. Парақтар. қосу();
Келесі қадам ұяшықтың мәнін орнату болып табылады:
Парақ. Ұяшықтар (LineNumber , ColumnNumber ). мән = мән;
RowNumber, ColumnNumber – ұяшық орналасқан қиылысындағы жол нөмірі мен баған нөмірі.
Соңында сіз жасалған кітапты жазуыңыз керек:
Әрекет
Кітап. SaveAs(PathToFile);
Ерекшелік
Хабарландыру(қате сипаттамасы()
+ "Файл сақталмады!");
Қайтару;
Әрекеттің соңы;
PathToFile - Excel жұмыс кітабы файлының толық жолы (атын қоса).
Маңызды:Есіңізде болсын, файл атауларында \ /: * болмауы керек? " >< |.

Excel бағдарламасындағы мәндерді оқу/орнату үшін жиі қолданылатын әдістер.

Excel = CreateObject («Excel.Application» ); Excel қолданбасына қол жеткізу.
Excel. Visible = Visibility ; 0 - Excel көрінбейді, 1 - көрінеді.
Кітап = Excel. жұмыс дәптерлері. қосу(); Excel жаңа жұмыс кітабын (файлын) жасау.
Кітап. SaveAs(Файл аты); Excel жұмыс кітабын сақтау.
Парақ = Кітап. Жұмыс парақтары. қосу(); Кітапқа жаңа парақ қосу.
Кітап = Excel. жұмыс дәптерлері. Open(Файл аты); Бар жұмыс кітабын (файл) Excel ашу.
Парақ = Кітап. Worksheets(SheetNumber); Парақты сандық парақ нөмірі бар жұмыс парағы ретінде орнату.
Парақ. Name = SheetName ; Жұмыс парағына атау беру SheetName
Парақ. Бет орнату. Масштабтау = Масштабтау; Беттің масштабтау опциясын көрсетеді (10-нан 400-ге дейін).
Парақ. Бет орнату. Orientation = Orientation ; Бағыт: 1 – портрет, 2 – пейзаж.
Парақ. Бет орнату. LeftMargin = Excel. CentimetersToPoints ( Сантиметр ); Сол жақ жиекті (сантиметрмен) орнатады.
Парақ. Бет орнату. TopMargin = Excel. CentimetersToPoints ( Сантиметр ); Жоғарғы шекті (сантиметрмен) көрсетеді.
Парақ. Бет орнату. RightMargin = Excel. CentimetersToPoints ( Сантиметр ); Оң жақ жиекті (сантиметрмен) көрсетеді.
Парақ. Бет орнату. BottomMargin = Excel . CentimetersToPoints ( Сантиметр ); Төменгі шекті (сантиметрмен) орнатады.
Парақ. Бағандар (ColumnNumber) . ColumnWidth = Width; Баған енін орнату.
Парақ. Ұяшықтар (LineNumber , ColumnNumber ). мән = мән; Ұяшыққа деректерді енгізу.
Парақ. Ұяшықтар (LineNumber , ColumnNumber ). шрифт. Name = FontName; Ұяшықтағы қаріпті орнату.
Парақ. Ұяшықтар (LineNumber , ColumnNumber ). шрифт. Size = FontSize; Ұяшықтағы қаріп өлшемін орнатыңыз.
Парақ. Ұяшықтар (LineNumber , ColumnNumber ). шрифт. Қалың = қалың; 1 - қалың шрифт, 0 - қалыпты.
Парақ. Ұяшықтар (LineNumber , ColumnNumber ). шрифт. курсив = курсив; 1 – қиғаш шрифт, 0 – қалыпты.
Парақ. Ұяшықтар (LineNumber , ColumnNumber ). шрифт. Асты сызылған = асты сызылған; 2 – асты сызылған, 1 – жоқ.
Парақ. Ұяшықтар (LineNumber , ColumnNumber ). NumberFormat = Format ; Ұяшық деректерінің пішімін орнатыңыз.
Парақ. Ұяшықтар (LineNumber , ColumnNumber ). Шекаралар. Linestyle = LineType; Ұяшық шекараларын орнату. 1 - жұқа қатты.

Бұл әдіс қарапайым. Оның мәні объект болып табылады Электрондық кесте құжатыәдістері бар:

  • күйдіру (< ИмяФайла>, < ТипФайлаТаблицы >) файлға деректерді жүктеп салу үшін;
  • Оқы (< ИмяФайла>, < СпособЧтенияЗначений >) файлдан деректерді жүктеу үшін.

Назар аударыңыз!

Write() әдісі клиентте де, серверде де қол жетімді. Read() әдісі тек сервер жағында қол жетімді. Осыны есте сақтау керек
клиент пен сервер әрекетін жоспарлау кезінде.

Электрондық кесте құжатын файлға сақтау мысалын қарастырыңыз. TableDocument объектісін кез келген тәсілмен құру және толтыру қажет және түсіруфайл тек бір жолмен орындалады:

TabDoc . Жазу(FilePath, SpreadsheetDocumentFileType.XLSX);

Мұнда TabDoc- құрылған электрондық кесте, Файлға апаратын жол- жүктелетін файлдың атауы, SpreadsheetDocumentFileType.XLSX— құрылған файлдың пішімі. Келесі Excel пішімдеріне қолдау көрсетіледі:

  • XLS95 - Excel 95 пішімі;
  • XLS97 - Excel 97 пішімі;
  • XLSX — Excel 2007 пішімі.

TabDoc = Жаңа электрондық кесте құжаты;
TabDoc . Оқу(PathToFile, WayToReadSpreadsheetDocumentValues.Value);

Мұнда Файлға апаратын жол- Жүктелген Excel файлына жол. WayToReadValuesSpreadDocument.Valueбастапқы құжаттан оқылған деректерді түсіндіру жолын анықтайды. Қол жетімді опциялар:

  • Мағынасы;
  • Мәтін.

OLE арқылы алмасу

OLE автоматтандыру технологиясы арқылы алмасу бағдарламалық жұмыс істеудің ең кең тараған тәсілі болуы мүмкін Excel файлдары. Ол Excel ұсынған барлық функцияларды пайдалануға мүмкіндік береді, бірақ басқа әдістерге қарағанда баяу. OLE арқылы алмасу MS Excel бағдарламасын орнатуды талап етеді:

  • Түпкі пайдаланушының компьютерінде, егер алмасу клиент жағында болса;
  • 1C: Enterprise серверінің компьютерінде, егер алмасу сервер жағында болса.

Мысал түсіру:

// COM нысанын жасаңыз
Excel = Жаңа COMObject («Excel.Application»);
// Ескертулер мен сұрақтарды өшіріңіз
Excel . displayalerts = жалған;
// Жаңа кітап жасау
Кітап = Excel. жұмыс дәптерлері. Add();
// Бірінші парақта орналасу
Парақ = Кітап. Жұмыс парақтары(1);

// Ұяшыққа мән жазу
Парақ . Ұяшықтар (жол нөмірі, баған нөмірі). Мән = CellValue;

// Файлды сақтаңыз
Кітап . SaveAs(ФайлАты);


Excel . Quit();
Excel = 0;

Мысалдар оқу:

// -- 1 НҰСҚА --

// COM нысанын жасаңыз
Excel = Жаңа COMObject («Excel.Application»);
// Ашық кітап
Кітап = Excel. жұмыс дәптерлері. ашық( Файлға апаратын жол);

Парақ = Кітап. Жұмыс парақтары(1);

// Кітапты жабыңыз
Кітап . Жабу(0);

// Excel және бос жадты жабу
Excel . Quit();
Excel = 0;

// —— 2 ОПЕРАЦИЯ ——

// Ашық кітап
Кітап = GetCOMObject( Файлға апаратын жол);
// Қажетті параққа орналастыру
Парақ = Кітап. Жұмыс парақтары(1);

// Ұяшықтың мәнін оқыңыз, бұл әдетте ұяшықтарды айналып өту циклі орналасқан жер
CellValue = Парақ. Ұяшықтар (жол нөмірі, баған нөмірі). құндылық;

// Кітапты жабыңыз
Кітап . қолдану. Qui t();

Үшін айналма жол Excel парағының барлық толтырылған жолдарында келесі амалдарды қолдануға болады:

// -- 1 НҰСҚА --
Жолдар саны = Парақ. Ұяшықтар(1 , 1 ). Арнайы ұяшықтар(11 ). Қатар;
Жол нөмірі үшін = 1 жолдар саны бойынша цикл
CellValue = Парақ. Ұяшықтар (жол нөмірі, баған нөмірі). мән;
EndCycle;

// —— 2 ОПЕРАЦИЯ ——
LineNumber = 0;
While True Loop
LineNumber = LineNumber + 1 ;
CellValue = Парақ. Ұяшықтар (жол нөмірі, баған нөмірі). құндылық;
Егер ValueFilled ЕМЕС болса(CellValue) Содан кейін
тоқтату;
EndIf;
EndCycle;

Парақтың барлық жолдарын дәйекті түрде өтудің орнына, сіз жасай аласыз барлық деректерді массивке тастаңызжәне онымен жұмыс жасаңыз. Бұл тәсіл деректердің үлкен көлемін оқығанда жылдамырақ болады:

Жалпы бағандар = Парақ. Ұяшықтар(1 , 1 ). Арнайы ұяшықтар(11 ). Баған;
TotalRows = Парақ. Ұяшықтар(1 , 1 ). Арнайы ұяшықтар(11 ). Қатар;

Аймақ = Парақ. Ауқым(парақ. Ұяшықтар(1 , 1 ), Тізім. Ұяшықтар(TotalRows, TotalColumns));
Деректер = Аймақ. мән. түсіру();

Төмендегі кестеде OLE арқылы Excel бағдарламасымен жұмыс істеудің ең көп сұралатын сипаттары мен әдістері берілген:

Әрекет Код Түсініктеме
Қолданбамен жұмыс
Қолданба терезесінің көріну мүмкіндігін орнату Excel . көрінетін= жалған;
Ескерту дисплей режимін орнату (дисплей/көрсетпеу) Excel . Көрсеткіштер= жалған;
Қолданбаны жабу Excel . Quit();
Кітаппен жұмыс
Жаңа кітап жасаңыз Кітап = Excel. жұмыс дәптерлері. қосу();
Бар жұмыс кітабын ашу Кітап = Excel. жұмыс дәптерлері. Ашу(ФайлАты);
Кітапты сақтау Кітап . Басқаша сақтау(ФайлАты);
кітаптың жабылуы Кітап . Жабу(0);
Парақпен жұмыс
Ағымдағы парақты орнату Парақ = Кітап. Жұмыс парақтары(ShetNumber);
Атау параметрі Парақ . Аты = Аты;
Қорғауды орнату Парақ . Қорғау();
Қорғанысты жою Парақ . Қорғауды алып тастау();
Бет бағдарын орнату Парақ . Бет орнату. Бағдар = 2; 1 – портрет, 2 – пейзаж
Сол жақ жиекті орнату Парақ . Бет орнату. LeftMargin = Excel. Сантимерлерден нүктелерге(сантиметрлер);
Жоғарғы шекті орнату Парақ . Бет орнату. TopMargin = Excel. Сантимерлерден нүктелерге(сантиметрлер);
Оң жақ шекараны орнату Парақ . Бет орнату. RightMargin = Excel. Сантимерлерден нүктелерге(сантиметрлер);
Төменгі шекараны орнату Парақ . Бет орнату. BottomMargin = Excel. Сантимерлерден нүктелерге(сантиметрлер);
Жолдармен, бағандармен, ұяшықтармен жұмыс
Баған енін орнату Парақ . Бағандар(ColumnNumber). ColumnWidth = Width;
Сызықты жою Парақ . Жолдар (жол нөмірі). Жою();
Бағанды ​​жою Парақ . Бағандар(ColumnNumber). жою();
Ұяшықты жою Парақ . Ұяшықтар (жол нөмірі, баған нөмірі). Жою();
Мәнді орнату Парақ . Ұяшықтар (жол нөмірі, баған нөмірі). Мән = Мән;
Ұяшықтарды біріктіру Парақ . Ауқым(парақ. Ұяшықтар(жол нөмірі, баған нөмірі), парақ. ұяшықтар(жол нөмірі1, баған нөмірі1)). Біріктіру();
Қаріпті орнату Парақ . Ұяшықтар (жол нөмірі, баған нөмірі). Қаріп. Аты = Қаріп атауы;
Қаріп өлшемін орнату Парақ . Ұяшықтар (жол нөмірі, баған нөмірі). Қаріп. Size = FontSize;
Қалың шрифт параметрі Парақ . Ұяшықтар (жол нөмірі, баған нөмірі). Қаріп. Қалың = 1 ; 1 - қалың, 0 - қалыпты
Курсивті орнату Парақ . Ұяшықтар (жол нөмірі, баған нөмірі). Қаріп. курсив = 1 ; 1 – курсив, 0 – қалыпты
Асты сызылған қаріпті орнату Парақ . Ұяшықтар (жол нөмірі, баған нөмірі). Қаріп. Астын сызу = 2 ; 2 – асты сызылған, 1 – жоқ

Қандай сипатты өзгерту керектігін немесе қандай әдісті шақыру керектігін білу үшін сіз пайдалана аласыз макростар Excel. Қажетті әрекеттермен макросты жазсаңыз, содан кейін жазылған макростың VBA ішіндегі бағдарлама кодын көруге болады.

COMSafeArray пайдалану

1С-тен Excel-ге үлкен көлемдегі деректерді түсіру кезінде сіз объектіні жылдамдату үшін пайдалана аласыз COMSafeArray. Синтаксистік көмекші арқылы анықталғандай, COMSafeArray көпөлшемді массив үстіндегі нысанды орауыш болып табылады. SafeArray COM сайтынан. COM нысандары арасында деректер алмасу үшін SafeArray жасауға және пайдалануға мүмкіндік береді. Қарапайым тілмен айтқанда, бұл OLE технологиясын қолданатын қолданбалар арасында алмасу үшін пайдалануға болатын мәндер жиыны.

// COMSafeArray жасау
ArrayCom = Жаңа COMSafeArray("VT_Variant", TotalColumns, TotalRows);
// COMSafeArray толтыру
Үшін Str = 0 жалпы жолдар - 1 цикл
Үшін Санау = 0 Жалпы бағандар - 1 Цикл
ArrayCom . SetValue(сан, жол, мән);
EndCycle;
EndCycle;
// COMSafeArray ішінен Excel парағы аймағының мәндерін тағайындау
Парақ . Ауқым(парақ. Ұяшықтар(1 , 1 ), Тізім. Ұяшықтар(Барлық жолдар, жалпы бағандар)). Мән = ArrayCom;

ADO арқылы алмасу

Excel файлы, ADO арқылы алмасу кезінде, SQL сұраулары арқылы қол жеткізуге болатын дерекқор болып табылады. MS Excel бағдарламасын орнату қажет емес, бірақ ODBC драйвері қажет, ол арқылы кіру жүзеге асырылады. Пайдаланылатын ODBC драйвері файлға қосылым жолын көрсету арқылы анықталады. Әдетте, қажетті драйвер компьютерде орнатылған.

ADO арқылы алмасу OLE арқылы алмасуға қарағанда айтарлықтай жылдамырақ, бірақ түсіру кезінде Excel функциясын ұяшықтарды безендіру, беттерді белгілеу, формулаларды орнату және т.б. үшін пайдалану мүмкіндігі жоқ.

Мысал түсіру:


Қосылым = Жаңа COMObject("ADODB.Connection");


Құрама . ConnectionString="

|Дереккөзі=" + Файл атауы + ";
;
Құрама . open(); // Қосылымды ашу

// Пәрмен үшін COM нысанын жасаңыз
Пәрмен = Жаңа COMObject("ADODB.Command");
Команда

// Кесте құру үшін пәрмен мәтінін тағайындау
Команда . пәрмен мәтіні = "КЕСТЕ ЖАСАУ [1-парақ] (1-баған таңба(255), 2-баған күні, 3-баған int, 4-баған қалқымалы)";
Команда . орындау(); // Команданың орындалуы

// Кесте жолын қосу үшін пәрмен мәтінін тағайындау
Команда . пәрмен мәтіні = «[1-парақ] INSERT INTO (1-баған, 2-баған, 3-баған, 4-баған) мәндерін («abvgdeo', '8/11/2017', '12345', '12345,6789')";
Command.Execute(); // Команданың орындалуы

// Пәрменді жою және қосылымды жабу
пәрмен = анықталмаған;
Құрама . жабық();
Қосылым = Анықталмаған;

Жаңа парақ құру және оның құрылымын қалыптастыру үшін нысандарды пайдалануға болады ADOX.Каталогжәне ADOX.Кесте. Бұл жағдайда код келесідей болады:

// Кітаппен жұмыс істеу үшін COM нысанын жасаңыз
Кітап = Жаңа COMObject("ADOX.Catalog");
Кітап . ActiveConnection = Қосылым;

// Парақтағы деректер құрылымымен жұмыс істеу үшін COM нысанын жасаңыз
Кесте = Жаңа COMObject("ADOX.Table");
Кесте . Name = "1-парақ" ;
Кесте . Бағандар. Append("1-баған" , 202 );
Кесте . Бағандар. Append("2-баған" , 7 );
Кесте . Бағандар. Append("3-баған" , 5 );
Кесте . Бағандар. Қосымша("4-баған" , 5 );

// Сипатталған құрылымы бар кітапта парақ жасаңыз
Кітап . кестелер. қосу(кесте);
кесте = анықталмаған;
кітап = анықталмаған;

Жоғарыдағы мысалда әдісте

Кесте . Бағандар. Қосымша(«1-баған», 202);

екінші параметр баған түрін көрсетеді. Параметр міндетті емес, мұнда кейбір баған түрінің мәндері берілген:

  • 5-adDouble;
  • 6 - adCurrency;
  • 7 - қосу күні;
  • 11 - adBoolean;
  • 202 - adVarWChar;
  • 203-adLongVarWChar.

Мысал оқу:

// Қосылым үшін COM нысанын жасаңыз
Қосылым = Жаңа COMObject("ADODB.Connection");

// Қосылым жолын орнату
Құрама . ConnectionString="
|Провайдер=Microsoft.ACE.OLEDB.12.0;
|Дереккөзі=" + Файл атауы + ";
|Кеңейтілген сипаттар=""Excel 12.0 XML;HDR=ИӘ"";";
Құрама . open(); // Қосылымды ашу

// Таңдауды алу үшін COM нысанын жасаңыз
Таңдау = Жаңа COMObject("ADODB.Recordset");
Сұраныс мәтіні = "[Sheet1$] ФОМЫНАН * ТАҢДАУ";

// Сұранысты орындаңыз
Үлгі . Open(QueryText, Connection);

// Таңдаудың нәтижесін айналып өту
Сынама алынбаған кезде. EOF() циклі
ColumnValue1 = Таңдау. өрістер. Элемент («1-баған»). мән ; // Баған аты бойынша сілтеме жасау
2-баған мәні = таңдау. өрістер. Элемент(0 ). құндылық; // Баған индексі бойынша алу
Үлгі . MoveNext();
EndCycle;

Үлгі . жабық();
Үлгі = анықталмаған;
Құрама . жабық();
Қосылым = анықталмаған;

Қосылым жолында параметр HDRпарақтағы бірінші жолдың қалай қабылданатынын анықтайды. Ықтимал опциялар:

  • ИӘ – бірінші жол бағандардың атаулары ретінде қабылданады. Мәндерге атау және баған индексі бойынша қол жеткізуге болады.
  • ЖОҚ - бірінші жол деректер ретінде қабылданады. Мәндерге тек баған индексі арқылы қол жеткізуге болады.

Келтірілген мысалдарда тек бірнеше ADO нысандары қарастырылады. ADO нысан үлгісі келесі нысандардан тұрады:

  • қосылу;
  • бұйрық;
  • жазбалар жинағы;
  • жазба;
  • өрістер;
  • ағын;
  • қателер;
  • параметрлер;
  • қасиеттері.

Бағдарламасыз жүктеп салу

Деректерді 1С-ден Excel-ге сақтау үшін әрқашан бағдарламалауға жүгінген жөн емес. Кәсіпорын режимінде пайдаланушы жүктеп салуға қажетті деректерді көрсете алатын болса, онда оларды Excel бағдарламасында бағдарламалаусыз сақтауға болады.

Электрондық кесте құжатын сақтау үшін (мысалы, есептің нәтижесі) пәрменді шақыруға болады Сақтаунемесе Басқаша сақтау…негізгі мәзір.

Ашылған терезеде сақталған файлдың каталогын, атын және пішімін таңдау керек.

Деректерді сақтау үшін динамикалық тізімдер(мысалы, элементтер тізімі) сізге қажет:

  1. Пәрмен арқылы деректерді электрондық кестеге шығару Толығырақ ⇒ Тізімді көрсету...;
  2. Электрондық кесте құжатын қажетті форматта сақтаңыз.