1c finn den andre forekomsten i strengen. Nye funksjoner for arbeid med strenger

💖 Liker du det? Del lenken med vennene dine

Implementert i versjon 8.3.6.1977.

Vi har utvidet settet med funksjoner designet for å fungere med strenger. Vi gjorde dette for å gi deg mer avanserte verktøy for å analysere strengdata. De nye funksjonene vil være praktiske og nyttige i teknologiske oppgaver med tekstanalyse. I oppgaver knyttet til å analysere tekst som inneholder data i formatert form. Dette kan være en analyse av noen filer mottatt fra utstyret, eller for eksempel en analyse av en teknologisk logg.

Du kan utføre alle handlingene som utfører nye funksjoner før. Bruke mer eller mindre komplekse algoritmer skrevet i et innebygd språk. Derfor gir ikke nye funksjoner deg noen fundamentalt nye muligheter. De lar deg imidlertid redusere mengden kode og gjøre koden enklere og mer forståelig. I tillegg lar de deg fremskynde utførelsen av handlinger. Fordi funksjonene implementert i plattformen fungerer, selvfølgelig, raskere enn en lignende algoritme skrevet i et innebygd språk.

Formateringsfunksjon StrTemplate()

Denne funksjonen erstatter parametere i en streng. Behovet for en slik konvertering oppstår ofte for eksempel ved visning av advarselsmeldinger. Syntaksen for denne funksjonen er som følger:

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

<Шаблон>- dette er strengen du må erstatte parameterrepresentasjonene i.

<Значение1> , ... <Значение10>- dette er parametere (maksimalt ti), hvis representasjoner må erstattes i strengen.

For å indikere et spesifikt sted i malen der du vil utføre erstatningen, må du bruke markører som %1, ... %10. Antallet markører som er involvert i malen og antallet parametere som inneholder verdier må samsvare.

For eksempel resultatet av å utføre en slik operatør:

det vil være en linje:

Datafeil på linje 2 (datotype kreves)

Funksjon for arbeid med strenger StrCompare()

Denne funksjonen sammenligner to strenger på en måte som ikke skiller mellom store og små bokstaver. For eksempel slik:

Du kan utføre den samme handlingen tidligere ved å bruke verdisammenligningsobjektet:

Å bruke den nye funksjonen ser imidlertid enklere ut. Og i tillegg til dette fungerer funksjonen, i motsetning til Value Comparison-objektet, både i tynnklienten og webklienten.

Funksjoner for å jobbe med strenger StrStartsWith(), StrEndsAt()

Disse funksjonene bestemmer om en streng begynner med en spesifisert delstreng eller om en streng slutter med en spesifisert delstreng. Algoritmen for disse funksjonene er ikke vanskelig å implementere i et innebygd språk, men deres tilstedeværelse lar deg skrive renere og mer forståelig kode. Og de jobber raskere.

For eksempel er de praktiske å bruke i If-setningen:

Funksjoner for å arbeide med strenger StrDivide(), StrConnect()

Disse funksjonene deler en streng i deler ved hjelp av et spesifisert skilletegn. Eller omvendt, de kombinerer flere linjer til én, og setter inn den valgte skillelinjen mellom dem. De er praktiske for å lage eller analysere logger og teknologiske journaler. For eksempel kan du enkelt analysere en teknologisk loggoppføring i deler som er egnet for videre analyse:

Funksjon for arbeid med strenger StrFind()

I stedet for den gamle Finn()-funksjonen, har vi implementert en ny funksjon som har flere funksjoner:

  • Søk i forskjellige retninger (fra begynnelsen, fra slutten);
  • Søk fra en spesifisert posisjon;
  • Søk etter en forekomst med et spesifisert nummer (andre, tredje osv.).

Faktisk dupliserer den egenskapene til den gamle funksjonen. Dette gjøres for å opprettholde kompatibilitet med moduler kompilert i eldre versjoner. Det anbefales at du ikke lenger bruker den gamle Finn()-funksjonen.

Nedenfor er et eksempel som bruker de nye søkemulighetene. Omvendt søk er nyttig når du trenger den siste delen av en formalisert streng, for eksempel hele filnavnet i en URL. Og å søke fra en spesifisert posisjon hjelper i tilfeller der du trenger å søke i et kjent fragment, og ikke i hele linjen.

Det er få mekanismer for å jobbe med strenger i 1C-spørringer. Først kan linjene legges til. For det andre kan du ta en delstreng fra en streng. For det tredje kan strenger sammenlignes, inkludert etter mønster. Det er nok alt som kan gjøres med strenger.

Strengtilsetning

For å legge til rader i en spørring, brukes "+"-operasjonen. Du kan bare legge til strenger med begrenset lengde.

VELG "Navn: " + Motparter Navn AS Kolonne 1 FRA Motparter AS Motparter Link = &Link

Delstrengfunksjon

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

En analog av Environment()-funksjonen fra objektmodellen. Substring()-funksjonen kan brukes på strengdata og lar deg velge et fragment <Строки> , som starter med tegnnummeret <НачальнаяПозиция> (tegn i en linje er nummerert fra 1) og lengde <Длина> tegn. Resultatet av funksjonsberegningen har en strengtype med variabel lengde, og lengden vil anses som ubegrenset hvis <Строка> har ubegrenset lengde og parameter <Длина> er ikke en konstant eller større enn 1024.

Hvis lengden på strengen er mindre enn spesifisert i den andre parameteren, vil funksjonen returnere en tom streng.

Merk følgende! Det anbefales ikke å bruke SUBSTRING()-funksjonen til å konvertere strenger med ubegrenset lengde til strenger med begrenset lengde. I stedet er det bedre å bruke cast-operatøren EXPRESS().

Funksjon lignende

Hvis vi må forsikre oss om at et strengattributt oppfyller visse kriterier, sammenligner vi det:

VELG Motparter Navn AS Kolonne 1 FRA Motparter AS Motparter Name = "Gazprom".

Men hva om du trenger en mer subtil sammenligning? Ikke bare likhet eller ulikhet, men likhet med et bestemt mønster? Det er akkurat dette SIMILAR-funksjonen ble laget for.

LIKE — Operator for å sjekke en streng for likhet med et mønster. Analog av LIKE i SQL.

SIMILAR-operatoren lar deg sammenligne verdien av uttrykket som er spesifisert til venstre for det med mønsterstrengen som er spesifisert til høyre. Verdien til uttrykket må være av typen streng. Hvis verdien av uttrykket samsvarer med mønsteret, vil resultatet av operatoren være TRUE, ellers vil det være FALSE.

Følgende tegn i malstrengen er tjenestetegn og har en annen betydning enn strengtegnet:

  • % (prosent): en sekvens som inneholder et hvilket som helst antall vilkårlige tegn;
  • _ (understrek): ett vilkårlig tegn;
  • […] (ett eller flere tegn i hakeparenteser): ethvert enkelt tegn oppført innenfor hakeparentesene. Oppregningen kan inneholde områder, for eksempel a-z, som betyr et vilkårlig tegn inkludert i området, inkludert endene av området;
  • [^...] (i hakeparentes et negasjonstegn etterfulgt av ett eller flere tegn): ethvert enkelt tegn annet enn de som er oppført etter negasjonstegnet.

Ethvert annet symbol betyr seg selv og bærer ingen ekstra belastning. Hvis et av de oppførte tegnene må skrives som seg selv, må det innledes med<Спецсимвол>. Meg selv<Спецсимвол>(hvilket som helst passende symbol) er definert i samme uttalelse etter nøkkelord SPESIELL SYMBOL.

Hei alle sammen
I dag ba de meg om ikke å vise dokumentprefikset ved utskrift av et implementeringsdokument, jeg løste problemet som følger.

StrReplace(Tall, Lev(Tall, 3), "" );

Da jeg så inn i syntaksassistenten likte jeg den så godt at jeg ønsket å skrive om arbeider med strenger i 1C:Enterprise.

En streng i 1C refererer til en primitiv datatype.

Hvis du ser på 1C-hjelpen, vil vi se følgende beskrivelse av strengtypen:
Verdier av denne typen inneholder en Unicode-streng av vilkårlig lengde.
Hvis du bruker dine egne ord om strenger, vil det fungere. En streng er en konstant som består av forskjellige tegn, alltid omgitt av anførselstegn.

Sette en linje
Hilsen = "Hei passasjer";

Flerlinjelinjer i typiske konfigurasjoner opprettes oftest ved å bruke den vertikale separatoren "|":
String = "Flerlinje
|streng
|skriv
|tekst";

Et anførselstegn i en streng er spesifisert med doble anførselstegn.
String = ""Tekst i anførselstegn"";

Det er mange operasjoner på strenger (søke inne i strengen, bestemme de første osv.), det er bedre å se på Syntax Assistant.
Syntakshjelper - Generell beskrivelse av det innebygde språket -> innebygde funksjoner -> funksjoner for arbeid med strenger.

Funksjoner for arbeid med strenger

Her er en kort oppsummering av funksjonene for å jobbe med strenger:

VReg(<Строка>) — Funksjonen konverterer alle tegn i strengen til store bokstaver.

Symbolkode(<Строка>, <НомерСимвола>) – Funksjonen mottar koden til tegnet som ligger i den overførte strengen på posisjonen med det angitte nummeret.

En løve(<Строка>, <ЧислоСимволов>) – Funksjonen velger de første tegnene til venstre i strengen.

Finne(<Строка>, <ПодстрокаПоиска>) — Funksjonen finner en forekomst av søkestrengen som en delstreng i kildestrengen.

NReg(<Строка>) — Funksjonen konverterer alle tegn i strengen til små bokstaver.

Ikke sant(<Строка>, <ЧислоСимволов>) Denne funksjonen skiller seg fra Venstre-funksjonene ved at den velger de siste tegnene fra høyre i strengen.

Tom linje(<Строка>) — Funksjonen sjekker strengen for tilstedeværelse av signifikante tegn.

Symbol(<КодСимвола>) — Funksjonen konverterer tegnkoden til en streng som inneholder tegnet.

AbbrL(<Строка>) — Funksjonen kutter av ubetydelige tegn til venstre for det første signifikante tegnet i strengen.

AbbrLP(<Строка>) — Funksjonen trimmer ikke-signifikante tegn til venstre for det første signifikante tegnet i linjen, og mellomrom til høyre for det siste signifikante tegnet i linjen.

Forkortelse(<Строка>) — Funksjonen kutter av ubetydelige tegn til høyre for det siste signifikante tegnet i strengen.

Onsdag(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) — Funksjonen velger en streng med tegn, som starter med tegnet<НачальныйНомер>, totalt antall<ЧислоСимволов>.

StrLength(<Строка>) — Funksjonen får antall tegn på linjen.

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) — Funksjonen finner alle forekomster av søkedelstrengen i kildestrengen og erstatter den med erstatningsdelstrengen.

StrGetString(<Строка>, <НомерСтроки>) - Funksjonen får en flerlinjet streng etter tall.

StrNumberCurrences(<Строка>, <ПодстрокаПоиска>) — Funksjonen beregner antall forekomster av søkedelstrengen i kildestrengen.

StrNumberRow(<Строка>) — Funksjonen teller antall linjer i en flerlinjet streng. I en flerlinjestreng er linjer atskilt med nye linjer.

TReg(<Строка>) — Funksjonen konverterer strengen til store og små bokstaver. Dette betyr at det første tegnet i hvert ord konverteres til store bokstaver i tittelen, eller til store bokstaver hvis det ikke er spesifisert store og små bokstaver for tegnet. De resterende tegnene konverteres til små bokstaver.

Type konverteringer
For eksplisitt konvertering av datatyper finnes det funksjoner med samme navn med datatypen som konverteringen skjer til: String(<Значение>)

StringFromNumbers = String(Tall);

Alle disse funksjonene er beskrevet i detalj i Syntax Assistant. Jeg beskrev hvordan Syntax Assistant kan hjelpe en nybegynner programmerer i artikkelen.

Eksempler på arbeid med strenger

Konvertere et tall til en streng og tilbake.

For å få en strengrepresentasjon av året, bruk Format-funksjonen.

Year = Format(CurrentDate(), "DF=yyyy") // Year = "2012"

For å konvertere et tall til en streng uten å sette inn et gruppeskilletegn ( ikke-brytende plass), må du bruke Format-funksjonen med parameteren BH=0:

Tall = 2012 Linje = Format(Tall, "NH=0" ); //String = "2012"

String Ingen mellomrom.

Notater fra Through the Looking Glass

18.08.2014 Nye funksjoner for arbeid med strenger

Implementert i versjon 8.3.6.1977.

Vi har utvidet settet med funksjoner designet for å fungere med strenger. Vi gjorde dette for å gi deg mer avanserte verktøy for å analysere strengdata. De nye funksjonene vil være praktiske og nyttige i teknologiske oppgaver med tekstanalyse. I oppgaver knyttet til å analysere tekst som inneholder data i formatert form. Dette kan være en analyse av noen filer mottatt fra utstyret, eller for eksempel en analyse av en teknologisk logg.

Du kan utføre alle handlingene som utfører nye funksjoner før. Bruke mer eller mindre komplekse algoritmer skrevet i et innebygd språk. Derfor gir ikke nye funksjoner deg noen fundamentalt nye muligheter. De lar deg imidlertid redusere mengden kode og gjøre koden enklere og mer forståelig. I tillegg lar de deg fremskynde utførelsen av handlinger. Fordi funksjonene implementert i plattformen fungerer, selvfølgelig, raskere enn en lignende algoritme skrevet i et innebygd språk.

Formateringsfunksjon StrTemplate()

Denne funksjonen erstatter parametere i en streng. Behovet for en slik konvertering oppstår ofte for eksempel ved visning av advarselsmeldinger. Syntaksen for denne funksjonen er som følger:

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

<Шаблон>- dette er strengen du må erstatte parameterrepresentasjonene i.

<Значение1> , ... <Значение10>- dette er parametere (maksimalt ti), hvis representasjoner må erstattes i strengen.

For å indikere et spesifikt sted i malen der du vil utføre erstatningen, må du bruke markører som %1, ... %10. Antallet markører som er involvert i malen og antallet parametere som inneholder verdier må samsvare.

For eksempel resultatet av å utføre en slik operatør:

det vil være en linje:

Datafeil på linje 2 (datotype kreves)

Funksjon for arbeid med strenger StrCompare()

Denne funksjonen sammenligner to strenger på en måte som ikke skiller mellom store og små bokstaver. For eksempel slik:

Du kan utføre samme handling tidligere ved å bruke objektet Sammenligning av verdier:

Å bruke den nye funksjonen ser imidlertid enklere ut. Og i tillegg til dette, en funksjon, i motsetning til et objekt Sammenligning av verdier, fungerer både i tynnklienten og nettklienten.

Funksjoner for å jobbe med strenger StrStartsWith(), StrEndsAt()

Disse funksjonene bestemmer om en streng begynner med en spesifisert delstreng eller om en streng slutter med en spesifisert delstreng. Algoritmen for disse funksjonene er ikke vanskelig å implementere i et innebygd språk, men deres tilstedeværelse lar deg skrive renere og mer forståelig kode. Og de jobber raskere.

For eksempel er det praktisk å bruke dem i operatøren Hvis:

Funksjoner for å arbeide med strenger StrDivide(), StrConnect()

Disse funksjonene deler en streng i deler ved hjelp av et spesifisert skilletegn. Eller omvendt, de kombinerer flere linjer til én, og setter inn den valgte skillelinjen mellom dem. De er praktiske for å lage eller analysere logger og teknologiske journaler. For eksempel kan du enkelt analysere en teknologisk loggoppføring i deler som er egnet for videre analyse:

Funksjon for arbeid med strenger StrFind()

I stedet for den gamle funksjonen Finne() Vi har implementert en ny funksjon som har flere funksjoner:

  • Søk i forskjellige retninger (fra begynnelsen, fra slutten);
  • Søk fra en spesifisert posisjon;
  • Søk etter en forekomst med et spesifisert nummer (andre, tredje osv.).

Faktisk dupliserer den egenskapene til den gamle funksjonen. Dette gjøres for å opprettholde kompatibilitet med moduler kompilert i eldre versjoner. Gammel funksjon Finne() Det anbefales å ikke bruke igjen.

Nedenfor er et eksempel som bruker de nye søkemulighetene. Omvendt søk er nyttig når du trenger den siste delen av en formalisert streng, for eksempel hele filnavnet i en URL. Og å søke fra en spesifisert posisjon hjelper i tilfeller der du trenger å søke i et kjent fragment, og ikke i hele linjen.

De grunnleggende egenskapene til et programmeringsspråk inkluderer vanligvis arbeid med tall og strenger. Vanligvis er disse funksjonene hardkodet inn i kompilatorkoden (eller "base"-klassene til programmeringsspråket er implementert).

I 1C er muligheten til å jobbe med strenger programmert i selve plattformen. I dag skal vi se på funksjonene ved å jobbe med 1C-strenger i programmer i det innebygde 1C-språket.

Linjeverdi 1C

1. La oss starte med det enkleste. Å lage en variabel og tilordne en konstant strengverdi til den ser slik ut i 1C:

Variabel = "Hei, verden!";

Hvis du trenger å spesifisere et anførselstegn i en konstant 1C-strengverdi, må du doble det ""

Variabel = "Hei verden"!;

2. Linjeskift 1C kan angis på to måter samtidig. Den første bruker symbolet |

Variabel = "Hei,
| verden! ";

Den andre er å bruke symbolsystemet. Den lar deg legge til både 1C-linjeskift og andre tegn som ikke skrives ut, for eksempel TAB.

Variabel = "Hei" + Symboler.PS + "fred!";

3. Konfigurasjoner i 1C kan utvikles ikke bare for ett språk (russisk, engelsk eller et annet) - men samtidig for flere språk. I dette tilfellet velges språket som brukes for øyeblikket nederst i 1C-vinduet.

Listen over språk er plassert i konfigurasjonsvinduet i General/Languages-grenen. Hvert språk har en kort identifikator som f.eks ru eller eng.

Det er klart at når man programmerer en slik konfigurasjon, kan 1C-linjer også være flerspråklige. For å gjøre dette er det mulig å lage en slik 1C-linje ved å spesifisere gjennom; alternativer etter språkidentifikator:

Variable = "ru=""Hei, verden! ""; en=""Hei, verden! """;

Hvis du bruker 1C-linjen dannet på denne måten som vanlig, vil det være det som er skrevet i den. For at systemet skal dele det opp i to alternativer og bruke ønsket, må du bruke НStr()-funksjonen:

//korrekt for tospråklige konfigurasjoner
Rapport(NSt(Variabel));

Rekvisitter med line type 1C

Attributtet er et felt i 1C-katalogen/dokumentet. Den skiller seg fra en variabel i et program på 1C-språket ved at dens type er nøyaktig angitt for attributtet (nummer, 1C-streng, etc.). Hvis du trenger å friske opp minnet om hva en rekvisitt er, kan du se leksjonen om.

Hvis du spesifiserer typen attributt - linje 1C, må du i tillegg spesifisere parametrene.

1C-linjer kommer i ubegrenset lengde (angitt som lengde = 0) og begrenset lengde, som indikerer nøyaktig antall tegn. 1C-rader med ubegrenset lengde lagres i en separat SQL-tabell, så bruken av dem er mindre produktiv enn begrensede.

Det er derfor bruken av 1C-strenger med ubegrenset lengde har sine begrensninger - det er ikke mulig å bruke dem overalt. Det er for eksempel ikke tillatt som dokumentnummer, referansekode eller måling.

Arbeid med 1C-strenger

Det er flere innebygde funksjoner i 1C-plattformen for arbeid med strenger.

  • AbbrLP ("Utrolig, men sant!")
    Fjerner fra linje 1C ekstra plasser. Kan også brukes til å konvertere alle typer til en 1C-streng (for eksempel tall).
  • Variabel = "Vasya" + AbbrLP(" pluss") + "Olya"; //det vil være "Vasya pluss Olya"
    Et eksempel på summering av flere 1C-strengverdier. Resultatet blir en linje 1C.
  • Variabel = Lev("Musikk", 2); //vil være "Mu"
    Variabel = Medium("Musikk", 2, 2); //det vil være "trussel"
    Variabel = Rettigheter("Musikk", 2); //det vil være "ka"
    Ulike alternativer for å få en delstreng fra en 1C-streng.
  • Variabel = Finn("Musikk", "zy"); //det blir 3
    Søk etter en delstreng i streng 1C, start med tegn 1.
  • Variabel = StrLength("Musikk"); //det blir 6
    Returnerer antall tegn i 1C-linjen.
  • Report("Hei") //i meldingsvinduet nederst i 1C-vinduet
    Alert("Hei") //popup-dialog
    Status("Hei") //i statusvisningslinjen nederst til venstre
    .

Bringe objekter til linje 1C

Som du vet, er det mest populære formatet for utveksling av strukturert informasjon for tiden XML. Til og med siste versjon MS Office Word og Excel lagre filer i dette formatet (henholdsvis docx og xlsx, endre utvidelsen til zip, åpne i et arkiv).

1C-plattformen for datautveksling gir flere alternativer, hvorav den viktigste også er XML.

1. Den enkleste metoden er å bruke funksjonen Abbreviation() eller String(). Du kan bruke funksjonen REPRESENTATION() i forespørselsteksten. Resultatet av handlingen deres er det samme - de genererer en strengrepresentasjon av et hvilket som helst 1C-objekt for brukeren.

For en katalog som standard vil dette være navnet. For et dokument – ​​dokumentnavn, nummer og dato.

2. Ethvert 1C-objekt (med restriksjoner) kan konverteres til XML og omvendt. Konverteringsprosessen kalles serialisering.

StringViewXml = XMLString(Verdi); //hent XML fra 1C-verdi
Verdi1C = XMLValue(Type("DirectoryLink.Nomenclature"),TypeStringXml); //hent 1C-verdien fra XML-strengen, må du spesifisere 1C-typen som skal mottas

3. Finnes egen vei 1C-plattformen konverterer et hvilket som helst 1C-objekt til en streng. Den migrerte fra versjon 1C 7.7. Dette formatet er ikke forstått av andre programmer, men andre 1C forstår det, noe som gjør det enkelt å bruke det for utveksling mellom 1C-databaser.

Row = ValueInRowInt(Verdi1C); //hent streng 1C fra verdi 1C
ValueVFile("C:\MyFile.txt", Verdi1C); //et annet alternativ, vi får en fil med en lagret streng fra 1C-verdien
Verdi1C = VerdiFromStringInt(String); //tilbake fra linje 1C
Value1C = ValueFile("C:\MinFile.txt"); //tilbake fra fil

Redigering av 1C-linjer på skjemaet

I tillegg til å jobbe med 1C-strenger i et program på 1C-språket, ønsker jeg selvfølgelig at brukeren skal kunne redigere dem. Det er flere muligheter for dette:

1. Den enkleste måten er å be om oppføring av en 1C-linje på forespørsel. Denne metoden brukes når du lærer 1C-programmering i livet, den brukes mye sjeldnere (men den brukes!).

Variabel = "";
Row = EnterValue(Variable, "Angi fullt navn");

2. For å vise detaljene til et 1C-objekt (katalog/dokument) eller skjemadetaljer (se), brukes oftest et inndatafelt. Dette er det vanligste verktøyet i 1C for brukeren til å jobbe med redigeringsfelt.

3. Mulighetene til inndatafeltet kan utvides (se egenskapene til inndatafeltet, høyreklikk på det, flere detaljer):

  • Avmerkingsboks Multiline redigeringsmodus
  • Avmerkingsboks for avansert redigering (tilgjengelig hvis forrige avmerkingsboks er merket av)
  • Avmerkingsboks Passordmodus (se).

4. Hvis alle funksjonene til inndatafeltet ikke er nok for deg, er det en innebygd editor. For å legge det til i skjemaet, må du legge til felt i kontrollmenyen Skjema/Sett inn tekstdokument. I egenskapene kan du spesifisere driftsmodusen – utvidelsesegenskapen.

Et tekstdokumentfelt kan ikke knyttes direkte til data. Det er nødvendig å skrive en funksjon i OnOpen() hendelsesbehandleren for skjemaet (se):

Form Elements.ElementNameTextDocumentField.SetText(StringValue); //her er ValueString teksten mottatt, for eksempel fra attributtet

Og i lagrebehandleren - for eksempel i Lagre-knappen - legg til en lagring:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //Verdi Linjen her er attributtet der vi lagrer verdien

5. I 1C versjon 8.2.11, i administrerte former, var det ny mulighet 1C linjerepresentasjon – Formatert dokumentfelt.


I likhet med feltet til et tekstdokument, må du angi det når du åpner det og skrive det ned når du lagrer det selv ved hjelp av programmet.

  • I 1C-objektet hvis form vi oppretter (katalog, dokument, behandling, etc.) - legg til et attributt med typen Verdilagring
  • I OnReadOnServer()-funksjonen setter vi teksten fra attributtet

    //her er attributtet tilleggsattributtet til 1C-objektet
    //here FormattedDocument er navnet på feltet på skjemaet for redigering
    &På server

    FormattedDocument = CurrentObject.Attributes.Get();
    Sluttprosedyre

  • I BeforeWritingOnServer()-funksjonen eller ved å bruke knappen, vil vi skrive teksten fra feltet

    &På server
    Prosedyre ved lesing på server(CurrentObject)
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    Sluttprosedyre

fortelle venner