1с мөр нэмэх. Шинэ мөрт функцууд

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

Мөр нэмэх

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

"Нэр: " + Гүйцэтгэгч.Нэрийг Лавлахаас 1-р багана болгон СОНГООРОЙ.Гүйцэтгэгчид ХААНА Гүйцэтгэгч ГЭРЭЭ.

Дэд мөр функц

SUBSTRING(<Строка>, <НачальнаяПозиция>, <Длина>)

Объект загвараас Environment() функцын аналог. Substring() функцийг мөрийн төрлийн өгөгдөлд хэрэглэж болох ба фрагмент сонгох боломжийг танд олгоно <Строки> , тоон тэмдэгтээр эхэлнэ <НачальнаяПозиция> (мөр дэх тэмдэгтүүдийг 1-ээс дугаарласан) ба урт <Длина> тэмдэгтүүд. Функцийн үнэлгээний үр дүн нь хувьсагчийн урттай мөрийн төрөлтэй байх ба уртыг хязгааргүй гэж үзнэ. <Строка> хязгааргүй урт ба параметртэй <Длина> тогтмол биш эсвэл 1024-ээс ихгүй байна.

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

Анхаар!Хязгааргүй урттай мөрүүдийг хязгаарлагдмал урттай мөр болгон хөрвүүлэхийн тулд SUBSTRING() функцийг ашиглахыг зөвлөдөггүй. Үүний оронд EXPRESS() дамжуулах операторыг ашиглах нь дээр.

Үүнтэй төстэй функц

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

Counterparties.Нэрийг Лавлахаас 1-р багана болгож СОНГООРОЙ.Харилцагч талуудыг эсрэг талууд ХААНА Counterparties.Нэр = "Газпром"

Гэхдээ илүү нарийн харьцуулалт хийх шаардлагатай бол яах вэ? Зөвхөн тэгш байдал, тэгш бус байдлын төлөө бус, тодорхой хэв маягтай ижил төстэй байдлын үүднээс үү? Яг ийм зорилгоор LIKE функц бүтээгдсэн.

LIKE - Мөр нь загвартай төстэй эсэхийг шалгах оператор. SQL дээрх LIKE-ийн аналог.

LIKE оператор нь зүүн талд заасан илэрхийллийн утгыг баруун талд заасан загвар мөртэй харьцуулах боломжийг олгодог. Илэрхийллийн утга нь string төрлийн байх ёстой. Хэрэв илэрхийллийн утга загвартай тохирч байвал операторын үр дүн ҮНЭН, эс бөгөөс ХУДАЛ болно.

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

  • % (хувь): дурын тооны дурын тэмдэгт агуулсан дараалал;
  • _ (доод зураас): нэг дурын тэмдэгт;
  • […] (дөрвөлжин хаалт доторх нэг буюу хэд хэдэн тэмдэгт): дөрвөлжин хаалт дотор жагсаасан дурын нэг тэмдэгт. Тооцоолол нь муж доторх дурын тэмдэгт, түүний дотор мужын төгсгөлийг илэрхийлдэг a-z зэрэг мужуудыг агуулж болно;
  • [^…] (дөрвөлжин хаалтанд үгүйсгэх тэмдэг, араас нь нэг буюу хэд хэдэн тэмдэгт): Үгүйсгэх тэмдгийн дараа жагсаасан тэмдэгтүүдээс бусад ганц тэмдэгт.

Өөр ямар ч тэмдэг нь өөрөө гэсэн үг бөгөөд нэмэлт ачаа үүрдэггүй. Хэрэв жагсаасан тэмдэгтүүдийн аль нэгийг өөрөө бичих шаардлагатай бол түүний өмнө заавал байх ёстой<Спецсимвол>. Би өөрөө<Спецсимвол>(ямар ч тохиромжтой тэмдэгт) дараа нь ижил мэдэгдэлд тодорхойлогддог түлхүүр үгТУСГАЙ ТЭМДЭГ.

Шилэн харцнаас авсан тэмдэглэл

08/18/2014 Мөртэй ажиллах шинэ функцууд

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

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

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

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

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

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

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

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

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

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

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

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

StrCompare () мөр функц

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

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

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

Мөр функцууд StrBeginsC(), StrEndsTo()

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

Жишээлбэл, тэдгээрийг оператор дээр ашиглах нь тохиромжтой Хэрэв:

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

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

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

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

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

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

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

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

Шугам

Аливаа төрлийн хувьсагчийг мөр болгон хөрвүүлэхийн тулд ижил нэртэй "String ()" функц байдаг. Оролтын параметр нь хувьсагч нь өөрөө байх ба түүний хэлхээний дүрслэлийг олж авах болно.

String(False) // "Үгүй"-г буцаана
String(12345) // "12 345"-г буцаана
String(CurrentDate()) //"2017.07.21 11:55:36"

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

Товчилсон LP, товчилсон L, товчилсон П

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

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

Арслан, Баруун, Дунд

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

Lion("String variable", 4) // "Stro"-г буцаана
Right("Мөр хувьсагч", 7) // "хувьсагч"-ыг буцаана
avg("Мөр хувьсагч", 2, 5)// "troco"-г буцаана

StrLength

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

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

Хай

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

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

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

Хоосон мөр

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

EmptyString("Василий Иванович Пупкин") // функц нь худал буцаана
EmptyString(" ") // функц нь Үнэнийг буцаана

VReg, NReg, TReg

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

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

StrReplace

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

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

StrNumberRows

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

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

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

StrGetString

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

StrGetString("String1" + Symbols.PS + "String2" + Symbols.PS + "String3", 2) // "Мөр 2"-г буцаана

StrNumberOccurrences

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

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

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

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

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

Мөртэй ажиллах үед байнга хийдэг ажил

Мөрний холболт

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

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

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

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

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

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

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

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

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

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

Header = String("Horns and Hooves LLC is us!") // "Roga and Hooves LLC бол бид!"

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

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

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

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

Баруун эсвэл зүүн талд байгаа зайг арилгахын тулд та "Stretch()" (мөн "Scrpt()" болон "ScreenP()" функцийг ашиглаж болно:

StringWithoutSpaces = ShortLP(" Олон үсэг ") // функц нь "Олон үсэг" гэсэн утгыг буцаана.

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

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

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

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

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

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

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

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

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

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

Эцэст нь Нэг 3хамаагүй болно" Үг 1 Үг 2".

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

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

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

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

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

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

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

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

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

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

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

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

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

Хай ("мөр", "нүд"); // 4

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

Number4 Entry= StrFind( "Хамгаалалт", "o" , Хайлтын чиглэл. Нэгдүгээрт, 1, 4); // 7

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

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

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

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

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

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

StrPattern ( "Хувилбар 1 = % 1, Сонголт 2 = % 2", "1" , "2" ) ; // Параметр 1= 1, Параметр 2 = 2

Мөр хувиргах функцууд:

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

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

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

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

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

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

StrGetString(<Строка>, <НомерСтроки>) – олон мөрийн мөрийг тоогоор нь авна.

Бусад онцлогууд:

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

Str Шугамын тоо(<Строка>) - олон мөрт мөрийн тоог буцаана. Өмнөх мөрөөс шинэ мөрийн тэмдэгтээр тусгаарлагдсан мөрийг шинэ гэж үзнэ.

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

  • 1 - хэрэв эхний мөр нь хоёр дахь мөрөөс их байвал
  • -1 - хоёр дахь мөр нь эхнийхээс их байвал
  • 0 - хэрэв мөрүүд тэнцүү бол

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1С шугамтай ажиллах

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //ValueString бол бидний утгыг хадгалдаг тулгуур юм

5. 1C хувилбарт 8.2.11, in удирдаж буй хэлбэрүүд, гарч ирэв шинэ боломжшугамын дүрслэл 1С - Форматлагдсан баримт бичгийн талбар.


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

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

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

    FormattedDocument = CurrentObject.Attributes.Get();
    Төгсгөлийн процедур

  • BeforeWriteOnServer() функц эсвэл товчлуур дээр дарж талбараас текст бичнэ үү

    &Сервер дээр
    Процедур OnReadingOnServer(CurrentObject)
    CurrentObject.Attributes = NewValueStorage(FormattedDocument);
    Төгсгөлийн процедур



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