Funkcijas darbam ar virknēm 1s 8. Jaunas funkcijas darbam ar virknēm

Ir daži mehānismi darbam ar virknēm 1C vaicājumos. Pirmkārt, rindas var pievienot. Otrkārt, jūs varat ņemt apakšvirkni no virknes. Treškārt, virknes var salīdzināt, tostarp pēc raksta. Tas, iespējams, ir viss, ko var izdarīt ar stīgām.

Stīgu pievienošana

Lai vaicājumam pievienotu rindas, tiek izmantota darbība “+”. Varat pievienot tikai ierobežota garuma virknes.

IZVĒLĒTIES "Nosaukums: " + Darījuma partneris Nosaukums AS 1. sleja FROM Darījuma partneri KUR Saite = &Saite

Apakšvirknes funkcija

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

Funkcijas Environment() analogs no objekta modeļa. Funkciju Apakšstring () var lietot virknes datiem, un tā ļauj atlasīt fragmentu <Строки> , sākot ar simbola numuru <НачальнаяПозиция> (rakstzīmes rindā ir numurētas, sākot no 1) un garumu <Длина> rakstzīmes. Funkcijas aprēķina rezultātam ir mainīga garuma virknes tips, un garums tiks uzskatīts par neierobežotu, ja <Строка> ir neierobežots garums un parametri <Длина> nav konstante vai lielāka par 1024.

Ja virknes garums ir mazāks nekā norādīts otrajā parametrā, funkcija atgriezīs tukšu virkni.

Uzmanību! Nav ieteicams izmantot funkciju SUBSTRING(), lai neierobežota garuma virknes pārveidotu par ierobežota garuma virknēm. Tā vietā labāk ir izmantot apraides operatoru EXPRESS().

Funkcija līdzīga

Ja mums ir jāpārliecinās, vai virknes atribūts atbilst noteiktiem kritērijiem, mēs to salīdzinām:

IZVĒLĒTIES Darījuma partneri Nosaukums AS 1. sleja FROM Darījuma partneri KUR Nosaukums = "Gazprom".

Bet ko darīt, ja jums ir nepieciešams smalkāks salīdzinājums? Ne tikai vienlīdzība vai nevienlīdzība, bet līdzība ar noteiktu modeli? Tieši šim nolūkam tika izveidota funkcija LĪDZĪGS.

LIKE — operators virknes līdzības ar paraugu pārbaudei. LIKE analogs SQL.

LĪDZĪGS operators ļauj salīdzināt izteiksmes vērtību, kas norādīta pa kreisi no tās, ar raksta virkni, kas norādīta labajā pusē. Izteiksmes vērtībai ir jābūt tipa virknei. Ja izteiksmes vērtība atbilst modelim, operatora rezultāts būs TRUE, pretējā gadījumā tas būs FALSE.

Šīs rakstzīmes raksta virknē ir pakalpojumu rakstzīmes, un to nozīme atšķiras no virknes rakstzīmes:

  • % (procenti): secība, kas satur jebkādu skaitu patvaļīgu rakstzīmju;
  • _ (pasvītrojums): viena patvaļīga rakstzīme;
  • […] (viena vai vairākas rakstzīmes kvadrātiekavās): jebkura atsevišķa rakstzīme kvadrātiekavās. Uzskaitījums var saturēt diapazonus, piemēram, a–z, kas nozīmē diapazonā iekļautu patvaļīgu rakstzīmi, ieskaitot diapazona galus;
  • [^...] (kvadrātiekavās nolieguma zīme, kam seko viena vai vairākas rakstzīmes): jebkura atsevišķa rakstzīme, kas nav norādīta aiz nolieguma zīmes.

Jebkurš cits simbols nozīmē sevi un nenes nekādu papildu slodzi. Ja kāda no uzskaitītajām rakstzīmēm ir jāraksta kā pati, tad pirms tās ir jāieraksta<Спецсимвол>. Es pats<Спецсимвол>(jebkura piemērota rakstzīme) ir definēts tajā pašā paziņojumā pēc atslēgvārda SPECIAL CHARACTER.

Ieviests versijā 8.3.6.1977.

Mēs esam paplašinājuši funkciju kopu, kas paredzēta darbam ar virknēm. Mēs to darījām, lai sniegtu jums sarežģītākus rīkus virkņu datu parsēšanai. Jaunās funkcijas būs ērtas un noderīgas teksta analīzes tehnoloģiskajos uzdevumos. Uzdevumos, kas saistīti ar teksta parsēšanu, kas satur datus formatētā formā. Tā varētu būt dažu no iekārtas saņemto failu analīze vai, piemēram, tehnoloģiskā žurnāla analīze.

Iepriekš jūs varētu veikt visas darbības, kas veic jaunas funkcijas. Izmantojot vairāk vai mazāk sarežģītus algoritmus, kas rakstīti iebūvētajā valodā. Tāpēc jaunas funkcijas nedod jums nekādas principiāli jaunas iespējas. Tomēr tie ļauj samazināt koda daudzumu un padarīt kodu vienkāršāku un saprotamāku. Turklāt tie ļauj paātrināt darbību izpildi. Jo platformā realizētās funkcijas, protams, darbojas ātrāk nekā līdzīgs algoritms, kas rakstīts iebūvētajā valodā.

Formatēšanas funkcija StrTemplate()

Šī funkcija aizstāj parametrus virknē. Šādas pārveidošanas nepieciešamība bieži rodas, piemēram, parādot brīdinājuma ziņojumus. Šīs funkcijas sintakse ir šāda:

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

<Шаблон>- šī ir virkne, kurā jāaizstāj parametru attēlojumi.

<Значение1> , ... <Значение10>- tie ir parametri (maksimums desmit), kuru attēlojumi ir jāaizvieto virknē.

Lai norādītu noteiktu vietu veidnē, kur vēlaties veikt aizstāšanu, jums ir jāizmanto tādi marķieri kā %1, ... %10. Veidnē iesaistīto marķieru skaitam un parametru skaitam, kas satur vērtības, ir jāsakrīt.

Piemēram, šāda operatora izpildes rezultāts:

būs rinda:

Datu kļūda 2. rindiņā (nepieciešams datuma veids)

Funkcija darbam ar virknēm StrCompare()

Šī funkcija salīdzina divas virknes bez reģistrjutības. Piemēram, šādi:

Varat veikt to pašu darbību agrāk, izmantojot vērtību salīdzināšanas objektu:

Tomēr jaunās funkcijas izmantošana šķiet vienkāršāka. Turklāt šī funkcija atšķirībā no vērtību salīdzināšanas objekta darbojas gan plānā klientā, gan tīmekļa klientā.

Funkcijas darbam ar virknēm StrStartsWith(), StrEndsAt()

Šīs funkcijas nosaka, vai virkne sākas ar noteiktu apakšvirkni vai virkne beidzas ar noteiktu apakšvirkni. Šo funkciju algoritmu nav grūti ieviest iegultā valodā, taču to klātbūtne ļauj rakstīt tīrāku un saprotamāku kodu. Un viņi strādā ātrāk.

Piemēram, tos ir ērti izmantot If paziņojumā:

Funkcijas darbam ar virknēm StrDivide(), StrConnect()

Šīs funkcijas sadala virkni daļās, izmantojot noteiktu atdalītāju. Vai otrādi, tās apvieno vairākas rindas vienā, ievietojot starp tām atlasīto atdalītāju. Tie ir ērti, lai izveidotu vai analizētu žurnālus un tehnoloģiskos žurnālus. Piemēram, varat viegli parsēt tehnoloģiskā žurnāla ierakstu daļās, kas piemērotas turpmākai analīzei:

Funkcija darbam ar virknēm StrFind()

Vecās Find() funkcijas vietā esam ieviesuši jaunu funkciju, kurai ir papildu iespējas:

  • Meklēt dažādos virzienos (no sākuma, no beigām);
  • Meklēt no noteiktas pozīcijas;
  • Meklējiet notikumu ar noteiktu numuru (otrais, trešais utt.).

Faktiski tas dublē vecās funkcijas iespējas. Tas tiek darīts, lai saglabātu saderību ar moduļiem, kas apkopoti vecākās versijās. Ieteicams vairs neizmantot veco Find() funkciju.

Tālāk ir sniegts piemērs jauno meklēšanas iespēju izmantošanai. Apgrieztā meklēšana ir noderīga, ja nepieciešama formalizētas virknes pēdējā daļa, piemēram, pilns faila nosaukums URL. Un meklēšana no noteiktas pozīcijas palīdz gadījumos, kad jāmeklē zināmā fragmentā, nevis visā rindā.

Virkne ir viens no primitīvajiem datu veidiem 1C: Enterprise 8 sistēmās līniju satur tekstu.

Ierakstiet mainīgās vērtības līniju ir ievietotas dubultpēdiņās. Var pievienot vairākus šāda veida mainīgos.

Per1 = "1. vārds" ;
Per2 = "2. vārds" ;
Per3 = Per1 + " " + Per2;

Galu galā Per3 nozīmēs " Vārds 1 Vārds 2″.

Turklāt 1C:Enterprise 8 sistēmas nodrošina funkcijas darbam ar virknēm. Apskatīsim galvenos:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funkcija ir paredzēta, lai parādītu dialoglodziņu, kurā lietotājs var norādīt mainīgā tipa vērtību Līnija. Parametrs <Строка> ir nepieciešama un satur mainīgā nosaukumu, kurā tiks ierakstīta ievadītā virkne. Parametrs <Подсказка> neobligāti — šis ir dialoglodziņa nosaukums. Parametrs <Длина> neobligāti, parāda maksimālo ievades virknes garumu. Noklusējuma vērtība ir nulle, kas nozīmē neierobežotu garumu. Parametrs <Многострочность> neobligāti. Definē vairāku rindiņu teksta ievades režīmu: True — vairāku rindiņu teksta ievade ar rindiņu atdalītājiem; False — ievadiet vienkāršu virkni.

Varat ievadīt virkni, ja zināt rakstzīmju kodu Unicode:

Simbols(<КодСимвола>) — kods tiek ievadīts kā skaitlis.

Burts= Simbols(1103) ; // es

Ir arī apgrieztā funkcija, kas ļauj uzzināt simbola kodu.

SymbolCode(<Строка>, <НомерСимвола>) — atgriež norādītās rakstzīmes unikoda numuru kā skaitli.

Teksta reģistra konvertēšanas funkcijas:

VReg(<Строка>) — pārvērš visas virknes rakstzīmes par lielajiem burtiem.

NReg(<Строка>) — pārvērš visas virknes rakstzīmes par mazajiem burtiem.

TReg(<Строка>) — pārvērš visas virknes rakstzīmes virsraksta reģistros. Tas ir, pirmie burti visos vārdos tiek pārveidoti par lielajiem burtiem, bet pārējie burti tiek pārveidoti par mazajiem burtiem.

Funkcijas rakstzīmju meklēšanai un aizstāšanai virknē:

Atrast (<Строка>, <ПодстрокаПоиска>) — atrod meklēšanas apakšvirknes gadījuma rakstzīmju numuru. Piemēram:

Atrast ("String" , "labi" ) ; // 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — atrod meklēšanas apakšvirknes gadījuma rakstzīmju numuru, gadījuma numuru norāda attiecīgajā parametrā. Šajā gadījumā meklēšana sākas ar rakstzīmi, kuras numurs ir norādīts parametrā Sākotnējā pozīcija. Meklēšana ir iespējama no virknes sākuma vai beigām. Piemēram:

Skaitlis 4 gadījumi = Str Find ( "Aizsardzība", "par" ,Meklēšanas virziens. No sākuma, 1, 4); // 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) – atrod visus meklēšanas apakšvirknes gadījumus avota virknē un aizstāj to ar aizstājošo apakšvirkni.

StrReplace ("String" , "labi" , "" ) ; // Lappuse

Tukša rinda (<Строка>) – pārbauda, ​​vai virknē nav nozīmīgo rakstzīmju. Ja nav nozīmīgu rakstzīmju vai rakstzīmju nav vispār, vērtība tiek atgriezta Taisnība. Citādi - Meli.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – Aprēķina meklēšanas apakšvirknes gadījumu skaitu avota virknē.

StrNumberOccurrences ( "Mācīties, mācīties un vēlreiz mācīties", "pētījums" , "" ) ; // 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — aizstāj parametrus virknē pēc skaitļa. Rindā jāietver aizstāšanas marķieri šādā formā: “%1..%N”. Marķieru numerācija sākas no 1. Ja parametra vērtība nenoteikts, tiek aizstāta tukša virkne.

StrTemplate ( "Parameter 1 = %1, Parameter 2 = %2", "1" , "2" ) ; // 1. parametrs = 1, 2. parametrs = 2

Virknes konvertēšanas funkcijas:

lauva (<Строка>, <ЧислоСимволов>) – atgriež virknes pirmās rakstzīmes.

Pa labi(<Строка>, <ЧислоСимволов>) – atgriež virknes pēdējās rakstzīmes.

trešdiena (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) – atgriež garuma virkni<ЧислоСимволов>, sākot no simbola<НачальныйНомер>.

AbbrL(<Строка>) apgriež nenozīmīgās rakstzīmes pa kreisi no pirmās zīmīgās rakstzīmes virknē.

Abbr(<Строка>) — nogriež nenozīmīgas rakstzīmes pa labi no pēdējās zīmīgās rakstzīmes rindā.

AbbrLP(<Строка>) – nogriež nenozīmīgas rakstzīmes pa kreisi no pirmās zīmīgās rakstzīmes rindā un pa labi no pēdējās zīmīgās rakstzīmes rindā.

StrGetString(<Строка>, <НомерСтроки>) - iegūst vairākrindu virkni pēc skaitļa.

Citas funkcijas:

Stiprums(<Строка>) – atgriež rakstzīmju skaitu virknē.

StrNumberRow(<Строка>) – atgriež rindu skaitu daudzrindu virknē. Rinda tiek uzskatīta par jaunu, ja tā ir atdalīta no iepriekšējās ar jaunas rindiņas rakstzīmi.

StrCompare(<Строка1>, <Строка2> ) – salīdzina divas virknes bez reģistrjutības. Funkcija darbojas kā objekts Vērtību salīdzinājums. Atgriež:

  • 1 - ja pirmā rinda ir lielāka par otro
  • -1 - ja otrā rinda ir lielāka par pirmo
  • 0 - ja virknes ir vienādas

StrCompare("Pirmā rinda" , "Otrā rinda") ; // 1

Kā piemēru tam, kā darbojas funkcijas darbam ar 1C virknēm, mēs vēlamies izveidot automātisku teksta analīzi. Mēs ņemsim tekstu no faila. Analīzes rezultāts lietotājam tiek parādīts jebkurā formā.

Mums ir jāizveido ārējs apdarinātājs, kas ļaus mums atlasīt teksta failu un palaist analizatoru.

Teksta analīze 1C - forma un pogas

Tātad, izveidosim ārējo apstrādi: Konfigurators/Fails/Jauns/Ārējā apstrāde.

Veidlapas pievienošana. Veidlapā jāievieto teksta faila atlases lauks un analīzes poga.

Teksta analīze 1C - biezs klients

Formā ievietosim parastu teksta lauku. Rindas garums ir neierobežots, jo ceļš uz failu (direktoriju nosaukumi) var būt nozīmīgs.

Lai lietotājam nebūtu jāievada faila nosaukums, bet gan tas var atlasīt, laukā aktivizēsim atlases pogu.

Mēs mainīsim lauka nosaukumu uz “FileName”, saistītās formas atribūta nosaukums tiks automātiski mainīts uz tādu pašu.

Kā pogu mēs izmantosim platformas automātiski pievienoto pogu “Palaist” (un tai jau ir pievienots apdarinātājs - ērti).

Teksta analīze 1C - plāns klients

Plānajā klientā mēs patstāvīgi izveidosim formas atribūtu “FileName”. Velkam rekvizītus uz formu. Veidlapas elementa rekvizītos iespējosim arī atlases pogu.

Kā pogu mēs izveidosim komandu “Palaist”, piešķirsim tai apstrādi un ievilksim to uz formu.

Teksta analīze 1C - programmēšana

Pirmā lieta, kas mums jādara, ir jānoklikšķina uz atlases pogas – pēc noklikšķināšanas parādiet faila atlases dialoglodziņu.

Dosimies uz mūsu teksta lauka rekvizītiem veidlapā (resnajā klientā - ar peles kreiso pogu tieši uz lauka, plānā klientā - uz lauka nosaukuma sarakstā) un norādīsim notikumu apdarinātāju pasākums "Atlases sākums".

Apdarinātāja funkcijā, ko 1C izveidos, kad tā tiks piešķirta, mēs ierakstīsim vienkāršu kodu:

Tagad mums ir faila nosaukums. Mums ir “jāiegūst” tā saturs un jāizsauc teksta analīze.

Pogai Palaist mums jau ir apstrādātājs. Biezajā klientā pogu un tās apstrādātāju automātiski izveidoja 1C konfigurators. Plānajā klientā mēs to pievienojām manuāli.

Pievienosim kodu apstrādātājam, kas nolasa failu virknē:

Kas attiecas uz faila kodējumu. Ja izveidojat TextReading() objektu bez parametra, kas norāda kodējumu, 1C mēģinās neatkarīgi noteikt kodējumu (ar paraksta baitu secības atzīmi — BOM ​​vai apsvērs tā ANSI kodējumu).

Varat tieši norādīt vajadzīgo kodējumu, piemēram, šādi:
Fails = jauns lasāmais teksts(Faila nosaukums, "UTF-8"); //aizstāj vajadzīgo kodējuma nosaukumu

Tātad rezultātā mēs saņēmām:

  • Teksta virkne nolasīta no faila mainīgajā "Teksts"
  • Procedūra, kurā mēs analizēsim iegūto virkni no mainīgā, ko sauc par “TextAnalysis()”, izmantojot 1C virknes funkcijas

Programmēšanas valodas pamatiespējas parasti ietver darbu ar cipariem un virknēm. Parasti šīs funkcijas tiek iekodētas kompilatora kodā (vai tiek ieviestas programmēšanas valodas “bāzes” klases).

1C versijā iespēja strādāt ar stīgām ir ieprogrammēta pašā platformā. Šodien mēs aplūkosim iespējas strādāt ar 1C virknēm programmās iebūvētajā 1C valodā.

Līnijas vērtība 1C

1. Sāksim ar vienkāršāko. Mainīgā izveidošana un nemainīgas virknes vērtības piešķiršana 1C izskatās šādi:

Mainīgais = "Sveika, pasaule!";

Ja jums ir jānorāda citāta rakstzīme nemainīgā 1C virknes vērtībā, tā ir jādubulto “”

Mainīgais = "Sveika, pasaule"!;

2. Līnijas pārtraukumu 1C var norādīt uzreiz divos veidos. Pirmais izmanto simbolu |

Mainīgais = "Sveiki!
| pasaule! ";

Otrais ir simbolu sistēmas uzskaitījuma izmantošana. Tas ļauj pievienot gan 1C rindiņas pārtraukumus, gan citas nedrukājamas rakstzīmes, piemēram, TAB.

Mainīgais = "Sveiki" + Symbols.PS + "miers!";

3. 1C konfigurācijas var izstrādāt ne tikai vienai valodai (krievu, angļu vai citai), bet vienlaikus vairākām valodām. Šajā gadījumā 1C loga apakšā tiek atlasīta pašlaik izmantotā valoda.

Valodu saraksts atrodas konfigurācijas logā sadaļā Vispārīgi/valodas. Katrai valodai ir īss identifikators, piemēram, ru vai eng.

Ir skaidrs, ka, programmējot šādu konfigurāciju, 1C līnijas var būt arī daudzvalodu. Lai to izdarītu, ir iespējams izveidot šādu 1C līniju, norādot cauri; opcijas pēc valodas identifikatora:

Mainīgais = "ru=""Sveika, pasaule! ""; en=""Sveika, pasaule! """;

Ja jūs izmantojat šādā veidā izveidoto 1C līniju kā parasti, tad tas būs tas, kas tajā ir rakstīts. Lai sistēma to sadalītu divās opcijās un izmantotu vēlamo, jums jāizmanto funkcija НStr():

//labots divvalodu konfigurācijām
Report(NStr(Mainīgs));

Balsti ar līniju tipu 1C

Atribūts ir lauks 1C direktorijā/dokumentā. Tas atšķiras no mainīgā programmā 1C valodā ar to, ka atribūtam ir precīzi norādīts tā veids (skaitlis, 1C virkne utt.). Ja jums ir jāatsvaidzina atmiņa par to, kas ir rekvizīts, skatieties nodarbību.

Ja norādāt atribūta veidu - rinda 1C, tad papildus jānorāda parametri.

1C rindiņām ir neierobežots garums (norādīts kā garums = 0) un ierobežots garums, norādot precīzu rakstzīmju skaitu. 1C neierobežota garuma rindas tiek glabātas atsevišķā SQL tabulā, tāpēc to izmantošana ir mazāk produktīva nekā ierobežotas.

Tāpēc neierobežota garuma 1C stīgu izmantošanai ir savi ierobežojumi - tās nav iespējams izmantot visur. Piemēram, tas nav atļauts kā dokumenta numurs, atsauces kods vai mērījums.

Darbs ar 1C stīgām

1C platformā ir vairākas iebūvētas funkcijas darbam ar stīgām.

  • AbbrLP (“Neticami, bet patiesi!”)
    Noņem papildu atstarpes no 1C līnijas. Var izmantot arī, lai pārvērstu jebkādus veidus par 1C virkni (piemēram, skaitļiem).
  • Mainīgais = "Vasya" + AbbrLP(" plus") + "Olya"; //būs "Vasya plus Olya"
    Piemērs vairāku 1C virkņu vērtību summēšanai. Rezultāts būs viena rinda 1C.
  • Mainīgais = Lev("Mūzika", 2); //būs "Mu"
    Mainīgais = Vidējs ("Mūzika", 2, 2); //būs "draudi"
    Mainīgais = Tiesības ("Mūzika", 2); //būs "ka"
    Dažādas iespējas apakšvirknes iegūšanai no 1C virknes.
  • Mainīgais = Find("Mūzika", "zy"); //būs 3
    Meklējiet apakšvirkni virknē 1C, sākot ar 1. rakstzīmi.
  • Mainīgais = StrLength("Mūzika"); //būs 6
    Atgriež rakstzīmju skaitu 1C rindā.
  • Report("Sveiki") //ziņojuma logā 1C loga apakšā
    Alert("Sveiki") //uznirstošais dialoglodziņš
    Statuss("Sveiki") //statusa displeja rindiņā apakšējā kreisajā stūrī
    .

Objektu ievietošana rindā 1C

Kā zināms, šobrīd populārākais strukturētas informācijas apmaiņas formāts ir XML. Pat jaunākā MS Office Word un Excel versija saglabā failus šajā formātā (attiecīgi docx un xlsx maina paplašinājumu uz zip, atver arhivētājā).

1C platforma datu apmaiņai nodrošina vairākas iespējas, no kurām galvenā ir arī XML.

1. Vienkāršākā metode ir izmantot funkciju Abreviation() vai String(). Pieprasījuma pamattekstā varat izmantot funkciju REPRESENTATION(). Viņu darbības rezultāts ir vienāds - viņi lietotājam ģenerē jebkura 1C objekta virknes attēlojumu.

Direktorijai pēc noklusējuma tas būs tā nosaukums. Dokumentam – dokumenta nosaukums, numurs un datums.

2. Jebkuru 1C objektu (ar ierobežojumiem) var konvertēt uz XML un otrādi. Konversijas procesu sauc par serializāciju.

StringViewXml = XMLString(Vērtība); //iegūstiet XML no 1C vērtības
Vērtība1C = XMLVvērtība(Tips("DirectoryLink.Nomenclature"),TypeStringXml); //iegūstiet 1C vērtību no XML virknes, jums jānorāda 1C veids, kas jāsaņem

3. Pastāv 1C platformas veids, kā pārvērst jebkuru 1C objektu virknē. Tas tika migrēts no versijas 1C 7.7. Šo formātu citas programmas nesaprot, bet citi 1C to saprot, kas ļauj to ērti izmantot apmaiņai starp 1C datu bāzēm.

Rinda = ValueInRowInt(Vērtība1C); //iegūstiet virkni 1C no vērtības 1C
ValueVFile("C:\MyFile.txt", Value1C); //cita iespēja, mēs iegūstam failu ar saglabātu virkni no 1C vērtības
Value1C = ValueFromStringInt(String); //atpakaļ no 1C līnijas
Value1C = ValueFile("C:\MyFile.txt"); //atpakaļ no faila

1C līniju rediģēšana veidlapā

Papildus darbam ar 1C virknēm programmā 1C valodā, protams, es vēlētos, lai lietotājs varētu tās rediģēt. Tam ir vairākas iespējas:

1. Vienkāršākais veids ir pieprasīt 1C līnijas ievadi pēc pieprasījuma. Šo metodi izmanto, mācot 1C programmēšanu, dzīvē tā tiek izmantota daudz retāk (bet tiek izmantota!).

Mainīgais = "";
Rinda = EnterValue(Mainīgais, "Ievadiet pilno nosaukumu");

2. Lai parādītu informāciju par 1C objektu (direktoriju/dokumentu) vai veidlapas detaļas (sk.), visbiežāk tiek izmantots ievades lauks. Šis ir visizplatītākais rīks 1C, lai lietotājs varētu strādāt ar rediģēšanas laukiem.

3. Ievades lauka iespējas var paplašināt (skatīt ievades lauka rekvizītus, ar peles labo pogu noklikšķiniet uz tā, sīkāk):

  • Izvēles rūtiņa Daudzrindu rediģēšanas režīms
  • Papildu rediģēšanas izvēles rūtiņa (pieejama, ja ir atzīmēta iepriekšējā izvēles rūtiņa)
  • Izvēles rūtiņa Paroles režīms (sk.).

4. Ja ar visām ievades lauka iespējām jums nepietiek, ir iebūvēts redaktors. Lai to pievienotu formai, izvēlnē Form/Insert Control ir jāpievieno teksta dokumenta lauks. Tā rekvizītos var norādīt tā darbības režīmu – rekvizītu Extension.

Teksta dokumenta lauku nevar tieši saistīt ar datiem. Formas OnOpen() notikumu apdarinātājā ir jāieraksta funkcija (sk.):

Veidlapas elementi.ElementaNosaukumsTekstsDokumenta lauks.SetText(StringValue); //šeit ValueString ir teksts, kas saņemts, piemēram, no atribūta

Un saglabāšanas apstrādātājā - piemēram, pogā Saglabāt - pievienojiet saglabāšanu:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //VērtībaŠeit ir atribūts, kurā mēs saglabājam vērtību

5. 1C versijā 8.2.11 pārvaldītajās formās ir parādījusies jauna opcija 1C līnijas attēlošanai - lauks Formatēts dokuments.


Līdzīgi kā teksta dokumenta laukā, tas ir jāiestata to atverot un jāpieraksta, kad pats to saglabā, izmantojot programmu.

  • 1C objektā, kura formu mēs veidojam (direktorijs, dokuments, apstrāde utt.) - pievienojiet atribūtu ar vērtību krātuves veidu
  • Funkcijā OnReadOnServer() mēs iestatām tekstu no atribūta

    //šeit atribūts ir 1C objekta pievienotais atribūts
    //šeit FormattedDocument ir rediģējamās veidlapas lauka nosaukums
    &Serverī

    FormattedDocument = CurrentObject.Attributes.Get();
    Procedūras beigas

  • Funkcijā BeforeWritingOnServer() vai izmantojot pogu, mēs ierakstīsim tekstu no lauka

    &Serverī
    Procedūra lasīšanas laikā serverī (pašreizējais objekts)
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    Procedūras beigas