Zdravím vás, kolegovia čitatelia blogu! Dnes sa pomocou aplikácií pozrieme na to, ako v praxi využijete funkciu vstupu 1C Zmluvy / SUBSTRING. Táto funkcia nebude užitočná len pri jednoduchých dopytoch, ako sa na to pozrieme tu, ale aj pri dopytoch, ale aj dopytoch.

Informácie obsahovali to, čo sa požadovalo od podrobností dokumentu súlad pozrite si dva riadky a zoraďte podľa nich. Typ plášťa, tento typ: 779000/004599. Ako môžeme rozdeliť hodnotu na dve časti?

Funkcia podriadenosti má tri parametre. V prvom riadku je uvedený výstupný riadok, z ktorého je potrebné vidieť časť symbolov - riadok. Je jasné, že typ parametra hodnoty je riadok. Rešpekt, to je ešte dôležitejšie ako rešpekt, pretože typ vikorystuvati prvej možnosti nie je v poriadku, funkcia nebude fungovať, uvidíte milosť! Ďalší parameter udáva polohu symbolu v danom riadku, od ktorého začína viditeľná časť riadku, a tretí - na konci viditeľnej časti riadku. Typ hodnoty pre druhý a tretí parameter je číslo.

Prejdime k praxi:

Názov VIBRATI Typical.Recorder YAK, zmluvy(Typical.Registrator.Respective.Name, 1, 6) YAK Cost Account, zmluvy(Typický.Registrátor.Podľa mena, 8, 11) YAK Viddil, SÚČET (VIBIR KEDY MESIAC (Typické.Obdobie) = 3 TODI VIRASITI (Typické.Súčet ČÍSLO JAKOV (15, 2)) OSTATNÉ 0 KI NETS cez YAK Bereznya účtovný register .Typical YAK Typical DE Typical.AccountKt = & AccountKt І Typical.MID Obdobie & Začiatočné obdobie І & Koncové obdobie zoskupené pre zmluvy(Typical.Recorder.According.Name, 1, 6), zmluvy(Typical.Registrator.According.Name, 8, 11), Typical.Register ORDER BY VIDDILE,Cost Account

Výsledok tohto útoku:

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

Ak teda vezmeme riadok 779000/004599, v riadku (Typ.Registrátor.Príslušný.Názov, 1, 6) sa zobrazí riadok „779000“. A zmluvy (Type.Registrar.Respective.Name, 8, 11) zobrazí „004599“.

Koho je to otázka?

SUMA (MESIAC VIBIR KOLI (Typické obdobie) = 3 TODI VIRASITI (Typické. Súčet YA ČÍSLO (15, 2)) INAK 0 KINETS) JAK Berezen

V tomto prípade bolo potrebné pridať nové stĺpce s názvami mesiacov a sumami za ne. Práve táto vízia tento problém rieši. Ak potrebujete zmeniť iné mesiace, napríklad dnes, nahraďte výraz:

SUMA (VIBER KEDY MESIAC (Typické.Obdobie) = 1 TODI VIRASITI (Typovoy.Sum YAK ČÍSLO (15, 2)) ALEBO 0 KINETS) YAK dnes

Uvediem text do praxe, v ktorej sa po dodatočnom cykle vytvoria polia mesiacov (zobrazené tučným písmom), počnúc od dravosti po dravosť.

Text požiadavky = "| VIBRATE | Typický.Registrátor Názov YAK, | Zmluvy (Typický.Registrátor. Zodpovedajúci názov, 1, 6) Nákladový účet YAK, | Zmluvy (Typický.Registrátor. Zodpovedajúci názov, 8, 11) YAK Vi ddil," ; Pre Sch = 1 Pre 12 cyklov Yaksto Sch< 11 Тогда Мес = Сч + 2; Иначе Мес = Сч - 10; КонецЕсли; ТекстЗапроса = ТекстЗапроса + " |СУММА(ВЫБОР | КОГДА МЕСЯЦ(Типовой.Период) = " + Мес + " | ТОГДА ВЫРАЗИТЬ(Типовой.Сумма КАК ЧИСЛО(15, 2)) | ИНАЧЕ 0 |КОНЕЦ) КАК Поле" + Мес + ?(Сч=12,"",","); КонецЦикла; Text dopytu = Text dopytu + "| З | Register účtovníctva." + AccountingRegisterName + ".MovementsSSsubconto (| & StartPeriod, | &EndPeriod,"; LineRestrictionsOnRequisites = "(Aktivita = TRUE) І (Rakhunok U ІЄARCHY (& AccountAnalysis ))"; Text požiadavky = Text požiadavky + LineRestrictionsOnRequisites "|Requisite" "; Text požiadavky = Text požiadavky + "| DE | Typický.ÚčetCt = &AnalýzaÚčet | I Typické.Obdobie MIJ & Začiatočné ObdobieI & Koncové Obdobie | zoskupené podľa | Zmluvy (Typický.Registrátor.Podľa názvu, 1, 6), | Riadky Pi (typické. Registrátor .Respektíve Meno, 8, 11), | Typický.Registrátor | OBJEDNAŤ PODĽA | Pridané, | Nákladový účet ";

Takže pomocou kódu vyvolaného objektu (zobrazeného tučným písmom) sú časti zapísané v mesiacoch. Týmto spôsobom sa pridávajú nové stĺpce s názvami mesiacov a sumami za ne.

Typ „Row“ je bežný vo všetkých jazykových programoch. Je to zaujímavé a 1C má veľa funkcií na prácu s ním. Pozrime sa bližšie na tieto štatistiky rôzne cesty roboty s typmi strún v 1C 8.3 a 8.2 na zadkoch.

riadok

Na transformáciu premennej akéhokoľvek typu na riadok existuje jediná funkcia „Row ()“. Meniteľný bude aj samotný vstupný parameter, ktorého reťazcovú reprezentáciu je potrebné odstrániť.

Row (kecy) // sa zmení na „Ni“
Riadok (12345) // otočiť „12 345“
Riadok (CurrentDate()) //"07/21/2017 11:55:36"

V poradí je možné transformovať nielen primitívne typy, ale aj iné, napríklad prvky dokumentov a dokumentov.

SokrLP, SokrL, SokrP

Vstupné parametre týchto funkcií sa zmenia na typ reťazca. Funkcie zobrazujú vedľajšie znaky (medzery, pohyby vozíka atď.): z ľavej a pravej strany, iba z ľavej strany a iba z pravej strany.

AbbrLP („Na oboch stranách budú viditeľné paseky“) // „Na oboch stranách budú viditeľné paseky“
Skratka („Budú čistiny vidieť na oboch stranách“) // „Budú čistiny zla“
Skrátené ("Na útočných stranách budú viditeľné paseky") // "Napravo budú viditeľné paseky"

Lev, správne, Sered

Tieto funkcie vám umožňujú orezať časť riadku. Funkcia „Leo ()“ otočí časť riadku z ľavej strany určenej holubice. Funkcia „Vpravo ()“ je podobná, ibaže orezanie sa vykonáva vpravo. Funkcia „Sed ()“ vám umožňuje zadať číslo symbolu, z ktorého sa zobrazí riadok a dovzhin.

Lev („Strokova zminna“, 4) // sa zmení na „Stro“
Prav („Strokova zminna“, 7) // sa zmení na „eremennaya“
Seredovishch („Strokova Zminna“, 2, 5) // sa zmení na „Troki“

Dĺžka čiary

Funkcia určuje počet znakov, ktoré sa zmestia do premennej reťazca.

StrLength ("Word") // výsledkom bude číslo 5

vedieť

Táto funkcia vám umožňuje žartovať v ľubovoľnej časti reťazca. Ako sa číslo otáča, ukazuje polohu nájdeného riadku. Ak sa nezistia žiadne úniky, nula sa otočí.

Upozorňujeme, že vyhľadávanie musí byť vykonané v súlade s registrom. Ak je viac ako jeden vstup v rade v rade klasov, funkciou je otočiť ucho prvého vstupu.

Know ("jeden, dva, jeden, dva, tri", "dva") // funkcia otočiť číslo 6

Prázdny steh

Táto funkcia vám neumožňuje určiť, či je riadok prázdny. Menšie znaky, ako sú medzery, pohyby vozíka atď., nie sú zahrnuté.

EmptyString ("Pupkin Vasil Ivanovič") // funkcia spätnej hodnoty Nezmysel
EmptyString (»«) // funkcia na otočenie hodnoty True

VReg, NReg, Treg

Tieto funkcie sú ešte horšie pri aktualizácii a preskupovaní zmien reťazcov. „Reg ()“ otočí riadok výstupu veľkými písmenami, „Reg ()“ bude malými písmenami a „Treg ()“ ich naformátuje tak, že prvý znak vzhľadu zlé slovo bude veľká éra a všetky nadchádzajúce dni budú malé.

VReg ("generálny riaditeľ") // otočí hodnotu - "GENERAL DIRECTOR"
NReg ("generálny riaditeľ") // obráti význam - "generálny riaditeľ"
Treg („generálny riaditeľ“) // otočí hodnotu – „generálny riaditeľ“

PageReplace

Táto funkcia je podobná ako nahradenie in textové editory. Umožňuje vám nahradiť jeden znak alebo nastaviť iné znaky pri zmenách reťazca.

StrReplace ("červená, biela, žltá", ",", ";") // zmení sa na "červenú; biely; Zhovtiy »

StrPočet riadkov

Funkcia umožňuje určiť počet riadkov oddelených prenesením vozíka pri zmene textu.

Cyklus v dolnom smere prejde tromi počtami, pretože funkcia Otočiť počet riadkov otočí hodnotu 3:

Pre ind = 1 podľa LineNumber of Lines ("riadok1" + Symboly.PS + "riadok2" + Symboly.PS + "Riadok3")
<тело цикла>
EndCycle;

StrGetString

Táto funkcia pracuje s textom vyššieho rádu rovnakým spôsobom ako predchádzajúca. To vám umožní vybrať riadok skladby z textového riadku.

StrGetString ("riadok1" + Symboly.PS + "riadok2" + Symboly.PS + "Riadok3", 2) // otočte „riadok2“

StranaPočet výskytov

Funkcia vypočíta počet záznamov v symbole alebo poradí vo vybranom riadku.

StrNumber of Attachments ("a, b; c; d;", ​​​​";") // otočenie funkcie číslo 4

Symbol a kód symbolu

Tieto funkcie vám umožňujú vybrať znak podľa jeho kódu v kódovej základni Unicode a tiež určiť kód podľa samotného znaku.

Symbol Kód ("A") // číslo otočenia funkcie 1 040
Kód symbolu (1040) // funkcia otočte „A“

Časti rastliny pri práci s riadkami

kombinovanie riadkov

Ak chcete skombinovať niekoľko riadkov (na vytvorenie zreťazenia), použite operátor pripojenia.

„Row 1“ + „Row 2“ // výsledkom pridania dvoch riadkov bude „Row 1 Row 2“

opätovné vytváranie typov

Ak chcete transformovať typ na riadok, napríklad správu odoslanú prvku indikátora, číslu alebo inému, použite funkciu „Row ()“. Funkcie ako „Scratch ()“ automaticky preusporiadajú znaky v rade, ako aj v rade nedôležitých znakov.

Riadok (1 000) // otočenie „1 000“

Upozorňujeme, že keď vložíte čísla do radu, program automaticky pridá medzeru, ktorá dáva dohromady tisíc. Na dosiahnutie tejto jedinečnosti môžete rýchlo použiť útočné štruktúry:

StrReplace (Row (1000), Symbols.NPP, "") // otočiť "1000"

Riadok (Formát (1000, "CHG =")) // otočenie "1000"

Labky v rade

Často sa ocitnete pri potrebe používať stlačené nohy. Dá sa to urobiť tak, ako je zadaný text, napísaný v konfigurátore alebo jednoducho zmenený. Na dokončenie tejto úlohy musíte vložiť dva symboly labiek.

Téma = Row ("TOV" "Rogi i kopita" - tse mi!") // alebo skôr "TOV "Rogi i kopita" - tse mi!"

Bagatoryadkova, prenesený rad

Ak chcete vytvoriť viacriadkový text, pridajte do riadkov nové symboly (Symbols.PS).

Viacriadkový text = „Prvý riadok“ + Symboly.PS + „Ďalší riadok“

Ako vyčistiť priepustky

Ak chcete získať medzery vpravo alebo vľavo, môžete rýchlo použiť funkciu „Scratch()“ (rovnako ako „Scratch()“ a „Scratch()“):

LineWithoutSpaces = Skratka ("Veľa písmen") // funkcia na otočenie hodnoty "Veľa písmen"

Ak po vložení čísel do radu potrebujete zbierať neprerušené čistinky, použite nasledujúcu konštrukciu:

LineWithoutSpaces = StrReplace (Row (99999), Characters.NPP, "") // otočiť "99999"

Programy teda často používajú nasledujúcu konštrukciu, ktorá vám umožňuje vymazať alebo nahradiť iným znakom všetky medzery v textovej premennej:

StringWithoutSpaces = StrReplace("p a v e t", "", "") // obrat "ahoj"

Zarovnanie riadkov medzi sebou

Pojmy možno prirovnať k základnému znaku rovnosti. Pri aktualizácii je register poistený.

“Ahoj” = “ahoj” // otočiť Nezmysel
„Ahoj“ = „Ahoj“ // vlastne pravda
“Ahoj” = “Do dňa” // otočiť Nezmysel

V našich aplikáciách 1C: Funkcia podnikania zmluvy () V Formát zmluvy (<Исходная строка>, <Начало>, <Длина>) môže byť obmedzený na údaje typu reťazec a umožňuje vám vidieť fragment<Исходной строки>, Čo sa začína číslom symbolu<Начало>(Symboly v rade sú očíslované 1) a posledný<Длина>postavy. Výsledkom výpočtu funkcie podprogramu () je typ reťazca vymeniteľného dovzhin a dovzhin sa vypočíta bez výmeny, pretože<Исходная строка>Existuje neohraničený dowzhin a parameter<Длина>nie je konštanta, ale pohybuje sa na 1024.

Výpočet funkcie subcontract() na serveri SQL:
Vo verzii robota klient-server je funkcia Substring() implementovaná za dodatočnou funkciou SUBSTRING() podriadeného SQL príkazu odoslaného na databázový server. SQL Server, Ktorý vypočítava typ výsledku funkcie SUBSTRING () podľa zložitých pravidiel vo vzťahu k typu a hodnote parametrov, ako aj vo vzťahu ku kontextu, v ktorom sa používa.

Vo väčšine prípadov sa toto pravidlo nevzťahuje na dotaz 1C: Enterprises, ak je výsledkom maximálny výsledok riadka vypočítaný serverom SQL Server. Je dôležité poznamenať, že v niektorých kontextoch sa maximálna hodnota funkcie riadka () môže rovnať maximálnej hodnote riadka susedného riadku, čo je v SQL Serveri až 4 000 znakov. To môže viesť k neočakávanému núdzovému ukončeniu vojny.

Opýtajte sa napríklad:
Kód 1C v 8.x VIBRATI
VIBIR

INAK NULL
KINETS YAK Podannya,
VIBIR
KOLI View = & LegalAddressFizLitsa
Zmluvy TODI (Podannya, 0, 200)
INAK NULL
Prezentácia KINETS YAK1
Z

V PORIADKU
hold,
Pohľad1
končí abnormálne s upozorneniami DBMS:
Poskytovateľ Microsoft OLE DB pre SQL Server: Upozornenie: Procesor dotazov nemohol vytvoriť plán dotazov z optimalizátora, pretože celková dĺžka všetkých stĺpcov v klauzule GROUP BY alebo ORDER BY presahuje 8000 bajtov.
HRESULT = 80040E14, SQLSTATE = 42 000, natívny = 8618

Je to kvôli tým, ktorí boli obvinení Microsoft SQL Server je maximálna hodnota riadku, ktorá je výsledkom vírusu:
Kód 1C v 8.x VIBIR
KOLI View = & LegalAddressFizLitsa
Zmluvy TODI (Podannya, 0, 200)
INAK NULL
KINETS YAK Podannya,
viac ako 4000 znakov. Preto záznam, ktorý pozostáva z dvoch takýchto polí, presahuje 8000 bajtov, čo je povolené pre akúkoľvek operáciu triedenia.

V súvislosti s opísanou zvláštnosťou funkcie SUBSTRING () na SQL Serveri sa neodporúča podriadená funkcia () s metódou redukcie riadkov nepodriadeného podrozdelenia na riadky uzavretého pododdelenia. Namiesto toho je lepšie použiť operáciu pretypovania ako VIRASITI(). Zokrem, zameriavací pažba sa dá prepísať z Viglyadu:
Kód 1C v 8.x VIBRATI
VIBIR
KOLI View = & LegalAddressFizLitsa
INAK NULL
KINETS YAK Podannya,
VIBIR
KOLI View = & LegalAddressFizLitsa
TODI VIRAZITI (Podannya YAK Row (200))
INAK NULL
Prezentácia KINETS YAK1
Z
Register informácií Kontaktné informácie Kontaktné informácie YAK
V PORIADKU
hold,
Pohľad1

Row je jedným z najatraktívnejších typov údajov v systémoch 1C: Podnikanie 8. Zmeny podľa typu riadok text pomsty.

Významy premenlivých typov riadokľahnúť si na zložené labky. kopa skvelých tento typ dá sa zložiť.

Per1 = "Slovo 1";
Per2 = "Slovo 2";
Per3 = Per1 + "" + Per2;

Vo vrecku Per3 význam matime" Slovo 1 Slovo 2."

Okrem toho sa v systémoch 1C: Enterprise 8 prenášajú funkcie na prácu s riadkami. Pozrime sa na základy:

EnterLine (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — Funkcia je navrhnutá tak, aby zobrazila dialógové okno, do ktorého môže používateľ zadávať hodnoty typu premennej riadok. parameter <Строка> є povinné a uveďte názov zmeny, v ktorej bude zaznamenaný úvodný riadok. parameter <Подсказка> nejazykový - toto je názov dialógového okna. parameter <Длина> nejazykové, ukazuje maximálne dovzhin riadky zavedené. Za podšívkou je už existujúca nula, čo znamená nerozdelenú daň. parameter <Многострочность> nejazykový. To znamená režim zadávania viacriadkového textu: True - zadávanie viacriadkového textu s oddeľovačmi riadkov; Nezmysel - zavedenie jednoduchých riadkov.

Sekvenciu je možné zadať i, pričom poznáte kód pre znak v kóde Unicode:

symbol (<КодСимвола>) — Kód sa zadáva na viditeľnom čísle.

Letter = Symbol(1103); // Ja

K dispozícii je tiež funkcia návratu, ktorá vám umožní rozpoznať kód akéhokoľvek symbolu.

Kód symbolu (<Строка>, <НомерСимвола>) — otočí číslo priradeného znaku v Unicode tak, aby vyzeral ako číslo.

Funkcie na zmenu malých a veľkých písmen v texte:

VReg (<Строка>) - prevedie všetky znaky v rade na veľké písmená.

NReg (<Строка>) - prevedie všetky znaky v rade na malé písmená.

Treg (<Строка>) - premení všetky znaky v riadku na veľké písmená. Potom sa prvé písmená všetkých slov skonvertujú na veľké písmená a ostatné písmená na malé.

Funkcie na vyhľadávanie a nahradzovanie znakov v riadku:

vedieť (<Строка>, <ПодстрокаПоиска>) - poznať číslo vstupného symbolu vyhľadávaním. napríklad:

Know("Riadok", "dobre"); // 4

PageFind (<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - zistiť číslo vstupného symbolu pre poradie vyhľadávania, vstupné číslo je uvedené v príslušnom parametri. V takom prípade vyhľadávanie začína symbolom, ktorého počet je uvedený v parametri Počiatočná poloha. Hľadajte klas alebo koniec radu. napríklad:

Položka číslo4 = PageFind ( "obrana", "O", Smer vyhľadávania. Spochatku, 1, 4); // 7

StrReplace (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - zistiť v danom riadku všetky vstupné podreťazce a nahradiť ich náhradným podreťazcom.

StrReplace("Riadok", "oko", ""); // Uložiť

Prázdny steh (<Строка>) - skontroluje riadok na prítomnosť významných symbolov. Ak neexistujú žiadne významné symboly alebo neexistujú žiadne symboly, hodnoty sa otočia pravda. V inom prípade - nezmysel.

StrPočet výskytov (<Строка>, <ПодстрокаПоиска>) - vypočíta počet vstupov vyhľadávacej sekvencie v danom riadku.

StrPočet výskytov ( "Prečítaj si to, prečítajte si to a prečítajte si to znova", "Vchitisya", ""); // 3

StrTemplate (<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — umiestni parametre do riadku za číslom. Riadok je vinný z nesprávneho umiestnenia substitučných značiek ako: „% 1 ..% N“. Číslovanie značiek začína od 1. Aká je hodnota parametra? Nie je určený, Zobrazí sa prázdny riadok.

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

Funkcie transformácie riadkov:

Lev (<Строка>, <ЧислоСимволов>) - otočí symboly prvého riadku.

práva (<Строка>, <ЧислоСимволов>) - obraty zvyšné symboly riadkov.

stredy (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - otočí riadok do polovice<ЧислоСимволов>, Počnúc symbolom<НачальныйНомер>.

AbbrL (<Строка>) Existujú nedôležité symboly, ktoré stoja vedľa prvého významného symbolu v rade.

Skratka (<Строка>) - obsahuje nedôležité symboly, ktoré stoja hneď vedľa zvyšného významného symbolu v rade.

AbbrLP (<Строка>) - existujú nedôležité symboly, ktoré stoja oproti prvému významnému symbolu v rade a vpravo k poslednému významnému symbolu v rade.

StrGetString (<Строка>, <НомерСтроки>) - vyberte riadok viacriadkového riadku podľa čísla.

Ďalšie funkcie:

StrLength (<Строка>) - otočí množstvo symbolov za sebou.

StrNumber of Rows (<Строка>) - otočí počet riadkov vo viacriadkovom rade. Riadok sa považuje za nový, pretože je vystužený predným symbolom preloženého radu.

PageCompare (<Строка1>, <Строка2> ) - vyrovnáva dva riadky bez úpravy registra. Funkcia funguje podobne ako objekt Porovnanie hodnôt. otočí:

  • 1 - pretože prvý riadok je väčší ako druhý
  • -1 - ak je druhý riadok väčší ako prvý
  • 0 - ak sú riadky rovnaké

StrCompare("Prvý riadok", "Iný riadok"); // 1

Jazyk v 1C 8 je jednoducho analógom všeobecne známeho „štruktúrovaného jazykového programovania“ (ako sa častejšie nazýva SQL). Ale v 1C VIN potrebujete iba prečítať údaje, ale na zmenu údajov ste zaseknutí objektový model pocty

Ďalšou užitočnou funkciou je ruská syntax. Ak naozaj chcete, môžete použiť anglické a anglické konštrukcie.

Poprosím príklad:

VIBROVAŤ
Banks.Name,
Banky.Účet
Z
Adresár.Banky Banky YAK

Dánsko vás požiada, aby ste nám poskytli informácie o názve a korešpondenčnej štruktúre všetkých bánk v databáze.

Jazyk dopytov - najjednoduchší a efektívna metóda Načítavanie informácií. Ako je vidieť z vyššie uvedeného príkladu, vo svojich dotazoch sa musíte odvolávať na názvy metadát (toto je zoznam systémových objektov, ktoré tvoria konfiguráciu, ako sú prehliadače, dokumenty, registre atď.).

Popis konštrukcie filmových dopytov

štruktúra viet

Na odstránenie údajov použite konštrukcie vikory „VIBRATI“ (výber) a „Z“ (od). najjednoduchší spôsob, ako sa opýtať pozerá sa na nadchádzajúcu hodnosť:

VIBRATE * Z Directories.Nomenklatúra

Kde „*“ znamená výber všetkých polí tabuľky a Directories.Nomenclature znamená názvy tabuľky v databáze.

Pozrime sa bližšie na skladaciu a skladaciu pažbu:

VIBROVAŤ
<ИмяПоля1>JAK<ПредставлениеПоля1>,
suma (<ИмяПоля2>) JAK<ПредставлениеПоля2>
Z
<ИмяТаблицы1>JAK<ПредставлениеТаблицы1>
<ТипСоединения>Z'EDNANNYA<ИмяТаблицы2>JAK<ПредставлениеТаблицы2>
BY<УсловиеСоединениеТаблиц>

DE
<УсловиеОтбораДанных>

zoskupené podľa
<ИмяПоля1>

V PORIADKU
<ИмяПоля1>

TAŠKY
<ИмяПоля2>
BY
<ИмяПоля1>

V tomto dotaze vyberieme údaje polí „Názov poľa1“ a „Názov poľa1“ z tabuľky „Názov tabuľky1“ a „Názov tabuľky“, pričom poliam priradíme synonymá pre ďalší operátor „YAK“, pričom ich v žiadnom prípade nespojíme a „Pripojenie tabuľky“ Podmienka“.

Z extrahovaných údajov vyberieme len údaje podobné „DE“ „Podmienka výberu údajov.“ Ďalej urobíme skupinový dotaz na pole „Názov poľa1“, z ktorého subsumujeme „Názov poľa2“. pole „Názov poľa1“ a pole vedľajšej tašky „Názov poľa2“.

Zostávajúca akcia bude zoradená pomocou dodatočnej konštrukcie „ORDER BY“.

podzemné stavby

Poďme sa pozrieť na základné prevedenia našich napájacích zdrojov 1C 8.2.

PERSHIn

Pre ďalšiu pomoc tohto operátora Môžete vybrať n počet prvých záznamov. Poradie zápisov je určené poradím v zápise.

VIBRATI PERCHI 100
Banks.Name,
Banky.Kód YAK BIC
Z
Adresár.Banky Banky YAK
V PORIADKU
Banky.Názov

Prvých 100 záznamov z prílohy „Banky“ bude odstránených zoradených podľa abecedy.

POVOLENÝ

Tento dizajn je relevantný pre roboty s mechanizmom. Podstatou mechanizmu je výmena čítania (a iných akcií) do systému pre konkrétne záznamy v databázovej tabuľke, a nie pre tabuľku ako celok.

Ak sa klient pokúsi o pomoc prečítať záznamy, ktoré sú mu nedostupné, odmietne oznámenie o oprave. Pre istotu použite konštrukciu „PERMISSIONS“, aby ste mohli čítať len záznamy, ktoré je povolené čítať.

VIBRÁCIA JE POVOLENÁ
Úložisko ďalších informácií. Odkaz
Z
Directory.Storage pre ďalšie informácie

RIZNI

Wiki „RIZNI“ vám umožňuje zapnúť odstránenie duplikátov riadkov vo výsledku dotazu 1C. Opaľovanie znamená preskočiť všetky polia.

VIBRATI PERCHI 100
Banks.Name,
Banky.Kód YAK BIC
Z
Adresár.Banky Banky YAK

EmptyTable

Tento dizajn sa používa aj zriedkavo na kombinovanie napájania. Po zjednotení sa môže stať, že bude potrebné zadať prázdnu tabuľku do jednej tabuľky. Na čo je vhodný operátor „Prázdny stôl“?

Príklad z pokročilého 1C 8:

VIBRÁCIA Link.Number, PRÁZDNA TABUĽKA. (Nom, Tov, Množstvo) YAK Warehouse
Z Doklad.Výdavková faktúra
KOMBINUJTE VŠETKO
VIBRATI Link.Number, Sklad. (Číslo riadku, produkt, množstvo)
3 Dokument.Faktúra Dokument.Faktúra.Zloženie. *

ISNULL

Toto je veľmi užitočná funkcia, pretože vám umožňuje zbaviť sa mnohých maškŕt. YesNULL() vám umožňuje nahradiť hodnoty NULL podľa potreby. Často je potrebné skontrolovať platnosť hodnôt v pridaných tabuľkách, napríklad:

VIBROVAŤ
Referenčný odkaz na nomenklatúru,
ÁnoNULL (Zostávajúce množstvo. Zostávajúce množstvo, 0) Zostávajúce množstvo YAK
Z


Vikorist sa dá aj inak. Napríklad, hoci to nie je známe pre riadok vzhľadu, nasledujúca tabuľka obsahuje nasledujúce hodnoty:

ISNULL (InvoiceInvoiceReceips.Date, InvoiceInvoiceVidanniy.Date)

YAK je operátor, ktorý nám umožňuje priradiť názvy (synonymá) k tabuľke alebo poli. Butt vikoristannya mi bachili vishche.

Tieto návrhy sú veľmi podobné - umožňujú vybrať čiarové znázornenie požadovanej hodnoty. Jediný rozdiel je v tom, že SUBMIT skonvertuje akúkoľvek hodnotu na typ reťazca a REPRESENTATION ju skonvertuje iba na typ reťazca. REPREZENTAČNÉ EFEKTY sa odporúčajú zahrnúť do systémových dotazov na zostavenie údajov na optimalizáciu, pretože, samozrejme, nie je určené pole podúdajov na použitie vo výberoch.

VIBROVAŤ
Podannya (Posilannya), // riadok, napríklad „Predbežné oznámenie č. 123 zo dňa 10.10.2015
Podannya (značka vymazania) Text označenia vymazania YAK, // riadok, „So“ alebo „Ni“
RepresentationSilki (znak vymazania) YAK vymazanie MarkBoolean // Boolean, True or False
Z
Dokument.Predbežná správa

VIRAZITA

Umožňuje vám zmeniť hodnoty polí tak, aby vyhovovali požadovanému typu údajov. Význam môžete transformovať buď na primitívny typ, alebo na silný typ.

Dátový typ je potrebné použiť na výmenu požadovaných dátových typov v poliach skladaného typu, často sa používa na optimalizáciu chodu systému. zadok:

VIRAZITY (Tabuľka nákladov. Podkonto1 Adresár YAK. Nákladové položky) .Typ činností pre daňové účtovanie nákladov

Pri primitívnych typoch sa táto funkcia často používa na priradenie počtu znakov v neviazaných poliach (takéto polia sa nedajú spárovať). Ako sa zbaviť pochúťok" Operácia zarovnania je nesprávna. Polia sa nedajú otáčať
neohraničený dovzhin a polia nerozumných typov
", V nasledujúcej objednávke je potrebné identifikovať nasledujúce polia:

VIRAZITI (komentár YAK Row (150))

DIFFERENCEDATE

Pozrite si 267 video lekcií na 1C zadarmo:

Zadok vikoristannya Є NULL vo vstupe 1C:

VIBRÁCIE * W
Ref
LIVE PRIPOJENIE Register akumulácie. Produkty v skladoch. Zostávajúce YAK Zostávajúce produkty
Softvér NomenclatureRef.Link = SalesProductsCommitteesRemaining.Nomenclature
Nezostávajúci produkt MnožstvoZostávajúce Є NULL

Typ údajov v zázname možno určiť pomocou nasledujúcej metódy: pomocou dodatočných funkcií TYPE () a TYPE VALUE () alebo pomocou logického operátora SIZE. Tieto dve funkcie sú podobné.

zvýšený význam

Okrem toho v poliach prenosu parametrov v jazykových požiadavkách 1C môžete zmeniť hodnotu alebo zmeniť hodnotu. Napríklad prílišná interpretácia, uvažovanie, plány výpočtov atď.. Na aký účel sa používa konštrukcia „Hodnota ()“?

Vikoristan zadok:

DE Nomenclature.ViewNomenclature = Hodnoty ​​(Directory.View Nomenclature.Product)

DE Counterparties.View Contact Information = Values ​​​​(Zoznam.Zobraziť kontaktné informácie.Telefón)

DE Účtovné zostatky.Účet = hodnoty ​​(Účtovná osnova. Ekonomické účtovníctvo. Zisky a straty)

spojenie

Existujú 4 typy spojení: NAŽIVO, SPRÁVNY, VONKAJŠIE, VNÚTORNÉ.

NAŽIVO a SPRÁVNE PRIPOJENIE

Spojenie sa robí na spojenie dvoch stolov podľa spievajúcej mysle. zvláštnosť keď LEVOMU ich dostalo V tom, čo vezmeme ako prvé, je tabuľka priradená úplne a je prepojená s druhou tabuľkou. Polia v iných tabuľkách, ktoré nebolo možné priradiť mysli, budú vyplnené hodnotami NULOVÝ.

napríklad:

Otočte celú tabuľku protistrán a vyplňte pole „Banka“ len na tých miestach, kde budete môcť dospieť k záveru „Protistrany.Názov = Banky.Názov“. Ak myseľ neskončila, vloží sa do poľa Banka NULOVÝ.

SPRÁVNE PRIPOJENIE v mov_1Cúplne podobné doľava, Za vinu jedného predstavenia - v pravidlá komunikácie Stôl „hlava“ je priateľ, nie prvý.

MIMO Z'EDNANNYA

MIMO Z'EDNANNYA Rozdeľuje sa na ľavú a pravú stranu, takže môžete zobraziť všetky záznamy z dvoch tabuliek, pričom sa skombinujú len tie, ktoré sa dajú kombinovať v zákulisí.

napríklad:

Z

MIMO Z'EDNANNYA
Adresár.Banky Banky YAK

BY

Jazyk dopytov bude pravdepodobne pridaný do problematických tabuliek, rovnako ako záznamy vo vašej mysli. Pri vstupe vľavo/vpravo sa v dvoch poliach môže objaviť NULL.

VNÚTORNÉ PRIPOJENIE

VNÚTORNÉ PRIPOJENIE Dôležité je zobrazovať len tie záznamy, ktoré by sa dali identifikovať podľa pokynov mysle.

napríklad:

Z
Adresár. Protistrany Klienti YAK

VNÚTORNÉ PRIPOJENIE
Adresár.Banky Banky YAK

BY
Klienti.Názov = Banky.Názov

Dánsko vyplní len tie riadky, v ktorých však banka a protistrana budú mať nový názov.

ob'ednannya

Dizajn COMBINE and COMBINE EVERYTHING spája dva výsledky do jedného. Takže výsledok dvoch vikoník bude „nahnevaný“ do jednej, skazenej.

Tento systém funguje presne rovnakým spôsobom ako na začiatku, len pre časový rozvrh.

Ako indexovať pre

Všimnime si však jeden moment. Index časového rozvrhu zobrazuje aj hodinu na dátume. Preto je dôležité použiť konštrukciu „“ iba vtedy, ak je zrejmé, že v rozvrhu bude viac ako 1-2 záznamy. V inom prípade môže byť efekt kontraproduktívny – rýchlosť indexovaných polí nekompenzuje čas prebudenia indexu.

VIBROVAŤ
Kurzy mien Výsek z najnovšej meny Mena YAK,
Kurzy mien Najnovší prierez
miesto Mena
Z
Register informácií. Kurzy mien. Posledný diel (a obdobie) Kurzy mien YAKPosledný diel
Index pre
mena
;
VIBROVAŤ
Ceny Nomenklatúra.Nomenklatúra,
Cena Nomenklatúra. Cena,
Nomenklatúra ceny. Mena,
CurrencyCurrency.Rate
Z
Register informácií. Ceny nomenklatúry. Slice of the Last (& Obdobie,
Nomenklatúra B (a nomenklatúra) I TypCena = & TypCena) YAK CenaNomenklatúra
NAŽIVO Z'EDNANNYA KursiValut YAK KursiValut
PODĽA PriceNomenclature.Currency = KursiValut.Currency

zoskupenie

Dotazovací jazyk 1C vám umožňuje používať špeciálne agregačné funkcie pri zoskupovaní výsledkov dotazov. Zoskupovanie je možné vytvoriť aj bez agregačných funkcií, aby sa „vyciciavali“ duplikáty.

Zistite dostupné funkcie:

Súčet, Množstvo, Množstvo rôznych, Maximum, Minimum, Priemer.

Príklad č. 1:

VIBROVAŤ
Predaj tovaru, služieb, produktov. Nomenklatúra,
SUMA (Predaj tovaru, služieb, tovaru. Množstvo) YAK Kilkist,
SUMA (Realizácia tovaru, služieb, tovaru. Množstvo) YAK Suma
Z

zoskupené podľa
Predaj tovaru a služieb Tovar Nomenklatúra

Dotaz vyberie všetky riadky tovaru a spočíta ich podľa množstva a súčtu podľa nomenklatúry.

zadok #2

VIBROVAŤ
Banks.Code,
KVALITA (IZNI Banks. Link) YAK Počet duplikátov
Z
Adresár.Banky Banky YAK
zoskupené podľa
Banks.Code

Tento príklad zobrazí zoznam Bikovho poradcu „Banky“ a ukáže, koľko duplikátov existuje pre každú z nich.

vrecká

Vrecká sú metódou extrakcie údajov zo systému s hierarchickou štruktúrou. Pre polia vreciek možno použiť agregačné funkcie, napríklad na zoskupovanie.

Jednou z najpopulárnejších metód recyklácie vrecúšok v praxi je dávkový odpis tovaru.

VIBROVAŤ




Z
Dokument Predaj tovarov a služieb Produkty YAK Predaj tovarov a služieb Produkty
V PORIADKU

TAŠKY
SUMA (Kilkist),
SUMA (Suma)
BY
nomenklatúry

V dôsledku toho sa otázka stáva viac hierarchickou:

podzemné vrecká

Ak potrebujete vybrať vrecká pre všetky „vrecká“, použite operátor „ZAGALNI“.

VIBROVAŤ
Predaj tovaru a služieb Tovar Nomenklatúra Nomenklatúra YAK,
Predaj tovaru a služieb Tovar Odkaz YAK Document,
Predaj tovaru a služieb Tovar Množstvo YAK Množstvo,
Predaj tovaru a služieb Tovar Suma YAK Suma
Z
Dokument Predaj tovarov a služieb Produkty YAK Predaj tovarov a služieb Produkty
V PORIADKU
Predaj tovaru a služieb Tovar. Odkaz. Dátum
TAŠKY
SUMA (Kilkist),
SUMA (Suma)
BY
ZAGALNI,
nomenklatúry

V dôsledku experimentu je výsledný výsledok eliminovaný:

V ktorej je 1 úroveň zoskupenia - agregácia všetkých povinných polí.

usporiadanie kúpeľne

Operátor ORDER BY sa používa na triedenie výsledkov dotazu.

Triedenie pre primitívne typy (poradie, počet, logické) sa riadi základnými pravidlami. Pre polia poštových typov je triedenie založené na interných poštových údajoch (jedinečný identifikátor), a nie na kóde alebo poštových údajoch.

VIBROVAŤ

Z
Adresár.Nomenklatúra Nomenklatúra YAK
V PORIADKU
názov

Zobrazí sa zoznam mien poskytovateľa nomenklatúry zoradený podľa abecedy.

Automatické usporiadanie

Výsledok je zapísaný bez triedenia a má chaotickú reprezentáciu množiny riadkov. Predajcovia platformy 1C nezaručujú nové riadky v rovnakom poradí, keď sa pridajú nové dopyty.

Ak je potrebné zobraziť záznamy tabuľky v konzistentnom poradí, je potrebné použiť konštrukciu „Automatické zoradenie“.

VIBROVAŤ
Nomenklatúra.Názov YAK Názov
Z
Adresár.Nomenklatúra Nomenklatúra YAK
AUTOMATICKÁ OBJEDNÁVKA

Virtuálne stoly

Virtuálne tabuľky v 1C sú jedinečnou vlastnosťou dopytov 1C, ktoré sa nenachádzajú v iných podobných syntaxách. Virtuálny stôl - švédsky spôsob odstránenie profilových informácií z registrov.

Pre každý typ registra existuje sada virtuálnych tabuliek, ktoré sa môžu líšiť v závislosti od úpravy registra.

  • od prvých;
  • od zvyšku.
  • prebytok;
  • obrat;
  • prebytky a obrat.
  • ruhu z subkonto;
  • obrat;
  • otáčky Dt Kt;
  • prebytok;
  • prebytky a obrat
  • subconto.
  • základňa;
  • grafické údaje;
  • skutočné obdobie pôsobenia.

Pre dizajnéra riešení sú dáta prevzaté z jednej (virtuálnej) tabuľky, ale v skutočnosti platforma 1C berie tabuľku, ktorá ich transformuje do požadovanej podoby.

VIBROVAŤ
Produkty v skladoch Zostávajúci obrat. Nomenklatúra,
ProductsInWarehousesZostávajúciObrat.MnožstvoPočiatočnýZostatok,
ProduktyV skladochZostatokObrat.MnožstvoObrat,
ProductsInWarehousesZostávajúceObrat.MnožstvoPrichádzajúce,
ProduktyV skladochZostatokObrat.MnožstvoSpotreba,
ProduktyVSkladochZostávaObrat.MnožstvoKonečnéZostávajúce
Z
Register kumulácie Tovar na skladoch Bilancia tržieb Tovar YAK v skladoch Bilancia tržieb

Tento typ dotazu vám umožňuje rýchlo odstrániť veľké množstvo údajov.

Parametre virtuálnej tabuľky

Veľmi dôležitým aspektom práce s virtuálnymi tabuľkami je výber parametrov. Parametre virtuálnej tabuľky - špecializované parametre pre výber a konfiguráciu.

Pri takejto tabuľke je dôležitá nesprávna voľba výberu v konštrukcii „DE“. Okrem toho sa aplikácia stáva optimálnou, je možné odstrániť nesprávne údaje.

Vyberte napríklad nasledujúce parametre:

Register akumulácie. Tovar na skladoch. Zostávajúci obrat (& Začiatok obdobia, & Koniec obdobia, Mesiac, pohyby a hranice období, Nomenklatúra = & Povinná nomenklatúra)

Algoritmus pre robotické virtuálne tabuľky

Napríklad najobľúbenejšia virtuálna tabuľka typu „Prebytok“ ukladá dáta z dvoch fyzických tabuliek – prebytky a odpad.

Keď je virtuálna tabuľka poškodená, systém vykoná nasledujúce manipulácie:

  1. Určujú to tí, ktorí sú najbližšie k dátumu a nepoistiteľné hodnoty v tabuľke tašiek.
  2. Sumu z tabuľky rukh „pripočítame“ k sume z tabuľky pidbag.


tak jednoduché dii môže skutočne zlepšiť produktivitu systému ako celku.

Wiki konštruktora dotazov

konštruktor dotazov- nástroj zavedený do systému 1C Entrepreneurship, ktorý výrazne zjednodušuje spracovanie dopytov do databázy.

Konštruktor aplikácie má jednoduché a intuitívne rozhranie. Poďme sa pozrieť na prácu dizajnéra a napísať správu.

Spustenie textového konštruktora sa aktivuje kontextovým menu (pravým tlačidlom myši) v požadovanom umiestnení programového kódu.

Popis konštruktora pre 1C

Pozrime sa bližšie na záložku dizajnéra v prehľade. Vinyatok - karta Budіvnik, toto je téma pre okremoi rosmov.

Karta Tabuľka a polia

Táto karta obsahuje zoznam údajov a polí, ktoré musia byť zahrnuté do zostavy. V podstate je tu popísaný dizajn VIBRATION.. Z.

Môže to zahŕňať fyzickú databázovú tabuľku, tabuľku virtuálnych registrov, časové poriadky, karty záznamov atď.

V kontextovom menu virtuálnych tabuliek môžete nastaviť parametre pre virtuálnu tabuľku:

Karta Odkazy

Záložka slúži na popis tabuľky spojov, vytváranie konštrukcií so slovom SPOJENIE.

Karta Zoskupovanie

Na tejto karte vám systém umožňuje zoskupiť a pridať požadované polia k výsledku tabuľky. Popísané sú tieto štruktúry: SÚČET, MINIMUM, PRIEMER, MAXIMUM, KVALITA, KVALITA RÔZNE.

Umovi tab

Znamená to všetko, čo nasleduje v texte po konštrukcii DE, teda všetky mysle, ktoré sú nad týmito údajmi.

Dodatkovo tab

tab dodatkovo vysvetľuje všetky parametre, ktoré sú dokonca dôležité. Pozrime sa na kožu tých, ktorí sú pri moci.

zoskupenie výber záznamov:

  • prvý N- parameter, ktorý premení na vstup iba N záznamov (operátor PERSHI)
  • žiadne opakovania- zabezpečuje jedinečnosť mazania záznamov (operátor RIZNI)
  • povolený- umožňuje vybrať len tie záznamy, ktoré vám systém umožňuje vybrať (návrh POVOLENIA)

zoskupenie Typ vstupu To znamená, o aký typ požiadavky pôjde: výber údajov, vytvorenie časovo-hodinovej tabuľky, alebo redukcia časovo-hodinovej tabuľky.

Nižšie je práporčík Zablokujte odstránenie údajov pre ďalšiu zmenu. Umožňuje povoliť možnosť nastavenia blokovania údajov, ktoré zabezpečí uloženie údajov od momentu ich načítania pred zmenou (relevantné len pre režim Automatické blokovanie, dizajn PRE ZMENU).

Karta Komunikácia/Aliasy

Tento príspevok konštruktora dotazov vytvára schopnosť kombinovať rôzne tabuľky a aliasy (konštrukcia YAK). Ľavá strana obsahuje tabuľky. Ak umiestnite vlajky na stôl, použije sa konštrukcia COMBINED, inak - COMBINE ALL (existujú dva typy metód). Na pravej strane je uvedený typ polí v rôznych tabuľkách; ak typ nie je špecifikovaný, dotaz bude otočený na hodnotu NULL.

Záložka Objednávka

Tu určíte poradie triedenia hodnôt (ORDER BY) - zostupne (klesajúce) alebo zvyšovaním (zvyšovaním).

Tiež skvelý prápor - Automatické usporiadanie(V položke - AUTO OBJEDNÁVKA). Systém 1C dostane pokyn, aby zobrazoval údaje v „chaotickom“ poradí. Po nastavení tohto príznaku systém zoradí údaje podľa interných údajov.

Karta šarže dotazov

Na karte Query Builder môžete vytvárať nové, ako aj používať ich ako navigáciu. V texte sú pakety oddelené symbolom ";" (škvrnitá kóma).

Tlačidlo "Umývať" v Návrhári dotazov

V ľavom dolnom rohu konštruktora je tlačidlo s názvom Žiadosť, pre ďalšiu pomoc si môžete kedykoľvek pozrieť text výzvy:

V tomto okne môžete upraviť svoj vstup a výstup.


Dotaz na konzolu Vikoristannaya

Žiadosť o konzolu - jednoduchá a manuálnym spôsobom na zlepšenie zložitých dopytov a rýchle získavanie informácií. V tomto článku sa pokúsim popísať, ako získať prístup k Query Console, a poskytnem pokyny na stiahnutie Query Console.

Pozrime sa na tento nástroj nižšie.

Očarte konzolu napájacieho zdroja 1C

Skôr ako začnete pracovať z konzoly, musíte si ju stiahnuť. Kolekcie sú rozdelené do dvoch typov - keramické formy a primárne (alebo sa niekedy nazývajú 8.1 a 8.2 / 8.3).

Tieto dva typy som sa pokúsil skombinovať v jednej vzorke - v požadovanom režime robota sa otvorí požadovaný formulár (v keramickom režime konzola funguje len v jednoduchom režime).

Popis konzoly dotazov 1C

Pozrime sa bližšie na konzolu napájacieho zdroja s popisom panelu procesorovej hlavy:

V hlavičke Query Console môžete pridať hodinu zaznamenávania zostávajúceho dotazu s presnosťou až na milisekúndu, čo vám umožní porovnávať rôzne návrhy z hľadiska produktivity.

Prvá skupina tlačidiel na príkazovom paneli demonštruje ukladanie aktuálnych vstupov z externý súbor. Je to ešte jednoduchšie, budete sa môcť otočiť a napísať zloženú vetu. Alebo si napríklad uložte zoznam typických aplikácií pre tieto a ďalšie dizajny.

Ďalej v poli „Dopyt“ môžete vytvoriť nové dopyty a uložiť ich do stromovej štruktúry. Ďalšia skupina tlačidiel ukazuje, ako spravovať zoznam požiadaviek. Môžete ho použiť na vytváranie, kopírovanie, mazanie, presúvanie záznamu.

  • Viconatizmyté- jednoduchý dizajn a výsledky
  • balík viconati- umožňuje vám skontrolovať všetky priebežné dopyty v dávke dopytov
  • Prehľad cestovného poriadku- umožňuje rozšíriť výsledky otáčaním časových záznamov v tabuľke

Poprosím parametre:

Umožňuje nastaviť presné parametre pre záznam.

V okne parametrov sa zobrazí výzva:

  • tlačidlo Zbavte sa otázky automaticky zistiť všetky parametre v zázname pre jednoduché používanie čítačky.
  • práporčík Spoločné parametre pre všetky aplikácie- pri inštalácii tohto spracovania nevymaže parametre pri prepnutí z napájania na napájanie do oficiálneho zoznamu pýtať sa

Nastavte parameter so zoznamom hodnôt Je to veľmi jednoduché, pri výbere hodnoty parametra stačí kliknúť na tlačidlo vymazať hodnotu (krížik), systém vás vyzve na výber typu údajov, pričom musíte vybrať „Zoznam hodnôt“:

Horný panel má dokonca tlačidlo na kliknutie na nastavenie konzoly napájania:

Tu môžete zadať nastavenia pre automatické šetrenie energie a nastavenia pre šetrenie energie.

Text požiadavky sa zadá do poľa konzoly konzoly. Môžete ho získať jednoduchým napísaním testovacieho dotazu alebo kliknutím na špeciálny nástroj - konštruktor dotazu.

Dizajnér požiada 1C 8, aby klikol na obsahové menu (tlačidlo práv mysha) po kliknutí na vstupné pole:

Aj v tomto menu sú základné funkcie, Ak chcete vyčistiť alebo pridať symboly do symbolov prenosu riadkov ("|") alebo odstrániť kód, napíšem os do tohto manuálneho formulára:

Zapit = Nový zapit;
Request.Text = "
| VIBROVAŤ
| Currency.Link
| Z
| Adresár.Currencies Meny YAK ";
RequestResult = Request.Execute();

V spodnom poli konzoly dotazu sa zobrazí pole pre výsledok dotazu, pre ktorý bolo toto spracovanie vytvorené:



Taktiež Query Console okrem zoznamu zobrazuje dáta v stromovom prehľade – pre dopyty, ktoré je možné uložiť do tašiek.

optimalizácia dopytov

Jedným z najdôležitejších bodov zvýšenej produktivity robotov 1C enterprise 8.3 je optimalizáciapýtať sa. Tento bod je tiež veľmi dôležitý, keď certifikácia. Nižšie si prečítajte o typických dôvodoch neoptimálnej prevádzky práčok a spôsoboch optimalizácie.

Výbery vo virtuálnej tabuľke pomocou dodatočnej DE konštrukcie

Na detaily virtuálnej tabuľky je potrebné aplikovať filtre len cez parametre FROM. V žiadnom prípade nemôžete použiť konštrukciu DE na výber vo virtuálnej tabuľke, čo je z hľadiska optimalizácie hrubá zmena. Na konci výberového procesu systém načíta VŠETKY záznamy a až potom vyberie požadované.

SPRÁVNY:

VIBROVAŤ

Z
Register akumulácie. Vzájomné vyrovnania s účastníkmi a organizáciami. Zostatky (
,
Organizácia = & Organizácia
І Fyzická entita = & Fyzická entita) YAK Vzájomné vyrovnania so zostatkami vkladateľov a organizácií

ZLE:

VIBROVAŤ
Vzájomné vyrovnania s účastníkmi a zostatkami organizácií
Z
Register kumulácie Vzájomné vyrovnania s vkladateľmi a organizáciami Zostatky (,) YAK Vzájomné vyrovnania s vkladateľmi a organizáciami Zostatky
DE
Vzájomné vyrovnania s vkladateľmi a zostatky organizácie Organizácia = & Organizácia
І Vzájomné vyrovnania s vkladateľmi a ostatnými organizáciami Fyzická osoba = & fyzická osoba

Nájdenie hodnoty zloženého poľa pomocou bodky

Keď extrahujete údaje zo skladaného typu v dotaze cez bodku, systém spojí ľavé pripojenia k tej istej tabuľke, pretože v poli skladaného typu je možných veľa typov.

Napríklad pri optimalizácii je extrémne zbytočné ísť do poľa zápisu do registra – registrátor. Registrátor uchováva skladový typ údajov spomedzi všetkých možných typov dokumentov, ktoré môžu zapisovať údaje do registra.

ZLE:

VIBROVAŤ
Súbor Records.Recorder.Date,
Súbor záznamov. Množstvo
Z
Register akumulácie Produkty Organizácie Súbor záznamov YAK

V skutočnosti túto os nevyplní len jedna tabuľka, ale až 22 databázových tabuliek (tento register má 21 typov registrátorov).

SPRÁVNY:

VIBROVAŤ
VIBIR
WHEN ProductsOrg.Registrar POSILANNYA Document.Predaj tovaru a služieb
TODI VIRAZITI (ProductOrg. Dokument registrátora YAK. Realizácia tovaru a služieb). Dátum
KEDY GoodsOrg.Registrar POSILANNYA Document.Prijatie tovaruSlužby
TODI VIRAZITI (ProductOrg. Dokument registrátora YAK. Príjem tovaru a služieb). Dátum
KINETS YAK Date,
ProduktyOrg.Množstvo
Z
Register akumulácie ProduktyOrganizácia YAK ProductsOrg

Alebo inou možnosťou je doplnenie takejto informácie do detailov, napríklad v našom prípade – pridanie dátumu.

SPRÁVNY:

VIBROVAŤ
ProductsOrganization.Date,
Organizácia produktov. Množstvo
Z
Register akumulácie Organizácia produktov Organizácia produktov YAK

Pite vo svojej mysli

Pre optimalizáciu je neprijateľné nahradiť napájanie v mysliach pripojenia, ktoré je úplne kompatibilné s prácou. Bazhano v takých vipadkách vikoristovvati OT. Ak sa chcete pripojiť, musíte zoradiť iba objekty metadát a VT a najprv ich indexovať podľa polí spojenia.

ZLE:

VIBROVAŤ...

NAŽIVO Z'EDNANNYA (
VIBROVAŤ z Information Register.Limits
DE...
Zoskupené podľa...
) OD...

SPRÁVNY:

VIBROVAŤ...
miesto Limiti
Z Register informácií Limity
DE...
Zoskupené podľa...
Index pre...;

VIBROVAŤ...
Dokument Z. Predaj tovaru a služieb
LIVE PRIPOJENIE OBMEDZENÉ
BY ...;

Spájanie záznamov s virtuálnymi tabuľkami

Existujú situácie, keď pri prepojení virtuálneho stola s ostatnými systém nefunguje optimálne. V tomto prípade, aby ste optimalizovali prácu dotazu, môžete skúsiť umiestniť virtuálnu tabuľku do časového rozvrhu bez toho, aby ste zabudli indexovať polia v dotaze časového rozvrhu. Je to spôsobené tým, že VT sa často nachádzajú vo viacerých fyzických DBMS tabuľkách, v dôsledku čoho dochádza k oneskoreniu ich výberu a problém je podobný ako v predchádzajúcom bode.

Výbery založené na indexovaných poliach

Jednou z najrozsiahlejších výhod skladania dopytov je vyhľadávanie myslí, na ktorých indexovaných poliach, čo stojí za zmienku pravidlá pre optimalizáciu dopytov. DBMS nemôže vybrať dotaz optimálne, pretože dotaz ukladá výber na neindexované polia. Ak si vezmete časový rozvrh, je tiež potrebné indexovať spojovacie polia.

Je zrejmé, že pre pokožku je to spôsobené epidemiologickým indexom. Najzrejmejší je index, ktorý spĺňa súčasné výhody:

  1. Index obsahuje všetky polia, ktoré boli v mysli prepracované.
  2. Hodnoty polí sa nachádzajú v samotnom indexe.
  3. Tieto výbery idú za sebou, takže významy medzi nimi „nezasahujú“ a nezúčastňujú sa otázky v mysli.

Ak DBMS nevyberie správne indexy, prehľadávanie celej tabuľky bude mať negatívny vplyv na produktivitu a môže viesť k trvalému zablokovaniu celej sady záznamov.

Vikoristannya logické ABO v mysliach

Axis a všetko, v tomto článku sú zdôraznené základné aspekty optimalizácie aplikácií, za ktoré je zodpovedný skúsený odborník na pleť 1C.

Veľmi krátky, bezplatný video kurz o vývoji a optimalizácii nápojov, Vrelo odporucam nielen pre začiatočníkov!