1C vám umožňuje výrazně zjednodušit vedení účetnictví nebo jednoduše spravovat jakoukoli organizaci, ať už se jedná o malý obchod nebo velký podnik. Program je rozsáhlý systém pro správu databází. Abyste se v tom všem nezmátli, musíte být schopni provádět různé jednoduché akce a pochopit podstatu. Dále pochopíte, jak zkontrolovat typ hodnoty v požadavku v 1C a také co to je obecně a jak je rozlišovat.

Typy hodnot

1C: Podnik zahrnul do nových verzí speciální funkci (platforma 8.2). Pomocí něj můžete k libovolným názvům, prvkům datového systému přidat jakékoli speciální parametry. Bylo to provedeno proto, aby bylo snazší upravovat systém a přidávat do něj nové prvky. Tato funkce se nazývá pouze "Typ hodnoty".

Ve skutečnosti se jedná o jeden ze základních konceptů, který obsahuje většina programovacích jazyků. Lze jej použít ke klasifikaci různých dat. Například: data, čísla, řetězce, odkazy. To jsou jen základní klasifikace. Může jich být mnohem více. Řekněme, že pokud do svého systému zadáte informace o městech, můžete použít: pevnina, země, okres atd.

Zkouška

Konkrétní pole můžete zkontrolovat pomocí dotazovacího jazyka. Přesněji řečeno, jeho funkce: VALUE TYPE. To znamená, že pokud chceme zjistit, jaký druh informací obsahuje zájmová buňka, musíme použít příkaz.

VALUETYPE(hodnota) = TYPE(řetězec)

Ve výše uvedeném příkladu jsme pomocí příkazu definovali nejjednodušší forma. Další příklad ověření požadavku:

Dokumenty

Samotných typů je poměrně dost, uživatelé si vystačí s oběma původními a zadají si vlastní, aby se zlepšili informační základna. Zde jsou některé z nich.

  • Odkaz na dokument. Žádá se o pohodlné skladování odkazy na různé objekty v jiných částech systému.
  • DocumentObject - úprava dokumentů.
  • DocumentSelection - řazení objektů z databáze.

Kromě toho existují speciální termíny, které charakterizují jakákoli data:

  • formulář;
  • čára;
  • booleovský
  • číslo;
  • datum;
  • pole;
  • zaškrtávací políčko;
  • obrázek.

Tohle je jen část z nich. Jakýkoli objekt může být pouze něčím z tohoto seznamu. booleovský - speciální parametr, který nabývá dvou hodnot: true nebo false. Existují také speciální značky, které umožňují upravit požadavek: kdy, kde, jak, jinak atd. Nastavují algoritmus chování programu. 1C se vyznačuje tím, že tato slova zde, stejně jako všechno ostatní, lze zadat v ruštině.

Je důležité pochopit, že to vše budou začátečníci a neprofesionálové vnímat jako čínské písmeno. Abyste pochopili, co je v sázce, a abyste 1C efektivně používali, musíte znát základy programování. Obecně bude docela snadné zkontrolovat typ v požadavku v programu 1C ve srovnání s jinými akcemi.

Pozornost! Zde je zkušební verze lekce, jejíž materiály nemusí být kompletní.

Přihlaste se jako student

Pro přístup k obsahu školy se přihlaste jako student

Dotazovací jazyk 1C 8.3 pro začínající programátory: funkce a operátory pro práci s typy (VALUE TYPE, TYPE, REFERENCE, IS NULL, EXPRESS)

Mějme na paměti, že každý atribut (vlastnost, pole) referenční knihy, dokumentu nebo jakéhokoli jiného aplikačního objektu má svůj vlastní typ . A tento typ můžeme vidět v konfigurátoru:

Dotazovací jazyk má celá třída funkce a operátory pro práci s typy atributů. Pojďme se na ně podívat.

funkce VALUETYPE

Tato funkce přebírá jeden parametr (hodnotu) a vrací jeho typ. Pro rekvizity popsané na obrázku (výše) Chuť adresář Jídlo vrátí následující:

Nyní se podíváme na rekvizity. Rozlišovací vlastnost v adresáři Města:

Můžete vidět, že tato rekvizita může být jednoho z několika typů: Čára, Adresář Chutě, Reference.Barvy. Tento typ detailů se nazývá KOMPOZITNÍ.

Pokud se pokusíme vyplnit hodnotu takového atributu v režimu 1C:Enterprise, systém se nás zeptá, jaký typ bude vstupní hodnota:

A teprve po našem výběru vám umožní zadat hodnotu vybraného typu.

Tedy prvky adresáře stejného typu ( Adresář.Města) budou moci ukládat do stejného atributu ( Rozlišovací vlastnost) hodnoty odlišné typy(String, Barvy nebo Příchutě).

Sami si to můžete ověřit kliknutím na prvky adresáře Města v režimu 1C:Enterprise. Čtete zkušební verzi lekce, úplné lekce jsou umístěny.

Zde je hodnota prvku referenčním prvkem Chutná:

Tady ten řádek:

A zde obecně prvek adresáře Barvy:

Toto jsou možnosti, které nám složený datový typ otevírá!

Jsem zvědavý, jak se funkce bude chovat TYP HODNOTY na rekvizitách DistinctiveElement, který má složený datový typ:

To už je velmi zajímavé. Pojďme se zabývat každým řádkem zvlášť.

Typ hodnoty funkce pro prvek Rusko je NULA. S tímto typem se setkáváme poprvé. Hodnoty tohoto typu slouží výhradně k určení chybějící hodnoty při práci s databází.

Je tomu tak, protože prvek Rusko je skupina, nikoli běžný prvek adresáře Města, takže nemá pole Rozlišovací vlastnost. A typ chybějící hodnoty, jak jsme se dočetli výše, je vždy roven NULA.

Typ hodnoty rozlišovacího znaku pro Perm je Chutná. Je tomu tak, protože hodnota rozlišovacího znaku zaznamenaného v databázi pro město Perm je odkaz na prvek adresáře Chutná.

Pro Krasnojarsk je typ prvku roven Barvy, protože hodnota vybraná v databázi je odkazem na prvek slovníku Barvy.

Pro Voroněž je typ prvku roven Čára, protože hodnota zadaná do databáze je normální řetězec.

Indie je opět skupina, takže smysl chybí. A typ chybějící hodnoty, jak si pamatujeme, je NULA.

A tady je ta věc. Pokud přejdete na prvek adresáře Města se jménem Sao Paulo, uvidíte, že pole Rozlišovací vlastnost zcela nevyplněné. Je to prázdné. ALE všechna prázdná pole složeného typu mají zvláštní význam NEDEFINOVANÉ .

Z NEDEFINOVANÉ také se poprvé setkáváme. Význam NEDEFINOVANÉ používá se, když chcete použít prázdnou hodnotu, která nepatří žádnému jinému typu. Tohle je prostě naše situace. Typ hodnoty NEDEFINOVANÉ, jak jste již pravděpodobně uhodli, se rovná NULA.

Funkce TYPE

Vyžaduje pouze jeden parametr - název primitivního typu ( ČÁRA, ČÍSLO, DATUM, BOOLEAN), nebo název tabulky, jejíž typ odkazu chcete získat.

Výsledkem této konstrukce bude hodnota typu Typ pro zadaný typ.

Zní to mlhavě, že?

Podívejme se na aplikaci tohoto designu a vše do sebe okamžitě zapadne.

Předpokládejme, že chceme vybrat všechny položky adresáře Města, které mají složený atribut Rozlišovací vlastnost má hodnotu typu ČÁRA:

Nyní vybereme všechny záznamy, které mají hodnoty atributů Rozlišovací vlastnost jsou odkazy na referenční prvky Barvy(stůl Reference.Barvy):

Ústraní

Jak si pamatujete, některé prvky adresáře Města nemají rekvizity Rozlišovací vlastnost. Funkce TYP HODNOTY za takové prvky dává NULA.

Jak je možné provést výběr takových prvků na vyžádání? K tomu existuje speciální logický operátor. JE NULL(neplést s funkcí ISNULL o kterých budeme hovořit níže). Čtete zkušební verzi lekce, úplné lekce jsou umístěny.

Zde je příklad jeho použití:

Vynikající. Ale všimli jste si, že zde není žádný prvek Sao Paulo, typ hodnoty rekvizit Rozlišovací vlastnost který byl také vydán NULA. Proč se to stalo?

A jde o to, že situace pro skupiny (Rusko, Indie, Brazílie), u kterých se vyplňují údaje Rozlišovací vlastnost v zásadě nemožné, protože ho vůbec nemají, se liší od situace pro prvek Sao Paulo, u kterého je vyplnění atributu možné, ale prostě se nevyplňuje a jak si pamatujeme, rovná se speciálnímu hodnota NEDEFINOVANÉ.

Chcete-li vybrat všechny záznamy, které mají rekvizity Rozlišovací vlastnost přítomen, ale nevyplněn, měl by být použit jiný konstrukt:

Ale porovnání s UNDETERMINATED pro definování prázdných (neobsazených) rekvizit bude fungovat pouze pro složené typy.

Mimochodem, v logický operátor Formulář negace IS NULL je následující:

Booleovský operátor REFERENCE

Vyberme si například z adresáře Města pouze ty záznamy, které mají hodnotu složeného atributu Rozlišovací vlastnost jsou odkazem na referenční prvek Chutná:

Jak si vzpomínáte, stejný problém bychom mohli vyřešit pomocí TYP HODNOTY a TYP:

Funkce ISNULL

Funkce je určena k nahrazení hodnoty NULA na jinou hodnotu.

Pamatujeme si, že hodnota NULA je vrácena, pokud požadovaný atribut (pole, vlastnost) neexistuje.

Jako rekvizity Rozlišovací vlastnost pro skupiny adresářů Města:

Funkce ISNULL nám pomůže vypsat jinou hodnotu, pokud je tato hodnota rovna NULA. Čtete zkušební verzi lekce, úplné lekce jsou umístěny. Nechť v tomto případě to bude řádek "Neexistuje žádný takový atribut!":

Ukazuje se, že pokud je první parametr funkce ISNULL ne rovné NULA, pak se vrátí. Pokud je NULL, je vrácen druhý parametr.

Funkce EXPRESS

Tato funkce je pouze pro pole, která mají složený typ. Skvělým příkladem takového oboru je nemovitost Rozlišovací vlastnost pro prvky adresáře Města.

Jak si pamatujeme, složená pole mohou být jedním z několika typů specifikovaných v konfigurátoru.

Pro pole Rozlišovací vlastnost takové platné typy jsou ČÁRA, Reference.Barvy a Adresář Chutě.

Někdy je nutné přetypovat hodnoty složeného pole na konkrétní typ.

Uveďme seznam všech hodnot polí Rozlišovací vlastnost psát Reference.Barvy:

V důsledku toho všechny hodnoty prvků, které měly typ Reference.Barvy, zůstaly naplněné a ukázalo se, že byly zredukovány na specifikovaný typ. Všechny hodnoty jiných typů ( ČÁRA, Adresář Chutě) jsou si nyní rovni NULA. To je zvláštnost typového obsazení pomocí funkce VYJÁDŘIT.

Typ můžete přetypovat buď na primitivní typ ( BOOLEAN, ČÍSLO, ČÁRA, DATUM) nebo na referenční typ. Čtete zkušební verzi lekce, úplné lekce jsou umístěny. Ale typ, na který je odlitek vyroben, musí být zahrnut v seznamu typů pro toto složené pole, jinak systém vygeneruje chybu.

Udělej test

Spustit test

1. Vyberte nejsprávnější tvrzení

2. Volají se atributy, které mohou nabývat hodnot jednoho z několika typů

3. Pro určení typu hodnoty atributu je vhodná funkce

4. Na atributech složeného typu záleží

Domovská stránka Pro začínající vývojáře Naučte se programovat

Jak zkontrolovat typ hodnoty dokumentu, adresáře?

Za prvé, ve vestavěném jazyce je implementováno několik typů pro práci s jedním aplikačním objektem.

Například úkoly, které byly v 1C:Enterprise 7.7 řešeny podle typu Dokument nyní řešeno několika typy. Jsou rozděleny podle účelu.

Typ DocumentObject slouží k zápisu a mazání jednotlivých dokumentů.

Typ Výběr dokumentu se používá k iteraci dokumentů uložených v databázi.

Existují další datové typy navržené pro práci s dokumentem. Při psaní modulů se používají ty typy, které jsou nezbytné pro řešení konkrétních problémů.

Za druhé, ve vestavěném jazyce neexistují žádné dva koncepty - Typ a Pohled. Každý konfigurační objekt má svou vlastní sadu typů používaných ve vestavěném jazyce pro práci s aplikačním objektem, který popisuje. Čili při použití konfigurace nebude takový typ jako Odkaz na dokument a budou konkrétní typy, např. DocumentReference.Invoice, DocumentObject.Invoice, DocumentReference.Invoice, atd.

Kromě toho se pro manipulaci s typy nepoužívají jejich názvy řetězců, ale speciální typ Typ. Zadejte hodnotu Typ lze získat funkcí Typ() A, které bere název typu jako parametr.

Chcete-li zkontrolovat typ hodnoty proměnné, musíte určit její typ pomocí funkce Typ hodnoty() a použijte funkci Typ() získat typ podle názvu.

Například:

Definované typy jsou novým objektem metadat 1C, který se objevil v platformě verze 8.3. Objekt má pomocný charakter. Uvažujme, jaké jsou definované typy a úlohy, které může tento objekt řešit.

Jsou definovány nové datové typy, jejichž množinu definuje vývojář aplikačního řešení. Skládá se z několika platných typů. Takovým datovým typem může být typ libovolného konfiguračního atributu, kromě definovaného typu a objektu " ".

Získejte zdarma lekce videa 267 1C:

Nastavení

Pro tento objekt není tolik nastavení:

Tito. kromě názvu a synonyma v 1C mají definované typy pouze sadu typů objektů.

Příklad použití definovaných typů v 1C 8.3

Pro tento objekt existuje mnoho aplikací.

Příklady použití:

  • můžete popsat v konfiguračních atributech, které odkazují na data, která budou určena při vkládání fragmentu do konkrétní konfigurace;
  • přiřadit jeden typ definovaných dat určité sadě odběrů událostí, při změně sady typů u všech odběrů se bude dynamicky měnit zdroj;
  • použít jako alternativu k plánu typů charakteristik

a mnohem víc.

Pokud se začínáte učit programování 1C, doporučujeme naše volný kurz(nezapomeň