Динамик жагсаалт 1s 8.2 дурын хүсэлтийн параметрүүд. Динамик жагсаалтаас хайх

Тохиргоог дуусгах явцад 1С програмист бүр динамик жагсаалттай тулгардаг.
Динамик жагсаалт нь өгөгдлийн сангийн объектуудын төрөл бүрийн жагсаалт эсвэл объектын бус өгөгдлийн жагсаалтыг харуулахад ашиглагддаг интерфейсийн объект юм - бүртгэлийн оруулгууд.
Жишээлбэл, динамик жагсаалт нь зүйлсийн жагсаалтыг харуулахад ашиглагддаг:

Боломжуудыг харуулахын тулд динамик жагсаалтүүсгэх гадаад боловсруулалт, үндсэн маягтыг нэмнэ үү. Маягтанд "Динамик жагсаалт" төрлийн шинэ атрибут нэмье. Түүний шинж чанарууд руу очиж, тэнд юу байгааг харцгаая.
Бид "Захиалгат хүсэлт" өмчийг сонирхож байна. Үүнийг идэвхжүүлснээр динамик жагсаалтын бүх боломжуудыг харуулах болно. Бид 1С: Enterprise системийн асуулгын хэлний бараг бүх боломжуудыг ашиглан асуулга бичих боломжтой болно. Хайрцагыг шалгаад "Нээх" холбоос дээр дарна уу:

Анхдагч байдлаар, манай жагсаалтад бүх агуулахын нийт үлдэгдэлтэй зүйлсийн жагсаалтыг харуулах болно. Ийм жагсаалтыг хэрэгжүүлэхийн тулд дараах хүсэлтийг нэмнэ үү.


Үндсэн хүснэгтийн хувьд бид "Лавлах. Нэршил" -ийг сонгох болно, энэ нь бидэнд нэрлэсэн жагсаалтын нэгэн адил динамик жагсаалттай ажиллах боломжийг олгоно - лавлахын элементүүдийг нэмэх, өөрчлөх, устгахыг тэмдэглэх. Мөн үндсэн хүснэгтийг тохируулах нь өгөгдлийг динамик унших боломжийг олгодог - энэ нь сонголтыг шаардлагатай бол хэсэг хэсгээр нь хийнэ гэсэн үг юм.
Дараа нь бид жагсаалтынхаа маягтын элементүүдийг үүсгэх хэрэгтэй:

Хэрэв бид энэ маягтаар боловсруулалтаа явуулахыг оролдвол алдаа гарах болно:


Үүнийг арилгахын тулд та "Үе" параметрийн утгыг тохируулах ёстой. Үүнийг хийхийн тулд та динамик жагсаалтын "Parameters" цуглуулгын "SetParameterValue" аргыг ашиглаж болно. Энэ арга нь хоёр параметрийг авдаг:
. "Параметр" - Төрөл: Мөр; DataCompositionParameter. Утгыг нь тохируулах параметрийн нэр эсвэл өгөгдлийн бүтцийн параметр;
. "Утга" - Төрөл: Дурын. Тохируулах утга.
Маягтын "OnCreateOnServer" зохицуулагчаар дуудаж болно:

Танд асуулт байна уу, танд зөвлөхийн тусламж хэрэгтэй байна уу?


Үлдэгдэл хүлээн авах хугацааг өөрчлөх боломжийг хэрэглэгчдэд олгоё. Үүнийг хийхийн тулд атрибут болон түүнтэй холбоотой "Огноо" маягтын элементийг нэмье:


"Огноо" маягтын элементийн "OnChange" зохицуулагчийн "SetParameterValue" аргыг дуудаж, холбогдох шинж чанарын утгыг утга болгон дамжуулна. Үүний нэгэн адил бид маягтын "CreationAtServer дээр" процедурыг өөрчлөх болно. Энэ аргыг үйлчлүүлэгч дээр ашиглах боломжтой тул сервер рүү залгах шаардлагагүй болно.


Одоо огноо өөрчлөгдөхөд үлдэгдэл автоматаар шинэчлэгдэх болно:




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


Шилжүүлэгчийн утгыг өөрчлөх үед бид хүсэлтийн текстийг өөрчлөх болно. Үүнийг хийхийн тулд бид "DisplayQuantityToReceipt" маягтын элементийн "OnChange" үйл явдал зохицуулагчийг ашиглана. Бид атрибутын утгаас хамааран динамик жагсаалтын "QueryText" шинж чанарыг өөрчлөх хэрэгтэй. Энэ өмчийг үйлчлүүлэгчид ашиглах боломжгүй тул сервер рүү залгах шаардлагатай:


Үр дүн өөрчлөлтүүд:



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

1С дахь динамик жагсаалтын онцлог

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

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

Дурын асуулгын схемийг илүү өргөн ашигладаг, учир нь энэ нь олон төрлийн өгөгдлийг нэгтгэх, харуулах сайхан боломжийг олгодог. Ихэнхдээ энэ механизмыг хувьцааны үлдэгдэл, бараа бүтээгдэхүүний үнэ, орлого, зардал, худалдан авалт зэргийг тусгахад ашигладаг. Нарийн төвөгтэй асуулгаар гүйцэтгэл буурч магадгүй тул та үүнийг болгоомжтой ашиглах хэрэгтэй.

Динамик жагсаалтын өөр нэг ашигтай шинж чанарыг "Жагсаалтын тохиргоо" гэсэн бичээс дээр дарж нээнэ. Энэхүү цэс нь стандарт талбаруудыг ашиглаж байсан ч эцсийн хэрэглэгчдэд мэдээллийг илүү хүртээмжтэй, ойлгомжтой болгох боломжийг олгодог. Энэ нь дур зоргоороо хүсэлт байсан эсэхээс үл хамааран та "Тохиргоо" табыг харах бөгөөд тэнд дараахыг зааж өгөх боломжтой:

  • Динамик жагсаалтыг сонгох;
  • бүлэглэл;
  • ангилах;
  • Чимэглэл.

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

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

Илүү тодорхой болгохын тулд тусдаа гадаад боловсруулалт үүсгэж, динамик жагсаалтад оруулъя. Төлөвлөгөөгөө хэрэгжүүлэхийн тулд нэрлэсэн хүснэгтүүд цөөн байх тул дур зоргоороо хүсэлт гаргахыг зөвшөөрөх хэрэгтэй. Үүнд бид лавлах номын зүүн талын холболтыг үлдэгдлийн нэршил, бүртгэлийн жагсаалттай дүрсэлж, лавлах номыг үндсэн хүснэгт болгон тохируулах болно. Ийм схем нь хэрэглэгчдэд динамик жагсаалттай ажиллахдаа нэр томъёог нэмэх эсвэл өөрчлөх боломжийг олгоно.



Нэршил сонгох Нэр нэр, бараа, борлуулалтын зардал гэж нэрлэх Агуулах, бараа, борлуулалтын зардал гэж Sklad.Нийгмийн -загвараас олон тооны суурилуулалт.Нэршлийн зүүн холболтын нэршил. Тасралтгүй байдал. Гаралт (iv auhitsaydata,)

Бидний хүсэлтэд CurrentDate параметрийг ашигласан тул боловсруулалтыг ашиглахаасаа өмнө түүний утгыг тохируулах шаардлагатай. Үүнийг хийхийн тулд "CreationOnServer" процедурын маягтын модулийн стандарт тушаалаар "CurrentSessionDate" функцийг түүнд стандарт тушаалаар онооно. Бид мөн хяналтын маягт дээр динамик жагсаалтыг харуулах, тодорхой болгохын тулд талбаруудын дарааллыг өөрчлөх хэрэгтэй. "Нэршлийн үлдэгдэл" тулгуурыг маягтын элементүүдэд (зүүн дээд талд) чирж, цэнхэр сумыг ашиглан маягт дээрх хүснэгтийн талбаруудын дарааллыг өөрчил.

&Серверт хийх журам Сервер дээр үүсгэх(алдаа, стандарт боловсруулалт) Нэршил хэвээр байна.Parameters.SetParameterValue("CurrentDate",CurrentSessionDate()) EndProcedure


Энэ үе шатанд бид гадаад боловсруулалтыг 1С-д нээж, динамик жагсаалт ажиллаж байгааг харж болно. Бид тэнцвэрийг харж, нэршил, бүлгүүдийг үүсгэж, хайж болно. Ихэнхдээ үйлчлүүлэгчид үлдэгдлийг харах огноогоо сонгох боломжийг нэмэхийг хүсдэг. Динамик жагсаалт бүхий маягтын хувьд үүнийг хангана нэмэлт талбарба түүнтэй хамт параметрүүдийг тохируулах.

Бид "Огноо" төрлийн "Үлдсэн огноо" шинж чанарыг нэмж, маягтын элементүүдэд шилжүүлнэ. Талбайн үйл явдлуудад бид "OnChange" үйл явдлыг үүсгэж, динамик асуулгад ашигласан "CurrentDate" параметрийг тохируулах кодыг бичдэг. Маягтыг нээх үед хэрэглэгч ямар өдөр үлдэгдлийг хардаг болохыг шууд ойлгохын тулд бид OnCreateOnServer процедурт бага зэрэг өөрчлөлт оруулах болно.



&OnServerProcedureOnCreateOnServer(Алдаа, Стандарт Боловсруулалт)ҮлдсэнОгноо = CurrentSessionDate(); Item Remains.Parameters.SetParameterValue("CurrentDate", RemainsDate); Процедурын төгсгөл &Үйлчлүүлэгчид Процедур хэвээр байнаDateOnChange(элемент) зүйл хэвээр байна.Parameters.SetParameterValue("CurrentDate",RemainsDate); Төгсгөлийн процедур

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

Бид энэ хэрэгслийн боломжуудын багахан хэсгийг л авч үзсэн боловч энэ төрлийн динамик жагсаалтын тав тухыг ойлгоход хангалттай юм. Үүнтэй төстэй механизмыг янз бүрийн ажилд ашигладаг боловч ихэнхдээ энэ нь байдаг ердийн тохиргооВ удирдаж буй хэлбэрүүд:

  1. сонголт;
  2. Жагсаалтууд.

Динамик жагсаалт болон түүний хүсэлтийг ердийн удирддаг хэлбэрээр авахын тулд хөгжүүлэгч тохируулагч дээр шаардлагатай маягтыг нээх хэрэгтэй. Шинж чанаруудын хэсгээс "Динамик Жагсаалт" өгөгдлийн төрөл бүхий шинж чанарыг олоорой (ихэнхдээ энэ нь тодоор бичсэн байдаг). Түүний шинж чанарууд нь хүсэлтийн текст, сонголт болон бусад тохиргоог агуулдаг.

Эцэст нь ямар ч “долоон тоглогч”-ын мөрөөдөл биеллээ. 7.7 програмын хэрэглэгчид ердийн зүйл сонгохыг хэр олон удаа хүсдэг вэ? Ингэснээр та үлдэгдэл, үнэ, тохируулсан шүүлтүүрийг харах боломжтой. Би гадны бүрэлдэхүүн хэсгүүдийг бичих хүртэл янз бүрийн заль мэхийг бодож олох хэрэгтэй болсон. 1С 8.2-д динамик жагсаалтууд гарч ирэв. Энэ нь юу болох, 1С 8.3-д тэд бидэнд юу өгч болохыг авч үзэхийг санал болгож байна.

Заримыг нь үндэс болгон авч үзье туршилтын тохиргоо 1С: "Аж ахуйн нэгжийн нягтлан бодох бүртгэл 3.0". Бид одоо сонголт хийхгүй, зүгээр л "Нэршил" лавлах номонд өөр сонгон шалгаруулах маягт нэмж, түр зуур үндсэн хэлбэр болгоно.

Үүсгэсэн үед систем нь анхдагчаар "Динамик жагсаалт" төрлийн хүснэгтийн талбарыг маягтанд нэмнэ.

Түүний шинж чанарууд руу очиж, тэнд юу байгааг харцгаая.

Юуны өмнө бид "Дурын хүсэлт" гэсэн нүдийг сонирхож байна. Тэр бол динамик жагсаалтын бүх давуу талыг бидэнд илчлэх болно. Бид өөрсдийн хүсэлтийг болон параметрүүдийг бичих боломжтой болно. Хайрцагыг шалгаад "Нээх" холбоос дээр дарна уу:

-д зориулсан бэлэн код бүхий цонх нээгдэнэ. Одоогийн байдлаар "Нэршил" лавлахын бүх талбарууд тэнд жагсаагдсан байна.

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

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

Динамик жагсаалт дахь захиалгат асуулга

Эхлээд үлдэгдэл, үнэ бүхий хэрэгцээтэй асуулга үүсгэцгээе. Ингэж:

Тохиргоо таб

Тэгээд одоо хамгийн амттай! "Тохиргоо" таб руу очно уу. Эхний таб дээр бид хүсэлтийн аль ч талбарт ямар ч сонголт хийх боломжтой гэдгийг бид шууд харж байна.

Асуулгын параметрүүдийг динамик жагсаалтад програмаар тохируулах 1С 8.3

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

Эдгээр параметрүүдийг маягтын параметрүүдэд бичиж, маягтын модульд дараах мөрүүдийг нэмье.

&OnServerProcedure OnCreateOnServer(Алдаа, Стандарт Боловсруулалт) Жагсаалт. Сонголтууд. SetParameterValue("Хугацаа", Параметр. Огноо) ; Жагсаалт. Сонголтууд. SetParameterValue("PriceType" , Parameters.PriceType) ; EndProcedures Нүүр хуудасны тэмдэглэл Шилэнгээр дамжуулан

04/21/2014 Динамик жагсаалтын өгөгдлийг авч байна

8.3.6.1977 хувилбарт хэрэгжсэн.

Бид динамик жагсаалт ашиглан харуулсан өгөгдлийг хялбар, хялбар олж авах боломжийг хэрэгжүүлсэн.

Стандарт бус, "тодорхой" хэлбэрээр хэвлэхийн тулд танд динамик жагсаалтын өгөгдөл хэрэгтэй байж магадгүй юм. Эсвэл тэдэнтэй тодорхой үйлдлийг гүйцэтгэхийн тулд. Жишээлбэл, жагсаалтад орсон бүх талуудад зарим шалгуурын дагуу захидал илгээнэ үү.

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

Динамик жагсаалт нь өөрөө танд энэ мэдээллийг өгөх боломжгүй. Динамик жагсаалтын зорилго нь хангах явдал юм хурдан харахих хэмжээний өгөгдөл. Тиймээс энэ нь нэг эсвэл хоёр дэлгэц дээр харуулахад шаардлагатай өгөгдлийг хэсэг хэсгээр нь уншдаг. Мөн "юу ч мэдэхгүй", жишээлбэл, түүний унших ёстой өгөгдлийн нийт хэмжээний талаар.

Ерөнхийдөө авахын тулд Нэмэлт мэдээлэлХэрэглэгчийн хүссэнээр та мэдээллийн сангаас лавлагаа авах хэрэгтэй. Динамик жагсаалтад ашигласантай яг адилхан.

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

Одоо энэ даалгавар амархан шийдэгдэж байна. Динамик жагсаалтын хүснэгтэд хоёр шинэ арга бий:

  • GetExecutableDataCompositionSchema();
  • GetExecutableDataCompositionSettings().

Тиймээс та өгөгдлийн бүтцийн схемийг өөрөө, хамгийн чухал нь түүний бүх тохиргоог олж авдаг бөгөөд үүний ачаар хэрэглэгч жагсаалтыг яг байгаагаар нь хардаг. Таны хийх ёстой зүйл бол схемийг программчлан гаргаж, утгын цуглуулгад гаргах явдал юм (for програм хангамж боловсруулах) эсвэл дотор хүснэгтийн баримт бичиг(харуулах):

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

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

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



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