1s 8 хүснэгтийн хэсгийн гаднах боловсруулалт. Баримт бичигт холбогдож байна

1. Асуудлын тухай мэдэгдэл

Энэ нийтлэлд бид хүснэгтийн хэсгийг бөглөх хамгийн энгийн гадаад боловсруулалтыг бичих үйл явцыг авч үзэх болно 1С 8ердийн програм ашиглан тохиргоо хийх. Жишээлбэл, дараах даалгаврыг аваарай: "Тохиргоонд 1С: Нягтлан бодох бүртгэл 2.0хүснэгтийн хэсгийг бөглөх гадаад боловсруулалтыг бий болгох Бараабаримт бичиг, бөглөх өгөгдлийг хүснэгтийн хэсгээс авна Бараабаримт бичиг Бараа, үйлчилгээг хүлээн авах" Тиймээс бид хүлээн авсан бараан дээр үндэслэн борлуулалтын зүйлийг бөглөх хэрэгтэй бөгөөд энэ даалгавар нь 1С програмистын бодит практикт нэлээд түгээмэл байдаг.

2. Гадаад боловсруулалтыг бий болгох

Руу явцгаая 1С 8горимд байна Тохируулагч. Цэсийг ашиглах Файл -> Шинээсвэл пиктограммууд шинэ баримт бичигшинээр бий болгоё гадаад боловсруулалт.

Талбайд Нэр"Хүснэгт хэсгийн хамгийн энгийн дүүргэлт" гэж зааж, цэсийг ашиглан гадаад боловсруулалтыг хатуу диск рүү хадгална Файл -> Хадгалахэсвэл пиктограмм Хадгалахэсвэл гарын товчлол Ctrl+S.

Салбар сонгох Шаардлагатай зүйлсболовсруулалтын мета өгөгдлийн мод руу ороод товчийг дарна уу Нэмэх(ногоон нэмэх товчлуур) шинэ гадаад боловсруулалтын шинж чанарыг бий болгох - Баримт бичгийн баримтууд, үүний төрлийг сонгоно уу DocumentLink.Бараа, үйлчилгээний хүлээн авалт, баримтыг сонгохын тулд бидэнд энэ атрибут хэрэгтэй Бараа, үйлчилгээг хүлээн авах, үүний үндсэн дээр хэрэгжилтийг бөглөнө.

Хүлээн авсан баримтыг сонгохын тулд бидэнд тусдаа маягт хэрэгтэй болно. Салбар сонгох Маягтуудмөн ижил товчлуурыг ашиглан - НэмэхГадны боловсруулалтын маягтыг үүсгэцгээе. Маягт зохион бүтээгчийн цонх нээгдэх бөгөөд та дизайнерын эхний хуудсанд өөрчлөлт оруулах шаардлагагүй тул товчлуур дээр дарна уу. Цаашид.

Дизайнерын хоёр дахь хуудсан дээр бид таяг сонгох хэрэгтэй Баримт бичгийн баримтууд(энэ нь үүсгэсэн маягт дээр гарч ирэхийн тулд) товчийг дарна уу Бэлэн.

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

3. Програмчлал

Хүснэгтийн хэсгийг бөглөх боловсруулалтыг програмчилж эхэлцгээе. Руу явцгаая Объект модульгадаад боловсруулалт (доод боловсруулах самбар дээр товчлуур байна Үйлдлүүд -> Объект модулийг нээх).

Үүнд бид экспортын журмыг бий болгох хэрэгтэй Эхлүүлэх.

Процедур Эхлүүлэх ЭкспортПроцедурын төгсгөл

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

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

TabularPart = Object[TabularPartName];

Параметрт процедурыг гүйцэтгэх үед Объектнь бидний бөглөж буй баримт бичгийн объект болон параметрийг агуулна Хүснэгтийн хэсгийн нэрбидний бөглөж буй хүснэгтийн хэсгийн нэр бүхий мөр. Тиймээс энэ кодын мөр нь нэрээр нь бөглөж буй баримт бичгийн хүснэгтийн хэсгийг авдаг.

Баримт бичгийг сонгохын тулд бидэнд хэрэглэгч хэрэгтэй Бараа, үйлчилгээг хүлээн авах, тиймээс баримт сонгох маягтыг нээх кодыг бичье. Эхлээд энэ маягтыг гадаад боловсруулалтын аргыг ашиглан хувьсагч болгон авч үзье GetForm(<Форма>, <Владелец>, <КлючУникальности>) . Бид энэ аргын эхний параметрийг маягтынхаа нэр бүхий мөрийг дамжуулж бөглөхөд л хангалттай.

ReceiptSelectionForm = GetForm("Маягт");

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

ReceiptSelectionForm.OpenModal();

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

Хэрэв ValueFilled биш бол(ReceiptDocument) Дараа нь Report(); Буцах; EndIf;

Дэлгэрэнгүй мэдээлэл бүрэн байгаа эсэхийг шалгахын тулд энд глобал контекст функцийг ашиглана Утга дүүргэсэн(<Значение>) , энэ нь параметрт дамжуулсан утга нь ижил төрлийн анхдагч утгаас ялгаатай эсэхийг шалгадаг. Процедур Мэдээлэх 1С 8 мессежийн цонхонд заасан текстийг харуулна Түлхүүр үг Буцахжурмын гүйцэтгэлийг тасалдуулж байна.

Хүснэгтийн өгөгдлийг сонгох асуулга бичиж эхэлцгээе Бараабаримт бичиг Бараа, үйлчилгээг хүлээн авах. Шинэ хүсэлт үүсгэцгээе:

Хүсэлт = Шинэ хүсэлт;

Request.SetParameter( "Баримт бичгийн баримт", Хүлээн авсан баримт);

Хүсэлтийн текстийг бичиж, ашиглан хийцгээе Асуулга үүсгэгч. Хүсэлтийн текстийг гараар бичихийг зөвлөдөггүй, энэ нь үр дүнгүй бөгөөд маш их цаг зарцуулдаг. Эхлээд мөрийг бичье:

Хүсэлт.Текст = "" ;

Курсорыг хашилтын хооронд байрлуулж, хулганы баруун товчийг дараад тухайн зүйлийг сонгоно уу Асуулга үүсгэгч.... Үүний дараа та шинэ хүсэлт үүсгэхийг хүсэх бөгөөд "OK" товчийг дарна уу. Дизайнерын цонх нээгдэх бөгөөд зүүн талд бүх мэдээллийн сангийн хүснэгтүүд байгаа бөгөөд бидэнд баримт бичиг хэрэгтэй Бараа, үйлчилгээний хүлээн авалт. Үүнийг олж, "+" тэмдэг ашиглан өргөжүүлж, хүснэгтийн хэсгийг сонгоно уу Бараагэж нэрлэгддэг дизайнер дэлгэцийн хоёр дахь хэсэг рүү чирнэ үү Хүснэгтүүд(">" товчлуурыг ашиглан хүссэн хүснэгтээ зөөж болно).

Одоо "+"-ээр сонгосон хүснэгтээ өргөжүүлье( Бараа хүлээн авахҮйлчилгээБараа) болон хүснэгтийг бөглөхөд шаардлагатай талбаруудыг дизайнер дэлгэцийн гурав дахь хэсэгт чирнэ үү. Талбайнууд. Бид боломжтой бүх талбарыг сонгохгүй бөгөөд бид өөрсдийгөө дараах багцаар хязгаарлах болно. Нэршил, тоо хэмжээ, үнэ, дүн, НӨАТ-ын хувь хэмжээ, НӨАТ-ын дүн.

Бидэнд зөвхөн нэг баримт бичгийн өгөгдөл хэрэгтэй байгаа тул (бид бөглөж эхлэхээс өмнө сонгосон) "Нөхцөл" таб дээр бид дамжуулсан параметрийг ашиглан баримт бичгийн холбоос дээр нөхцөл тавих болно.

Загвар зохион бүтээгчид хүсэлтийн текстийг үүсгэж дууссан тул "OK" товчийг дарна уу. Үүний үр дүнд бид дараах хүсэлтийн текстийг авсан.

Query.Text = "СОНГОХ |FROM |ХААНА ;

Үүсгэсэн хайлтыг зүгээр л гүйцэтгэж, хувьсагч руу байршуулах шаардлагатай:

Үр дүн = Request.Run().Upload();

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

TablePart.Clear();

Гогцоо ашиглах Тус бүрАсуулгын үр дүнгийн утгын хүснэгтийг харцгаая.

Үр дүнгийн мөчлөгийн төгсгөлийн мөчлөгийн үр дүнгийн элемент бүрийн хувьд;

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

NewRowTC = TabularPart.Add();

Хүснэгтэнд үүсгэсэн мөрийг бөглөцгөөе. процедурыг ашиглан асуулгын үр дүнгийн мөрийн өгөгдлийн хэсгүүд Дэлхийн нөхцөл байдалPropertyValues ​​бөглөх(<Приемник>, <Источник>) .

FillPropertyValues(NewRowTC, ResultElement);

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

журам AccountingInLineTabParts-д бөглөнө үүбаримт бичгийн объектын модулиас Бараа, үйлчилгээний борлуулалт. Үүнийг параметр ашиглан дуудъя Объект(үүнийг анхаарах хэрэгтэй

бид зөвхөн дуудаж болно экспортлохбаримт бичгийн объектын модулийн процедур).

Object.FillAccountingInLineTabPart(NewRowTCH, TabularPartName, Үнэн);

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

Процедур Эхлүүлэх (Object, TablePartName = Тодорхойгүй, ObjectTableField = Тодорхойгүй) Экспорт TabularPart = Object[TabularPartName]; ReceiptSelectionForm = GetForm("Маягт"); ReceiptSelectionForm.OpenModal(); Хэрэв Утга Дүүргээгүй бол (Хүлээн авсан баримт) Дараа нь мэдээлнэ үү ( "Баримт бичгийг сонгоогүй"); Буцах; EndIf; Хүсэлт = Шинэ хүсэлт; Request.SetParameter( "Баримт бичгийн баримт", Хүлээн авсан баримт); Query.Text = "СОНГОХ | Бараа, үйлчилгээний хүлээн авалт Бараа.Нэршил, | Бараа, үйлчилгээний хүлээн авалт Бараа.Тоо хэмжээ, | Бараа, үйлчилгээний хүлээн авалт Бараа.НӨАТ-ын хувь хэмжээ, | Бараа, үйлчилгээний хүлээн авалт Бараа.Тоо хэмжээ, | Бараа, үйлчилгээний хүлээн авалт Бараа.НӨАТ-ын дүн, | Бараа, үйлчилгээний хүлээн авалт Бараа.Үнэ|FROM | Баримт бичиг.Бараа үйлчилгээ хүлээн авах Бараа ХЭРХЭН Бараа, үйлчилгээний хүлээн авалт Бараа|ХАААН | Барааны хүлээн авалтServicesProducts.Link = &DocumentReceipts"; Үр дүн = Request.Run().Upload(); TablePart.Clear(); Үр дүнгийн мөчлөгийн үр дүнгийн элемент бүрийн хувьд NewRowTC = TabularPart.Add(); FillPropertyValues(NewRowTC, ResultElement); Object.FillAccountingInLineTabPart(NewRowTCH, TabularPartName, Үнэн); EndCycle; Процедурын төгсгөл

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

4. Дибаг хийх

Та бичсэн кодоо дибаг хийх шаардлагатай болдог. Хүснэгтийн хэсгийг бөглөх боловсруулалтыг дибаг хийх зорилгоор 1С 8түүнд зориулж таяг бүтээцгээе Объектийн лавлагаатөрөл DocumentLink.Бараа, үйлчилгээний борлуулалт

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

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

Процедур ButtonExecutePress(товчлуур) Initialize(Ref.Object.GetObject(), "Бүтээгдэхүүн"); Процедурын төгсгөл

Одоо та үүсгэсэн маягтыг үндсэн боловсруулалтын хэлбэр болгох хэрэгтэй. Үүнийг хийхийн тулд "Маягт боловсруулах" талбарт үүнийг сонгоно уу.

Одоо та процедурын хүссэн газарт таслах цэгийг тохируулж болно Эхлүүлэхэсвэл журам ButtonExecutePressдибаг хийх горимд хүснэгтийн хэсгийг бөглөх боловсруулалтыг ажиллуулна 1С: Аж ахуйн нэгжүүд.

5. Баримт бичигт холбогдох

Бөглөх боловсруулалтыг бичиж, дибаг хийсний дараа та үүнийг гүйцэтгэх баримт бичигт холбох хэрэгтэй. Үүнийг хийхийн тулд бид руу явцгаая 1С 8горимд байна Компани, цэс рүү орцгооё Үйлчилгээ -> Нэмэлт тайлан, боловсруулалт -> Хүснэгтийн хэсгүүдийн нэмэлт гадаад боловсруулалтболон шинэ лавлах элемент нэмнэ. Товч ашиглан Гадаад боловсруулах файлыг солихХүснэгтийн хэсгийг бөглөхдөө бидний үүсгэсэн файлыг нэмье.

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

Мөн бид дүүргэлт нь хүснэгтийн хэсэгт зориулагдсан болохыг харуулж байна Бараа.

Товчлуур дээр дар БОЛЖ БАЙНА УУтэгээд л дүүргэх боловсруулалтыг цэсэнд хийх боломжтой Бөглөххүснэгтийн хэсэг Бараабаримт бичиг Бараа, үйлчилгээний борлуулалт. Та энэ жишээнд ашигласан боловсруулалтыг эндээс татаж авах боломжтой.

1С дахь олон объектын хувьд хүснэгтийн хэсгүүд байдаг:

  • Лавлахууд
  • Баримт бичиг
  • Тайлан ба боловсруулалт
  • Дансны графикууд
  • Онцлог хэлбэрийн төлөвлөгөө
  • Тооцооллын төрлийн төлөвлөгөө
  • Бизнесийн үйл явц, даалгавар

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

Хүснэгтийн хэсгүүдтэй ажиллах зарим техникийг авч үзье.

Хүснэгтийн хэсгийг хэрхэн тойрч гарах вэ

Хүснэгтийн хэсгийг давахын тулд та гогцоо ашиглаж болно Тус бүр

Циклийн хүснэгтийн хэсгээс мөр бүрийн хувьд

Тайлан(String. TabularPart шинж чанар) ;

EndCycle;

Хувьсагч руу давталт бүрт Шугамхүснэгтийн хэсгийн дараагийн эгнээ дамжуулагдана. Мөрийн дэлгэрэнгүй утгыг илэрхийллээр олж авч болно Line.AttributeName.

Хүснэгтийн хэсгийн сонгосон мөрүүдийг хэрхэн авч, тойрч гарах вэ

Объектын хүснэгтийн хэсгээс мэдээллийг харуулахын тулд маягтын элементийг ашиглана уу Хүснэгтийн талбар. Хүснэгтийн талбарт олон мөр сонгох боломжийг идэвхжүүлэхийн тулд та утгыг тохируулах хэрэгтэй Олонтүүний өмчид Сонгох горим.

Сонгосон мөрүүдийн жагсаалтыг авахын тулд дараах кодыг ашиглана уу.

Сонгосон мөрүүдийг давтахдаа гогцоо ашигладаг. Тус бүр:

SelectedRows = FormElements. Хүснэгтийн талбарын нэр. Сонгосон мөрүүд;

Сонгосон мөрүүдийн давталтын мөр бүрийн хувьд

// гогцооны агуулга

EndCycle;

Хэрхэн хүснэгтийн хэсгийн мөрүүдийг (хүснэгтийн талбар) программчлан сонгож, тэдгээрийн сонголтыг цуцлах

Хүснэгтийн талбарын мөрүүдийг программчлан устгахын тулд:

Маягтын элементүүд. Хүснэгтийн талбарын нэр. Сонгосон мөрүүд. Clear();

Хүснэгтийн талбарын бүх мөрийг програмаар сонгохын тулд:

TabularPart давталтаас CurrentRow бүрийн хувьд
Маягтын элементүүд. Хүснэгтийн талбарын нэр. Сонгосон шугамууд. Нэмэх (Одоогийн мөр);
EndCycle;

Хүснэгтийн хэсгийг хэрхэн цэвэрлэх вэ

Хүснэгтийн хэсэг. Clear();

Хүснэгтийн хэсгийн одоогийн мөрийг хэрхэн авах вэ

Одоогийн мөр нь тухайн хэрэглэгч курсортой байгаа цагийн хуваарь юм. Үүнийг авахын тулд та хүснэгтийн хэсэгтэй холбоотой маягт дээрх хяналтын элементэд хандах хэрэгтэй.

Энгийн маягтуудын хувьд код дараах байдалтай харагдана.

Маягтын элементүүд. Хүснэгтийн талбарын нэр. Одоогийн өгөгдөл;

Удирдах маягтуудын хувьд:

Элементүүд. Хүснэгтийн талбарын нэр. Одоогийн өгөгдөл;

Хүснэгтийн хэсэгт хэрхэн шинэ мөр нэмэх вэ

Хүснэгтийн төгсгөлд шинэ мөр нэмэх:

NewRow = Хүснэгтийн хэсэг. Нэмэх ();

Хүснэгтийн аль ч хэсэгт шинэ мөр нэмэх (дараагийн мөрүүдийг шилжүүлэх болно):

NewRow = Хүснэгтийн хэсэг. Оруулах(индекс)
//Индекс - нэмсэн мөрийн дугаар. Мөрийн дугаарлалт тэгээс эхэлнэ.

Шинэ шугам. Props1 = "Утга" ;

Хүснэгтийн мөрийн дэлгэрэнгүй мэдээллийг программын дагуу хэрхэн бөглөх вэ

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

Зохицуулагчийн үүсгэсэн процедур нь гурван параметртэй:

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

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

Процедур TabularPartAtStartEditing(Element, NewRow, Copy)

//Хэрэв хэрэглэгч одоо байгаа мөрийг засварлавал бид юу ч хийхгүй
Хэрэв NewRow биш бол дараа нь
Буцах;
EndIf;

//Хэрэв мөр шинэ бол нягтлан бодох бүртгэлийн дансыг тохируулна уу
TechString = Зүйл. Одоогийн өгөгдөл; //Хүснэгт хэсгийн одоогийн мөрийг авна
TechString. Нягтлан бодох бүртгэл = Дансны график. Өөрийгөө дэмждэг. Шаардлагатай данс;
Процедурын төгсгөл

Энэ нийтлэлд бид ердийн 1C:ERP 2.1 тохиргооны хувьд 1С 8.3 дахь хүснэгтийн хэсгийг бөглөх боловсруулалтыг бичих болно. Даалгаврын зорилго нь өгөгдсөн баримт бичигт байгаа бүх зүйлийн 5% -ийн хөнгөлөлтийг гараар тогтоох явдал юм гэж бодъё. Өгүүллийн жишээг эндээс эсвэл ижил төстэй боловсруулалтаас татаж авч болно.

Энэхүү заавар нь удирддаг маягтуудад зориулагдсан болно (8.2 ба 8.3). Энгийн маягтуудын хувьд (8.1, 8.2) та ашиглаж болно.

Шинэ боловсруулалт үүсгэж, компьютер дээрээ хадгал. Эхлээд та бүртгүүлэх хэд хэдэн алхамыг хийх хэрэгтэй.

Объект модулийг нээж, доорх кодыг бичнэ үү (үүнийг дээр дурдсан боловсруулалтаас авч болно). Ер нь нөхцөл байдлаас шалтгаалж бүтэц нь өөрчлөгдөхгүй. Зөвхөн зарим тохиргооны параметрүүдийг, шаардлагатай бол хувьсагчийн нэрийг засдаг.

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

Баримт бичгийн хүснэгтийн хэсгийг бөглөх

Шинэ боловсруулах маягт үүсгэцгээе.

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

Бидний жишээн дээр аль хэдийн байгаа "Бүтээгдэхүүн" гэсэн хүснэгтийн хэсгийг боловсруулах болно. Мөр бүрт 5%-ийн гарын авлагын хөнгөлөлт тогтооно. Мөн бид энэ хөнгөлөлтийн хэмжээг өөрөө тооцоолж, мөрөнд байгаа барааны хэмжээг 0.05-аар үржүүлсэнтэй тэнцэх болно.

&Серверийн Процедур дээр Хэрэглэгчийн Захиалга тус бүрийн хувьд (Команд, Даалгаврын Объект) Гүйцэтгэх Захиалгат Объектоос Хэрэглэгчийн Захиалгын Объект = Хэрэглэгчийн Захиалгыг эргүүлнэ. GetObject(); Хэрэглэгчийн OrderObject-аас TK мөр бүрийн хувьд. Бүтээгдэхүүний цикл LineTZ. Manual DiscountPercent = 5 ; LineTZ. Гарын авлагын хөнгөлөлтийн хэмжээ = TK шугам. Дүн * 0. 05 ; EndCycle; CustomerOrderObject. Write(); EndCycle; Процедурын төгсгөл

Гадны боловсруулалтын бүртгэл

1С-ийг "Аж ахуйн нэгж" горимд эхлүүлж, "Нэмэлт тайлан, боловсруулалт" лавлахыг нээнэ үү. Үүнийг "Бүх функцууд" цэсээр олъё.

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

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

Энэ товчлуур нь баримт бичгийн картанд бас байх болно.

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

Эхлээд File/New цэсийг ашиглан тохируулагч дотор гадаад боловсруулалтыг үүсгэцгээе. Гарч ирэх цонхонд "Гадаад боловсруулалт" -ыг сонгоно уу.

Процедур нь өөрөө иймэрхүү харагдах ёстой.

Procedure Initialize(Object, TabularPartName, TabularField) Экспорт;

Object[TabularPartName] мөчлөгийн ХүснэгтийнХэсгийн мөр бүрийн хувьд

TabularPartRow.Result = Okr(TabularPartRow.Result);

Төгсгөлийн мөчлөг;

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

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

Боловсруулалтыг юу хийх ёстойг бичсэний дараа бид үүнийг хадгалж, 1С Enterprise горим руу шилжиж, боловсруулалтыг гадаад боловсруулалтын лавлах хэсэгт бүртгэнэ.

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

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

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

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