Specifičnost funkce subdodávky (). Vlastnosti row function() Řádkové funkce na 1s vstupech

Řádky v 1C 8.3 pro importovaný jazyk 1C mají hodnoty primitivního typu Řádek. Smyslem tohoto typu je nahradit řádek ve formátu Unicode na poměrně dlouhou dobu. Změny typu řady jsou souborem symbolů kloubů na patě.

Příklad 1. Vytvořme jednoduchý text.

Ryadkova Zminna = "Ahoj světe!";

Funkce robotů s řadami 1s 8.3

Tato část bude obsahovat základní funkce, které vám umožní měnit řádky v 1s nebo analyzovat informace, které se do nich vejdou.

Délka čáry

StrLength(<Строка>) . Otočí počet znaků, aby se vešly do řádku předávaného v parametru.

Příklad 2. Zkontrolujte počet symbolů v řádku „Ahoj světe!“.

Řádek = "Ahoj světe!"; Počet znaků = StrLength(Row); Oznámit (počet znaků);

Výsledek tohoto kódu se zobrazí na obrazovce pro počet symbolů v řadě: 11.

AbbrL

AbbrL(<Строка>) . Existují nedůležité symboly, které stojí levou rukou před prvním symbolem v řadě.
Vedlejší postavy:

  • přestávka;
  • mýtina je nerozbitná;
  • tabelování;
  • otáčení vozíku;
  • posun řádku;
  • překlad formuláře (vedlejší příběh).

Příklad 3. Vyčistěte všechny paseky z levé strany světelné řady! a přidejte k němu řádek „Ahoj“.

Řádek = AbbrL ("světlo!"); Řádek = "Dobrý den" + Řádek; Zobrazit(Řádek);

Po zadání kódu se váš kód zobrazí na obrazovce v řádku „Ahoj světe!“.

Zkráceno

Zkratka(<Строка>) . Existují nedůležité symboly, které stojí hned vedle prvního symbolu v řadě.

Příklad 4. Vytvořte sérii „Ahoj“ a „Svit!“ frázi "Ahoj světe!"

Řádek = Zkratka("Ahoj")+"+ Zkratka("světlo!"); Show(Row);

AbbrLP

AbbrLP(<Строка>) . Existují také nedůležité symboly, které stojí pravou rukou před prvním znakem v řadě, a jsou také nedůležité symboly, které stojí levou rukou před prvním znakem v řadě. Tato funkce se používá častěji než ne, protože je univerzálnější.

Příklad 5. Získejte od najaté protistrany nedůležité symboly pro leváky a praváky.

Protistrana = Autority. Protistrany.KnowByRequisite("IPN", "0777121211"); CounterpartyObject = Protistrana.OtrimatiObject(); Objekt protistrany. Jméno = AbbrLP (Název objektu protistrany); CounterpartyObject. Napsat();

Lev

Lev(<Строка>, <ЧислоСимволов>) . Odebere první znaky řádku, počet znaků zadaný v parametru Počet znaků.

Zadek 6. Přejděte ke struktuře Spivrobitnik Jméno se používá, přezdívka je z vojenské uniformy mého otce. Odstraňte řádek ze jména a iniciál.

Iniciála = Lev(Spivrobitnik.Im'ya, 1); Iniciála Batkivshchyna = Lev (Spivrobitnik. Po-Batkovy, 1); Mimo Im'ya = Spivrobitnik. Přezdívka + " " + Iniciála jména + "." + Iniciativa vlasti + ".";

Používám vysílačku

Že jo(<Строка>, <ЧислоСимволов>) . Vybere zbývající symboly řádku, počet symbolů zadaný v parametru Počet znaků. Pokud je zadán počet symbolů a posune se spodní část řádku, celý řádek se otočí.

Příklad 7. Pokud například změníte řádek, datum je zapsáno ve formátu „rrrrmmdd“, odstraňte řádek s datem a změňte jej na typ datum.

Řádek = "Datum řádku: 20170910"; RowDate = Right(Row, 8); Datum = Datum(RowDate);

Seredovishche

Seredovishche<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Odebere objednávku z objednávky předané v parametru Řádek, počínaje symbolem, číslem každé indikace v parametru Cobovo číslo a dodatečná částka předaná parametru Počet znaků.Číslování znaků v řadě začíná od 1. Cobovo číslo Pokud je zadána hodnota menší nebo rovna nule, parametr nabývá hodnotu 1. Jako parametr Počet znaků není zadáno, symboly se vybírají až na konec řádku.

Příklad 8. V dalším řádku, počínaje devátou pozicí, zadejte kód regionu, poté jej vyberte a zapište do dalšího řádku.

Řádek = "Region: 99 r. Moskva"; Region = Seredovishche (řada, 9, 2);

PageFind

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Tato funkce vyhledá zadaný příkaz v řadě a otočí číslo pozice prvního symbolu nalezeného příkazu. Pojďme se podívat na parametry této funkce:

  • Řádek. Výstupní řádek;
  • PodryadkaPoshuk. Spěch v řadě;
  • Přímé vyhledávání. Přímo označuje hledání řádku v řadě. Můžete mít následující hodnoty:
    • Přímo, vtipem.;
    • Zeptám se přímo.;
  • PochatkovaPozice. Označuje pozici v řádku, od kterého začíná vyhledávání;
  • Vstup do pokoje. Označuje číslo položky vybraného řádku ve výstupním řádku.

Příklad 9. V řádku "Ahoj světe!" označte polohu zbývajícího vstupu do symbolu „i“.

PositionNumber = StrFind("Ahoj světe!", "i", DirectlySearch.End); Announce(PositionNumber);

Po zadání kódu se na obrazovce zobrazí číslo zbývajícího vstupu do symbolu „i“: 9.

VReg

VReg(<Строка>) . Převede všechny znaky zadaného řádku v 138 na velká písmena.

Příklad 10. Otočte řádek „Ahoj světlo!“ na velká písmena.

RowVreg = VRreg("ahoj světlo!"); Zobrazit (Řádek);

Po zadání kódu se váš kód zobrazí na obrazovce v řádku „HELLO SWIT!“.

NReg

NReg(<Строка>) . Převede všechny znaky zadaného řádku v 1s 8 na malá písmena.

Příklad 11. Otočte řádek „HELLO SWIT!“ na malá písmena.

RowNreg = NReg("AHOJ SWIT!"); Zobrazit (Řádek);

Po zadání kódu se váš kód zobrazí na obrazovce v řádku „Ahoj světe!“.

treg

treg(<Строка>) . Řádek se změní v dalším kroku: první znak slova se převede na velká písmena, poslední symbol slova se převede na malá písmena.

Příklad 12. Získejte skvělá první písmena v řádku „Ahoj, světe!“

RowTreg = TReg("ahoj světlo!"); Zobrazit(RowTreg);

Po zadání kódu se váš kód zobrazí na obrazovce v řádku „Ahoj světe!“.

Symbol

Symbol(<КодСимвола>) . Odstraní znak za kódem Unicod.

Příklad 13. Dodamo levák a pravák v řadě „Ahoj světe!“ symbol ★

RowZi s hvězdami = Symbol("9733")+"Ahoj světe!"+Symbol("9733"); Oznámit (Řádek s hvězdami);

Po zadání kódu se váš kód zobrazí na obrazovce v řádku „Ahoj světe!★“.

CodeSymbol

Kódový znak(<Строка>, <НомерСимвола>) . Načte kód pro znak v Unicode v pořadí přiřazeném v prvním parametru, expandovaný na pozici, přiřazený k jinému parametru.

Příklad 14. Zjistěte kód pro zbývající symbol v řádku „Ahoj světe!“.

Řádek = "Ahoj světe!"; CodeSymbol = CodeSymbol(Řádek, Délka řádku(Řádek)); Show(CodeSymbol);

Po zadání kódu se na obrazovce zobrazí symbol „!“. - 33.

Prázdný steh

Prázdný steh (<Строка>) . Kontroluje, zda je vytvořena řada pouze nevýznamných symbolů, takže je prázdná.

Příklad 15. Zkontrolujte, zda prázdný řádek obsahuje tři mezery.

Empty = EmptyRow(" "); Povidomita (prázdná);

Výsledkem tohoto kódu bude zobrazení slov „So“ na obrazovce (regulární výraz logického významu Pravda).

PageReplace

Nahradit stránku (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Zjistěte všechny vstupní řádky ve výstupním řádku a nahraďte je pořadím výměny.

Příklad 16. V řádku "Ahoj světe!" nahraďte slovo „Svět“ slovem „Přátelé“.

Row = StrReplace("Ahoj světe!", "Svět", "Přátelé"); Zobrazit(Řádek);

Po zadání kódu se váš kód zobrazí na obrazovce v řádku „Ahoj přátelé!“.

PageNumberRow

StrNumberRow(<Строка>) . Umožňuje kultivovat několik řádků v řadě. Chcete-li přejít na nový řádek 1c 8, symbol se vikorizuje PS(Symbol pro obrácení řádku).

Příklad 17. Vypočítejte počet řádků v textu:
"První řada
Další řada
Třetí řada"

Číslo = StrNumberRow("První řádek" + Symboly. PS + "Další řádek" + Symboly. PS + "Třetí řádek"); Zobrazit (číslo);

Výsledkem tohoto kódu bude počet řádků textu zobrazených na obrazovce: 3

LineOtrimatiRow

StrOtriMatiRoku(<Строка>, <НомерСтроки>) . Od řádku za ytým číslem odečítám řádek. Číslování řádků začíná od prvního.

Příklad 18. Odstraňte zbývající řádek z textu:
"První řada
Další řada
Třetí řada"

Text = "První řádek" + Symboly. PS + „Další řádek“ + Symboly. PS + "Třetí řada"; RemainingRow = StrOtrimatiRoku(Text, StrNumberRow(Text)); Zobrazit(OstAnyaRow);

Zadáním tohoto kódu se váš kód zobrazí na obrazovce v řádku „Třetí řádek“.

PageNumberInhodzhen

StrNUMINCODE(<Строка>, <ПодстрокаПоиска>) . Otočí určitý počet záznamů v určeném řádku do řádku. Funkce je citlivá na registr.

Příklad 19. Určete, kolikrát je písmeno „c“ zadáno před řádek „Řádky v 1c 8.3 a 8.2“, bez ohledu na jeho registr.

Řádek = "Řádky v 1c 8.3 a 8.2"; NumberInput = StrNumberInput(Vreg(Řádek), "C"); Povidomita(ČísloVstupy);

Výsledkem tohoto kódu bude zobrazení zadaného čísla: 2.

Začíná s

Začíná s(<Строка>, <СтрокаПоиска>) . Zkontroluje a zahájí sérii přenosů v prvním parametru a sérii v druhém parametru.

Příklad 20. Je příznačné, že IPN vybrané protistrany začíná číslem 1. Nezapomeňte na změnu Protistrana Protistrany.

IPN = Protistrana.IPN; BeginsUnits = StrBeginsWith(IPN, "1"); Jak to začínáJednotka Todi //Váš kód EndYaksto;

PageEndsAt

StrEndsWith(<Строка>, <СтрокаПоиска>) . Kontroluje, zda končí série přenosů v prvním parametru a série v jiném parametru.

Příklad 21. Znamená to, že IPN vybrané protistrany bude končit na čísle 2. Kontaktujte prosím výměníka Protistrana Odesílání zpráv do položky přílohy je uloženo. Protistrany.

IPN = Protistrana.IPN; Končí dvěma = Stránka končí (IPN, "2"); Jak skončit za dva dny // Váš kód End How;

Podíl

Rozdělit(<Строка>, <Разделитель>, <ВключатьПустые>) . Rozdělí řádek na části podle zadaných oddělovacích symbolů a zaznamená odečtené řádky z polí. První parametr ukládá výstupní řádek, druhý parametr nastavuje řádek pro umístění oddělovače, třetí určuje, zda je nutné do pole zaznamenávat prázdné řádky (po vyčištění Pravda).

Příklad 22. Pokud máme řadu, kde můžeme oddělit čísla oddělená symbolem „;“, můžeme vybrat pole čísel v pořadí.

Řádek = "1; 2; 3"; Pole = ROZDILITI(Řádek, ";"); Pro účet = 0 podle pole. Množství () - 1 cyklus vzorků pole [Sch] = číslo (AbbrLP (pole [Sch])); Vinyatok Masiv [Sch] = 0; EndTry EndCycle;

V důsledku toho bude vybráno pole čísel od 1 do 3.

StrZ'ednati

StrZ'ednati(<Строки>, <Разделитель>) . Převede pole řádků z prvního parametru na řádek, aby se všechny prvky pole umístily přes oddělovač, hodnoty jiného parametru.

Zadek 23. Vikoristovuyuchi pole čísel z předního zadku, ponechat výstupní řadu.

Pro účet = 0 podle pole. Množství () - 1 cyklus Pole [Sch] = řádek (Pole [Sch]); KіnetsCycle; Řádek = StrZ'ednati(Pole, "; ");

Typ „Row“ je běžný ve všech jazykových programech. Je to zajímavé a 1C má spoustu funkcí pro práci s ním. V tomto článku se podíváme na různé způsoby práce s typy řádků 1C 8.3 a 8.2 na zásobách.

Řádek

Aby bylo možné převést změnu jakéhokoli typu na řádek, existuje jediná funkce „Row()“. Vstupním parametrem bude samotná proměnná, jejíž řádkovou reprezentaci bude potřeba eliminovat.

Row (kecy) // Změní se na „Ni“
Řádek(12345) // otočení „12 345“
Row(LineDate()) //"07/21/2017 11:55:36″

Je možné transformovat v pořadí jak primitivní typy, tak i jiné, například prvky dokumentů a dokumentů.

SokrLP, SokrL, SokrP

Vstupní parametry těchto funkcí se změní na typ řádku. Funkce zobrazují vedlejší znaky (mezery, pohyby vozíku atd.): z levé a pravé strany, pouze z levé strany a dokonce i z pravé strany.

Zkratka("Mezery budou viditelné na obou stranách") // "Mezery budou viditelné na obou stranách"
Zkratka("Problémy budou viditelné na obou stranách") // "Problémy zla budou viditelné"
Zkratka ("Údery budou viditelné na obou stranách") // "Údery na pravé ruce budou viditelné"

Leo, správně, Seredovishche

Tyto funkce umožňují oříznout část řádku. Funkce „Leo()“ otočí část řádku z levé strany určené holubice. Funkce „Right()“ je podobná, až na to, že řezání se provádí pravou rukou. Funkce „Sed()“ umožňuje zadat číslo symbolu, ze kterého bude řádek a řádek vidět.

Leo („Strokova Zminna“, 4) // Změní se na „Stro“
Vpravo („Řádek se změnil“, 7) // otočí „pás“
Seredovishche („Strokova zminna“, 2, 5) // se změní na „troko“

Délka čáry

Funkce udává počet symbolů, které lze nalézt v řadě.

StrLength (“Word”) // Výsledkem wiki bude číslo 5

Vědět

Funkce umožňuje žertovat v jakékoli části řady. To znamená, že se číslo otáčí, protože ukazuje pozici nalezeného řádku. Pokud nejsou detekovány žádné úniky, nula se otočí.

Upozorňujeme, že vyhledávání souvisí s registrem. Pokud je více než jeden vstup v řadě v řadě klasů, funkcí je otočit ucho prvního vstupu.

Know („jedna, dva, jedna, dva, tři“, „dva“) // Funkce rotace číslo 6

Prázdný steh

Pomocí této funkce můžete určit, zda je řádek prázdný. Drobné znaky, jako jsou mezery, pohyby vozíku a další, nejsou zahrnuty.

EmptyRow (“Pupkin Vasil Ivanovich”) // funkce rotace hodnoty Nesmysl
EmptyRow() ") // funkce rotace hodnoty True

VReg, NReg, reg

Tyto funkce se liší i při pravidelných změnách. „Reg()“ otočí odchozí řádek velkými písmeny, „Reg()“ malými písmeny a „Treg()“ jej naformátuje tak, že první znak slova na straně vzhledu bude mít velké písmeno a všechny další budou mít malé písmeno.

VReg("GENERAL DIRECTOR") // hodnota, která se otáčí - "GENERAL DIRECTOR"
NReg("CEO"
TREG („GENERAL DIRECTOR“) // hodnota, která se otáčí – „General Director“

PageReplace

Tato funkce je podobná nahrazení textových editorů. Umožňuje vám nahradit jeden znak nebo nastavit různé znaky pro pravidelné změny.

StrReplace("red, white, yellow", ","," ";") // turn "red; bílý; Zhovtiy"

PageNumberRow

Funkce umožňuje určit počet řádků oddělených převody vozíku ve změně textu.

Cyklus na spodním zadku projde třemi sázkami, fragmenty funkce StrNumber rotují hodnotu 3:

Pro ind=1 podle StrNumberRow („Řádek1“ + Symboly.PS + „Řádek2“ + Symboly.PS + „Řádek3“)
<тело цикла>
KіnetsCycle;

LineOtrimatiRow

Tato funkce pracuje s textem vyššího řádu stejným způsobem jako předchozí. To vám umožní odstranit řádek z řádku textu.

LineString("Row1" + Symbols.PS + "Row2" + Symbols.PS + "Row3", ​​​​2) // otočte "Row2"

PageNumberInhodzhen

Funkce upravuje počet záznamů v symbolu nebo pořadí v řadě.

StrNumberInvestment("a;b;c;d",",";") // otočení funkce číslo 4

Symbol a KódSymbol

Tyto funkce umožňují extrahovat znak za kódem z kódu Unicode a také hodnotu kódu za znakem samotným.

CodeSymbol("A") // funkce otočit číslo 1040
Kód pro symbol (1040) // Funkce otočení “A”

Části zakázky pod hodinou práce v řadách

Kombinace řad

Pro spojení více řádků (pro vytvoření zřetězení) stačí použít operátor sčítání.

"Řádek 1" + "Řádek 2" //výsledkem přidání dvou řádků bude "Řádek 1 řádek 2"

Znovuvytvoření typů

Aby bylo možné převést typ na řádek, například zprávu odeslanou prvku argumentu, číslu nebo něčemu jinému, stačí použít funkci „Row()“. Funkce podobné „Scratch()“ automaticky transformují proměnné do řádku nebo dokonce do řádku nedůležitých symbolů.

Řádek (1000) // otočení „1 000“

Vezměte prosím na vědomí, že když vložíte čísla do řady, program automaticky přidá mezeru, která dává dohromady tisíc. K dosažení této jedinečnosti můžete rychle použít následující konstrukce:

StrReplace(Row(1000),Characters.NPP,"") // otočení "1000"

Řádek (Formát (1000, "CHG =")) // otočení "1000"

Tlapky v řadě

Často se ocitnete tváří v tvář potřebě mluvit s obyčejným člověkem. Text můžete zadat, napsat do konfigurátoru, nebo jen změnit. K dokončení tohoto úkolu stačí vložit dva symboly tlapky.

Nadpis = Řádek (“TOV “Rogi ta kopita” - tse mi!”) // otočit “TOV “Rogi ta kopita” - tse mi!”

Bagatory řada, přenesená řada

Pro vytvoření bohatě uspořádaného textu stačí přidat k novému symbolu přenášeného řádku (Symbols.PS).

Bagatory Row Text = „První řádek“ + Symboly.PS + „Další řádek“

Jak uklidit paseky

Chcete-li mezery vyčistit pravou rukou nebo zlem, můžete rychle použít funkci „ScrAP()“ (stejně jako „ScrL()“ a „Scratch()“):

RowWithoutGaps = AbbrLP("Spousta písmen") // funkce pro otočení hodnoty "Spousta písmen"

Pokud po vložení čísel do řady potřebujete sbírat nepřerušené paseky, použijte následující konstrukci:

RowWithoutGaps = StrReplace(Row(99999),Symbols.NPP,"") // otočení "99999"

Programy také často obsahují konstrukci nižší úrovně, která umožňuje smazat nebo nahradit celé textové pole jiným znakem:

Řádek bez mezer = Nahrazení stránky („příjem“, „“) // otočení „ahoj“

Zarovnání řádků mezi sebou

Termíny lze ztotožňovat se základním znakem rovnosti. Při aktualizaci je registr pojištěn.

“Ahoj” = “ahoj” // otočit Nesmysl
„Ahoj“ = „Ahoj“ // vlastně pravda
“Ahoj” = “Do dne” // otočit Nesmysl

Část obsahuje popis specifických vlastností funkce PIDSTROK() vašich dotazů ve verzi klient-server díla a doporučení pro promptní dotazy, které z ní lze odvodit.

Funkce PIDSTROW()

V dotazech 1C:Enterprise lze funkci PIDSTROKU() ve formátu PIDSTROKU(,) nastavit na data typu řádku a umožňuje zobrazit fragment, který začíná číslem znaku (znaky v řádku jsou číslovány od 1) a poslední znak iv. Výsledkem výpočtu funkce PIDSTROW() je typ řádku proměnlivého rabatu a rabat bude považován za nevypočítaný, protože se jedná o nekomputovaný rabat a parametr není konstantní nebo překračuje 1024.

Výpočet funkce PIDSTROW() na SQL serveru

Ve verzi klient-server je funkce PIDstrING() implementována za doplňkovou funkcí SUBSTRING() příkazu SQL, který je předán databázovému serveru SQL Server, který vypočítá typ výsledku funkce SUBSTRING() za složitá pravidla vkladu, ale podle typu, hodnot parametrů a tak No, záleží na kontextu, ve kterém se vítězí.

Ve většině případů se tato pravidla nevztahují na dotaz 1C:Enterprise, ale chyby, pokud je výsledkem maximální výsledek řádku, počítá SQL Server. Je důležité poznamenat, že v některých kontextech může být maximální délka výsledku rovna maximální délce řádku, což je na serveru SQL Server 4000 znaků. To může vést k neočekávanému dokončení otázky.

Zeptejte se například:

VIBROVAT
VIBIR

Jinak NULL
KINETS YAK Podannya,
VIBIR
Zobrazení KOLI = & LegalAddressFizOblichya
TODI PIDSTROKU (Manifestace, 0, 200)
Jinak NULL
KINETS YAK Podannya1
Z

V POŘÁDKU
Podannya,
Podannya1

končí abnormálně s upozorněními:

Analýza DBMS:
Poskytovatel Microsoft OLE DB pro SQL Server: Upozornění: Procesor Processor nemůže vybrat požadovaný plán z optimalizátoru, protože celkový počet všech sloupců v klauzuli GROUP BY nebo ORDER BY přesahuje 8000 bajtů.
HRESULT=80040E14, SQLSTATE=42000, nativní=8618

To znamená, že Microsoft SQL Server vypočítal maximální množství řádku, což má za následek následující výraz:

VIBIR
Zobrazení KOLI = & LegalAddressFizOblichya
TODI PIDSTROKU (Manifestace, 0, 200)
Jinak NULL
KINETS YAK Podannya,

více než 4000 znaků. Celkový záznam, který se skládá ze dvou takových polí, proto přesahuje 8000 bajtů, což je povoleno pro jakoukoli operaci řazení.

V souvislosti s popsanou zvláštností funkce SUBSTRING() na SQL Serveru se použití funkce SUBSTRING() ke zmenšení řádků neohraničeného řádku na řádky ohraničeného řádku nedoporučuje. Místo toho je lepší použít operaci typu VIRASITI(). Zokrem, zaměřovací pažba může být přepsána z Viglyad:

VIBROVAT
VIBIR
Zobrazení KOLI = & LegalAddressFizOblichya
Jinak NULL
KINETS YAK Podannya,
VIBIR
Zobrazení KOLI = & LegalAddressFizOblichya
TODI VIRAZITI (Projevuje se YAK Row(200))
Jinak NULL
KINETS YAK Podannya1
Z
Registr nemovitostí. Kontaktní informace YAK Kontaktní informace
V POŘÁDKU
Podannya,
Podannya1

Chceme s vámi vše probrat funkce filmu 1s, jakož i konstrukce filmových dotazů. Jaká je funkce designu? Funkce se aktivuje s rameny a jejich možnými parametry a návrh je napsán bez ramen. Šílený všechny návrhy a funkce dotazů mov 1c zpomalit proces získávání dat, která jsou flexibilní a bohatě funkční. Tyto funkce a provedení jsou kompletně napájeny a funkce jsou také kompletně napájeny.

Funkce filmů 1s

Fragmenty moudrého popisu Funkce filmu 1c Tomu se věnuje mnohem dříve, pod popisem designu jsme se rozhodli začít koukat na samotné funkce. Nyní se podívejme blíže, popíšeme jeho význam, syntaxi a použití atd.

1. Funkce DATUM HODINA- Tato funkce vytváří konstantní pole typu „Datum“.

Syntax: DATUM HODINA(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Vikoristan zadek:

2. Funkční rozmanitost- Otočí rozdíl dvou dat v jedné dimenzi (den, měsíc, den, rok, rok, sekunda). Hodnota se přenese do parametru.

Syntax: REALIZEDDAT(<Дата1>, <Дата2>, <Тип>)

Vikoristan zadek:

Request.Text = "VIBRATI | REZNESTDAT(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | YAK Kolvodniv";

3. funkce VALUE- specifikuje konstantní pole s předhodnoceným záznamem z databáze, lze také odstranit prázdnou zprávu libovolného typu.

Syntaxe: VALUE(<Имя>)

Vikoristan zadek:

Request.Text = "VIBRATI //element zvětšení | VALUE(Dovidnik.Currency.Dolar) YAK dolar, //prázdná zpráva | Physioba) YAK PhysOblichya, / / ​​​​zoom rahunok |

4. Funkce VIBIR- Máme před sebou analog návrhu, který je opraven v kódu, stejně jako je opraven v dotazech 1C.

Syntax: VIBIR KOLI<Выражение>TODI<Выражение>v opačném případě<Выражение>KINETY

Vikoristan zadek:

Request.Text = //pokud je částka vyšší než 7500, pak může dojít ke snížení o 300 rublů, //proto se používá funkce //otočí částku - 300 //stejným způsobem se prostě otočí částka "VIBRATI | VIBIR | KDYŽ PM Nadhodzhenya .Suma > 7500 | TODI TCHNadhodzhennya.Suma - 300 | Inakshe TCHNadkhodzhennya.Suma |

5. Funkce VIRASITI- umožňuje vyjádřit konstantní pole typem písně.

Syntax: VIRAZITY (Název pole Název typu YA)

Vikoristan zadek:

dotaz | Z | RegisterAccumulation.Purchases YAKPurchased";

Další možností je použití funkce VARIATE v polích smíšených typů, kam se přibližují? Nejjednodušším příkladem je „Registrátor“ pro jakýkoli registr. Pak možná budeme muset zkontrolovat typ u registrátora? Podívejme se na situaci, pokud vybereme z registrátoru pole "Číslo", z jaké tabulky se bude číslo zadávat? Správná odpověď je od všech! Proto, abychom mohli provést postup, musíme specifikovat explicitní typ pro doplňkovou funkci VIRASITI

Vikoristan zadek:

Req.Text = "VIBRATI | VIRASITI(Nomenklatura.Komentář YAK Řádek(300)) Komentář YAK, | VIRASITI(Nomenklatura.Součet YAK Číslo(15,2)) YAK Součet |Z | Dovidnik.Nomenklatura YAK

6. Funkce ISNULL(alternativně psáno NULL) - pokud je pole typu NULL, je nahrazeno jiným parametrem funkce.

Syntax: Є NULL (<Поле>, <ПодставляемоеЗначение>)

Vikoristan zadek:

Je také důležité, že typ NULL musí být nahrazen NEJPRVE jako hodnota, protože Ztotožňování typu NULL vždy vede k nesmyslu, protože dáváte rovnítko mezi NULL a NULL. Nejčastěji se do tabulky spojení přidávají hodnoty NULL (všechny typy jsou spojeny kromě interního).

Query.Text = //Vyberte celou nomenklaturu a její přebytek //pokud je v některé nomenklatuře přebytek, bude zde pole //NULL, které bude nahrazeno hodnotami 0 "SELECT | Nom .Posylannya, | Zalishok |Z |Dovdnik.Nomenklatura YAK Nom |Živý registr Z'ednannyaAkumulace.Zboží ve skladech.Zavěšené zboží YAKVSkladechZalishki |PZ (ProduktyveskladechZalishki.Nomenklatura = Nom.Poz.)

7. funkce REPREZENTACE- umožňuje zadat dané pole v požadavku.

Syntax: ZÁSTUPCE(<НаименованиеПоля>)

Vikoristan zadek:

Request.Text = "VIBRATI | REPRESENTATION(Viln_ZalishkiZalishki.Nomenklatura) YAK Nomenklatura, | REPRESENTATION(Viln_ZalishkiZalishki.Warehouse) YAK Warehouse, |

Návrhy pro mov zapitiv 1s

Nejvíce jsme se dívali na tebe funkce filmu 1s, nyní nastal čas se podívat návrhy pro mov zapitiv 1s, smrad není o nic méně důležitý než kořeny, začněme.

1. Design POSILANNYA- je logický operátor pro kontrolu typu zprávy. Nejčastěji se vyskytuje při kontrole pole skládaného typu pro konkrétní typ. Syntax: POSILANNYA<Имя таблицы>

Vikoristan zadek:

Query.Text = //jako typ hodnoty registrátora je Pributkovův doklad, //pak se bude střídavě psát "Spolehlivost zboží", jinak "Prodej zboží" "VIBRATI | VIBIR | KDYŽ Zalishki.Registrar POSILANNYA Document . "" Vitrata "" | KINETS YAK Vidi ruhu | Z | Akumulace registrů.

2. Design МІж- Tento operátor kontroluje a zadává hodnoty indikací rozsahu.

Syntax: MIZH<Выражение>І<Выражение>

Vikoristan zadek:

Request.Text = //odstranění veškeré nomenklatury, jejíž kód leží v rozsahu od 1 do 100 "VIBRATI | Nomenklatura. Posilannya | Z | Dovidnik. Nomenklatura YAK Nomenklatura | DE | Nomenklatura.

3. Design B a B ІЄARCHY- zkontrolujte, zda jsou hodnoty v seznamu, který se přenáší (do seznamu lze přenášet pole, tabulky hodnot atd.). Operátor B ІЄARCHY umožňuje zobrazit hierarchii (příklad Vikoristan Plan Rakhunkiv).

Syntax: V(<СписокЗначений>), IN ІЄARCHІЇ(<СписокЗначений>)

Vikoristan zadek:

Request.Text = // vybrat vše subrahunki rakhunkovy "VIBRATI | Gosprozrakhunkovy. Posilannya YAK Rakhunok | Z | Plan Rakhunok. Gosprozrakhunkovy YAK Khozrozrakhunkovy | DE | Gosprozrakhunkovy.

4. KONSTRUKCI KONKRÉTNĚ- Tato funkce nám umožňuje otočit řádek ze šablony řádku.

Syntax: SKVĚLE"<ТекстШаблона>"

Možnosti vzoru řádků:

% - Sekvence, která pojme co nejvíce symbolů.

Jeden symbol stačí.

[...] - ať už jde o jeden symbol, nebo o sekvenci symbolů ze čtvercových ramen umístěných uprostřed. Přeuspořádání lze nastavit na rozsahy, například a-z, což znamená poslední znak, který předchází rozsah, včetně konců rozsahu.

[^...] - buď jeden symbol, nebo posloupnost symbolů ze seznamu uprostřed čtvercových ramen a také symbolů uvedených za křížkem.

Vikoristan zadek:

Request.Text = //známe celou nomenklaturu, jak umístit kořen TABUR a začíná //buď malým nebo velkým písmenem "VIBRATI | Nomenklatura. Posilannya | Z | Nomenklatura YAK Nomenklatura | DE | Produkty. Pojmenování PODOBNĚ "" [Tt ]abur%""";

5. Stavba POVOLENA- Tento operátor umožňuje výběr záznamů z databáze, kde máte právo číst. Tato práva nelze upravit na úrovni záznamů (RLS).

Syntax: POVOLENO psát za klíčové slovo VIBRATE

Vikoristan zadek:

Request.Text = "VIBRAČNÍ POVOLENÍ | Protistrana.Posilannya |Z | Dovidnik. Protistrana YAK Protistrana";

6. Konstrukce velikosti- umožňuje vybrat záznamy, které mají denně opakované záznamy.

Syntax: ІЗНІ se píše za klíčovým slovem VIBRATE

Vikoristan zadek:

Request.Text = // vybere záznamy, ke kterým má čtenář "VIBRATIYIZNI | Protistrany. Jméno | Z | Poradce. Protistrany Protistrany YAK";

Také Stavbu RIZNI lze použít ve spojení s operátorem POVOLENO a dalšími operátory.

Vikoristan zadek:

Request.Text = // vybere různé záznamy, ke kterým má čtenář práva "VYBRAT OPRÁVNĚNÍ | Protistrany. Jméno | Z | Advokát. Protistrany Protistrany YAK";

7. Design PERSHI- vybere počet záznamů zadaný v parametru z výsledku dotazu.

Syntaxe: PERSHI<число>

Vikoristan zadek:

Žádost Text = // Vyberte první 4 čísla VMD z dokumentu "VIBRATE PRVNÍ 4 | Čísla VMD. Posilannya | Z | Dokument.

8. Design pro změnu- umožňuje blokovat tabulku, což funguje i v transakcích (zejména automatické blokování).

Syntax: PRO MYSL<НаименованиеТаблицы>

Vikoristan zadek:

Cap.Text = "REVER |

9. Stavba OBJEDNÁVKA OD- seřadí údaje podle pěveckého oboru. Vzhledem k tomu, pole je zpráva, pak při instalaci prapor Automatické uspořádání koupele Pokud je zadán prapor, budou zprávy seřazeny podle seniority poštovní adresy v paměti.

Syntax: V POŘÁDKU<НаименованиеПоля>Automatické uspořádání koupele

Vikoristan zadek:

Request.Text = "VIBRATI | Vilni Zalishki Zalishki. Nomenklatura YAK Nomenklatura, | Vilni Zalishki Zalishki. otutuvannya";

10. Design GROUP BY- slouží k seskupení řad za zpěvovými poli. Číselná pole mohou být narušena jakoukoli agregační funkcí.

Syntax: SKUPINA VYTVOŘENÁ<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Vikoristan zadek:

Request.Text = "VIBRATI | Produkty ve skladech. Nomenklatura YAK Nomenklatura, | Produkty ve skladech. Sklad, | ve skladech.

11. Design MAYUCHI- umožňuje nastavit agregační funkci mozku sběru dat, podobně jako u návrhu DDE.

Syntax: MAYUCHI<агрегатная функция с условием>

Vikoristan zadek:

Query.Text = // vybírá seskupené záznamy z pole IN Zřejmě více než 3 "VIBRATI | ProduktyVSkladech.Nomenklatura YAK Nomenklatura, | ProduktyInWarehouses.Warehouse, | PZ | ProductsInWarehouses.Nomenclature, | ProductsInWarehouses.Warehouse | sti) > 3" ;

12. Design INDEXUVATI BY- Vyhledávací pole se používá pro indexování. Vyhledávání indexovaných polí bude dokončeno před indexováním. Můžete také vikorizovat virtuální tabulky.

Syntax: INDEXUVATI BY<Поле1, ... , ПолеN>

Vikoristan zadek:

Request.Text = "VIBRATI | Tz. Název OS, | Tz. Číslo složky, | Tz. CodeOS, | Tz. Termín, | Tz. Typ | ENTER Data Tz | .KodOS";

13. Design DE- umožňuje ovlivňovat mysl, ať už jde o pole výběru. Výsledkem je, že záznamy, které uspokojují pouze mysl, jsou promarněny.

Syntax: DE<Условие1 ОператорЛогСоединения УсловиеN>

Vikoristan zadek:

Request.Text = //vybere všechny položky z libovolného CompensationExcess<>0 і //AmountForRozchCompRemaining > 100 "VIBRATI | KompenzaceRRzbývají.Protistrana, | KompenzaceRRzůstává.Ditina, | KompenzaceRRzůstává.KompenzaceZalishok, | KompenzaceRpostach. . Přebytek YAK KompenzaceRPCostacsRPO.Kompenzace |Kompenzace<>0 | І CompensationRPORemains.AmountForRozchCompRemaining > 100" ;

14. Design tašky... ZA OBALEM- návrh specifikuje pole, která jsou ovlivněna vaky a agregační funkce, které jsou nastaveny na pole vaků. Když po návrhu sáčku nejsou na poli kůže žádné sáčky, provede se seskupení dat. Nenápadná konstrukce krytu a struktura také zajistí dodatečné seskupení. Zadek výsledku se smyje a sníží.

Syntax: TAŠKY<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>PZ<ОБЩИЕ> <Поле1, ... , ПолеN>

Vikoristan zadek:

Request.Text = "VIBRATI | Rozrahunki. Smlouva s protistranou. Typ smlouvy YAK TypDogovir, | Rozrahunki. Smlouva s protistranou Smlouva YAK, | Rozrahunki. Protistrana, | GI |SUMA (Zashishok) |PO | ZAGALNI, | Typ smlouvy" ;

Malý kroužek zakroužkuje seskupení, která byla vytvořena během závěrečného vyhledávání, zejména jde do sekce ZPĚT a další do pole Smlouva proti protistraně ke smlouvě.

Miluji vás, milí čtenáři tohoto blogu! Dnes se podíváme na doplňkové aplikace, abychom viděli, jak v praxi využijete funkci napájení 1C SUBSTRING. Tato funkce je užitečná nejen v jednoduchých dotazech, jak se zde podíváme, ale také v dotazech, ale také v dotazech.

Informace obsahovaly to, co bylo požadováno z podrobností dokumentu Vzhled zobrazit dva řádky a seřadit je. Typ pláště tohoto typu: 779000/004599. Jak můžeme rozdělit hodnotu na dvě?

Funkce ADJUST má tři parametry. Jako první je uveden výstupní řádek, u kterého je potřeba vidět část symbolů - řádek. Rozumí se, že typ parametru hodnoty Řádek. Respekt, to je ještě důležitější než respekt, protože typ vikorystuvati prvního parametru není v pořádku, funkce není pratsyuvatime, uvidíte slitování! Další parametr určuje polohu symbolu ve výstupním řádku, od kterého začíná viditelná část řádku, a třetí - na konci viditelného řádku. Typ hodnoty pro druhý a třetí parametr je číslo.

Pojďme k praxi:

Název VIBRATI Typical.Recorder YAK, ID LINE(Typický.Registrátor.Podle jména, 1, 6) YAK RakhunokVitrat, ID LINE(Typický.Registrátor.Podle.Jména, 8, 11) YAK Viddil, SUMA(MĚSÍC VIBIR KOLI(Typické.období) = 3 TODI VIRASITI(Typický.součet ČÍSLO YAK(15, 2)) i. Typický YAK Typický DE Typický. RakhunokKt = & RakhunokKt І Typoviy. ID LINE(Typical.Registrar.According.Name, 1, 6), ID LINE(Typický.Registrátor.Podle.Jména, 8, 11), Typický.Registrátor OBJEDNAT Widdle, RakhunokVitrat

Výsledek tohoto útoku:

název RakhunokVitrat Weddill Berezen
Potvrzení platby dovolená 00000000319 ze dne 03.01.2010 14:42:54 779000 004599 9 000
Potvrzení platby dovolená 00000000320 ze dne 03.02.2010 12:07:34 779000 004599 4 721,6
Potvrzení platby dovolená 00000000203 ze dne 03.01.2010 12:28:52 786500 004599 987 614,51
Potvrzení platby dovolená 00000000227 ze dne 3. 3. 2010 14:16:00 786500 004599 400 000
Potvrzení platby dovolená 00000000238 ze dne 03.05.2010 12:37:57 732000 004600 5 400
Potvrzení platby dovolená 00000000197 ze dne 03.01.2010 11:53:11 732500 004600 12 100
Potvrzení platby dovolená 00000000198 ze dne 03.01.2010 11:55:39 732500 004600 12 100
Potvrzení platby dovolená 00000000279 ze dne 26. 3. 2010 0:00:00 734100 004600 19 609
Potvrzení platby dovolená 00000000287 ze dne 29.03.2010 14:15:36 734100 004600 55 300
Potvrzení platby dovolená 00000000291 ze dne 30.03.2010 11:01:10 734100 004600 18 090
Potvrzení platby dovolená 00000000268 ze dne 18.03.2010 10:34:25 738000 004600 10 050
Potvrzení platby dovolená 00000000276 ze dne 18.03.2010 12:20:20 750400 004600 13 060,98
Potvrzení platby dovolená 00000000281 ze dne 29.03.2010 12:33:46 750400 004600 555 645,41
Potvrzení platby dovolená 00000000234 ze dne 03.04.2010 12:21:55 754450 004600 24 120
Potvrzení platby dovolená 00000000290 ze dne 30.03.2010 10:44:39 754450 004600 100 000
Potvrzení platby dovolená 00000000240 ze dne 03.09.2010 10:53:24 786300 004600 20 800
Potvrzení platby dovolená 00000000269 ze dne 18.03.2010 10:58:04 786300 004600 61 012
Potvrzení platby dovolená 00000000289 ze dne 30.03.2010 9:27:14 786300 004600 6 000
Potvrzení platby dovolená 00000000223 ze dne 03.03.2010 12:13:38 786500 004600 36 000
Potvrzení platby dovolená 00000000228 ze dne 03.04.2010 9:52:35 786500 004600 378 138,85
Potvrzení platby dovolená 00000000229 ze dne 03.04.2010 9:57:50 786503 004600 126 117,75
Potvrzení platby dovolená 00000000200 ze dne 03.01.2010 11:58:06 754422 004762 63 000
Potvrzení platby dovolená 00000000286 ze dne 29.03.2010 14:10:18 764422 004762 10 000
Potvrzení platby dovolená 00000000267 ze dne 17.03.2010 0:00:00 764423 004762 464 370
Potvrzení platby dovolená 00000000261 ze dne 15.03.2010 11:16:28 764522 004762 81 357

Pokud tedy vezmeme řádek 779000/004599, pak ŘÁDEK PID (Typický. Registrátor. Podle jména, 1, 6) uvidí řádek „779000“. A ID LINE (Typical.Registrator.According.Name, 8, 11) je zadáno jako „004599“.

Čí otázka je následující:

ČÁSTKA(VIBIR KOLI MĚSÍC(Typické.období) = 3 TODI VIRASITI(Typické.Částka ČÍSLO JAKU(15, 2)) Jinak 0 KINETS) JAK Berezen

Jehož úkolem bylo přidávat nové sloupce s názvy měsíců a součty za nimi. Právě tento výraz je záhadou. Pokud potřebujete vikorist jiné měsíce, například dnes, nahraďte výraz:

AMOUNT(VIBIR WHEN MONTH(Typické.období) = 1 TODI VIRAZITI(Typovyy.Suma ČÍSLO JAKŮ(15, 2)) Jinak 0 KINETS) JAK Sichen

Uvedu text do praxe, ve které se po dodatečném cyklu vytvoří pole měsíců (zobrazeno tučně), počínaje časným až pozdním.

Text Zapitu = " | VIBRATE | Typické. Jméno registrátora YAK, | PID LINE (typický. Registrátor. Pro Sch = 1 až 12 Cyklus Yaksto Sch< 11 Тогда Мес = Сч + 2; Иначе Мес = Сч - 10; КонецЕсли; ТекстЗапроса = ТекстЗапроса + " |СУММА(ВЫБОР | КОГДА МЕСЯЦ(Типовой.Период) = " + Мес + " | ТОГДА ВЫРАЗИТЬ(Типовой.Сумма КАК ЧИСЛО(15, 2)) | ИНАЧЕ 0 |КОНЕЦ) КАК Поле" + Мес + ?(Сч=12,"",","); КонецЦикла; Text Zapitu = Text Zapitu + " | Z | Účetní registr." + AccountingRegister Name + ".RukhuSubconto(| &StartPeriod, | &EndPeriod,"; RowInterchangeAccordingtoRequisites = "(Aktivita = TRUE) I (Rakhunok V ІЄARCHІЇ (&RakhunokAnalysis)" = TextQuery | Typ | TextQuery і | Typical.RakhunokKt = &RakhunokAnalysis | tor.Podle Name, 8, 11), | Typical.Registrar | OBJEDNAT PODLE | Weddill, |

Poté se pro doplňkový kód uvedený na obrázku (zobrazený tučně) části zapíší v měsících. Tímto způsobem se přidávají nové sloupce s názvy měsíců a součty za nimi.