1c сонголттой маягтыг хэрхэн нээх. Сонголттой жагсаалтын маягтыг хэрхэн нээх вэ? Та жагсаалтын маягтыг параметргүйгээр нээж болно

Сонголттой жагсаалтын маягтыг хэрхэн нээх вэ?

Урьдчилан тохируулсан жагсаалтын маягтыг нээх хэд хэдэн арга байдаг. Тэдгээрийг дарааллаар нь харцгаая:

1. Эхний арга нь маягтыг нээхдээ Selection form параметрийг тохируулах ба энэ параметрээр жагсаалтын маягтыг нээх боломжтой. Selection параметр нь бүтцийг илэрхийлнэ. Элементүүдийн нэр нь сонголт хийсэн талбаруудын нэртэй тохирч, утга нь сонголтын утгыг агуулна. Энэ бол удирддаг маягтын өргөтгөлийн сонголт юм динамик жагсаалт. Өөрөөр хэлбэл, энэ нь үндсэн шинж чанар нь type шинж чанар болох хэлбэрүүдэд байдаг Динамик жагсаалтжагсаалтын маягт, сонгон шалгаруулах маягтууд гэх мэт.

Маягтыг нээхдээ заасан талбарт үндэслэн сонголт хийнэ. Жишээлбэл, дараах жишээн дээр 333-тай тэнцүү тооны талбараар нэхэмжлэхийн жагсаалтыг нээнэ.

Сонгох утга = Шинэ бүтэц("Дугаар", "333");

SelectionParameters = Шинэ бүтэц("Сонголт", SelectionValue);

OpenForm("Баримт бичиг. Хүлээн авсан нэхэмжлэх. Жагсаалтын маягт", Сонголтууд);

2. Та жагсаалтын маягтыг параметргүйгээр нээж болно:

OpenForm("Баримт бичиг.Нэхэмжлэх. Жагсаалт");

Тэгээд дараа нь нэхэмжлэхийн жагсаалт маягтын үйл явдлын зохицуулагч OnServer үүсгэсэн үедмаягтын гол шинж чанар болох динамик жагсаалтад сонголт үүсгэх код бичих:

&Сервер дээр

Сервер дээр үүсгэх үед хийх журам (алдаа, стандарт боловсруулалт)

Сонгох элемент = List.Selection.Elements.Add(Type("DataComposition Selection Element"));

SelectionElement.LeftValue = NewDataCompositionField("Тоо");

SelectionElement.ComparisonView = DataCompositionComparisonView.More;

SelectionElement.Use = Үнэн;

SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Inaccessible;

SelectionElement.RightValue = "000000001";

Процедурын төгсгөл

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

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

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

Үүнийг хийхийн тулд зүйлийн жагсаалт хэлбэрээр команд болон харгалзах товчийг үүсгэ Хүлээн авсан нэхэмжлэх.

Энэ командын гүйцэтгэх зохицуулагчийг дараах байдлаар бөглөцгөөе.

&OnClient

Процедурын баримт нэхэмжлэх (тушаал)

ListForm = GetForm("Document.Invoice.ListForm");

ListForm.FilterByProduct = Elements.List.CurrentRow;

ListForm.Open();

Процедурын төгсгөл

Энэ зохицуулагч дээр бид нэхэмжлэхийн жагсаалтын маягтыг хүлээн авч, зүйлийн жагсаалтад байгаа одоогийн зүйлийн холбоосыг FilterByProduct маягтын параметр рүү дамжуулж, энэ параметрээр маягтыг нээнэ.

Дараа нь бид баримт бичгийн жагсаалтын маягтыг үүсгэнэ Худалдан авалтын нэхэмжлэхмөн FilterByProduct маягтын атрибутыг үүсгэх бөгөөд бид үүнийг нээхдээ маягтын параметр болгон ашиглах болно. Одоо List маягтын үндсэн шинж чанарын палитрыг нээцгээе. Туг тавиацгаая CustomRequestмөн мөрөнд Жагсаалтын тохиргооНээх дээр дарна уу.

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

СОНГОХ

Баримт бичгийн баримтын нэхэмжлэх.Дугаар,

Баримт бичгийн хүлээн авсан нэхэмжлэх.Огноо

FROM

Document.ReceiptInvoice AS DocumentReceiptInvoice

ХААНА

Баримт бичиг баримтын нэхэмжлэх.Бүтээгдэхүүн.Бүтээгдэхүүн = &Бүтээгдэхүүн

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

&OnClient

Нээлтийн журам (бүтэлгүйтсэн)

List.Parameters.SetParameterValue("Бүтээгдэхүүн", FilterByProduct);

Процедурын төгсгөл

Энд Жагсаалт. Сонголтууднь List шинж чанарын динамик жагсаалтын хүсэлтийн параметрүүдийн жагсаалт юм. Бүтээгдэхүүний параметрийн утга нь FilterByProduct маягтын параметрийн утгатай тэнцүү байна.

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

3-р сонголтын үзүүлэнгийн жишээг 1CITS/EXE/FAQ/OpenFormWithSelection.dt санд байрлуулсан болно. Жишээ нь 8.2.9.356 платформ хувилбар дээр хийгдсэн.

Code 1C v 8.x DirectoryList.Selection.Reset();
DirectoryList.Selection.status.ComparisonType=ComparisonType.Contains;
DirectoryList.Selection.Status.Value="Зөвшөөрсөн";
DirectoryList.Selection.Status.Set();

1C 8.2-ийн хувьд:
Урьдчилан тохируулсан жагсаалтын маягтыг нээх хэд хэдэн арга байдаг. Тэдгээрийг дарааллаар нь харцгаая:

1. Эхний арга нь маягтыг нээхдээ Selection form параметрийг тохируулж энэ параметрээр жагсаалтын маягтыг нээж болно. Selection параметр нь бүтцийг илэрхийлнэ. Элементүүдийн нэр нь сонголт хийсэн талбаруудын нэртэй тохирч, утга нь сонголтын утгыг агуулна. Энэ бол динамик жагсаалтын удирддаг маягтын өргөтгөлийн сонголт юм. Өөрөөр хэлбэл, энэ нь үндсэн шинж чанар нь Динамик жагсаалт төрлийн атрибут болох маягтуудад байдаг, жишээлбэл, жагсаалтын маягт, сонголтын маягт.

Маягтыг нээхдээ заасан талбарт үндэслэн сонголт хийнэ.
Code 1C v 8.2 UP // Жишээлбэл, дараах жишээн дээр 333-тай тэнцүү тооны талбараар нэхэмжлэхийн жагсаалтыг нээнэ.
Сонгох утга = Шинэ бүтэц("Дугаар", "333");
SelectionParameters = Шинэ бүтэц("Сонголт", SelectionValue);

OpenForm("Баримт бичиг. Хүлээн авсан нэхэмжлэх. Жагсаалтын маягт", Сонголтууд);

// Жишээ нь, дараах жишээ нь нэхэмжлэхийн жагсаалтыг нээнэ
// Гүйцэтгэгчээр сонгон шалгаруулах талбар нь “Эвэр туурай” ХК-тай тэнцүү.
Сонгон шалгаруулалтын үнэ цэнэ = Шинэ бүтэц("Харилцагч тал", "OJSC Horns and Hooves");
SelectionParameters = Шинэ бүтэц("Сонголт", SelectionValue);
OpenForm("Баримт бичиг. Хүлээн авсан нэхэмжлэх. Жагсаалтын маягт", Сонголтууд);

2. Та жагсаалтын маягтыг параметргүйгээр нээж болно:
Код 1С v 8.2 UE OpenForm("Баримт бичиг. Хүлээн авсан нэхэмжлэх. Жагсаалтын маягт");

Дараа нь нэхэмжлэхийн жагсаалтын маягтын үйл явдал зохицуулагч дээр CreatedOnServer үед маягтын үндсэн шинж чанар болох динамик жагсаалтад сонголт үүсгэх кодыг бичнэ үү:
Код 1C v 8.2 UP &OnServer

Сонгох элемент = List.Selection.Elements.Add(Type("DataComposition Selection Element"));
SelectionElement.LeftValue = NewDataCompositionField("Тоо");

SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Inaccessible;
SelectionElement.RightValue = "000000001";
Процедурын төгсгөл

&Сервер дээр
Сервер дээр үүсгэх үед хийх журам (алдаа, стандарт боловсруулалт)
Сонголт элемент = Жагсаалт.Сонголт.Элементүүд.Нэмэх(Төрөл
(“DataCompositionSelectionElement”));
SelectionElement.LeftValue = NewDataCompositionField("DocumentAmount");
SelectionElement.ComparisonView = DataCompositionComparisonView.More;
SelectionElement.Use = Үнэн;
SelectionElement.RightValue = 150000;
Процедурын төгсгөл

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

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

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

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

Энэ командын гүйцэтгэх зохицуулагчийг дараах байдлаар бөглөцгөөе.
Код 1C v 8.2 UP &OnClient
Процедурын баримт нэхэмжлэх (тушаал)

ListForm = GetForm("Document.Invoice.ListForm");
ListForm.FilterByProduct = Elements.List.CurrentRow;
ListForm.Open();

Процедурын төгсгөл

Энэ зохицуулагч дээр бид нэхэмжлэхийн жагсаалтын маягтыг хүлээн авч, зүйлийн жагсаалтад байгаа одоогийн зүйлийн холбоосыг FilterByProduct маягтын параметр рүү дамжуулж, энэ параметрээр маягтыг нээнэ.

Дараа нь бид баримт бичгийн жагсаалтын маягтыг үүсгэнэ: Хүлээн авсан нэхэмжлэх ба маягтын атрибутыг үүсгэнэ FilterBy Product, бид үүнийг нээх үед маягтын параметр болгон ашиглах болно. Одоо List маягтын үндсэн шинж чанарын палитрыг нээцгээе. ArbitraryRequest тугийг тохируулна уужагсаалтын тохиргооны мөрөнд дарна уу Нээлттэй.

Хүсэлтийн талбарт дараах хүсэлтийн текстийг оруулна уу.
Код 1С v 8.2 ДЭЭШ СОНГОХ
Баримт бичгийн баримтын нэхэмжлэх.Дугаар,
Баримт бичгийн хүлээн авсан нэхэмжлэх.Огноо
FROM
Document.ReceiptInvoice AS DocumentReceiptInvoice
ХААНА
Баримт бичиг баримтын нэхэмжлэх.Бүтээгдэхүүн.Бүтээгдэхүүн = &Бүтээгдэхүүн

Хүсэлтэд бид Item параметрийг ашигладаг бөгөөд энэ нь FilterBy Item нэхэмжлэхийн жагсаалтын маягтын параметрт агуулагдах зүйлийн жагсаалтын одоогийн мөртэй холбогдох холбоосыг хүлээн авах болно. Үүнийг хийхийн тулд OnOpen жагсаалтын маягтын үйл явдал зохицуулагч дээр бид Бүтээгдэхүүний хүсэлтийн параметрийн утгыг тохируулах код бичнэ.
Код 1C v 8.2 UP
&OnClient
Нээлтийн журам (бүтэлгүйтсэн)

List.Parameters.SetParameterValue("Бүтээгдэхүүн", FilterByProduct);

Процедурын төгсгөл

Энд Жагсаалт. Сонголтууднь List шинж чанарын динамик жагсаалтын хүсэлтийн параметрүүдийн жагсаалт юм. Бүтээгдэхүүний параметрийн утга нь FilterByProduct маягтын параметрийн утгатай тэнцүү байна.

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

Мэдээллийг сайтаас авав

Урьдчилан тохируулсан жагсаалтын маягтыг нээх хэд хэдэн арга байдаг. Тэднийг харцгаая:

  1. Эхний аргаЭнэ нь маягтыг нээхдээ маягтын параметрийг тохируулах боломжтой юм Сонголт, мөн энэ параметрээр жагсаалтын маягтыг нээнэ үү. Параметр Сонголтбүтцийг илэрхийлдэг. Элементүүдийн нэр нь сонголт хийх талбаруудын нэртэй тохирч, утгууд нь утгыг агуулна.
    сонголт. Энэ бол динамик жагсаалтын удирддаг маягтын өргөтгөлийн сонголт юм. Өөрөөр хэлбэл, энэ нь үндсэн шинж чанар нь type шинж чанар болох хэлбэрүүдэд байдаг Динамик жагсаалтжагсаалтын маягт, сонгон шалгаруулах маягтууд гэх мэт.

Маягтыг нээхдээ заасан талбарт үндэслэн сонголт хийнэ. Жишээ нь, дараах жишээн дээр "OJSC Horns and Hooves" -тэй тэнцэх эсрэг талын талбарыг сонгон нэхэмжлэхийн жагсаалтыг нээнэ.

Сонголтын үнэ цэнэ = Шинэ бүтэц ("Харин тал" , "Эвэр туурай ХК");
Сонголтууд= Шинэ бүтэц("Сонголт", SelectionValue);
OpenForm ("Баримт бичиг. Хүлээн авсан нэхэмжлэх. Жагсаалтын маягт", Сонголтууд);

2. Та жагсаалтын маягтыг параметргүйгээр нээж болно:

OpenForm (“Баримт бичиг. Хүлээн авсан нэхэмжлэх. Жагсаалтын маягт”);

Тэгээд дараа нь нэхэмжлэхийн жагсаалт маягтын үйл явдлын зохицуулагч OnServer үүсгэсэн үед маягтын гол шинж чанар болох динамик жагсаалтад сонголт үүсгэх код бичих:

&Сервер дээр
Процедур OnServer үүсгэсэн үед(Татгалзах, Стандарт боловсруулалт)
Сонгох элемент = Жагсаалт. Сонголт. Элементүүд. Нэмэх (Төрөл
(“DataCompositionSelectionElement”));
Сонгох элемент .LeftValue = Шинэ Өгөгдлийн байршлын талбар("Баримт бичгийн дүн");
Сонгох элемент. Харьцуулалт = Харьцуулах ViewData Layout. Илүү ;
Сонгох элемент. хэрэглээ = үнэн;
Сонгох элемент. Зөв утга = 150000;
Процедурын төгсгөл

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

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

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

Үүнийг хийхийн тулд зүйлийн жагсаалт хэлбэрээр команд болон харгалзах товчийг үүсгэ Хэрэглээний материалын нэхэмжлэх

Энэ командын гүйцэтгэх зохицуулагчийг дараах байдлаар бөглөцгөөе.

&OnClient
Процедур Хэрэглээний материалын нэхэмжлэх(баг)
ListForm = GetForm("Document.Invoice.ListForm");
Жагсаалтын маягт. FilterByProduct = Эд зүйлс. Жагсаалт. CurrentRow;
Жагсаалтын маягт. Нээлттэй();
Процедурын төгсгөл

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

Талбайд ХүсэлтДараах хүсэлтийн текстийг оруулна уу:

СОНГОХ

Баримт бичгийн баримтын нэхэмжлэх.Дугаар,
Баримт бичгийн хүлээн авсан нэхэмжлэх.Огноо
FROM
Document.ReceiptInvoice AS DocumentReceiptInvoice
ХААНА
Баримт бичиг баримтын нэхэмжлэх.Бүтээгдэхүүн.Бүтээгдэхүүн = &Бүтээгдэхүүн

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

&OnClient
Нээлтийн журам (бүтэлгүйтсэн)
Жагсаалт. Сонголтууд. SetParameterValue("Бүтээгдэхүүн", FilterByProduct);
Процедурын төгсгөл

Энд Жагсаалт. Сонголтууд— энэ нь List атрибутын динамик жагсаалтын хүсэлтийн параметрүүдийн жагсаалт юм. Параметрийн утга Бүтээгдэхүүнхэлбэр параметрийн утгатай тэнцүү байна Бүтээгдэхүүнээр шүүх. Үүний үр дүнд нэг товчлуур дээр дарж болно Нэхэмжлэхзүйлийн жагсаалт хэлбэрээр бид зөвхөн тухайн зүйлийн жагсаалтад сонгогдсон зүйлийг агуулсан нэхэмжлэхийн жагсаалтыг хүлээн авах болно.

— энэ нь List атрибутын динамик жагсаалтын хүсэлтийн параметрүүдийн жагсаалт юм.

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

Code 1C v 8.2 UP Form = OpenForm("Баримт бичиг. Invoice.Form.ListForm"); //Маягтыг нээнэ үү
SelectionOwner =Form.List.Selection.Elements.Add(Type("DataCompositionSelectionElement")); // Сонголт нэмэх
SelectionOwner.ComparisonView = DataCompositionComparisonView.Equals; //Бид хэрхэн харьцуулах вэ
SelectOwner.Use = Үнэн; // NewDataCompositionField("Нэршил") ашиглахын тулд шалгах нүдийг тохируулна уу.
SelectionOwner.LeftValue = NewDataCompositionField("Бүртгэл"); //Бид сонголт хийхдээ ямар нарийн ширийн зүйлийг ашиглах вэ?
SelectionOwner.RightValue = Object.Account; // Мөн сонгон шалгаруулалтын утга учир

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

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

Selection параметр нь бүтцийг илэрхийлнэ. Элементүүдийн нэр нь сонголт хийсэн талбаруудын нэртэй тохирч, утга нь сонголтын утгыг агуулна. Энэ бол динамик жагсаалтын удирддаг маягтын өргөтгөлийн сонголт юм. Өөрөөр хэлбэл, энэ нь үндсэн шинж чанар нь DynamicList төрлийн шинж чанар болох маягтуудад байдаг, жишээлбэл, жагсаалтын маягт, сонголтын маягт.

Жишээлбэл, дараах жишээн дээр 333-тай тэнцүү тооны талбараар нэхэмжлэхийн жагсаалтыг нээнэ.

Код 1С v 8.2 UE Сонгох утга = Шинэ бүтэц("Дугаар", "333");
SelectionParameters = Шинэ бүтэц("Сонголт", SelectionValue);
OpenForm("Баримт бичиг. Хүлээн авсан нэхэмжлэх. Жагсаалтын маягт", Сонголтууд);

Хоёр дахь арга зам

Та жагсаалтын маягтыг параметргүйгээр нээж болно:

Код 1С v 8.2 UE OpenForm("Баримт бичиг. Хүлээн авсан нэхэмжлэх. Жагсаалтын маягт");

Дараа нь нэхэмжлэхийн жагсаалтын маягтын үйл явдал зохицуулагч дээр CreatedOnServer үед маягтын үндсэн шинж чанар болох динамик жагсаалтад сонголт үүсгэх кодыг бичнэ үү:

Код 1C v 8.2 UP &OnServer
Сервер дээр үүсгэх үед хийх журам (алдаа, стандарт боловсруулалт)
Сонгох элемент = List.Selection.Elements.Add(Type("DataComposition Selection Element"));
SelectionElement.LeftValue = NewDataCompositionField("Тоо");
SelectionElement.ComparisonView = DataCompositionComparisonView.More;
SelectionElement.Use = Үнэн;
SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Inaccessible;
SelectionElement.RightValue = "000000001";
Процедурын төгсгөл

Энэ аргын давуу тал нь сонголтын Харьцуулалтын төрлийг эхний тохиолдолд адил тэнцүү биш, мөн Илүү, Бага гэх мэтээр тохируулж болно.

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

Гурав дахь зам

Эцэст нь сонгох нөхцөлийг динамик жагсаалтын өгөгдлийг сонгох захиалгат асуулгад байрлуулж болно.

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

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

Энэ командын гүйцэтгэх зохицуулагчийг дараах байдлаар бөглөцгөөе.

Код 1C v 8.2 UP &OnClient
Процедурын баримт нэхэмжлэх (тушаал)
SelectionParameters = Шинэ бүтэц("FilterByProduct", Elements.List.CurrentRow);
OpenForm("Баримт бичиг. Хүлээн авсан нэхэмжлэх. Жагсаалтын маягт", Сонголтууд);
Процедурын төгсгөл

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

Дараа нь бид баримт бичгийн жагсаалтын маягтыг үүсгэнэ: Хүлээн авсан нэхэмжлэх ба FilterBy Бүтээгдэхүүний маягтын параметрийг үүсгэх бөгөөд бид шаардлагатай сонголт бүхий маягтыг нээхэд ашиглах болно.

Одоо List маягтын үндсэн шинж чанарын палитрыг нээцгээе. Custom Query тугийг тавиад Жагсаалтын Тохиргоо мөрөнд Нээх дээр дарна уу.

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

Код 1С v 8.2 ДЭЭШ СОНГОХ
Баримт бичгийн баримтын нэхэмжлэх.Дугаар,
Баримт бичгийн хүлээн авсан нэхэмжлэх.Огноо
FROM
Document.ReceiptInvoice AS DocumentReceiptInvoice
ХААНА
Баримт бичиг баримтын нэхэмжлэх.Бүтээгдэхүүн.Бүтээгдэхүүн = &Бүтээгдэхүүн

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

Үүнийг хийхийн тулд CreatedOnServer-ийн жагсаалтын маягтын үйл явдал зохицуулагч дээр бид Бүтээгдэхүүний хүсэлтийн параметрийн утгыг тохируулах код бичнэ.

Код 1C v 8.2 UP &OnClient
Нээлтийн журам (бүтэлгүйтсэн)
List.Parameters.SetParameterValue("Бүтээгдэхүүн", Parameters.FilterByProduct);
Процедурын төгсгөл

Энд List.Parameters нь List атрибутын динамик жагсаалтын хүсэлтийн параметрүүдийн жагсаалт юм. Бүтээгдэхүүний параметрийн утга нь FilterByProduct маягтын параметрийн утгатай тэнцүү байна.

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

Төлөө Сонгон шалгаруулалтын маягтыг 1s-д сонгон нээнэ 8.2 (тогтмол хэлбэрүүд), бид зарим үйлдлийг хийх хэрэгтэй. Бид эхлээд авах болно. Үүний дараа бид сонголтыг тохируулж программын дагуу нээх болно, энд кодын жишээ байна:

Хэд хэдэн утгатай 1С 8.2 оролтын талбарт маягтыг сонгох

Дээрх жишээн дээр бид харлаа Сонгон шалгаруулалтын маягт дээр сонголтыг хэрхэн тохируулахтодорхой үнэ цэнээр. Одоо та хэд хэдэн утгыг орлуулах шаардлагатай нөхцөл байдлыг харцгаая, энэ нь жишээлбэл, массив эсвэл асуулгын үр дүнгээс буулгасан байж болно. Энэ бол 1c оролтын талбар дахь сонголт юмолон утгатай.

Эхлээд бид сонголтын маягтыг авч, параметрүүдэд "Элемент" (эзэмшигч) -ийг дамжуулж, сонголтын горимын тугийг тохируулна уу. Дараа нь бид утгуудын жагсаалт, массив үүсгэдэг бөгөөд жагсаалтад харьцуулах төрлийг сонгохдоо объект нь зөвхөн төрлөөр байж болно гэдгийг анхаарна уу. Жагсаалтын утгууд. Бид массивын элементүүдийг нэмж, дараа нь энэ массивыг Утгын жагсаалтад ачаалж, дараа нь сонголтод тохируулна. Мөн энэ сонголтыг ашиглах тугийг идэвхжүүлж, харьцуулах төрлийг тохируулахаа бүү мартаарай.

1С 8.3 дахь маягтын оролтын талбарт сонголтыг тохируулах, Сонголтыг эхлүүлэх үйл явдал

Одоо авч үзье оруулах талбар дахь сонголтыг идэвхжүүлнэ удирдах боломжтой хэлбэрээр 1С 8.3-д. Маягт дээрээс бидний сонирхож буй элементийг олцгооё, бид сонголтоо хийх болно, бидний тохиолдолд энэ нь "Байгууллага" талбар юм. Бид "Сонголтын эхлэл" үйл явдлыг олж, томруулдаг шил дээр дарж, процедурт өөрсдийгөө олно. Бид Сонгох өгөгдлийн параметрийг харж байна; энэ параметр нь ValueList төрлийнх юм. Сонголтыг шаардлагатай элементүүдээр хязгаарлахын тулд бид үнэт зүйлсийн жагсаалтыг бөглөх хэрэгтэй. Бид зөвхөн сервер дээр элементүүдийг сонгох боломжтой тул &OnServer эмхэтгэлийн удирдамжаар процедурыг үүсгэдэг. Энэ процедурт Сонгох өгөгдлийг бөглөнө үү.