Гэр / Skype / Одоо байгаа объектын хэлбэрийг хэрхэн нээх вэ? Удирдлагатай програмд ​​маягтыг хэрхэн нээх вэ

Одоо байгаа объектын хэлбэрийг хэрхэн нээх вэ? Удирдлагатай програмд ​​маягтыг хэрхэн нээх вэ

Удирддаг 1С программ дахь маягтуудыг програмын дагуу нээх нь ердийн програм дээр нээхээс эрс ялгаатай. Эхлээд хуучин аргыг авч үзье. Энэ нь маягтыг хүлээн авч, дараа нь ердийн эсвэл модаль горимд нээхээс бүрдэнэ (модал горимд нээх үед маягт нь програмыг блоклодог).

GetForm() . Нээлттэй()

Энэ бол маягтыг нээх хамгийн удаан арга юм. Гэсэн хэдий ч энэ нь маягтыг нээхээс өмнө програмын дагуу боловсруулах боломжийг олгодог. Кодыг боловсруулахын тулд та бага зэрэг өөрчлөх хэрэгтэй:

Маягт = GetForm( "Баримт бичиг. Бараа, үйлчилгээ хүлээн авсан баримт. Баримт бичгийн маягт") ;
//Энд бид маягттай үйлдлүүдийг гүйцэтгэдэг
Маягт. Нээлттэй();

Маягтыг хүлээн авах үед өөр үйл явдлын процедурыг гүйцэтгэх болно гэдгийг анхаарах хэрэгтэй WhenCreatedOnServer.

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

1. Удирддаг программ дээр линк байгаа бол объектын маягтыг хэрхэн нээх.

Энэ тохиолдолд бүх зүйл маш энгийн байдаг.

RefLink = Лавлах. Нэршил. FindByCode("000000001" );
OpenValue (RefLink);

2. Сонгон шалгаруулалтын маягтыг нээж, дараа нь сонгосон утгыг хэрхэн авах вэ.

Үүнд зориулсан функц байдаг EnterValue().Функц нь 3 параметртэй:

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

Функцийг гүйцэтгэсний үр дүнд заасан төрлийн объектыг сонгох үндсэн маягт нээгдэнэ.

Хувьсах утга;
Массив = шинэ массив;
Массив. Нэмэх(Төрөл( "ЛавлахЛинк.Нэршил") ) ;
Массив. Нэмэх(Төрөл( "DirectoryLink. Эсрэг талууд") ) ;

TypeDescription= шинэ TypeDescription(Массив);

Res = EnterValue(Утга, "Зөвлөгөө", TypeDescription) ;

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

Энэ функц нь нэлээд хэдэн параметртэй. Тэдгээрийн заримыг нь харцгаая:

  • Маягтын нэр— энд та стандарт объектын аль нэг хэлбэрийг сонгож болно, жишээлбэл, Сонгон шалгаруулалтын маягтэсвэл Жагсаалтын маягт. Эсвэл хөгжүүлэгчдийн бүтээсэн тодорхой хэлбэр.
  • Сонголтууд- маягт дахь маягт руу шилжүүлэх боломжийг танд олгоно бүтэцнээхээс өмнө зарим параметрүүдийг тодорхойлж, улмаар гаралтын өгөгдлийг тодорхойлно. Параметрүүд нь үйлчлүүлэгчээс сервер рүү дамжуулж болох аливаа өгөгдөл байж болно. Маягтыг нээх үед дамжуулсан параметрүүдийг процедурт боловсруулж болно WhenCreatingOnServer()нээгдэж буй маягт дээр.
  • Маягт нээх горим— 3 сонголттой: бие даасан, интерфейсийг бүхэлд нь хаах, эзэмшигчийн маягтыг хаах.

Функцийг хэрхэн ашиглаж байгааг харцгаая OpenForm()янз бүрийн нөхцөл байдалд.

3. Байгаа объектын хэлбэрийг хэрхэн нээх

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

&OnClient
Процедурын команд1 (тушаал)
Параметр = шинэ бүтэц;
Параметр. Insert("Түлхүүр" , FindC() );
OpenForm(, Параметр);
Процедурын төгсгөл

&Сервер дээр
Функц FindC();
Лавлахуудыг буцаах. Эсрэг талууд. FindByRequisites ("TIN", "745107734623")
Төгсгөлийн функц

4. Шинэ объектын хэлбэрийг хэрхэн нээх

Энд энгийн функц ажиллах болно OpenForm()ямар ч параметргүйгээр.

&OnClient
Процедурын команд1 (тушаал)
OpenForm( "Лавлах. Эсрэг талууд. Объектийн маягт") ;
Процедурын төгсгөл

5. Шинэ объектын маягтыг хэрхэн нээж, ямар нэгэн зүйлд тулгуурлан бөглөх

Та параметрийг дамжуулах хэрэгтэй Суурь, утга нь дүүргэх үндсэн объектын лавлагаа байх болно. Энэ нь процедурыг эхлүүлэх болно ProcessFill().

&OnClient
Процедурын команд1 (тушаал)
Параметр = шинэ бүтэц;
Параметр. Insert("Base", LinkToBuyerAccount) ;
OpenForm( "Баримт бичиг. Бараа, үйлчилгээний борлуулалт. Объектийн маягт", Параметр);
Процедурын төгсгөл

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

6. Маягтыг хэрхэн нээх, түүн дээр сонголт хийх

1С маягтыг сонгох нь энгийн эсвэл төвөгтэй байж болно. Энгийн сонголт нь гэх мэт илэрхийллийг агуулдаг Байгууллага = Horns and Hooves ХХК.Нарийн төвөгтэй сонголт нь бусад төрлийн харьцуулалтыг агуулдаг, жишээлбэл. Жагсаалтад. Энэ нийтлэлд бид энгийн сонголтын зохион байгуулалтыг авч үзэх бөгөөд тусдаа өгүүллийг нарийн төвөгтэй сонголтод зориулах болно.

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

Жишээлбэл, лавлах жагсаалтын маягтыг нээцгээе GTD дугааруудтэнд эзэмшигчийн сонголт хийх - лавлах элемент Нэршил.

&OnClient
Процедурын команд1 (тушаал)
Параметр = шинэ бүтэц;

Сонголт= шинэ бүтэц;
Сонголт. Insert("Эзэмшигч", LinkToNomenclature);

Параметр. Insert("Сонголт", Сонголт);

OpenForm( "Лавлах. GTD дугаарууд. Жагсаалтын маягт", Параметр);
Процедурын төгсгөл

7. Мэдээллийн бүртгэлийн бүртгэлийн маягтыг хэрхэн нээх

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

Бичлэгийн түлхүүр- эдгээр нь бүх хэмжилт ба хугацааны утгууд юм (хэрэв бүртгэл тогтмол бол). Өөрөөр хэлбэл бичлэгийн түлхүүр нь бичлэгийг өвөрмөц байдлаар тодорхойлох боломжтой параметрүүд юм.

Нээлтийн алгоритм нь дараах байдалтай байна.

  1. Бид бүтцэд шаардлагатай утгууд бүхий бүртгэлийн түлхүүр өгөгдлийг оруулна.
  2. Бид үүссэн бүтцийг массиваар байрлуулна.
  3. Бид массиваас бичлэгийн түлхүүр үүсгэдэг.
  4. Бид нээгдсэн маягт руу параметр дамжуулдаг Түлхүүр 3-р алхамаас бичлэгийн түлхүүрийг утга болгон ашиглана.

&OnClient
Процедурын команд1 (тушаал)
Параметр = шинэ бүтэц;

KeyParameters= шинэ бүтэц;
Гол параметрүүд. Insert("Нэршил", LinkToNomenclature) ;
Гол параметрүүд. Insert("PriceType", LinkToPriceType) ;
Гол параметрүүд. Insert("Цэг", Огноо);

KeyArray = Шинэ массив;
KeyArray. Нэмэх (түлхүүр параметрүүд);

EntryKey = Шинэ( "Мэдээллийн бүртгэлийн бүртгэлийн түлхүүр. Үнэ нэршил", KeyArray);

Параметр. Insert("Түлхүүр", Бичлэгийн түлхүүр);

OpenForm( "Мэдээллийн бүртгэл. Нэршлийн үнэ. Бүртгэлийн маягт", Параметр);
Процедурын төгсгөл

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

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

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

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

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

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

Нүүр хуудас Эхлэн хөгжүүлэгчдэд зориулсан Програмчилж сурах

Одоо байгаа объектын хэлбэрийг хэрхэн нээх вэ?

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

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

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

Хэрэв та үндсэн маягтын стандарт нэрийн (ObjectForm) оронд тохируулагч дээр үүсгэсэн объектын үндсэн биш, дурын хэлбэрийг нээхийг хүсвэл Form гэдэг үгийг дараа нь цэгээр тэмдэглэнэ үү. тохируулагч.

Жишээлбэл:

ReferenceToDirectoryElement = Elements.List.CurrentRow; FormParameters = Шинэ бүтэц("Түлхүүр", ReferenceToDirectoryElement); OpenForm("Лавлах. Байгууллага. Маягт. UniversalObjectForm", FormParameters);

Объект руу холбохоос гадна нээгдэж буй маягт руу параметр дамжуулах шаардлагагүй бөгөөд энэ нь одоо байгаа объектын үндсэн хэлбэр болсон тохиолдолд та илүү энгийн аргыг ашиглаж болно гэдгийг тэмдэглэх нь зүйтэй. - процедурыг ашиглан маягтыг нээх OpenValue():

OpenValue(Items.List.CurrentRow);

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

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

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