Změňte nebo zakažte režim kompatibility. Rozšíření konfigurace - jak přidat funkčnost do standardní konfigurace bez odebrání podpory (20 minutové video) K čemu jsou rozšíření potřebná

V tomto článku navrhuji zvážit, co je „rozšíření konfigurace“, jak přidat rozšíření nebo jej zakázat. Počínaje verzí 1C 8.3.6.1977 byl do platformy zaveden nový mechanismus - rozšíření konfigurace. Nejprve trocha teorie.

Rozšíření v 1C jsou něco jako paralelní konfigurace, které jsou automaticky kombinovány s konfigurací hlavního dodavatele. Navíc v rozšířeních můžete přidávat jak své vlastní objekty, tak si půjčovat objekty hlavní konfigurace.

K čemu jsou rozšíření?

V první řadě jsou vytvořena rozšíření, která usnadňují provádění změn v programu. To znamená, že pokud uživatelé požádají o přidání jakékoli funkce, pak před objevením rozšíření museli programátoři odebrat konfiguraci z plné podpory a změnit typická konfigurace.

Odebrání z plné podpory s sebou nese řadu nepříjemností:

  • příležitost je ztracena automatická aktualizace, což vede alespoň k prodloužení času pro;
  • je vyžadován vysoce kvalifikovaný odborník obsluhující program;
  • pokud byly provedeny změny ve standardních objektech standardní konfigurace, pak během aktualizace mohou zmizet, to znamená, že mohou být znovu nahrazeny standardními od dodavatele.

Při použití rozšíření, při provádění změn, se programátor nedotkne standardní konfigurace. Veškeré změny budou provedeny pomocí rozšíření, což jsou (jak jsem psal výše) také konfigurace. Tímto způsobem zůstane hlavní konfigurace plně podporována.

Pokud po aktualizaci hlavní konfigurace dojde v nové verzi k nějakým změnám v objektu, který byl dříve změněn rozšířením, budou změny stále převzaty z rozšíření. To znamená, že rozšíření mají vyšší prioritu než hlavní konfigurace.

Video - prodloužení v 1C za 45 minut

Získejte 267 videolekcí na 1C zdarma:

Příklad přidání rozšíření do 1C

Pro ukázku, co je rozšíření, je lepší uvést příklad jeho vytvoření v konfigurátoru 1C.

V konfigurátoru přejděte do nabídky „Konfigurace“ a vyberte „Rozšíření konfigurace“. Otevře se okno se seznamem rozšíření (pokud existují). Klikněte na tlačítko „Přidat“ a přidejte nové rozšíření. Nyní můžete otevřít konfiguraci rozšíření:

Jak vidíte, rozšiřující konfigurace má přesně stejnou strukturu jako hlavní. Jen je zpočátku zcela čistá, bez předmětů.

Nedávno jsem napsal článek o tom, jak si ho vyrobit sami. Na jejím příkladu ji chci zabudovat pomocí rozšíření.

Při zpracování mám pole s odkazem na adresář „Organizace“. Proto potřebuji tento návod. Nevytvoříme však nový adresář „Organizace“, zejména proto, že to platforma neumožňuje. Je nemožné, aby konfigurace rozšíření obsahovala objekty stejného jména jako objekty v hlavní konfiguraci.

Referenční knihu si proto vypůjčíme z hlavní konfigurace:

Nyní klikněte pravým tlačítkem myši na „Zpracování“ a vyberte „Vložit externí zpracování, report..." Přidejme tedy do konfigurace rozšíření nové zpracování. Pokud používáte moje zpracování, okamžitě jej přejmenujte, protože hlavní konfigurace již má zpracování se stejným názvem.

No, poslední dotek. Chci, aby se mé zpracování projevilo v nabídce Správa. K tomu si vypůjčíme stejnojmenný subsystém z hlavní konfigurace. Nezapomeňte ve zpracování uvést, že patří do tohoto subsystému.

Toto je struktura, se kterou jsem přišel:

Podívejme se, co máme. Aktualizujeme konfiguraci databáze a spustíme program v režimu 1C: Enterprise a přejdeme do nabídky „Správa“. Ano, málem bych zapomněl, konfigurace rozšíření musí být uzavřena, jinak se program nespustí:

Byla vydána nová verze platformy 8.3.11, která umožňuje přidávat a měnit objekty metadat prostřednictvím rozšíření. Opravdu můžeme nyní implementovat nějaká vylepšení bez odebrání konfigurace z podpory? Vyplatí se slibovat klientovi hory zlata bez následků?

Nejprve si musíte být vědomi omezení, která rozšíření mají.

Omezení vytvořených objektů

Na tento moment můžete vytvořit:

  • Adresáře
  • Dokumentace
  • Informační registry
  • Výměnné plány

Podrobnosti můžete přidat do:

  • Adresáře
  • Dokumentace

S čím skončíme? Ne všechny typy objektů metadat lze přidat. Nejběžnější a nejoblíbenější, ale stále ne všechny. Do informačních registrů navíc nelze přidávat nové dimenze a zdroje. Můžete vytvořit pouze zcela nový registr.

Funkčnost rozšíření závisí na režimu kompatibility konfigurace, na kterou je rozšíření aplikováno.

Režim kompatibility 8.3.8- lze pouze měnit formy objektů a jejich moduly, přidávat vlastní reporty a zpracování.

Režim kompatibility 8.3.10- můžete změnit obecné moduly, objektové a manažerské moduly, role, použít direktivy „Před“, „Po“, „Namísto“ pro libovolné moduly.

Režim kompatibility „Nepoužívat“- můžete využívat všechny funkce rozšíření, včetně přidávání nových objektů.

V tuto chvíli má standardní UT 11.3 režim kompatibility 8.3.8. V UT 11.4 je režim kompatibility 8.3.10, to znamená, že například pro UT není k dispozici většina funkcí rozšíření, včetně vytváření objektů metadat.

Zdá se, že to vyvolává otázku: proč prostě nepodporovat root, nastavit režim kompatibility na „Nepoužívat“ a tiše používat rozšíření? Při změně režimu kompatibility se může změnit chování formulářů a výsledků dotazů, tzn. chování systému jako celku. Důrazně se doporučuje neměnit režim kompatibility bez předchozího testování. Je ale zřejmé, že se zdá být možné plně otestovat (nebo alespoň částečně otestovat použité dokumenty) celé aplikační řešení. Proto byste tuto možnost neměli používat.

Při připojení rozšíření ke standardní konfiguraci a vypůjčení standardních objektů rozšíření řídí režim kompatibility hlavní konfigurace a typy vypůjčených objektů a jejich detaily. Pokud se sledované vlastnosti neshodují, rozšíření je zakázáno a nefunguje, dokud není příčina odstraněna. To znamená, že při velké aktualizaci existuje vysoká pravděpodobnost, že se změní alespoň jedna z kontrolovaných vlastností a rozšíření ztratí funkčnost.


Pokud jsou navíc úpravy významné, dochází k výměně mnoha postupů a funkcí standardní konfigurace, bude nutné je pečlivě sledovat a případně uvést do souladu se standardní konfigurací se zachováním dříve provedených změn.


Ve výše uvedených případech budete stále potřebovat pomoc programátora a případně značný čas na úpravu (ale stále méně než při aktualizaci konfigurace, která byla odstraněna z podpory).

závěry

  • Nové vydání platformy poskytlo nové příležitosti pro použití rozšíření, bylo možné přidávat objekty metadat, ale přesto má funkčnost určitá omezení.
  • Režim kompatibility konfigurace, na kterou je rozšíření aplikováno, značně omezuje možnosti rozšíření, změna režimu kompatibility se nedoporučuje.
  • Velké aktualizace stále vyžadují pozornost vývojáře, protože existuje vysoká pravděpodobnost změny řízených vlastností.

Téma "úhledné" úpravy standardu konfigurace je vždy aktuální.

S pomocí rozšíření je možné provádět úpravy bez opuštění konfigurace Beze změn(tj bez odstranění zámku).

Jako příklad my pojďme rozšířit standardní funkcionalitu„1C: Účetnictví 8“ – přidáme kontroly úplnosti detailů dokladu. V důsledku toho systém vydá diagnostiku, pokud jsou údaje vyplněny „nesprávnými“ hodnotami.

Doslova za 15 minut Naučíte se techniky, které můžete použít k řešení různých problémů.

Navíc si to ukážeme ve druhém videu univerzální mechanismus, na základě rozšíření. A vyvinout takový mechanismus jednou, lze k němu připojit jakákoli standardní konfigurace.

Sny o vlastní nehynoucí může se stát realitou :)

Takže začneme:

Video 1. Techniky pro práci s rozšířeními - na příkladu „1C: Účetnictví 8“

Po prostudování videa se dozvíte:

  • Vytvořte a připojte se rozšíření konfigurace
  • Splnit ladění rozšíření
  • Vylepšit standardní formuláře zpracování/dokumenty pomocí rozšíření
  • Zachyťte události standardní konfigurační formuláře
  • Ukládat data není v tabulkách zabezpečení informací (úložiště nastavení)
  • Používejte ošetření jako úložiště algoritmů

Podíváme se také na optimalizace kompozice objektů rozšíření a omezení rozšíření v aktuálních verzích platforem.

Video 2. Vytváření univerzálních mechanismů pomocí rozšíření

V tomto videu si ukážeme:

  • Připojení rozšíření v uživatelském režimu ( bez konfigurátoru)
  • Příklad univerzální ověření plnicí
  • Vlastnosti implementace rozšíření - vytváření formulářů s libovolným výběrem a ukládání dat do rozšíření

Kolegové, zdravím všechny.

Onehdy bylo vydáno testovací Enterprise Accounting s deaktivovaným režimem kompatibility pro platformu 8.3.6.
To znamená, že tato verze používá nový engine, který vykresluje formuláře novým způsobem.
O tom si můžete přečíst v Přes zrcadlo.

Spolu se standardními byste měli na novou platformu převést i svá vlastní rozšíření.
Během procesu překladu jsem si pro sebe vytvořil malý kontrolní seznam nebo připomínku toho, co je třeba udělat.

poznámka:


1. Přeneste rozšíření na novou platformu

Chcete-li to provést, změňte režim kompatibility rozšíření na režim kompatibility konfigurace.
Verze Enterprise Accounting má následující vlastnosti:

V rozšíření můžete nastavit úplně stejné vlastnosti nebo zrušit všechna zaškrtávací políčka.
Žádná zaškrtávací políčka znamenají, že rozšíření nebude tyto vlastnosti při připojování kontrolovat.
Pokud se pak tyto vlastnosti v hlavní konfiguraci změní, rozšíření se stále spustí:


2. Opravte problémy s připojením

Za tímto účelem spustíme konfiguraci v podnikovém režimu a uvidíme, zda se rozběhne nebo ne.
Chyby, kvůli kterým se rozšíření nepodařilo připojit, si můžete prohlédnout v protokolu
(Administrace - Podpora a údržba - Kniha jízd)
Zajímají nás akce – „Relace. Chyba při použití konfiguračního rozšíření":

Nejčastěji se problém s připojením řeší odstraněním nepotřebných detailů nebo objektů.

Hlavním problémem je, že rozšíření nezobrazuje všechny chyby najednou (mimochodem, tento problém byl vyřešen v 8.3.9).
Proto je nutné spouštět konfigurace postupně po opravě každé chyby.
Aby bylo spouštění deníku pohodlné, přidejte jej do oblíbených:



3. Aktualizujte formuláře v rozšíření

Chcete-li to provést, v každém změněném formuláři klikněte na „Aktualizovat rozšíření formuláře“
Pomocí tohoto příkazu znovu načteme hlavní konfigurační formulář do rozšíření.

V zásadě to bude fungovat i bez toho, ale je to nutné, aby formulář v rozšíření vypadal stejně jako v hlavní konfiguraci.
Ve verzi 3.0.44 doznaly změn téměř všechny formuláře, proto by bylo dobré tyto změny zahrnout do rozšíření.


4. Formulář přizpůsobíme pravidlům nového enginu.

Doporučuji si přečíst článek - Doporučení pro přizpůsobení formulářů 8.3.7.
Zkoumá vlastnosti nového enginu a dává konkrétní doporučení, jak zajistit, aby bylo v nové platformě vše v pořádku.

Napadl mě následující postup:

  • Všechny ozdoby odstraníme, které byly použity pro odsazení.
    Místo toho se nyní používají skupiny.
  • Podívejme se, že vše vypadá dobře.
    Pokud se něco pokazí, podívejte se na článek.
    Pokud je vše v pořádku, jedeme dál.
  • Kontrola vlastností nové platformy„Kombinovaný“, „AutomaximumWidth“ a „AutomaximumHeight“.
    Jen se podívejte, že tyto vlastnosti jsou nastaveny na výchozí hodnoty platformy a formulář se kvůli tomu neodděluje.