Гэр / Windows хичээлүүд / Талбайн хувилбар гадаад мэдээллийн эх сурвалж 1c. Гадаад мэдээллийн эх сурвалж. Гадаад эх сурвалжийн шинж чанарын маягтын мэдээллийн таб

Талбайн хувилбар гадаад мэдээллийн эх сурвалж 1c. Гадаад мэдээллийн эх сурвалж. Гадаад эх сурвалжийн шинж чанарын маягтын мэдээллийн таб

Тэдэнтэй 1С Enterprise горимд жагсаалтаар ажилла.

Гэсэн хэдий ч ажил дээр өгөгдлийн нэг хэсэг нь өөр газар хадгалагдах үед нөхцөл байдал ихэвчлэн үүсдэг.

  • Онлайн дэлгүүр (ихэвчлэн гадны MySQL/SQL мэдээллийн санд өгөгдлийг хадгалдаг)
  • Өөр нэг суурь.

Бусад мэдээллийн санд хадгалагдсан ийм өгөгдөлтэй ажиллахын тулд та тусгай механизм боловсруулах хэрэгтэй.

1С 8.2.14 хувилбар дээр шинэ нэрээр гарч ирэв Гадаад эх сурвалжуудПрограмистын ажлыг ихээхэн хөнгөвчлөх 1С өгөгдөл, учир нь:

  • одоо мэдээлэл олж авах тусгай механизм бий болгох шаардлагагүй болсон
  • ийм өгөгдөлд хандах боломжтой
  • Ийм өгөгдлийг 1С жагсаалтаас үзэх боломжтой.
    • Гадаад мэдээллийн эх сурвалж 1С - гадаад суурь SQL

      Бидэнд хэрэгтэй мэдээллээ хадгалдаг SQL мэдээллийн сан байгаа гэж бодъё. 1С гадаад мэдээллийн эх сурвалжийн механизмыг ашиглан үүнээс өгөгдлийг уншихыг хичээцгээе.

      Гадны мэдээллийн эх сурвалж 1С-г нэмье. Та тохируулагч руу очих хэрэгтэй, гадаад мэдээллийн эх үүсвэрүүд нь тохиргооны цонхонд, модны хамгийн доод хэсэгт байрладаг.

      1. Холболт

      Шинэ гадаад мэдээллийн эх сурвалж 1С нэмье, үүнийг дур мэдэн дуудъя.

      Мэдээллийн сан нь хүснэгтүүдээс бүрдэнэ. Бид тэдгээрийг нэмсэн гадаад мэдээллийн эх сурвалж дотор нэмэх хэрэгтэй. Үүн дээр хулганы баруун товчийг дараад "Хүснэгт нэмэх" гэснийг сонгоно уу.

      Эхний удаад холболтын мөрийг өгөхийг танаас хүсэх болно. Үүнийг гараар оруулах эсвэл үүсгэх боломжтой бөгөөд үүний тулд та "..." товчийг дарах хэрэгтэй.

      Драйверын хувьд бид "SQL Server"-ийг сонгох болно.

      SQL-тэй холбогдох үндсэн параметрүүдийг бөглөцгөөе. Серверийн нэрийг оруулах эсвэл жагсаалтаас сонгох боломжтой.

      1С нь SQL-тэй холбогдож, жагсаалтаас тодорхой мэдээллийн санг сонгохыг танд сануулна.

      Үүний дараа 1С нь энэ мэдээллийн сан дахь хүснэгтүүдийн жагсаалт болон тэдгээрийн багануудыг харуулах болно. Та шалгах хайрцаг бүхий шаардлагатай хүснэгтүүдийг сонгох хэрэгтэй.

      Хүснэгт, багана нэмэгдэх болно. Нэр нь алсын мэдээллийн санд тодорхойлогдсон шиг байх болно. 1С-д та тэдгээрийн нэрийг (промсороор) өөрчилж болно.

      Нэмэлт хүснэгтийн жишээ энд байна:

      Нэмэлт баганын жишээ энд байна:

      1С платформ нь 1С лавлахтай адил гадаад хүснэгттэй ажиллахын тулд нэмэлт параметрүүдийг хүснэгтэд зааж өгч болно.

      • Түлхүүр талбарын шинж чанарт мөрийн өвөрмөц таних тэмдэг өгөх баганын аль нэгийг зааж өгнө үү; хэрэв олон мөр нь өвөрмөц байдлыг хангадаг бол энэ аргаажиллахгүй байна (Код талбарын аналог)
      • View талбарын шинж чанарт мөрийн товч дүрслэлийг өгөх баганын аль нэгийг зааж өгнө үү (Нэр талбарын аналог)
      • Хүснэгтийн өгөгдлийн төрлийн шинж чанарт Объект өгөгдлийг зааж өгнө.

      2. Харах

      Алсын мэдээллийн сантай холбогдох нь автоматаар хийгддэггүй. Холбохын тулд та ердийн цэсийг сонгох хэрэгтэй.

      Стандарт салбарт "Гадаад мэдээллийн эх сурвалжийг удирдах" тусгай команд байдаг бөгөөд энэ нь холболтын параметрүүдийг (1С аж ахуйн нэгжийн горимд зориулагдсан) зааж өгөх, холбогдох боломжийг олгодог.

      Эхлээд та мэдээллийн санд холбогдох параметрүүдийг зааж өгөх хэрэгтэй.

      Та тохируулагч дахь тохиргоог хийх үед үр дүнд нь холболтын мөрийг харуулсан. Та тохируулагч дахь Хүснэгт нэмэх товчийг дахин дарснаар үүнийг дахин харах боломжтой.

      Холболтын мөрийг хуулж, 1С Enterprise горимд зааж өгнө үү.

      Үүний дараа та бодит холболтыг хийх хэрэгтэй.

      Холболт хийсний дараа жагсаалттай ажиллах боломжтой.

      3. 1С хэлээр ашиглах

      1С хэл дээрх програмын кодоос холболтыг хийж болно.

      Холболтын параметрүүдийг дараах байдлаар тодорхойлно.
      ConnectionParameters = ExternalDataSources.SourceNameConfigurator.GetCommonConnectionParameters();

      ConnectionParameters.AuthenticationStandard = үнэн;
      ConnectionParameters.UserName = "sa";
      ConnectionParameters.Password = "нууц үг";
      ConnectionParameters.ConnectionString = "тохируулагчийн холболтын мөр";
      ConnectionParameters.DBMS = "MSSQLServer";

      ExternalDataSources.SourceNameConfigurator.SetCommonConnectionParameters(ConnectionParameters);
      ExternalDataSources.SourceNameConfigurator.SetUserConnectionParameters(UserName(), Параметр);
      ExternalDataSources.SourceNameConfigurator.SetSessionConnectionParameters(Parameters);
      ExternalDataSources.SourceNameConfigurator.SetConnection();

      Та ердийн өгөгдлийн сангаас мэдээлэл авах боломжтой. Гадаад эх сурвалж OurExternalSource болон tablesExternalSourceTable-д зориулсан хүсэлтийн текстийн жишээ:

      СОНГОХ
      ExternalSource Table.FieldName
      FROM
      ExternalDataSource.OurExternalSource.Table.ExternalSourceTable"

      Гадаад мэдээллийн эх сурвалж 1С - Excel файлтай ажиллах

      Өөр нэг сонголтыг туршиж үзье - гадаад 1С мэдээллийн эх сурвалжаар дамжуулан Excel файлтай ажиллах.

      Энгийн Excel файл үүсгэцгээе.

      Гадны эх сурвалжийг нэмээд дур мэдэн FileExcel гэж нэрлэе. Түүнд "Sheet1 $" хүснэгтийг нэмнэ үү. Таны харж байгаагаар энэ нь "$" тэмдэг бүхий Excel-ийн хуудасны нэр юм.

      SQL-ийн нэгэн адил багана нэмье. Тэдгээрийг гараар нэмж болно. Нэмэгдсэн баганын төрлүүд таарч байгаа эсэхийг шалгах нь чухал бөгөөд эс тэгвээс та дараа нь "Өгөгдлийн төрөл таарахгүй" гэх мэт алдаа гарч болзошгүй.

      Баганын хувьд та 1С дахь нэр болон мэдээллийн эх сурвалж дахь нэрийг зааж өгөх хэрэгтэй.

      Excel-ийн хувьд функц байдаг ("Хэт цөөн параметр. 3 шаардлагатай" гэх мэт алдаа):

      • Хэрэв Excel хүснэгтийн эхний мөрөнд баганын нэр байгаа бол та энэ баганын нэрийг зааж өгөх хэрэгтэй, жишээлбэл "Код".
      • Үгүй бол та "Sheet1$.Code" хүснэгтийн нэрээр бүтэн нэрийг зааж өгөх хэрэгтэй, гэхдээ параметрүүдэд "HDR=NO;" гэж нэмнэ үү.

      Excel файлын холболтын параметрүүд дараах байдалтай байна.

      • XLSX файлууд ( Оффисын хувилбар 2007 ба түүнээс дээш)
        Жолооч=( Microsoft ExcelДрайвер (*.xls, *.xlsx, *.xlsm, *.xlsb));DBQ=D:\FileExcel.xlsx;
      • XLS файлууд (өмнө)
        Драйвер=(Microsoft Excel драйвер (*.xls)); DriverID=790; DBQ=D:\FileExcel.xls;
        Та өөрийн нэр, файлын замыг зааж өгөх ёстой.

Гадаад мэдээллийн эх сурвалжууд 1С нь харьцангуй шинэ мета өгөгдлийн объект болох 1С 8.3 ба 8.2 бөгөөд үүний тусламжтайгаар гадаад мэдээллийн эх сурвалжийг 1С-тэй холбох боломжтой: SQL хүснэгтүүд, Excel, Access, FoxPro (dbf), өөр 1С мэдээллийн сан, Oracle, Paradox (db), - тэр ч байтугай унших энгийн файлууд txt/csv.

Энэ нь бусад системтэй ажиллах маш их боломжийг олгодог. Илүү дэлгэрэнгүй авч үзье.

1С 8 дээр гадаад мэдээллийн эх үүсвэрийг тохируулах

Системийн төрөл бүрийн хувьд гадаад эх үүсвэрийг тохируулах нь хувь хүн юм. Гэхдээ дүрмээр бол тохиргооны нийтлэг хэсэг нь ижил байдаг - энэ нь холболтын мөрийг тохируулах явдал юм.

267 1С видео хичээлийг үнэгүй аваарай:

Хэрэв холболтын мөр зөв байвал систем нь мэдээллийн сангаас шаардлагатай хүснэгтийг сонгохыг хүсэх болно. Үүний үр дүнд бид түлхүүр талбар (өвөрмөц талбар) болон харах талбарыг (бичлэгийг 1С-д хэрхэн тусгах) зааж өгөх боломжтой бэлэн хүснэгтийг авах болно.

1С 8.3-д гадаад мэдээллийн эх сурвалжийг ашиглах

1С дахь өгөгдлийн гадаад эх сурвалжийг бусад мэдээллийн сангийн хүснэгтүүдийн нэгэн адил ашиглаж болно. Платформ нь тохируулаагүй тохиолдолд автоматаар тэдэнд зориулж маягт үүсгэдэг. Асуулгад мөн гадаад эх сурвалжаас авсан өгөгдлийг ашиглаж болно.

Платформын 8.3.5.1068 (болон түүнээс хойшхи) хувилбарт гадаад эх сурвалж дахь өгөгдлийг нэмэх, өөрчлөх, устгах боломжтой болсон. програм хангамжийн хэрэгслүүд 1С. Энэ онцлог шинж чанаруудын жишээг энэ нийтлэлд үзүүлэв.

Гадны эх сурвалжид бичлэг хийх боломжтой болгохын тулд 1С нь өгөгдлийн хүснэгт болон гадаад эх сурвалжийн талбарт шинэ шинж чанаруудыг нэмсэн.

  • Бүх ширээний хувьд - өмч Зөвхөн унших. Зөвхөн унших = Үнэнэнэ хүснэгтэд байгаа өгөгдлийг өөрчлөх боломжгүй гэсэн үг;
  • Тусдаа хүснэгтийн талбаруудын хувьд - шинж чанарууд Зөвхөн унших, AllowNullболон Утгыг бөглөх:
    • Зөвхөн унших = Үнэнэнэ талбар дахь өгөгдлийг өөрчлөх боломжгүй гэсэн үг;
    • AllowNull = ҮнэнЭнэ талбарт утга бичиж болно гэсэн үг NULL;
    • Утгыг бөглөхЭнэ талбарын анхдагч утгыг агуулна (хэрэв байгаа бол).

Та (хүснэгтүүдийг гараар дүрслэх үед) эсвэл платформ (дизайнертай хамт хүснэгт үүсгэх үед) эдгээр шинж чанаруудыг дараах байдлаар ашиглаж болно.

  • Зөвхөн унших = Үнэнжишээ нь харагдац (харах), илэрхийлэл (функцын үр дүн) дээр үндэслэн олж авсан хүснэгтүүд гэх мэтийг тохируулах. Ийм хүснэгтэд байгаа өгөгдлийг өөрчлөх боломжгүй;
  • Зөвхөн унших = Үнэнавтоматаар тохируулсан талбаруудыг зааж өгөх ( AUTOINCREMENT), тооцоолсон талбарууд гэх мэт. Эдгээр талбар дахь өгөгдлийг өөрчлөх боломжгүй;
  • AllowNull = ҮнэнТүлхүүр талбарууд болон гадаад эх сурвалжид дүрслэгдсэнээс бусад бүх талбарт тохируулна NULL БИШ;
  • Утгыг бөглөхЭнэ талбарын стандарт утгыг гадаад эх сурвалжид заасан тохиолдолд тохируулах талбарууд (утга ӨГӨГДМӨЛ).

Та гадаад эх сурвалжид суулгасан хэл эсвэл интерактив байдлаар өгөгдлийг нэмэх, өөрчлөх, устгах боломжтой. Суурилуулсан хэл дээр хүснэгтийн менежерийн дараах аргуудыг ашигладаг.

  • RecordSet үүсгэх()- объектын бус хүснэгтүүдийн хувьд;
  • Шинэ арга Объект үүсгэх()- объектын хүснэгтэд зориулагдсан.

Үүний дагуу объектууд ExternalDataSourceTableRecordSetболон ExternalDataSourceTableObjectшинэ аргууд гарч ирэв бичих()болон Устгах().

Өгөгдөл нэмж байна

Та гадаад эх үүсвэрт өгөгдөл нэмэхдээ объект (эсвэл бичлэгийн багц) үүсгэж, талбарын утгыг тохируулж, бичнэ. Гэсэн хэдий ч мэдэхэд хэрэгтэй зарим онцлог шинж чанарууд байдаг.

Жишээлбэл, байгаа талбарын утгыг тохируулах гэж оролдох үед Зөвхөн унших = Үнэн, алдаа гарах болно. Мөн илэрхийлэл дэх мэдээллийн сан руу шууд бичих үед INSERTИйм талбарыг алгасах болно. Үлдсэн талбарууд нь таны өгсөн утгуудаар дүүрсэн байна. Тиймээс үнэт зүйлс Nullболон анхдагч утгуудыг талбаруудад тодорхой зааж өгөх ёстой.

  • ID(AllowNull = Үнэн);
  • нэр(AllowNull = Үнэн);
mCharacteristic = ExternalDataSources.IM.Tables.shop_feature.CreateObject(); mCharacteristic.id = Код; mCharacteristic.name = Нэр; mCharacteristic.Write();

Мэдэгдэлийн гүйцэтгэл бичих()үйл явдлын зохицуулагчийг эхлээд дуудах болно Бичлэг хийхээс өмнө, дараа нь гадаад эх сурвалжийн хүснэгтэд физик бичих хийгдэнэ ( INSERT), дараа нь үйл явдлын зохицуулагч дуудагдах болно Бичлэг хийх үед.

Гадаад эх сурвалжийн хүснэгтийн түлхүүр талбараар та дараах зүйлийг хийж болно. Хэрэв түлхүүр талбар нь засварлах боломжтой бол та бичихээсээ өмнө түүний утгыг "гараар" тохируулна. Хэрэв түлхүүр талбарыг өөрчлөхийг хориглосон бол платформ нь түлхүүрийг бие даан авах болно INSERTэсвэл шууд дараа нь. Та аргын тусламжтайгаар энэ үйл явцад хөндлөнгөөс оролцож болно SetReferenceNew()физик бичлэгийн өмнө (үйл явдал зохицуулагч дотор Бичлэг хийхээс өмнө) эсвэл шууд физик оруулгын дараа (үйл явдал зохицуулагчд Бичлэг хийх үед).

Өгөгдлийг өөрчлөх

Өгөгдлийг өөрчлөх үед хүснэгтийн бүх талбаруудын утгууд өөрчлөгдөнө Зөвхөн унших = Худал.

MFeature = ExternalDataSources.IM.Tables.shop_feature.FindByField("id",код); mObject = mCharacteristic.GetObject(); mObject.name = Нэр; mObject.Write();

Хэрэв та зөвхөн зарим талбарыг бичих шаардлагатай бол тэдгээрийн жагсаалтыг ашиглан суулгасан хэлнээс шууд зааж өгч болно SetWritableFields()болон GetWritableFields().

Өгөгдлийг устгаж байна

Өгөгдлийг устгах нь мэдээллийн сангийн хүснэгтээс мөрийг шууд устгадаг. Үүний зэрэгцээ устгасан объектын лавлагааг хайдаггүй. Хэрэв ийм функц шаардлагатай бол та үүнийг үйл явдлын зохицуулагч дээр өөрөө програмчилж болно Устгахаасаа өмнө().

MFeature = ExternalDataSources.IM.Tables.shop_feature.FindByField("id",Код); mObject = mCharacteristic.GetObject(); mObject.Delete();

Гүйлгээ

Гадны эх сурвалжаас өгөгдлийг унших нь өмнөх шигээ гүйлгээнээс гадуур хийгддэг бөгөөд бичих үед платформ нь далд гүйлгээг нээдэг. Үүний зэрэгцээ та объектын аргуудыг ашиглан тодорхой гүйлгээнд уншиж, бичиж болно ExternalDataSourceManager:

  • Гүйлгээг эхлүүлэх();
  • Гүйлгээ хийх();
  • Цуцлах Гүйлгээ().

Түгжээ

  • Автомат;
  • Удирдсан;
  • Автомат, хяналттай.

түүнчлэн гадаад эх сурвалжийн хүснэгтийн шинж чанар Тусгаарлах түвшний гүйлгээ:

Нэмж дурдахад та аргын түгжээний түвшинг бие даан тохируулах боломжтой Гүйлгээг эхлүүлэх().

Би ердийн нийтлэлийг жишээгээр нэмсэн) Илүү их цаг хугацаа байх болно - би илүү олон жишээ нэмэх болно.

8.2.14.533 хувилбар - эцэст нь платформын 14-р хувилбарын илүү бага тогтвортой хувилбар. Эцэст нь "гадаад мэдээллийн эх сурвалж" гэсэн гайхалтай боломжийг туршиж үзэх боломж олдсон.

Яагаад энэ боломжийм сонирхол төрүүлдэг үү? 1С дээр программчлагдсан аливаа хүн SQL-ийг сайн мэддэг бөгөөд ерөнхийдөө бизнесийн хэрэглээний бусад технологийн платформыг боловсруулах архитектур, зарчмуудыг мэддэг хүн 1С-д юу хамгийн их таалагддагийг баттай хэлэх болно. Мэдээжийн хэрэг, асуулга үүсгэгч нь миний биечлэн уулзаж байсан харилцааны бүтцээс мэдээлэл авах хүсэлтийг бичих хамгийн тохиромжтой, ухаалаг механизм юм. Одоо 1С нь зөвхөн 1С төдийгүй бусад хүснэгтэд ашиглах гайхалтай боломжийг бидэнд олгосон. Энэ "тоххон зөгийн бал" руу цутгасан "тосонд ялаа"-ыг л энд оруулав. Бүх зүйл дарааллаар:

1) Тохируулах, ашиглах - "хэнгэрэгтэй бүжиглэх"гүйгээр энэ нь ажиллахгүй болно

A) Гадаад өгөгдлийн эх үүсвэр нэмэх - энэ нь төвөгтэй зүйл биш юм шиг санагддаг
б) "Жагсаалтаас сонгох" хайрцгийг чагтална уу - энэ нь зайлшгүй шаардлагатай - энэ нь гүйцэтгэлийг эхэнд нь шалгаж, шаардлагагүй асуудлаас аврахад зайлшгүй шаардлагатай.
онд)
(IMG:http://pics.livejournal.com/comol/pic/0000cr1r.png)
- "..." товчийг дарахаа мартуузай - холболт нь ODBC юм. Бидний хэрэглэж заншсан шиг OLEDB биш, харин нэг түвшин доогуур

Тэгээд энд байгаарай МАШ АНХААРАЛТАЙ.

Энэ бол ODBC драйвер бөгөөд хэрэв та клиент-серверийн хувилбарыг ашигладаг бол энэ нь сервер дээр байх ёстой. Хэрэв та нэг систем дээр хөгжиж байгаа бол, мөн ажиллаж байгаа хувилбарнөгөө талаас (ихэвчлэн тохиолддог шиг) танд ямар ч гэнэтийн зүйл байхгүй эсэхийг шалгаарай. Хачирхалтай зөвлөмж, гэхдээ та хурдны талаар онцгой анхаарал тавьдаггүй бөгөөд SQL92 стандартын хязгаараас хэтрүүлэх бодолгүй байгаа бол хамгийн эртний эсвэл хамгийн түгээмэл драйверийг сонгоорой. Энэ нь танд өгөх болно илүү сайн нийцтэй байдал. Жишээлбэл, SQL Server 2008 шилдэг жолооч SQL Server Native Client 11 байх болно, гэхдээ би зөвхөн SQL серверийг сонгохыг зөвлөж байна, эс тэгвээс энэ эх клиентийг сервер дээр эсвэл бүх клиент машин дээр (файлын хувилбарыг ашиглах тохиолдолд) суулгах шаардлагатай болно. энгийн ажлуудад их ашиг өгдөггүй.

E) Стандарт сервер сонгох харилцах цонхнууд

G) Хүснэгт болон дэлгэрэнгүй мэдээллийг сонгох ... сайхан боломж - та хүссэнээрээ нэн даруй нэрийг нь өөрчлөх боломжтой (мөн дэлгэрэнгүй мэдээлэл), харин шинж чанаруудаас та мэдээллийн эх үүсвэрийн талбаруудын нэрийг харах болно.

H) Одоо та гүйж, асуулга зохион бүтээгчийг нээнэ үү - та хүснэгт болон OPA-аас бүх бичлэгийг тэнэгээр сонгов - алдаа. Юу хийх вэ? Хэрэв танд удирдлагатай интерфэйс байгаа бол үйлчилгээний цэсийг харна уу, хэрэв танд энгийн интерфейс байгаа бол...
Би хувьдаа энэ кодыг ашигласан:

Параметрүүд = ExternalDataSources.DAX.GetCommonConnectionParameters();
Parameters.AuthenticationStandard = үнэн;
Parameters.UserName = "sa";
Parameters.Password = "pas";
Parameters.ConnectionString = "DRIVER=(SQL Server);SERVER=servet;UID=sa;PWD=;DATABASE=өгөгдлийн сан";
Parameters.DBMS = "MSSQLServer";

ExternalDataSources.DAX.SetCommonConnectionParameters(Parameters);
ExternalDataSources.DAX.SetUserConnectionParameters(UserName(), Параметрүүд);
ExternalDataSources.DAX.SetSessionConnectionParameters(Parameters);

ExternalDataSources.DAX.SetConnection();

Магадгүй зарим хэсэг нь шаардлагагүй, гэхдээ энэ нь ажилладаг. Код ажиллуулах хэрэгтэй НЭГ УДАА. Үүний дараа энэ нь хэвийн холбогдох болно ... мэдээж ид шидийн үзэл - яагаад шаардлагатай байсан нь тодорхойгүй байна ...

2) Зөвхөн унших боломжтой мэдээллийн эх сурвалж
Тийм ээ, гайхамшгууд тохиолддоггүй ... гэхдээ та заримдаа хүсдэг ....

3) ДОТООД МЭДЭЭЛЛИЙН ЭХ ҮҮСВЭРТЭЙ ХАМТ АШИГЛАХГҮЙ
Хувь хүнийхээ хувьд энэ баримт намайг газар дээрээ үхүүлсэн.

Энэ нь яаж байна .... тэд юу хүлээж байсан бөгөөд бид одоо нэг хүсэлтээр өгөгдлөө 1С-тэй нэгтгэж, эргүүлж, бүлэглэж, тайланд оруулах талаар аль хэдийн төсөөлж, долоож байсан, гэхдээ энэ нь байхгүй байсан .. .

Гэхдээ мэдээжийн хэрэг, энэ нь туршлагатай хүмүүсийг зогсоохгүй ... ямар бодол санаанд орж ирэв? Энэ нь зөв - түр зуурын хүснэгтүүд:

4) ТҮР ШИРЭЭТЭЙ ХАМТ ХЭРЭГЛЭХГҮЙ

Гэхдээ энэ нь технологийн бэрхшээл мэт харагдахаа больсон ч "амьдрал диваажин шиг санагдахгүйн тулд" бидний хийхийг хүсч буй зүйлтэй маш төстэй харагдаж байна (IMG :) .

5) Зөвхөн SKD холболтод ашиглах боломжтой

Мэдэхгүй хүмүүсийн хувьд энэ нь "Dataset Links" таб дээрх ACS-д байдаг. Та тэдгээрийг хэр олон удаа ашигладаг вэ? Тав тухтай юу? Тэд биднийг илүү олон удаа ашиглахыг албадахыг хүсч байгаа бололтой. Гэхдээ "Холбоос нөхцөл" ба "Холбоос параметр" гэсэн багана байдаг. Би тэдгээрийг ямар ч ердийн тохиргоо, баримт бичиг, Хрусталевад ашиглах жишээг олсонгүй, ямар нэгэн байдлаар бүх зүйл ил тод биш байна. Хэн нэгэн надад "холбоос нөхцөл" хэрхэн ажилладаг талаар тайлбарлаж чадах уу? Хэрэв та тэнд SourceAttribute = ReceiverRevision гэж бичвэл ажиллахгүй. Мэдээжийн хэрэг, нөхцөлийг "Илэрхийлэл" талбарт бичиж болно - ихэнх тохиолдолд энэ нь хангалттай ... гэхдээ ямар нэг байдлаар энэ нь тийм ч хялбар биш юм.

Нийтдээ энэ асуудлыг өмнө нь иймэрхүү байдлаар шийдэж байсан.

InitializeDataSource() функц

DateStart = BuilderSettings.Settings.DataParameters.Items.Value;
DateCon = BuilderSettings.Settings.DataParameters.Items.Value;
Хэрэв DateCon > "20100101" Дараа нь
DateCon = "20100101";
EndIf;

QN = NewQualifiersNumber(15,2);
cs = NewStringQualifiers(255);

ArrayNumber = Шинэ массив();
ArrayNumber.Add(Type("Дугаар"));

ArrayString = Шинэ массив();
ArrayString.Add(Type("String"));

ArrayData = Шинэ массив();
ArrayDate.Add(Төрөл("Огноо"));

//Бид нягтлан бодох бүртгэлийн зардлыг хүснэгтэд бөглөнө
TypeNumber = NewTypeDescription(Масивын дугаар, KN);
StringType = NewTypeDescription(ArrayString, CS);
TypeDate = NewTypeDescription(ArrayDate);

//SQL-ээс өгөгдөл ачаалах хүснэгт
TK = Шинэ утгын хүснэгт();
TK.Columns.Add("Нэршлийн код", TypeString);
TK.Columns.Add("Qnty", TypeNumber);
TK.Columns.Add("Цэцэг", TypeDate);

TK.Indices.Add("Хугацаа");

// SQL-д холбогдох
ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Pwd=;Data Source=;Use Proceure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=;Encryption ашиглах Өгөгдлийн хувьд=Худал;Боломжтой үед баганыг холбосон шошго=Худал;Анхны каталог=Тайлангууд";
Холболт = Шинэ COMObject("ADODB.Connection");
Тушаал = Шинэ COMObject("ADODB.Command");
RecordSet = Шинэ COMObject("ADODB.RecordSet");
Огноо = "";
оролдлого
Connection.Open(ShortLP(ConnectionString));
Command.ActiveConnection = Холболт;
Command.CommandText = "PH-аас * сонгоно уу. Үе >= "" + Мөр(Формат(ОгнооStart, "DF=yyyyMMdd")) + "" болон үе RecordSet = Command.Execute();
RecordSet.MoveFirst();
Үл хамаарах зүйл
TK буцаах;
оролдлогын төгсгөл;

While RecordSet.EOF = Худал давталт
Мөр = TK.Add();
String.NomenclatureCode = RecordSet.Fields(RecordSet.Fields.Item(1).Нэр).Утга;
String.Qnty = RecordSet.Fields(RecordSet.Fields.Item(12).Нэр).Утга;
String.Period = RecordSet.Fields(RecordSet.Fields.Item(13).Нэр).Утга;
RecordSet.MoveNext();
Төгсгөлийн мөчлөг;

Хүсэлт = Шинэ хүсэлт();
VrTable = NewTempTableManager();
Query.SetParameter("vDataTable", TK);
Query.SetParameter("StartDate", StartDate);
Query.SetParameter("DateCon", DateCon);
Query.Text = "СОНГОХ
| vrDataTable.Нэршлийн код,
| vrDataTable.Qnty,
| vrDataTable.Period
|Өгөгдлийн хүснэгтийг тавих
| FROM
| &vrDataTable AS vrDataTable
|ХАААН
| vrDataTable.Period >= &DateStart
| Мөн vrDataTable.Period Query.Execute();
TK = Тодорхойгүй;

Хүсэлт = Шинэ хүсэлт;
Query.TempTableManager = VrTable;
Query.Text = "Энд түр хүснэгттэй холбоотой асуулга байна";

Үр дүн = Request.Run();
Буцах үр дүн;

Төгсгөлийн функцууд

OuterSet = InitializeDataSource();
DataSet = Шинэ бүтэц();
DataSet.Insert("SQL Хүснэгт", ExternalSet);
GenericReports.GenericReport үүсгэх(ThisObject, Үр дүн, Шифр ​​тайлах өгөгдөл, OutputToReportForm, Dataset);

Үнэн хэрэгтээ кодын олон мөр байдаггүй бөгөөд тэдгээр нь нэлээд стандарт юм ... энэ тохиолдолд та асуулга үүсгэгчийн бүрэн функцийг ашиглах боломжтой бөгөөд ACS-д зөвхөн DATA COMPOSITION функцийг өгөх боломжтой.

Гэхдээ мэдээжийн хэрэг, энэ нь тийм ч үзэсгэлэнтэй биш харагдаж байна ... мөн утгын хүснэгтэд байршуулах бүртээ код бичиж, дэлгэрэнгүй мэдээллийн нэрэнд алдаа гаргасан эсэхийг шалгах хэрэгтэй ... тэгэхгүй бол 1С-д өгсөн зүйл нь ямар нэг байдлаар дутуу харагдаж байна. Би аль нь ашиглахад илүү тохиромжтой болохыг хараахан шийдээгүй байна. Та шийдвэрээ гаргаж, шийдвэрийнхээ талаар болон тэдгээрийг гаргахад юу түлхэц болсон талаар бичээрэй.

[Та холбоосыг үзэхийн тулд бүртгүүлэх шаардлагатай]

1С програмын 8-р хувилбарт хөгжүүлэгчид гуравдагч талын мэдээллийн санг холбох, тэдгээрээс мэдээлэл ашиглахгүйгээр тохируулагчаас шууд авах боломжийг функцэд нэмж оруулсан. COM холболтуудболон OLE объектууд. Энэ функцийг "Гадаад мэдээллийн эх сурвалж" гэсэн шинэ объект ашиглан хэрэгжүүлсэн.

1С дахь өгөгдлийн гадаад эх сурвалжийг системийн бусад хүснэгттэй ижил аргаар ашиглаж болно.

  1. Мэдээллийн бүтцийн систем (ACS) ашиглан тайлан, тооцоолол хийх үед;
  2. Гуравдагч талын эх сурвалжид хадгалагдсан мэдээллийн холбоосыг авах;
  3. Хүснэгтэд хадгалагдсан өгөгдлийг өөрчлөх;
  4. Хүсэлт гаргахдаа.

1C.Enterprise үйлдлийн загвар нь өөрөө физик хүснэгтүүдийн түвшинд өгөгдөлд хөндлөнгөөс оролцох гэсэн үг биш тул энэ механизм нь бусад 1С мэдээллийн сантай ажиллахад зориулагдаагүй гэдгийг мэдэх нь чухал юм.

Шинэ эх сурвалж үүсгэх

Хөтөлбөрт шинэ гадаад эх үүсвэр нэмэх нь "Тохируулагч" горимд тохиолддог. Тохиргооны модонд харгалзах салбар байна (Зураг 1)

Шинэ объектын хэлбэр нь ердөө дөрвөн табтай байсан ч шинэ эх сурвалж үүсгэх үед та хөлсөө урсгах хэрэгтэй болно.

  1. Үндсэн;
  2. Өгөгдөл;
  3. Чиг үүрэг;
  4. Эрх.

Эхний таб нь зөвхөн нэг сонирхолтой параметртэй - цоожны хяналтын горим. Хэрэв та гүйлгээнд өгөгдлийг хаах талаар асуулт асуухгүй бол параллель байдлын нарийн төвөгтэй байдлын талаар асуугаарай мэдээллийн урсгалта энэ тохиргоог автоматаар түгжих горимд үлдээж болно. Гэсэн хэдий ч энэ арга нь хэт их хязгаарлалтад хүргэдэг (жишээлбэл, нэг бичлэгийн оронд програм нь физик хүснэгтийг бүхэлд нь түгжиж, бусад хэрэглэгчдийг түүнтэй ажиллах чадваргүй болгодог).

Удирддаг түгжээ нь автоматаас ялгаатай нь DBMS-д биш, харин програмд ​​хамаарах гүйлгээний механизмыг ашигладаг бөгөөд энэ нь хүснэгтийн зургийг илүү олон зүйл рүү орчуулах боломжийг олгодог. доод түвшин.

Энэ параметрийг "Автомат ба удирддаг" гэж тохируулснаар бид тодорхой хүснэгт бүрийн ижил төстэй шинж чанарт шууд хандаж аль горимыг ашиглахыг тодорхойлох боломжийг системд өгдөг.

Гадаад эх сурвалжийн шинж чанарын маягтын мэдээллийн таб

"Өгөгдөл" табын хэлбэрийг Зураг дээр үзүүлэв. 2

Цагаан будаа. 2

Энд бид гадаад эх сурвалжийн хүснэгтүүд болон кубуудыг нэмж болно. Хүснэгт нэмэх хоёр арга бий:

  1. Гараар, дараа нь бид хүснэгт нэмэх маягтыг харах болно (Зураг 3);

Цагаан будаа. 3

  1. Эсвэл физик эх сурвалжийн хүснэгтүүдийн жагсаалтаас сонгоно уу (Зураг 4), энэ тохиолдолд тусгай байгуулагч бидний өмнө нээгдэнэ.

Цагаан будаа. дөрөв

Хүснэгт нэмэх маягтыг нарийвчлан авч үзье. "Нэр" шинж чанар нь тохиргоонд байгаа объектыг өвөрмөц байдлаар тодорхойлоход хэрэглэгддэг.

Мета өгөгдлийн объект болон эцсийн физик хүснэгтийг харьцуулах нь "Нэмэлт" таб дээр байрлах "Өгөгдлийн эх сурвалж дахь нэр" шинж чанараар хийгддэг (Зураг 5).

Цагаан будаа. 5

Дараа нь бид хүснэгтийн төрлийг, эс тэгвээс объектив байдлыг тодорхойлох ёстой. Хэрэв бүтцэд хадгалагдсан өгөгдлийг аль нэг талбараар дамжуулан өвөрмөц байдлаар тодорхойлох боломжтой бол хүснэгт нь объектын хүснэгт байж болно. Хэрэв бичлэгийн таних тэмдэг нь түлхүүр талбаруудын багцаар тодорхойлогддог бол хүснэгт нь объектын бус төрөлтэй байх ёстой.

Ийм хүснэгтүүдийг бусад мета өгөгдлийн объектуудтай харьцуулж үзвэл бид дараахь аналогийг зурж болно.

  • Объектын хүснэгтүүд нь лавлах ном юм;
  • Объектив бус нь мэдээллийн бүртгэл юм.

Түлхүүр талбаруудын багцыг дараагийн хэлбэрийн параметрт ("Түлхүүр талбарууд") тодорхойлсон. Энэ талбар шаардлагатай бөгөөд хоосон орхивол тохиргоог хадгалахад алдаа гарна.

Зураг 5-аас харахад зарим талбар болон маягтын товчлуурыг засварлах боломжгүй байна.

  • Өгөгдлийн эх сурвалж дахь илэрхийлэл;
  • Хүснэгтийн мэдээллийн төрөл;
  • Харах талбар;
  • Зохицуулагчдыг харах.

Хүснэгтийн талбаруудыг бөглөж, төрлийг нь тодорхойлж, танигчаа тохируулсны дараа л тэдгээрийг ашиглаж болно (Зураг 6).

Цагаан будаа. 6

Энд та "Нэгд оруулахыг зөвшөөрөх" сонголтыг анхаарч үзэх хэрэгтэй, хэрэв энэ нүдийг сонговол ийм талбарыг түлхүүр болгон ашиглахыг хүсэхгүй байна.

Хүснэгт бүтээгч

Магадгүй хамгийн чухал бөгөөд сонирхолтой цэггадаад эх үүсвэртэй ажиллах нь холболтын мөр үүсгэх явдал юм. "Холболтын мөр" параметрийн хажууд гурван цэг бүхий товчлуур дээр дарахад түүний бүтээгч нээгдэнэ.

Юуны өмнө бид холбоход ашиглах драйвераа шийдэхийг хүсэх болно (Зураг 7).

Цагаан будаа. 7

Энэ параметрийн буруу тодорхойлолт нь гуравдагч этгээдтэй холбогдохыг зөвшөөрөхгүй мэдээллийн бааз. Унждаг жагсаалтад заасан бүх драйверуудыг холболтын мөрийг автоматаар үүсгэхэд ашиглаж болохгүй гэдгийг ойлгох хэрэгтэй. Хэрэв платформ алдаа гаргасан бол (Зураг 8) холболтын мөрийг гараар бичих шаардлагатай болно.

Зураг 8

Цагаан будаа. 9

Уг шугам нь өөрөө хатуу зохицуулалттай барилга юм.

Холболтын хэлхээний жишээ

Үүсгэсэн гуравдагч талын мэдээллийн санг авч үзье Microsoft Accessба хөтчийн үндэс дээр байрладаг D. Энэ суурийг холбохын тулд бид тохирох драйверийг ашиглах ёстой, гэхдээ шугамын бүтээгчийг сонгох нь алдаа Fig.8-д хүргэдэг.

Холболтын параметрүүдийг бид өөрсдөө бичнэ.

Driver=(Microsoft Access Driver (*.mdb)) - мөрийн эхний хэсэг нь иймэрхүү харагдаж байна. Буржгар хаалтанд бид жолоочийг тодорхойлсон.

Учир нь Excel файлуудЭнэ нь (Microsoft Excel Driver (*.xls)) шиг харагдах бөгөөд 2003 оноос хуучин оффис дээр үүсгэсэн Excel файлуудын хувьд драйверийн мөр нь (Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *) шиг харагдах болно. .xlsb )).

Энэ параметрийг дараагийнхаас цэг таслалаар тусгаарлахдаа бид хадгалах сангийнхаа хаягийг бичих ёстой (бидний тохиолдолд DBQ=D:\Database1.mdb).

Энэ хоёр параметрийг нэмснээр бид Driver=(Microsoft Access Driver (*.mdb));DBQ=D:\Database1.mdb-г авах бөгөөд энэ параметрийг бичихэд бид энэ мэдээллийн сангийн дотоод бүтцэд хандах боломжтой болно.

"Гадаад эх сурвалж" объектын хувьд үүнийг зөвхөн тохиргоонд үүсгэхэд хангалттай биш, мөн "Аж ахуйн нэгж" горимд холбогдсон байх ёстой. Үүнийг "Бүх функцууд"->Гадаад эх сурвалжууд цэснээс хийж болно. Хүснэгтдээ анх орохдоо бид "Enterprise" горимд аль хэдийн ижил холболтын мөрийг бичих хэрэгтэй.