skd дахь сонголтуудыг ашиглах. Өгөгдлийн багц - Асуулга

SKD 1C нь Data Composion System гэсэн үгийн товчлол юм. SKD 1C нь шинэ зам 1С дээр тайлан бичих, энэ нь хэрэглэгчдэд тайлангаа бие даан бүрэн өөрчлөх боломжийг олгодог.

SKD 1C-ийн сул тал нь түүний тохиргоо нь нэлээд төвөгтэй бөгөөд бүх хэрэглэгчид үүнийг хурдан сурдаггүй.

ACS тайлан бичих нь бидний ярилцсан 1С дээр асуулгатай ажиллах чадварыг шаарддаг.

SKD 1C тайлан гаргах технологи нь юу вэ?

  • Өгөгдөл өгдөг 1С SKD-д 1С хүсэлт бичнэ үү
  • SKD 1C-д талбаруудын үүргийг тодорхойлох (тооцсон талбарууд, нөөцүүд)
  • SKD 1C-ийн анхдагч тохиргоог оруулна уу.

Хэрэглэгч олон тохиргоог өөрийн үзэмжээр өөрчлөх боломжтой.

Өмнөх технологийн талаар тайлан гаргах технологи нь юу вэ?

  • 1С программд хүсэлт бичнэ үү
  • Програмистаас сонгосон зөвхөн N тохиргоог өөрчлөх боломжийг олгох тохиргооны маягтыг (тайлангийн хувьд өвөрмөц) боловсруулна уу.
  • Асуулга, барилгын ажил гүйцэтгэх код (програм) бичнэ үү хэвлэсэн хэлбэртайлан.

Таны харж байгаагаар SKD 1C нь хэрэглэгч болон програмистын хувьд чухал давуу талтай.

  • Программист - тайлан болон тохиргоо хийх програм бичихээс хамгаална
  • Хэрэглэгч - Тайлангийн тохиргоонд чухал хандалт авдаг.

Бүх шинэ 1С тохиргоонд бүх тайланг зөвхөн 1C SKD дээр ашиглах болно.

SKD 1C-ийн тайланг эхнээс нь хэрхэн яаж гаргахыг үзье.

Бид SKD 1C тайлан гаргадаг

Тохируулагчийн шинэ файл товчийг дарна уу (Файл/Шинэ цэс).

Шинэ тайлан файлын төрлийг сонгоно уу.

Шинэ тайлан үүснэ. Нэрийг оруулна уу - тохиргоонд хоосон зайгүй, хэрэглэгчийн ижил утгатай.

ACS 1C-ийн үндсэн схемийг бүтээцгээе.

Бид SKD 1C тайланд хүсэлт гаргаж байна

SKD 1C-ийн мэдээллийн олон эх сурвалж байж болно. Жишээлбэл, хоёр тусдаа асуулга ашиглахын тулд эхлээд "Өгөгдлийн багц - Нэгдэх" гэж нэмээд дараа нь хэд хэдэн асуулга оруулна уу.

Бидний жишээн дээр бид энгийн асуулга ашиглах болно.

Өгөгдлийг авахын тулд асуулга бичье.

Асуулт үүсгэгчтэй ажиллах нь ердийнхөөс ялгаатай биш бөгөөд бид энэ талаар ярилцсан.

Хүсэлтийн үр дүнд SKD 1C нь ашиглах боломжтой талбаруудын жагсаалтыг үүсгэж, үндсэн нэрийг бөглөнө.

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

Бид асуулгад &StartDate параметрийг ашигласан гэдгийг анхаарна уу. SKD 1C-д анхдагчаар &Period гэж нэрлэгддэг параметр (огноо) байдаг бөгөөд та үүнийг ашиглаж болно.

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

Жишээлбэл, та сарын эхэнд үлдэгдлийг авдаг бөгөөд зүүн талд нэгдэх нь өнөөдрийн өгөгдлийг авах болно. Ашигласан үед бүх хүснэгтэд Period нь адилхан хэрэглэгдэх бөгөөд асуулга зөв ажиллахгүй.

SKD 1C тохиргоо

"Нөөц" таб дээр нийлбэр дүнг (өөрөөр хэлбэл тоо) нэгтгэх талбаруудыг зааж өгнө үү. Та талбаруудын нийлбэрийн функцийг зааж өгч болно. Анхдагч байдлаар, энэ нь нийлбэр юм (жишээ нь бүх мөрүүдийн тоог нэгтгэж, нийлбэрийг авна) эсвэл та Дундаж, Тоо, Хамгийн их гэх мэтийг ашиглаж болно.

Параметр таб дээрээс бидэнд хэрэггүйг идэвхгүй болгож, хэрэгтэйг нь идэвхжүүлнэ үү. Энд та мөн параметрийн хүний ​​нэрийг тохируулж болно.

Үндсэн тохиргоог Тохиргоо таб дээр хийсэн болно:


Үүнийг Enterprise горимд нээцгээе. Бид ямар нэгэн програмчлал, зургийн маягт болон бусад зүйл хийгээгүй болохыг анхаарна уу. Параметрийг тохируулахын тулд "Тохиргоо" товчийг дарна уу.

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

Voila. Тайлан ажиллаж байна.

SKD 1C тохиргоо

SKD 1C тайлангийн бүх тохиргоог Тохиргоо товчийг дарж хийнэ. Наад зах нь анхдагч загварт. SKD 1C тайлангийн маягтыг өөрөө үүсгэх боломжтой бөгөөд дараа нь тохиргоог програмист бие даан зурсан бусад хэлбэрт шилжүүлж болно.

Агуулахыг баганаас мөр рүү чир.

Номенклатурыг агуулах руу чирье.

OK дарж тайланг үүсгэнэ үү. Өө - бид тайланг програмчлалгүйгээр програмчлалын горимд хэрхэн ажилладгийг саяхан өөрчилсөн.

дарна уу баруун товшино ууМөр (эсвэл аль нэг талбар) руу очоод Шинэ бүлэглэлийг сонгоно уу.

"Агуулах" талбарыг өргөжүүлэн тэдгээрийн аль нэгийг сонгоно уу, жишээ нь агуулахын төрөл.

Бодсоны дараа бид хэд хэдэн талбарыг нэг баганад нэг дор харуулахыг хүсч байгаагаа санав. Шинээр үүсгэсэн талбар дээр хулганы зүүн товчийг хоёр удаа дарна уу. Та энд талбар нэмж болно.

Хэрэв та шинэ бүлэг нэмсэн боловч талбарыг сонгоогүй бол энэ нь "Бүх талбарууд" гэсэн үг юм ("Дэлгэрэнгүй бичлэг" хэлбэрээр харагдана). Энэ нь иймэрхүү харагдаж байна.

Хулганы зүүн товчийг ашиглан манай бүлгийг (Агуулах / Нэршил) аваад шинэ бүлэг рүү (Агуулах төрөл) чирнэ үү.

Бидний тохиргооны үр дүн.

Үр нөлөөг нь нэрээр нь таахад хялбар тохиргооноос гадна (Сонголт, эрэмбэлэх гэх мэт) "Бусад тохиргоо" таб байдаг. Энэ нь нийлбэр дүнг харуулах, багана дахь бүлэглэлийн байршил гэх мэт зүйлсийг идэвхжүүлэх эсвэл идэвхгүй болгох боломжийг танд олгоно.

Тохиргоог тайланг бүхэлд нь (Тайлан сонгосон) эсвэл талбаруудын тодорхой эгнээнд тохируулж болно (Нэршил гэх мэт мөрийг сонгож, Тохиргоо:Нэршилийг сонгоно уу).

Сүүлийн нийтлэлдээ би 1С бол парадоксик платформ гэж аль хэдийн бичсэн. Мэдээлэл холбох систем нь ийм парадокс юм. SKD нь нарийн төвөгтэй тайланг боловсруулахад зориулагдсан бөгөөд тайлангийн "гарын авлагын" програмчлалыг олон үйлдэлт хэрэглүүрээр загварчлах замаар орлуулахыг хамардаг. ACS-ийг ашиглах чадвар найм дахь хувилбарт гарч ирсэн боловч 8.2 хувилбар гарч иртэл 1С стандарт бүтээгдэхүүндээ ашиглах боломжтой болоход удаан хугацаа зарцуулсан. Нэг талаас, ACS бол олон үйлдэлт хэрэгсэл бөгөөд үүнийг ашиглан нэг мөр кодгүйгээр маш нарийн төвөгтэй тайланг үүсгэж болно. Гэсэн хэдий ч, хандалтын хяналтын систем нь нэлээд өндөр нэвтрэх босготой тул интерфэйс нь бүхэлдээ мэдрэмжтэй биш, харин үүнийг судалж, бүрэн ашиглаж эхлэх нь маш хэцүү байдаг. бүрэн гарын авлагаашиглах нь зөвхөн төлбөртэй уран зохиолын хэлбэрээр байдаг.

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

Хүсэлт = Шинэ хүсэлт(
"СОНГО
| Хүснэгт Нэршил,
| Хүснэгт Агуулах
| FROM
| &TK AS Хүснэгт");
Request.SetParameter("TK", TK);

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

Энд жижиг уянгын ухралт хийж, Datasets-ийн талаар ярих нь зүйтэй юм. Өгөгдлийн багц нь SKD нь өгөгдлийг олж авдаг мэдээллийн эх сурвалж бөгөөд дараа нь тайлан болгон нэгтгэдэг. Өгөгдлийн багц нь үндсэндээ "Хүсэлт" төрлийг ашиглан төрөлд хуваагддаг бөгөөд үүний үндсэн хэсэгт програмист өгөгдлийн санд хүсэлт бичдэг. "Объект" төрөл нь гадны объектуудаас өгөгдлийг ачаалахад ашиглагддаг. Аль ч тохиолдолд, гаралт дээр бид хүсэлтийг гүйцэтгэх эсвэл гадаад объектыг ачаалсны үр дүнд олж авсан тодорхой талбаруудтай болно. Дараа нь эдгээр талбаруудыг тайлангийн бүтцийн нарийвчилсан тохиргооны хамт "Тохиргоо" таб дээр ажиллуулж болно. ACS дахь өөр өөр багцуудыг хооронд нь холбохын тулд ижил нэртэй таб дээр өгөгдлийн багцын холбоосыг зааж өгөх боломжтой. Эдгээр холбоосууд нь сонгодог асуулгад зүүн талын нэгдлийн шууд аналог юм. Гэсэн хэдий ч аливаа өгөгдлийн багц дахь асуулга нь бусад өгөгдлийн багц байгаа эсэхийг "мэддэггүй" гэдгийг анхаарч үзэх хэрэгтэй, эцэст нь өгөгдлийн багцын харилцаа нь "Тохиргоо" таб дээр заасан бүтцийн дагуу өгөгдлийн байршилд нөлөөлнө.

Бид асуудлыг тодорхой жишээ болгон тайлбарлав. ZiK 8-ийн тохиргооны байгууллагын тооцооны тайлангийн стандарт тайлан байдаг.Тайлан дахь тооцооллын төрлийг тодорхой бүлэгт бүлэглэх шаардлагатай. Захидал тооцооны төрөл-бүлэг нь утгын гадаад хүснэгтэд хадгалагдана. Өгөгдлийн байршлын үндсэн схемд ачаалахын тулд бид "Бүлгүүд" нэртэй "өгөгдлийн багц объект" үүсгэдэг (Зураг 2). Бид тооцооллын төрлөөр "хүсэлтийн өгөгдлийн багц" - "Аккруэл" -тэй холболт хийдэг (Зураг 3). "Хүсэлтийн өгөгдлийн багц" - "Аккруэл" хэсэгт бүлгүүдийн талаархи мэдээлэл байгаа бөгөөд бид бүх тохиолдлыг устгадаг. Дараа нь "Тохиргоо" таб дээр бид "Бүлэг" талбарыг ашиглаж болно, түүний утгыг гадаад мэдээллийн эх сурвалжаас ачаална (Зураг 4). Тайлан үүсгэх функцэд бид гадаад өгөгдлийг ачаалах ажлыг нэмэгдүүлнэ.

Функц үүсгэх тайлан(Үр дүн = тодорхойгүй, код тайлсан өгөгдөл = тодорхойгүй, гаралтын тайлангийн хэлбэр = үнэн) Экспорт

//"Бүлэг"-ийн утгын хүссэн хүснэгтийг авах эсвэл бүрдүүлж, ижил нэртэй хувьсагч руу бичих

ExternalData = Шинэ бүтэц();//гадаад өгөгдлийн бүтцийг үүсгэж бөглөнө үү
ExternalData.Insert(Групп);

UserPanelValue = GenericReports.GetUserPanelSettingsValuesofObject(ThisObject);
DefaultSettings = SettingsComposer.GetSettings();
GenericReports.GetAppliedSetting(ThisObject);
GenericReports.GenericReport Generic(ThisObject, Үр дүн, Шифр ​​тайлах өгөгдөл, OutputToReportForm, ExternalData);
SettingsComposer.LoadSettings(DefaultSetting);
Буцах үр дүн;

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

Хэрэв бид эхнээс нь тайлан үүсгэх байсан бол тайлан үүсгэх эхлэлийн код дараах байдлаар харагдах болно.

ExternalDataSets = шинэ бүтэц;
ExternalDataSets.Insert("Бүлгүүд", Бүлгүүд); //Бүлэг - шаардлагатай утгуудын хүснэгт
DataCompositionSchema = GetLayout("MainDataCompositionSchema"); //өгөгдлийн загвар бүхий бидний зохион байгуулалт
Тохиргоо = DataCompositionSchema.Default Settings;
Layout Layout Builder = New Data Layout Layout Layout Builder;
LayoutLayout = LayoutComposer.Run(DataCompositionScheme, Тохиргоо);
DataCompositionProcessor = Шинэ DataCompositionProcessor;
DataCompositionProcessor.Initialize(LayoutLayout, ExternalDataSets);
TabDoc = Шинэ SpreadsheetDocument;
OutputProcessor = DataCompositionResultIntoSpreadsheetDocument-ийн шинэ гаралтын процессор;
OutputProcessor.SetDocument(TabDoc);
OutputProcessor.Output(DataCompositionProcessor);

Унших 9660 нэг удаа

Анхаар! Хичээлийн туршилтын хувилбарыг энд оруулав, материал нь бүрэн биш байж магадгүй юм.

Оюутанаар нэвтэрнэ үү

Сургуулийн агуулгад хандахын тулд оюутны хувиар нэвтэрнэ үү

1С 8.3 Эхлэгчдэд зориулсан өгөгдлийн бүтцийн систем: өгөгдлийн багц хооронд холболт хийх

  • Хэрэглэгчид болон тэдний дуртай бүтээгдэхүүнийг харуулсан тайлан бич. Үйлчлүүлэгч бүр дуртай өнгөтэй байдаг бөгөөд бүтээгдэхүүн бүр өөрийн гэсэн өнгөтэй байдаг - эдгээр өнгөний үндсэн дээр та бүтээгдэхүүний "дуртай" -ыг тодорхойлох хэрэгтэй. Жишээлбэл, Андрейгийн дуртай өнгө нь улаан бол түүний дуртай хоол нь улаан лооль байх болно (тэд улаан өнгөтэй).
  • Тайлан дээр хоёр багц өгөгдлийг хэрэглэнэ. Эхний багц нь "Үйлчлүүлэгч" лавлагааны хүснэгтийн өгөгдөл юм. Хоёр дахь нь - "Хүнс" лавлах номын хүснэгтээс авсан мэдээлэл.
  • Хэрэгжүүлэх эдгээр хоёр багцын холболтИнгэснээр үйлчлүүлэгч бүрийн дуртай бүтээгдэхүүн л тайланд үлдэнэ.

Шинэ тайлан үүсгэж байна

Тохируулагч дахь "Gastronom" мэдээллийн санг нээж, үндсэн цэсээр дамжуулан шинэ тайлан үүсгэнэ үү.

Баримт бичгийн төрөл - "Гадаад тайлан":

Шинэ тайлангийн хэлбэрээр "Хичээл6" нэрийг зааж өгөөд "Өгөгдлийн бүтцийн схемийг нээх" товчийг дарна уу.

Өгөгдмөл схемийн нэрийг үлдээнэ үү:

Эхний өгөгдлийн багцыг нэмж байна

Нээгдсэн схемд "Өгөгдлийн багц" таб руу очоод ногоон нэмэх тэмдгээр "Өгөгдлийн багц нэмэх - асуулга" -ыг сонгоно уу.

Бид асуулга үүсгэгчийг дууддаг:

"Хэрэглэгчид" хүснэгт болон асуулгаас авахыг хүссэн талбаруудыг зааж өгнө үү:

Хоёрдахь мэдээллийн багц нэмж байна

Хоёрдахь өгөгдлийн багц нэмэх:

Үүнийг (DataSet2) сонгоод асуулга үүсгэгч рүү дахин залгана уу:

"Хоол" лавлах номын хүснэгт болон хүсэлтээс авахыг хүссэн талбаруудыг зааж өгнө үү.

Энэ бол хүсэлтийн текст юм:

Бидэнд одоо тайланд DataSet1 ба DataSet2 гэсэн хоёр өгөгдлийн багц байгааг анхаарна уу. Тус бүр өөрийн хүсэлтийн текст болон өгөгдөлтэй байдаг.

Нэрсийг илүү дүрсэлсэн болгох

Тодорхой болгохын тулд Dataset1-ийн нэрийг Client, Dataset2-ыг Хүнс гэж өөрчилье.

Үүнийг багц тус бүр дээр давхар товшоод хийнэ үү:

Бид тайландаа багц тус бүрийн өгөгдлийг ашиглаж болно. Бид энэ өгөгдөлд талбаруудаар хандах болно.

IN Энэ мөч"Хэрэглэгчид" багц нь "Нэр" ба "Дуртай өнгө", "Хоол" багц нь "Нэр" ба "Өнгө" гэсэн талбаруудтай.

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

"Үйлчлүүлэгч" багцыг сонгоод талбарын нэрийг дараах байдлаар өөрчил:

Дараа нь "Хоол" багцыг сонгоод талбарын нэрийг дараах байдлаар өөрчил:

Тохиргоо үүсгэгчийг дуудаж байна

Эцэст нь "Тохиргоо" таб руу очоод товшино уу шидэт савааТохиргоо үүсгэгч рүү залгахын тулд:

Тайлангийн төрөл - "Жагсаалт...":

Хоёр багцаас тайлангийн талбаруудыг сонгоно уу:

Талбайн нэрийг өөрчлөх нь яагаад тийм чухал байсныг хараарай? Өгөгдлийн бүрдүүлэлтийг тохируулах үе шатанд эдгээр талбарууд аль багцаас байгааг олж харахгүй байна. Бид зөвхөн тэдний нэрийг л хардаг.

Тайланг шалгаж байна

Бид тайланг хадгалж, хэрэглэгчийн горимд үүсгэдэг:

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

Гэхдээ эдгээр бүх бүртгэлээс бид зөвхөн "FavoriteCustomerColor" талбар нь "FoodColor" талбартай тэнцүү байгаа зүйлсийг л үлдээх хэрэгтэй:

Хоёр багц өгөгдлийг холбох

Үүнийг хийхийн тулд хоёр өгөгдлийн багцыг (Хэрэглэгчид ба Хоол) Хэрэглэгчийн Дуртай өнгө, Хүнсний өнгө талбараар холбоно.

"Өгөгдлийн багцын холбоосууд" таб руу очоод нэмэх товчийг дарж шинэ холбоос нэмнэ үү:

Доор үзүүлсэн шиг параметрүүдийг тохируулна уу.

Би тайлбар хийе.

Харилцаа холбооны эх үүсвэр ба хүлээн авагч.За энд бүх зүйл тодорхой байна. Өгөгдлийн эхний багц (Хэрэглэгчид) болон хоёр дахь багцыг (Хүнс) зааж өгнө үү. Би зурмаар байна Онцгой анхааралзарчмын дагуу харилцаа холбоог явуулна зүүн гадна талын нэгдэл(бид өмнөх модулиудын хүсэлтийн сэдвээр үүнийг үзсэн). Үүний үндсэн дээр та аль багц нь эх сурвалж, ямар хүлээн авагч болохыг сонгох хэрэгтэй.

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

хүлээн авагчийн илэрхийлэл.Бид энд хүлээн авагчийн өгөгдлийн багцаас илэрхийлэл эсвэл зүгээр л талбарыг зааж өгсөн болно (бид хүнсний багцаас Хүнсний өнгө талбарыг зааж өгсөн).

Тиймээс энэ холбоос нь өмнөх жагсаалтаас зөвхөн FavoriteCustomerColor талбар нь FoodColor талбартай тэнцүү мөрүүдийг үлдээх болно.

Тайланг хадгалаад хэрэглэгчийн горимд ажиллуулна уу:

Агуу их!

Би талбайн талаар тайлбар хийх болно " Харилцааны нөхцөл", энэ тухай шинэхэн програмистууд ихэвчлэн жадаа цохидог.

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

Энэ тохиолдолд холбоосын эх сурвалжийн бүх мөрийн хувьд энэ илэрхийллийг (холбоос нөхцөл) холбохын өмнө шалгах болно. Хэрэв энэ илэрхийлэл ҮНЭН бол энэ мөрийг холбоос угаалтуураас мөртэй холбох оролдлого хийгдэх болно. Хэрэв илэрхийлэл нь ХУДАЛ бол ийм оролдлого хийхгүй.

Өдрийн мэнд, уншигчид минь! Өнөөдөр бид байршлын системийн үндсийг үргэлжлүүлэн авч үзэх болно. Энэхүү цуврал нийтлэлээс та SKD гэж юу болохыг мэдэж, SKD-ийн үндсэн бүрэлдэхүүн хэсгүүдтэй танилцсан. Бид мөн тайланг бүтээх оролтын өгөгдлийг авч үзсэн бөгөөд ACS дээр тайланг ажиллуулах үндсэн үе шатуудыг сурсан. Нэмж дурдахад, олон хүн жижиг мэдлэгийг туршиж үзэх боломжтой байсан. Одоо та нийтлэлийн агуулгыг хараад үүн дээр юу хэлэлцэхийг харж болно.

Өгөгдлийн багц - асуулга.

  1. Энгийн асуулгаас ялгаатай нь өгөгдлийн бүрдлийн асуулга нь TOTAL заалт агуулаагүй болно. Үүний оронд нийт дүнг "Нөөц" таб дээр үүсгэнэ. Энэ таб дээр та эцсийн илэрхийллийг авахыг хүсч буй талбаруудыг сонгоно уу. Мөн "Тохиргоо" таб дээр үр дүнг аль хэсэгт авахыг зааж өгсөн болно, өөрөөр хэлбэл энд харгалзах бүлгүүдийг үүсгэж, тэдгээрээс нөөцийг тооцоолно. Та энэ талаар дэлгэрэнгүйг нийтлэлээс уншиж болно.
  2. Дараагийн зүйл бол сонголтын тохиргоонд хамаарна. Хэрэгжүүлэх хоёр боломж бий.
    1. Тайлангийн сонголтын тохиргоогоор дамжуулан. Үүнийг "Тохиргоо" - "Сонголт" таб дээр хийж болно. Хэрэв бид энэ сонголтыг ашиглавал энэ нь хамгийн уян хатан байх болно, учир нь та зааж өгч болно янз бүрийн төрөлхэрэглэгч хүртэл сонгох боломжтой харьцуулалт. Түүнчлэн, энэ сонголтыг ашиглах үед шүүлтүүрийн нөхцөлийг асуулгад өөрөө ногдуулдаг. Хэрэв тайлан нь түр зуурын хүснэгтүүдийг ашиглан багц асуулгад үндэслэсэн бол сонголт нь шүүлтүүрийн талбар үүссэн бүх багц асуулгын хүснэгтэд нөлөөлнө.
    2. хүсэлтийн түвшинд. Хэрэв бид асуулга ашигладаг бол тэгш байдлын үйлдлээс өөр зүйлийг ашиглах боломжгүй.
      Үл хамаарах зүйл бол бид өгөгдлийг ямар нэгэн утгаар "хатуу" шүүлт хийх шаардлагатай болсон тохиолдол юм. Тооллогын утгаар нь хэлье. "Параметр" таб дээр бид нөхцөлийг тохируулж болно. Хэрэв бид "Хандалтыг хязгаарлах" тугийг асаавал хэрэглэгч энэ нөхцлийг цуцлах боломжгүй болно.
  3. Тайлангийн хувилбарын тохиргооны түвшинд эрэмбэлэх нь илүү зөв юм.
    1. Хэрэв та хүсэлтэд эрэмбэлэх талбарыг зааж өгвөл хэрэглэгч өөрийн тайлангийн сонголтыг тохируулахдаа өөр талбарыг зааж өгөх бөгөөд бидний хүсэлтийн түвшинд хийсэн тохиргоо нь хамгийн бага ач холбогдолтой байх болно. Тайлангийн хувилбарын тохиргоонд хэрэглэгчийн тохируулсан эрэмбэлэх ажлыг эхлээд гүйцэтгэнэ. Тиймээс, хэрэв та "анхдагчаар" эрэмбэлэх шаардлагатай бол Configurator дахь тайлангийн хувилбарын тохиргоог ашиглана уу.
    2. Хэрэв та тайланд "хатуу" эрэмбэлэх шаардлагатай бол хэрэглэгч үүнийг өөрчлөх боломжгүй юм уу? Дараа нь бид хүсэлтийн түвшинд эрэмбэлж, "Өгөгдлийн багц" таб дээр талбарын хязгаарлалтыг тохируулсан. Хүссэн өгөгдлийн багцаа сонгоод "Талбарын хязгаарлалт" - "Захиалга" баганад хайрцгийг чагтална уу.

Виртуал хүснэгтийн сонголтууд.

  • Нягтлан бодох бүртгэлийн бүртгэл, хуримтлалын бүртгэл, мэдээллийн бүртгэлийн виртуал хүснэгтийг барих нь заасан огнооноос хамаарна. Энэ нь нэг огноо эсвэл интервал байж болно, жишээлбэл, үлдэгдэл ба эргэлтийн хүснэгтийн хувьд. ACS нь тайланг виртуал хүснэгтэд суурилсан тохиолдолд хэрэглэгчдэд ямар интервал, ямар өдөр тайлан гаргахаа сонгох боломжийг олгохоор зохион бүтээгдсэн. ACS нь төлөвлөлтийн схемд шаардлагатай хугацааны параметрүүдийг автоматаар нэмдэг.
  • Хэрэв асуулгад үлдэгдлийн виртуал хүснэгт эсвэл мэдээллийн бүртгэлийн виртуал хүснэгтийг сонгосон бол "Хугацаа" гэж нэрлэгддэг параметр автоматаар нэмэгддэг.
  • Хэрэв асуулгад үлдэгдэл ба эргэлтийн виртуал хүснэгт эсвэл эргэлтийн виртуал хүснэгтийг сонгосон бол "Үеийн эхлэл" ба "Үеийн төгсгөл" гэсэн параметрүүдийг автоматаар нэмнэ.
  • Хугацааны эцэст үлдэгдэл авах шаардлагатай бол яах вэ? Хоёр арга бий:
    1. Бид "Параметрүүд" таб руу очоод "Илэрхийлэл" баганын "Үе" параметрт бид дараах зүйлийг бичнэ.
      &Төгсгөлийн үе. Мөн "Хандалтыг хязгаарлах" тугийг идэвхжүүлнэ үү.
    2. Бид "Үе" параметрээс бүрмөсөн салж, "Төгсгөлийн үе" параметрээр солино. Нэмэлт параметрийг тохируулна уу виртуал хүснэгт:
      • "Өгөгдлийн багц" таб руу очоод "Query Builder..." товчийг дарна уу.
      • Зүүн дээд буланд байрлах "Өгөгдлийн бүрдэл" таб дээрх товчлуур дээр дарж "Виртуал хүснэгтийн сонголтууд" харилцах цонхыг нээнэ үү (энэ нь жижиг хүснэгтийн дэвсгэр дээр араатай саарал дөрвөлжин товчлуур юм).
      • Харилцах цонхны "Үе" талбарт: &Төгсгөлийн үе гэж бичнэ.
      • Одоо виртуал хүснэгтийн параметрүүд дэх өгөгдлийн багц асуулгын текстэнд энэ параметр нь буржгар хаалтаар хүрээлэгдсэн харагдах болно.
Хуримтлалыг бүртгэх. Барааны үлдэгдэл. Remains(((&EndPeriod) ), ) AS хэвээр байна

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

Асуулгын хэлний өргөтгөл.

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

Асуулгын өгөгдлийн багц үүсгэх үед анхдагчаар үүсгэсэн асуулгад үндэслэн өгөгдлийн бүтцийн схемийн боломжтой талбаруудыг автоматаар бөглөнө ("Өгөгдлийн багц" таб дээр "Автоматаар бөглөх" нүдийг тэмдэглэсэн).

Автоматаар бөглөх боломжтой өгөгдлийн бүтцийн схемийн талбарууд хэрхэн ажилладаг вэ?

    1. Асуулга сонгох жагсаалтын талбарууд болон тэдгээрийн хүүхдийн талбарууд боломжтой болно.
    2. Хэрэв бид хуримтлалын бүртгэлээс сонговол хүсэлтэд ороогүй бүртгэлийн талбарууд ч өгөгдлийн бүрдлийн талбарт боломжтой болно. Гэхдээ эдгээр талбаруудыг зөвхөн сонгох боломжтой (нөхцөлт илэрхийллээр)
      мөн тэдгээрийг гаралтын талбар болгон ашиглах боломжгүй.
    3. "Хугацаа", "Эхлэх үе", "Төгсгөлийн үе" виртуал хүснэгтүүдийн параметрүүд
      сонгох боломжтой.
    4. Хэрэв хүсэлтийн текстэд "хатуу" нөхцөлийг зааж өгсөн бол энэ параметрийг "Параметрүүд" таб дээр нэмэх болно.

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

Би өөрөө өгөгдлийн бүтцийн схемийн талбаруудыг хэрхэн бөглөх вэ?

"Өгөгдлийн багц" таб дээрх "Автоматаар гүйцээх" хайрцгийн сонголтыг арилгана уу.

"Query Builder..." товчийг дарна уу. Дараах асуултыг үүсгэцгээе.

CHOOSE үлдэгдэл. Нэршил AS Нэршил, үлдэгдэл. Quantity AS Тоо хэмжээ хуримтлалын бүртгэл. Барааны үлдэгдэл. Remains(((&EndPeriod) ), ) AS хэвээр байна

"Хүснэгтүүд" таб дээр бид бүх хүснэгтийн виртуал хүснэгтийн параметрүүдийг тохируулах боломжтой.

Одоо "Өгөгдлийн бүрдэл" таб дээрээс "Талбарууд" табыг сонгоно уу. Энд бид сонгох талбаруудыг тохируулна
байршлын диаграммд харуулах болно.

"Ба.." талбар нь хүүхдийн бичлэгийг сонгон шалгаруулалтад оруулна гэсэн үг юм
лавлах, баримт бичиг гэх мэт нарийн төвөгтэй талбарууд. Хэрэв талбар нь тоо гэх мэт байвал "AND.." талбарт туг тавих боломжгүй болно.

"Нэршил" ба "Тоо хэмжээ" гэсэн хоёр талбарыг сонгоно уу. "Нэршил" талбарт "Ба .." гэсэн тугийг тавь.
хүүхдийн бичлэгийг сонгох. Дараах асуултыг авна уу:

CHOOSE үлдэгдэл. Нэршил AS Нэршил, үлдэгдэл. Quantity AS Quantity (SELECT Nomenclature. * , Quantity) Хуримтлалын бүртгэл. Барааны үлдэгдэл. Remains(((&EndPeriod) ), ) AS хэвээр байна

Шинэ асуулгад буржгар хаалтанд өөр нэг SELECT хэсэг байна - энэ нь зохион байгуулалтад ашиглах боломжтой талбаруудыг харуулсан өргөтгөлийн текст юм. "Нэршил.*" талбар нь "Нэршил" талбар болон түүний "Код", "Нэр" гэх мэт хүүхдийн дэлгэрэнгүй мэдээллийг авах боломжтой болохыг заана. Тиймээс бид байршлын талбаруудыг өөрсдөө бөглөсөн.

Гэхдээ яг одоо бид байршлын нөхцөлд захын зайг ашиглах боломжгүй. Хэрэв та "Тохиргоо" таб руу очоод "Сонголт" табыг сонговол өмнөх догол мөрөнд бидний сонгосон аль ч талбарт нөхцөлийг тохируулах боломжгүй. Яагаад?

Виртуал хүснэгтийн параметрүүдэд тавигдах нөхцөлийг Query Builder-ийн Өгөгдлийн Бүртгэлийн таб дээр мөн зааж өгөх ёстой. Зүүн дээд буланд байгаа товчлуур дээр дарж "Виртуал хүснэгтийн сонголтууд" харилцах цонхыг нээнэ үү
(энэ нь жижиг ширээний дэвсгэр дээр араатай саарал дөрвөлжин товчлуур юм). Харилцах цонхны "Нөхцөл" талбарт: Нэршил гэж бичнэ үү. Одоо виртуал хүснэгтийн параметрүүд дэх өгөгдлийн багц асуулгын текстэнд "Нэршил" гэсэн параметр нь буржгар хаалтаар хүрээлэгдсэн гарч ирнэ.

Хуримтлалыг бүртгэх. Барааны үлдэгдэл. Remains(((&EndPeriod) ), ((Нэршил) )) AS хэвээр байна

Энгийн асуулгын хэлэнд параметрийг зааж өгөх нь дараах байдалтай харагдана: Нэршил = &Нэршил. Гэхдээ асуулгын хэлний өргөтгөлд үүнийг өөрөөр бичсэн байдаг. Зөвхөн талбарын нэрийг зааж өгсөн болно. Энд бид тэгш байдал, тэгш бус байдал эсвэл шатлалын үйлдлийг заагаагүй, учир нь хэрэглэгч өөрөө тохиргоондоо хүссэн үйлдлийг сонгох болно.

Query Builder-ийн Data Composition tab дээр бид "Нөхцөл" гэсэн өөр табыг харж байна. Асуулгын хэлний өргөтгөл дэх WHERE заалтын нөхцөлийг зааж өгөх шаардлагатай. "Дэмжээ" талбарыг сонгоно уу. Одоо энэ талбарыг "Тохиргоо" - "Сонголт" таб дээрх нөхцөлд ашиглах боломжтой. Мөн хүсэлтийн текстэнд буржгар хаалтанд орсон шинэ мөрүүд гарч ирэв.

(ХАААН үлдэж байна. Тоо хэмжээ)

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

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

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

Өгүүллийн төгсгөлд би Анатолий Сотниковоос үнэгүй зөвлөгөө өгөхийг хүсч байна. Энэ бол туршлагатай програмистын сургалт юм. Тэрээр танд ACS-д хэрхэн тайлан гаргахыг тусад нь харуулах болно. Та зүгээр л анхааралтай сонсож, санаж байх хэрэгтэй! Та дараах асуултуудад хариулт авах болно.
  • Энгийн жагсаалтын тайланг хэрхэн үүсгэх вэ?
  • Талбарууд таб дээрх Талбар, Зам, Гарчиг баганууд юунд зориулагдсан вэ?
  • Бүдүүвчний талбарт ямар хязгаарлалтууд байдаг вэ?
  • Дүрүүдийг хэрхэн зөв тохируулах вэ?
  • Байршлын талбарууд ямар үүрэг гүйцэтгэдэг вэ?
  • Асуулгад өгөгдлийн байршлын табыг хаанаас олох вэ?
  • SKD дээр параметрүүдийг хэрхэн тохируулах вэ?
  • Цаашид илүү сонирхолтой...
Магадгүй та интернетээр хайж олох гэж оролдох ёсгүй шаардлагатай мэдээлэл? Түүнээс гадна бүх зүйл ашиглахад бэлэн байна. Зүгээр л эхэл! Зохиогчийн хуудсан дээрх үнэ төлбөргүй видео хичээлд юу байгаа талаар бүх дэлгэрэнгүй мэдээлэл зөөлөн үйлдвэрлэгч http://www..pngзөөлөн үйлдвэрлэгч 2015-12-07 14:51:12 2018-06-12 13:14:13 Өгөгдлийн бүтцийн систем (SKD). 2-р хэсэг.

Өгөгдлийн бүрдлийн системийн асуулгын хэлний өргөтгөл

Өгөгдлийн найруулгын системийн асуулгын хэлийг өргөтгөх нь буржгар хаалтанд хавсаргаж, асуулгын текстэд шууд байрлуулсан тусгай синтаксийн зааврыг ашиглан хийгддэг.

Өгөгдлийн бүрдлийн системийн асуулгын хэлний өргөтгөлийн синтакс элементүүд

СОНГОХ

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

Жишээлбэл:

(Нэршил, агуулах СОНГОХ)

Талбарын нэрийн араас ".*" тэмдэгтийн хослол байж болох бөгөөд энэ талбараас хүүхдийн талбаруудыг ашиглах боломжтойг харуулж байна.

Жишээлбэл, Нэршил.* гэсэн оруулга нь "Нэршил" талбарын (жишээ нь "Нэршил. Код" талбар) хүүхдийн талбаруудыг ашиглах боломжийг заана. SELECT элемент нь зөвхөн эхний нэгдэх асуулгад байж болно.

ХААНА

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

(ХАААН Нэршил.*, Агуулах)

Энгийн жишээ

Та тухайн үеийн борлуулалтыг авах хэрэгтэй + борлуулалт байсан эсэхээс үл хамааран бүх хүрээг харуулах хэрэгтэй. Өөрөөр хэлбэл, та борлуулалтын бүртгэлийн эргэлтийн хүснэгтээс, нэрлэсэн лавлахаас өгөгдлийг сонгох хэрэгтэй. Бүх нэршил яагаад хэрэгтэй вэ гэдэг асуултыг орхиё.

Асуудлыг шийдэхийн тулд та бараа болон борлуулалтын гүйлгээний хүснэгтийг зүүн талын холбоосоор холбосон асуулга үүсгэж болох бөгөөд үүний үр дүнд сонгосон хугацаанд зарагдаагүй барааны хувьд бид талбарын утгыг авах болно. эсрэг тал, Гэрээ, Тоо хэмжээ, нийлбэр= Null. Ийм хүсэлт:

Sprnome -offer сонгох.Динк нэршил, борлуулалтын зардал.Хяналт, борлуулалт, гэрээ, борлуулалт, борлуулалт.Одоогоор тоо хэмжээ, борлуулалт, өртөг нь лавлах номноос зардал.Нэршил нь нугасны нэг - ороосон холболт регистрийн. Sprnies-ийн борлуулалт болгон хөгжүүлэх.

Үр дүн нь энд байна:

эсрэг тал Гэрээ Нэршил Тоо хэмжээ нийлбэр
null null _Тест1 null null
"Эвэр туурай" ХХК Гэрээ 1 Шаахай 10 1200
"Газпром" сайхан гэрээ Гутал 5 13000
null null Галош null null
null null Шифер null null

Энэ жишээнд "Галош" ба "Шифер" гэсэн барааны борлуулалт хийгдээгүй.

Мөн бүх зүйл сайхан болно, хэрэв бид сонголтыг эсрэг тал дээр нь бүлэглэвэл зарагдах боломжгүй бүх зүйл тусдаа бүлэгт багтах болно, үүнд Counterparty = Null, гэхдээ үйлчлүүлэгч тайланд эсрэг талын талбараар дур мэдэн сонголт хийхийг хүсч байна ( Мэдээжийн хэрэг, энэ нь Борлуулалтын бүртгэлийн эсрэг тал гэсэн үг). Яаж байх вэ? Эцсийн эцэст, бид зөвхөн хүснэгтийг шүүх хэрэгтэй Борлуулалт. Хэрэв бид ACS бүтээгч дээр автоматаар гүйцээхийг ашиглавал сонголт хийх боломжтой талбарт талбар орно эсрэг тал, бүх зүйл зүгээр юм шиг байгаа боловч эсрэг талын сонгон шалгаруулалтаар тайлан гаргахдаа бид нэршилтэй холбогдох бүх бүртгэлийг алдах болно. Жишээлбэл, сонголтоо хийцгээе: эсрэг тал = ХХК Эвэр туурай. Үр дүн нь дараах байдлаар харагдах болно.

Бидэнд яг хэрэгтэй зүйл биш, тийм үү?

Асуудлыг шийдэхийн тулд та асуулгад, жишээлбэл, виртуал хүснэгтийн параметрүүдэд параметр нэмж болно. Борлуулалтын эргэлт, гэхдээ үүнтэй зэрэгцэн харьцуулалтын төрлийг тохируулах уян хатан байдал алдагддаг.

Шийдэл бий: үүний тулд, дотор асуулга үүсгэгчтаб Өгөгдлийн зохион байгуулалт => хүснэгтүүдвиртуал хүснэгтийн нөхцөлд нөхцөлийн талбар нэмнэ Борлуулалтын эргэлтболон түүний бусад нэрийг өөрчил Эсрэг талын сонголт

Сонгох талбарт хэрэглэгчийг төөрөгдүүлэхгүйн тулд нөхцөлийн талбарыг идэвхгүй болго эсрэг талталбарын гарчгийг өөрчлөх Эсрэг талын сонголт


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

Спрномыг сонгох.Динк нэршил, бараа эргэлтийн борлуулалт.Гүйцэтгэгч нь эсрэг тал, борлуулалт, гэрээ гэж гэрээ -гэрээ, борлуулалт.Одоогоор.Гүйцэтгэл> тоо хэмжээ, борлуулалтын зардал зардал, төлөөлөл (эргэлтийн борлуулалт. Гэрээний гэрээ) гэрээт ажилтан, төлөөлөл, төлөөлөл (борлуулалтын хяналт. RefNomenclature.Representation AS NomenclatureRepresentation FROM Directory.Nomenclature AS Reference.LEFT JOIN Хуримтлалын бүртгэл. Борлуулалт.Turovers(&P , , , , Counterparty) Sp.Nov.No. = Борлуулалтын эргэлт.Нэршил

Мөн холбогдох үр дүн:

эсрэг тал Гэрээ Нэршил Тоо хэмжээ нийлбэр
null null _Тест1 null null
"Эвэр туурай" ХХК Гэрээ 1 Шаахай 10 1200
null null Гутал null null
null null Галош null null
null null Шифер null null

Test1 нь Нэршлийн лавлах дахь бүх зүйл байдаг бүлэг юм

Уг нийтлэлд ашигласан тайлангийн XML схемийг хавсаргасан болно. Би уг схемийг нэгдсэн автоматжуулалт дээр бүтээсэн боловч SCP болон UT 10-д бүх зүйл хэвийн ажиллана гэж бодож байна.

Дүгнэж байна

Хэрэв та туг идэвхжүүлсэн схем зохиож байгаа бол ACS-д өөрийн сонголтын тохиргоог хэрхэн үүсгэж, автоматаар үүсгэсэн тохиргоог идэвхгүй болгохыг энэ жишээ харуулж байна. Автоматаар гүйцээх.

Хэрэв та ашиглахгүйгээр хэлхээ үүсгэх хангалттай туршлагатай бол Автоматаар гүйцээх- тэгвэл энэ зөвлөгөө утгагүй болно.

Ашигласан програм хангамж

  • Дэлгэцийн зураг авах програм SnapOK!
  • XML файл засварлагч


Ачааж байна...
Топ