Мөртэй ажиллах шинэ функцууд. Мөртэй ажиллах шинэ функцууд 1c мөр нэмэх

Мөр нь 1С: Enterprise 8 систем дэх хувьсагчийн төрөлтэй анхдагч өгөгдлийн төрлүүдийн нэг юм шугамтекст агуулсан.

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

Per1 = "Үг 1" ;
Per2 = "Үг 2" ;
Per3 = Per1 + " " + Per2;

Эцэст нь Нэг 3гэсэн үг" Үг 1 Үг 2".

Нэмж дурдахад 1C: Enterprise 8 системүүд нь мөрүүдтэй ажиллах функцээр хангадаг. Голыг нь авч үзье:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — Уг функц нь тухайн төрлийн хувьсагчийн утгыг хэрэглэгч зааж өгөх харилцах цонхыг харуулах зориулалттай Шугам. Параметр <Строка> шаардлагатай бөгөөд оруулсан мөрийг бичих хувьсагчийн нэрийг агуулна. Параметр <Подсказка> нэмэлт - энэ нь харилцах цонхны гарчиг юм. Параметр <Длина> нэмэлт, оролтын мөрийн хамгийн их уртыг харуулна. Анхдагч нь тэг, энэ нь хязгааргүй урт гэсэн үг. Параметр <Многострочность> сонголттой. Олон мөрт текст оруулах горимыг тодорхойлно: Үнэн—мөр тусгаарлагчтай олон мөр текст оруулах; Худал - энгийн мөр оруулна уу.

Хэрэв та Юникод дахь тэмдэгтийн кодыг мэддэг бол мөр оруулах боломжтой:

тэмдэг(<КодСимвола>) — кодыг тоогоор оруулсан болно.

Үсэг= Тэмдэг(1103) ; // I

Тэмдгийн кодыг олох боломжийг олгодог урвуу функц бас байдаг.

Тэмдгийн код(<Строка>, <НомерСимвола>) — заасан тэмдэгтийн Юникод дугаарыг тоо болгон буцаана.

Текст хөрвүүлэх функцууд:

VReg(<Строка>) — Мөр дэх бүх тэмдэгтийг том үсгээр хөрвүүлнэ.

NReg(<Строка>) — Мөр дэх бүх тэмдэгтийг жижиг үсэг рүү хөрвүүлнэ.

TReg(<Строка>) — мөр дэх бүх тэмдэгтүүдийг гарчгийн том үсэг болгон хөрвүүлнэ. Өөрөөр хэлбэл, бүх үгийн эхний үсгийг том үсгээр, үлдсэн үсгийг жижиг үсгээр хөрвүүлдэг.

Мөр дэх тэмдэгтүүдийг хайх, солих функцууд:

олох(<Строка>, <ПодстрокаПоиска>) — хайлтын дэд мөрийн тохиолдлын тэмдэгтийн дугаарыг олдог. Жишээлбэл:

Хай ("Мөр" , "oka" ); // 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - хайлтын дэд мөрийн тохиолдлын тэмдэгтийн дугаарыг олдог, тохиолдлын дугаарыг харгалзах параметрт зааж өгсөн болно. Энэ тохиолдолд хайлт нь параметрт дугаар нь заасан тэмдэгтээс эхэлдэг Анхны байр суурь.Мөрний эхнээс эсвэл төгсгөлөөс хайх боломжтой. Жишээлбэл:

Тоо4 Тохиолдол = Str Find ( "Хамгаалалт", "тухай" ,Хайлтын чиглэл. Эхлэлээс, 1, 4); // 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) – эх мөр дэх хайлтын дэд мөрийн бүх тохиолдлыг олж, түүнийг орлуулах дэд мөрөөр солино.

StrReplace ("String" , "oka", "" ); // Хуудас

хоосон мөр(<Строка>) – тэмдэгт мөрийг шалгана. Хэрэв чухал тэмдэгт байхгүй эсвэл огт тэмдэгт байхгүй бол утгыг буцаана Үнэн. Үгүй бол - Худлаа.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – Эх мөр дэх хайлтын дэд мөрийн тохиолдлын тоог тооцоолно.

StrNumberOccurrences ( "Суралц, суралц, дахин суралц", "судлах", "" );

// 3<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — StrTemplate( параметрүүдийг тоогоор нь мөр болгон орлуулна. Мөр нь "% 1..% N" маягтын орлуулах тэмдэглэгээг агуулсан байх ёстой. Тэмдэглэгээний дугаарлалт 1-ээс эхэлнэ. Хэрэв параметрийн утгаТэмдэглэгдээгүй

, хоосон мөр орлуулсан байна. StrTemplate (, "1" , "2" ) ; "Параметр 1 = %1, Параметр 2 = %2"

// Параметр 1= 1, Параметр 2 = 2

Мөр хувиргах функцууд:<Строка>, <ЧислоСимволов>) арслан(

– мөрийн эхний тэмдэгтүүдийг буцаана.<Строка>, <ЧислоСимволов>) Баруун(

– мөрийн сүүлчийн тэмдэгтүүдийг буцаана.<Строка>, <НачальныйНомер>, <ЧислоСимволов>) Лхагва гараг(<ЧислоСимволов>– уртын мөрийг буцаана<НачальныйНомер>.

, тэмдэгээс эхлэн<Строка>) AbbrL(

Мөр дэх эхний чухал тэмдэгтийн зүүн талд ач холбогдолгүй тэмдэгтүүдийг тайруулна.<Строка>) Abbr(

- мөрөн дэх хамгийн сүүлийн чухал тэмдэгтийн баруун талд ач холбогдолгүй тэмдэгтүүдийг таслана.<Строка>) AbbrLP(

– мөрийн эхний чухал тэмдэгтийн зүүн талд, сүүлчийн чухал тэмдэгтийн баруун талд байгаа ач холбогдолгүй тэмдэгтүүдийг таслана.<Строка>, <НомерСтроки>) StrGetString(

– Олон мөрт мөрийг тоогоор нь авна.

Бусад онцлогууд:<Строка>) StrLength(

– мөр дэх тэмдэгтүүдийн тоог буцаана.<Строка>) StrNumberRow(

– олон мөрт мөрийн тоог буцаана. Өмнөх мөрөөс шинэ мөрийн тэмдэгтээр тусгаарлагдсан мөрийг шинэ гэж үзнэ.<Строка1>, <Строка2> ) StrCompare( – хоёр мөрийг том жижиг үсгээр харьцуулна. Функц нь объекттой төстэй ажилладагҮнэт зүйлийн харьцуулалт

  • . Буцах:
  • 1 - эхний мөр нь хоёр дахь мөрөөс их байвал
  • -1 - хоёр дахь мөр нь эхнийхээс их байвал

0 - мөрүүд тэнцүү бол

StrCompare("Эхний мөр" , "Хоёр дахь мөр" ); // 1

Шугам

String төрөл нь бүх програмчлалын хэлэнд байдаг. Энэ нь анхдагч бөгөөд 1С-д түүнтэй ажиллах олон функцууд байдаг. Энэ нийтлэлд бид жишээнүүдийг ашиглан 1С 8.3 ба 8.2 дахь мөрний төрлүүдтэй ажиллах янз бүрийн аргуудыг нарийвчлан авч үзэх болно.

Аливаа төрлийн хувьсагчийг мөр болгон хөрвүүлэхийн тулд ижил нэртэй “String()” функц байдаг. Оролтын параметр нь хувьсагч өөрөө байх бөгөөд үүний тэмдэгт мөрийг олж авах шаардлагатай.
String(False) // "Үгүй"-г буцаана
String(12345) // "12,345"-г буцаана

String(CurrentDate()) //"2017/07/21 11:55:36"

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

Эдгээр функцүүдийн оролтын параметрүүд нь мөрийн төрлийн хувьсагч юм. Функцүүд нь ач холбогдолгүй тэмдэгтүүдийг (хоосон зай, тэрэгний буцах гэх мэт) устгадаг: зүүн ба баруун талаас, зөвхөн зүүн талаас, зөвхөн баруун талаас тус тус.

Товчлол("Хоёр талын зайг арилгана") // "Хоёр талын зайг арилгана"
Товчлол("Хоёр талын зай хасагдах болно") // "Зүүн талын зай хасагдана"
Товчлол("Хоёр талын зай хасагдах болно") // "Баруун талын зай хасагдана"

Арслан, Баруун, Дунд зэрэг

Эдгээр функцууд нь мөрийн хэсгийг таслах боломжийг танд олгоно. "Зүүн ()" функц нь мөрийн зүүн талаас заасан уртын хэсгийг буцаана. "Right()" функц нь ижил төстэй боловч баруун талаас тайрдаг. “Avg()” функц нь мөрийг сонгох тэмдэгтийн тоо болон түүний уртыг зааж өгөх боломжийг олгоно.

Lev("Мөр хувьсагч", 4) // "Str"-г буцаана
Right("Мөр хувьсагч", 7) // "хувьсагч"-ыг буцаана
Medium("Мөр хувьсагч", 2, 5) // "troko"-г буцаана

StrLength

Функц нь мөрийн хувьсагчид агуулагдах тэмдэгтүүдийн тоог тодорхойлдог.

StrLength("Word") // гүйцэтгэлийн үр дүн нь 5 тоо байх болно

Хай

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

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

Find("нэг, хоёр, нэг, хоёр, гурав", "хоёр") // функц 6 гэсэн тоог буцаана

Хоосон мөр

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

EmptyString("Хулуун Василий Иванович") // функц худал утгыг буцаана
EmptyString(" ") // функц True утгыг буцаана

VReg, NReg, TReg

Эдгээр функцууд нь мөрийн хувьсагчдыг харьцуулах, хөрвүүлэхэд маш хэрэгтэй байдаг. "Vreg()" нь эх мөрийг том үсгээр, "HPreg()" жижиг үсгээр, "TReg()" нь үг бүрийн эхний тэмдэгтийг том үсгээр бичиж, дараагийн бүх тэмдэгтүүдийг том үсгээр бичнэ.

VReg("ЕРӨНХИЙ ЗАХИРАЛ") // буцах утга - "ЕРӨНХИЙ ЗАХИРАЛ"
NReg("CEO DIRECTOR") // буцах утга - "Гүйцэтгэх захирал"
TREG("CEO DIRECTOR") // буцах утга - "Ерөнхий захирал"

PageReplace

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

StrReplace("улаан, цагаан, шар", ","", ";") // "улаан; цагаан; шар"

StrNumberLines

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

LineNumberRow функц нь 3 утгыг буцаадаг тул доорх жишээн дээрх гогцоо гурван тойрог дамжих болно.

Ind = 1-ийн хувьд Str-ийн тоогоор ("Мөр1" + Тэмдэгтүүд.PS + "Мөр2" + Тэмдэгтүүд.PS + "Мөр3") мөчлөг
<тело цикла>
Төгсгөлийн мөчлөг;

StrGetString

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

StrGetString("String1" + Тэмдэгтүүд.PS + "String2" + Тэмдэгтүүд.PS + "String3", 2) // "String2"-г буцаана

Хуудасны дугаар

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

StrNumberAttachments("a;b;c;d; ", ";") // функц 4-ийн тоог буцаана

Тэмдэг ба тэмдгийн код

Эдгээр функцууд нь Юникод кодчилол дахь кодоор нь тэмдэгт авах, мөн энэ кодыг тэмдэгтээр нь тодорхойлох боломжийг олгодог.

SymbolCode("A") // функц нь 1040 тоог буцаана
CharacterCode(1040) // функц "A"-г буцаана

Мөртэй ажиллахад хийх нийтлэг ажлууд

Холбогч мөрүүд

Хэд хэдэн мөрийг нэгтгэхийн тулд (холбохын тулд) нэмэх операторыг ашиглахад хангалттай.

“1-р мөр” + “2-р мөр” //хоёр мөр нэмсний үр дүн нь “1-р мөр 2” болно.

Төрөл хувиргалт

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

String(1000) // "1,000"-г буцаана

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

StrReplace(String(1000), Characters.NPP,"") // "1000"-г буцаана

Мөр(Формат(1000,"HG=")) // "1000"-г буцаана

Мөр дэх ишлэлүүд

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

Header = String("Horns and Hooves LLC - that is is us!") // "Horns and Hooves LLC - that is we!" гэж буцаана.

Олон мөр, мөр таслах

Олон мөрт текст үүсгэхийн тулд түүнд мөр таслах (Symbols.PS) нэмэхэд л хангалттай.

MultilineText = "Эхний мөр" + тэмдэгт.PS + "Хоёр дахь мөр"

Орон зайг хэрхэн арилгах вэ

Баруун эсвэл зүүн талын зайг арилгахын тулд та “ScrAP()” функцийг (мөн “ScrL()” болон “ScrP()”) ашиглаж болно:

StringNoSpaces = Товчлол(" Олон үсэг ") // функц нь "Олон үсэг" гэсэн утгыг буцаана.

Хэрэв тоог мөр болгон хөрвүүлсний дараа тасрахгүй зайг арилгах шаардлагатай бол дараах бүтцийг ашиглана уу.

StringNoSpaces = StrReplace(String(99999), Characters.NPP,"") // "99999"-г буцаана

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

StringNoSpaces = StrReplace("сайн уу","") // "сайн уу"-г буцаана

Мөрүүдийг бие биетэйгээ харьцуулах

Та нэр томъёог ердийн тэгш тэмдгээр харьцуулж болно. Харьцуулалт нь том жижиг жижиг үсгээр харьцдаг.

"Сайн уу" = "сайн уу" // Худал буцаана
"Сайн уу" = "Сайн уу" // Үнэнийг буцаана
"Сайн уу" = "Баяртай" // Худал гэж буцаана

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

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

Шугамын утга 1С

1. Хамгийн энгийнээс эхэлцгээе. Хувьсагч үүсгэж, түүнд тогтмол мөрийн утгыг оноох нь 1С-д дараах байдалтай байна.

Хувьсагч = "Сайн уу, дэлхий!";

Хэрэв та 1С мөрийн тогтмол утгын ишлэлийн тэмдэгтийг зааж өгөх шаардлагатай бол үүнийг хоёр дахин нэмэгдүүлэх хэрэгтэй ""

Хувьсагч = "Сайн уу, ертөнц"!;

2. Мөр таслах 1С-ийг нэг дор хоёр аргаар зааж өгч болно. Эхнийх нь | тэмдгийг ашиглаж байна

Хувьсагч = "Сайн уу,
| ертөнц! ";

Хоёр дахь нь Symbols системийн дугаарыг ашиглаж байна. Энэ нь 1С мөрийн завсарлага болон TAB гэх мэт хэвлэхгүй бусад тэмдэгтүүдийг хоёуланг нь нэмэх боломжийг танд олгоно.

Хувьсагч = "Сайн уу" + Symbols.PS + "энх тайван!";

3. 1С дахь тохиргоог зөвхөн нэг хэл (Орос, Англи эсвэл өөр) төдийгүй хэд хэдэн хэл дээр нэгэн зэрэг боловсруулж болно. Энэ тохиолдолд одоо ашиглаж байгаа хэлийг 1С цонхны доод хэсэгт сонгоно.

Хэлний жагсаалт нь Ерөнхий/Хэлний салбар дахь тохиргооны цонхонд байрладаг. Хэл болгонд богино танигч байдаг ruэсвэл eng.

Ийм тохиргоог програмчлахдаа 1С шугамууд нь олон хэлтэй байж болох нь тодорхой байна. Үүнийг хийхийн тулд дамжуулан зааж өгснөөр ийм 1С мөр үүсгэх боломжтой; хэлний танигчаар сонголтууд:

Хувьсагч = "ru=""Сайн уу, дэлхий! ""; en=""Сайн уу, дэлхий! """;

Хэрэв та ердийнхөөрөө ийм байдлаар үүссэн 1С мөрийг ашиглавал дотор нь бичигдсэн зүйл байх болно. Системийг хоёр сонголт болгон хувааж, хүссэн хувилбараа ашиглахын тулд та НStr() функцийг ашиглах хэрэгтэй.

//хоёр хэлний тохиргоонд зөв
Тайлан(NStr(Хувьсагч));

1С төрлийн шугамтай тулгуур

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

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

1С мөрүүд нь хязгааргүй урттай (урт = 0 гэж заасан) ба хязгаарлагдмал урттай бөгөөд тэмдэгтүүдийн яг тоог заана. Хязгааргүй урттай 1С мөрүүд нь тусдаа SQL хүснэгтэд хадгалагддаг тул тэдгээрийн хэрэглээ нь хязгаарлагдмал хэмжээтэй харьцуулахад бүтээмж багатай байдаг.

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

1С мөрүүдтэй ажиллах

1С платформ дээр мөртэй ажиллах хэд хэдэн функцууд байдаг.

  • AbbrLP ("Итгэмээргүй, гэхдээ үнэн!")
    1С шугамаас нэмэлт зайг арилгана. Мөн ямар ч төрлийг 1С мөр болгон хөрвүүлэхэд ашиглаж болно (жишээлбэл, тоо).
  • Хувьсагч = "Вася" + AbbrLP(" нэмэх") + "Оля"; //"Вася нэмэх Оля" байх болно.
    1С мөрийн хэд хэдэн утгыг нэгтгэх жишээ. Үр дүн нь нэг мөр 1С байх болно.
  • Хувьсагч = Лев("Хөгжим", 2); //"Му" байх болно
    Хувьсагч = Дунд ("Хөгжим", 2, 2); //"аюул" байх болно
    Хувьсагч = Эрх ("Хөгжим", 2); //"ка" байх болно
    1С мөрөөс дэд мөр авах янз бүрийн сонголтууд.
  • Хувьсагч = Find("Хөгжим", "zy"); //3 байх болно
    1-р тэмдэгтээс эхлэн 1С мөрөнд дэд мөр хайх.
  • Хувьсагч = StrLength("Хөгжим"); //6 байх болно
    1С мөр дэх тэмдэгтүүдийн тоог буцаана.
  • Тайлан("Сайн уу") //1С цонхны доод хэсэгт байрлах мессежийн цонхонд
    Alert("Сайн уу") //попап харилцах цонх
    Status("Сайн уу") //зүүн доод талд байгаа төлөвийг харуулах мөрөнд
    .

Объектуудыг 1С мөрөнд оруулах

Таны мэдэж байгаагаар одоогийн байдлаар бүтэцлэгдсэн мэдээлэл солилцох хамгийн түгээмэл хэлбэр бол XML юм. MS Office Word болон Excel-ийн хамгийн сүүлийн хувилбар хүртэл файлуудыг энэ форматаар хадгалдаг (docx ба xlsx тус тус өргөтгөлийг zip болгон өөрчилж, архивлагчаар нээдэг).

Мэдээлэл солилцох 1С платформ нь хэд хэдэн сонголтыг санал болгодог бөгөөд тэдгээрийн гол нь XML юм.

1. Хамгийн энгийн арга бол Abbreviation() эсвэл String() функцийг ашиглах явдал юм. Та хүсэлтийн хэсэгт TREPRESENTATION() функцийг ашиглаж болно. Тэдний үйл ажиллагааны үр дүн ижил байна - тэд хэрэглэгчдэд зориулсан аливаа 1С объектын стринг дүрслэлийг үүсгэдэг.

Анхдагчаар лавлахын хувьд энэ нь түүний нэр байх болно. Баримт бичгийн хувьд - баримт бичгийн нэр, дугаар, огноо.

2. Аливаа 1С объектыг (хязгаарлалттай) XML болон эсрэгээр хөрвүүлэх боломжтой. Хөрвүүлэх процессыг цуваа болгох гэж нэрлэдэг.

StringViewXml = XMLString(Утга); //1С утгаас XML авах
Утга1C = XMLValue(Төрөл("ДирectoryLink.Нэршил"),TypeStringXml); //XML мөрөөс 1С утгыг авахын тулд та хүлээн авах ёстой 1С төрлийг зааж өгөх ёстой

3. 1С платформд дурын 1С объектыг мөр болгон хувиргах өөрийн арга байдаг. Энэ нь 1С 7.7 хувилбараас шилжсэн. Энэ форматыг бусад програмууд ойлгодоггүй, гэхдээ бусад 1С үүнийг ойлгодог бөгөөд энэ нь 1С мэдээллийн санг хооронд солилцоход ашиглахад хялбар болгодог.

Мөр = ValueInRowInt(Value1C); //1С утгаас 1С мөр авах
ValueVFile("C:\MyFile.txt", Value1C); //өөр нэг сонголт бол бид 1С утгаас хадгалсан мөр бүхий файлыг авдаг
Value1C = ValueFromStringInt(String); //1С мөрөөс буцах
Value1C = ValueFile("C:\MyFile.txt"); //файлаас буцах

Маягт дээрх 1С мөрийг засварлах

1С хэл дээрх программ дахь 1С мөрүүдтэй ажиллахаас гадна мэдээжийн хэрэг хэрэглэгч тэдгээрийг засах боломжтой байхыг хүсч байна. Үүнд хэд хэдэн боломж бий:

1. Хамгийн хялбар арга бол хүсэлтээр 1С шугамыг оруулах хүсэлт гаргах явдал юм. Энэ аргыг 1С програмчлалыг заахдаа ашигладаг; энэ нь амьдралд бага ашиглагддаг (гэхдээ үүнийг ашигладаг!).

Хувьсагч = "";
Мөр = EnterValue(Хувьсагч, "Бүтэн нэрийг оруулна уу");

2. 1С объектын дэлгэрэнгүй мэдээллийг (лавлах/баримт бичиг) эсвэл маягтын дэлгэрэнгүйг (харна уу) харуулахын тулд оролтын талбарыг ихэвчлэн ашигладаг. Энэ нь хэрэглэгчдэд засварлах талбаруудтай ажиллах 1С-ийн хамгийн түгээмэл хэрэгсэл юм.

3. Оролтын талбарын боломжуудыг өргөтгөх боломжтой (оролтын талбарын шинж чанарыг харна уу, хулганы баруун товчийг дарна уу, дэлгэрэнгүйг үзнэ үү):

  • Олон мөр засварлах горимыг шалгах хайрцаг
  • Нарийвчилсан засварлах нүд (өмнөх нүдийг сонговол боломжтой)
  • Checkbox Нууц үг горим (харна уу).

4. Хэрэв оролтын талбарын бүх боломжууд танд хангалттай биш бол суулгасан засварлагч байдаг. Маягт руу нэмэхийн тулд Form/Insert Control цэсэнд Текст баримтын талбар нэмэх шаардлагатай. Түүний шинж чанарт та түүний ажиллах горимыг зааж өгч болно - Өргөтгөлийн шинж чанар.

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

Form Elements.ElementNameTextDocumentField.SetText(StringValue); //энд ValueString нь атрибутаас хүлээн авсан текст юм

Хадгалах зохицуулагч дээр, жишээлбэл, Хадгалах товчлуур дээр хадгалалт нэмнэ:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //ValueЭнд байгаа мөр нь утгыг хадгалах шинж чанар юм

5. 1C хувилбар 8.2.11-д, удирддаг маягтуудад 1С мөрийг төлөөлөх шинэ сонголт гарч ирэв - Formatted Document талбар.


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

  • Бид маягтыг нь үүсгэж байгаа 1С объектод (лавлах, баримт бичиг, боловсруулалт гэх мэт) - үнэ цэнийг хадгалах төрөл бүхий атрибут нэмнэ үү.
  • OnReadOnServer() функцэд бид атрибутаас текстийг тохируулдаг

    //энд Аттрибут нь 1С объектын нэмсэн шинж чанар юм
    //энд FormattedDocument нь форм дээрх засварлах талбарын нэр юм
    &Сервер дээр

    FormattedDocument = CurrentObject.Attributes.Get();
    Процедурын төгсгөл

  • BeforeWritingOnServer() функц эсвэл товчлуурыг ашиглан бид текстийг талбараас бичих болно

    &Сервер дээр
    ReadingOnServer (CurrentObject) үед хийх журам
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    Процедурын төгсгөл

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

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

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

Форматлах функц StrTemplate()

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

// 3<Шаблон>, <Значение1-Значение10>)

<Шаблон>- энэ бол параметрийн дүрслэлийг орлуулах шаардлагатай мөр юм.

<Значение1> , ... <Значение10>- эдгээр нь параметрүүд (хамгийн ихдээ арав) бөгөөд тэдгээрийн дүрслэлийг мөрөнд орлуулах ёстой.

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

Жишээлбэл, ийм операторыг ажиллуулах үр дүн:

шугам байх болно:

2-р мөрөнд өгөгдлийн алдаа (Огнооны төрөл шаардлагатай)

StrCompare() мөртэй ажиллах функц

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

Та ижил үйлдлийг Утга харьцуулах объектыг ашиглан өмнө нь хийж болно:

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

StrStartsWith(), StrEndsAt() мөртэй ажиллах функцууд

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

Жишээлбэл, тэдгээрийг If мэдэгдэлд ашиглахад тохиромжтой:

StrDivide(), StrConnect() мөрүүдтэй ажиллах функцууд

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

StrFind() мөртэй ажиллах функц

Хуучин Find() функцийн оронд бид нэмэлт боломжуудтай шинэ функцийг хэрэгжүүлсэн:

  • Янз бүрийн чиглэлд хайх (эхнээсээ, төгсгөлөөс);
  • Тодорхой байрлалаас хайх;
  • Тодорхой тоотой (хоёр дахь, гурав дахь гэх мэт) тохиолдлыг хайх.

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

Шинэ хайлтын боломжуудыг ашиглах жишээг доор харуулав. Урвуу хайлт танд URL дахь бүтэн файлын нэр гэх мэт албан ёсны мөрийн сүүлчийн фрагмент хэрэгтэй үед хэрэгтэй. Заасан байрлалаас хайх нь бүх мөрөнд биш харин мэдэгдэж буй фрагментээс хайх шаардлагатай тохиолдолд тусална.