1c динамик жагсаалтын хүснэгтийг тойрч гарах.

Ямар ч програмчлалын хэлнээс олж болох энгийн өгөгдлийн төрлөөс гадна 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. Жагсаалтууд.

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

1C: Enterprise 8.2 платформ нь өгөгдлийн сангийн хүснэгт дэх олон бичлэгтэй динамик байдлаар ажиллах боломжтой, өөрөөр хэлбэл өгөгдлийг хэсэг хэсгээр нь унших боломжтой. Өгүүллийн эхэнд бид динамик жагсаалтын механизм, тэдгээртэй ажиллах ажлыг оновчтой болгох аргуудыг авч үзсэн.

Өнөөдөр бид динамик жагсаалтын стандарт бус асуудлыг шийдэх болно.Бид "Дэмжээ" баримт бичгийн шинж чанарын нийт дүнг тооцоолж, жагсаалтын доод хэсэгт харуулах шаардлагатай болно. Үүний нэгэн адил "Үнэлгээ" талбарын дундаж утгыг тооцоолж, динамик жагсаалтын доод хэсэгт харуулна уу. Нийт талбаруудыг тооцоолохдоо баримт бичгийн жагсаалтын тохиргоонд хэрэглэгчийн тохируулсан сонголтыг харгалзан үзэх ёстой.

Бүх бэрхшээл нь динамик жагсаалт нь бүх бичлэгийг нэг дор хүлээн авдаггүй, харин хэсэгчлэн хүлээн авдагт оршино. Тиймээс бид одоогийн сонгон шалгаруулалтад тохирох бүх баримт бичгийн нийлбэр дүнг шууд авах боломжгүй. Нийт дүнг хэрхэн тооцох вэ?

Хэрэгжилт

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

Маягт ба интерфейс

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

Эдгээр дэлгэрэнгүй мэдээлэл нь баримт бичгийн нийт утгыг агуулна.

Динамик жагсаалтын доод хэсэгт атрибутын утгыг харуулахын тулд та холбогдох жагсаалтын маягтын элементийн харгалзах сонголтыг идэвхжүүлэх ёстой (дараах дэлгэцийн агшинг үзнэ үү).

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

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

Алгоритм

Хамгийн асуудалтай хэсэг хэвээр байна - та нийт дүнгийн утгыг авах хэрэгтэй. Дараах байдлаар үргэлжлүүлье: бид динамик жагсаалтад тохируулсан сонголтын дагуу эцсийн талбаруудын утгыг авахын тулд мэдээллийн сангийн асуулга үүсгэнэ. Сонгон шалгаруулалтад бүлгүүдээс нарийн төвөгтэй нөхцөл байж болно гэдгийг санах нь зүйтэй.

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

Үр дүнг авахын тулд асуулга үүсгэх алхамууд нь дараах байдалтай байна.

1. Динамик жагсаалтын анхны хүсэлтийг авах.

Бидний харж байгаагаар хүсэлт нь баримт бичгийн бүх нарийн ширийн зүйлийг сонгодог. Бага зэрэг хүндрэл учруулахын тулд би "CHOICE" бүтцээр үүсгэгдсэн "LevelRating" талбарыг нэмсэн.

2. Бид хүсэлтийн нөхцлийн текстийг ("ХАААН" хэсэг) бүрдүүлж, анхны хүсэлтээр орлуулна.

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

Процедур нь дамжуулсан шүүлтүүр элементийн төрлөөс хамааран (бүлэг эсвэл шүүлтүүр элемент) нөхцөлийн тохирох текстийг үүсгэдэг. Бүлэг дэх бүх нөхцөлийг хаалтанд, бүлгийн гишүүдийг мөн хаалтанд бичнэ. Илэрхийллийн хоорондох нөхцөл нь үндсэн бүлгээс хамаарна ("AND" нөхцөл нь шатлалын дээд элементүүдийн хооронд байрладаг).

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

Өөр нэг сонирхолтой функц бол миний бодлоор "GetFieldTextOnView" юм. Энэ нь асуулгын хэлний илэрхийллээр үүссэн асуулгын нөхцөлд талбаруудыг орлуулахад шаардлагатай. Дээр би "LevelRating" талбарыг анхны хүсэлтэд нэмсэн. Хэрэв хэрэглэгч үүнийг сонголтондоо ашиглах юм бол бүх илэрхийлэлийг асуулгын нөхцөлд орлуулах ёстой. Энэ функцталбарын текстийг хүсэлтээс төлөөлүүлэн авдаг. Ийм нарийн төвөгтэй талбаруудын хувьд энэ нь илэрхийллийн текстийг бүхэлд нь буцаана.

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

Үүсгэсэн нөхцөлийн текстийг анхны динамик жагсаалтын хүсэлтэд хавсаргав. Асуулгын үр дүнг түр зуурын хүснэгтэд байрлуулна.

3. Бид эхний хайлтыг түр зуурын хүснэгтэд байрлуулж, шаардлагатай нэгтгэх функц бүхий хураангуй талбаруудаар бүлэглэх ажлыг гүйцэтгэдэг.

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

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

Шийдлийн оновчтой байдал

Ерөнхийдөө энэ арга нь гүйцэтгэлд сөргөөр нөлөөлдөг. Жишээлбэл, хэрэв програм нь динамик жагсаалтад тогтоосон сонголтгүйгээр нийт дүнг тооцоолох юм бол сонгосон бичлэгийн тоо асар их байж болно (жишээлбэл, хэдэн жилийн турш). Үүний үр дүнд үр дүнгийн шинэчлэлт бүр хэдэн арван (!!!) секунд үргэлжилж болно. Тиймээс сонгон шалгаруулалт хийгдсэн тохиолдолд л нийт дүнг тооцох нь зүйтэй юм. Энэ нөхцөлтуршилтын тохиргоонд оруулна уу.

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

Дараах дэлгэцийн агшинг харуулж байна програмчлалын коднийт дүнг буцаадаг контекстээс гадуур серверийн функцийг дуудаж байна.

Эхний параметр нь динамик жагсаалтыг сонгох, хоёр дахь нь "FilterFieldNameFilterFieldValueType" төрлийн бүтэц юм. Функцийн эхний параметрийг бие даасан утга болгон хүлээн авдаг гэдгийг анхаарна уу. Яагаад гэдгийг би яг таг хэлж чадахгүй байна, гэхдээ хэрэв та сонголтыг холбоосоор дамжуулвал платформ нь сонголтыг өөрчлөх боломжгүй гэсэн алдаа гаргадаг. Алдааг зөвхөн ийм байдлаар тойрч гарах боломжтой.->

Анхаарна уу: контекст серверийн процедураас ялгаатай нь маягтын өгөгдөл сервер рүү дамждаггүй тул контекстээс гадуурх процедурыг ашиглах нь дамжуулагдсан траффикийн хэмжээг хэд хэдэн удаа багасгах боломжийг олгодог ("&AtServer" заавар).

Дүгнэлт

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

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

Гэсэн хэдий ч, нийтлэлд дурдсан арга нь асуудлыг шийдвэрлэх үед явагддаг.

Татаж авсан зүйлс:

Шилэн дээрх гэрийн тэмдэглэл

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

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

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

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

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

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

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

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

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

  • GetExecutableDataCompositionSchema();
  • GetExecutableDataCompositionSettings().

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

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

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

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

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

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

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


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

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


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

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


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


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


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




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


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


Өөрчлөлтийн үр дүн:



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

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

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

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

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

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

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

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

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

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

Тохиргоо таб

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

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

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

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

&OnServerProcedure OnCreateOnServer(Алдаа, Стандарт Боловсруулалт) Жагсаалт. Сонголтууд. SetParameterValue("Хугацаа", Параметр. Огноо) ; Жагсаалт. Сонголтууд. SetParameterValue("PriceType" , Parameters.PriceType) ; Төгсгөлийн процедур

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