Úkolem je zvýšit webový server IIS zabudovaný do systému Windows a publikovat na něm platformu 1c na platformě 8.3. Není na tom nic složitého.

Za přítomnosti podnikového serveru rotujícího na virtuální platformě 2008 r2. Práva místního správce. Platforma 1C 8.3.6.2041. Vytvořme prázdnou informační základnu. A tak začněme. Připojte se k naší skupině na VK! Opravy! Chytrý workshop!

Instalace role webového serveru (IIS)

Nejprve musíte nainstalovat roli webového serveru. Otevřeme Správce serveru, vyberte větev vlevo Rolevpravo stiskneme Přidejte roli.

Dosáhneme kroku výběru role serveru a zaškrtneme před webovým serverem (IIS). Klikněte dále. Nyní musíte správně vybrat služby nainstalované role. Zaškrtněte políčka přesně jako na následujícím obrázku.

Přinášíme instalaci na konec. Průvodce přidáním rolí by nás měl po určité době informovat, že role a všechny služby rolí byly úspěšně nainstalovány:

Nyní musíme zkontrolovat, zda nám vše dobře fungovalo. Otevřete libovolný prohlížeč a přejděte do něj na http: // localhost... Měli bychom zobrazit takový radostný obrázek:


instalace platformy a komponent 1c

To znamená, že webový server je správně spuštěn a vše funguje dobře. Pojďme tedy k 1c. Je nutné dát platformu. Jedinou výhradou při instalaci platformy je zvolit:

  • 1C: Enterprise
  • Rozšiřující moduly webového serveru
nastavení přístupových práv

Prvním krokem je konfigurace práv složky, kde je umístěn kořenový adresář webového serveru. Pokud se nic nezměnilo, pak je to ve výchozím nastavení C: \\ inetpub \\ wwwroot... Přejděte do složky C: \\ inetpub \\vybrat složku wwwroot,klikněte na něj pravým tlačítkem a přejděte na vlastnosti. Přejděte na kartu Bezpečnost... Kliknutím na tlačítko změnit přejděte přímo k nastavení oprávnění. Najděte v seznamu Skupiny a uživatelé, skupina Uživateléa kliknutím na něj vložíme do sloupce níže Skupinová oprávněníchybějící zaškrtnutí ve sloupci Dovolit.

Nyní musíte dát práva složkám s nainstalovaným 1c. Předáváme jim, ve výchozím nastavení pro 32bitovou verzi 1c leží ve složce C: \\ Program Files (x86) \\ 1cv8pro 64 bitů ve složce C: \\ Program Files \\ 1cv8... Vyberte také složku 1cv8přejděte na jeho vlastnosti, přejděte na kartu Zabezpečení -\u003e Upravit.Ale místo toho, abychom vybrali skupinu ze seznamu, musíme ji nejprve přidat. Chcete-li to provést, stiskněte tlačítko Přidat do, v okně, které se objeví, stiskněte tlačítko dodatečně.


Dále klikněte na tlačítko Vyhledávánía v seznamu výsledků hledáme IIS_IUSRSjeho přidání dvojitým kliknutím nás vrátí do okna Výběr „Uživatelé“ nebo „Skupiny“ale se skupinou již na seznamu. Klikněte na OK a vraťte se do okna Skupinová oprávněnívložte všechny zaškrtnutí do povoleného pro nově přidanou skupinu.

Po nastavení oprávnění pro složky se soubory 1c nám zbylo druhé. Udělit práva skupině IIS_IUSRSve složce, kde máme samotnou základnu 1c.

Byly provedeny nezbytné přípravy. Pojďme nyní přímo k publikaci.

Publikování 1c na webovém serveru

Je nutné spustit 1c v režimu konfigurátoru, vybrat základnu, kterou potřebujete pro publikaci. V mém případě je to prázdná základna a je to jedna.

V režimu konfigurátoru 1c přejděte do nabídky Správa -> Publikování webového serveru.


Poté, co jsme se podívali na parametry a ujistili se, že nám ve skutečnosti všechno vyhovuje, stiskneme Pošta... Pokud vaše publikace proběhla bez problémů, pojďme k poslednímu kroku.

konfigurace služby IIS pro práci s 32bitovým rozšiřujícím modulem webového serveru 1C

Dovolte mi připomenout, že jsme použili 32bitovou platformu a 1c rozšiřující modul webového serveru. Proto v tomto případě stále musíme povolit spuštění výchozího fondu aplikací - DefaultAppPoolspouštět 32bitové aplikace. To není těžké udělat. No tak Správce serveru -> Role -> Webový server (IIS) -> Správce služeb (IIS) -> Fondy aplikací -> DefaultAppPool.Klikněte pravým tlačítkem na DefaultAppPoolvyvolejte místní nabídku a vyberte ji Další možnosti.


Hledám linku Jsou povoleny 32bitové aplikace a postavit opak SKUTEČNÝ

KONFIGURACE IIS PRO PRÁCI S 64bitovým 1C ROZŠÍŘENÍM WEBOVÉHO SERVERU

Pokud jsme použili 64bitovou platformu, respektive modul webového rozšíření, je nutné provést následující manipulace:

No tak Správce serveru -> Role -> Webový server (IIS) -> Správce služeb (IIS) -\u003e A vyberte aplikaci převedenou z virtuálního adresáře se jménem, \u200b\u200bkteré jsme se zeptali při publikování databáze. V pravém poli přejděte do sekce Mapování obslužných rutin. Publikování 1c 8.3 na webovém serveru iis Publikování 1c 8.3 na webovém serveru iis

Připojte se k naší skupině na VK!

I když společnost 1C nedoporučuje používat webový server v režimu souborů (ale pouze v režimu serveru) - pro malé podniky s 2–3 účetními však použití webového serveru v nových konfiguracích se „spravovanými formuláři“ (účetnictví 3.0, plat 3.0, atd.) - umožňuje vám uspořádat poměrně rychlý přístup k databázi počítačů v síti, i když se jedná o počítače, jedná se v podstatě o staré haraburdí. Je jen důležité, aby hlavní počítač s databázemi a webovým serverem byl slušný (například Core I3, 8 GB RAM a SSD disk).

Podrobný průvodce konfigurací webového serveru 1C na Apache (včetně souborové verze databází)

1. Stáhněte si instalační program Apache

Z nějakého důvodu již nejsou všechny nové verze (například 2.4.25) Apache k dispozici jako samorozbalovací distribuce. Je pro nás docela přijatelné používat ne nejnovější distribuční sadu 2.2.25 - umožňuje vám získat pohodlný instalační program a vyhnout se dalším manipulacím.

Upozorňujeme vás - je pro nás výhodné použít instalační program * .msi

Na doporučení uživatele (díky Vladimíre) zveřejňuji odkaz na Apache verze 2.4 (www.apachelounge.com). Pokud si stáhnete x64, buďte připraveni nainstalovat podobnou platformu x64 1c a upravit řádek LoadModule _1cws_module v souboru httpd.conf C: / Program Files / 1cv8 / 8.3.9.2016 / bin / wsap24.dll.
Já sám však nedoporučuji používat 64bitový 1C, protože s vysokou pravděpodobností budou obrovské problémy s připojením komerčního vybavení nebo jiných knihoven třetích stran.

Vybereme distribuční sadu „no ssl“, pokud se databáze budou otevírat pouze v naší místní síti, nebo distribuční sadu „ssl“, pokud se bude databáze otevírat na internetu. Další informace o nastavení SSL si můžete přečíst v článku Infostart

V našem příkladu nakonfigurujeme server bez SSL pro použití pouze v místní síti.

2. Spusťte stažený instalační program

Vyplňte síťovou doménu: Localhost, název serveru: Localhost

Stiskněte NEXT, Typ nastavení: Typical NEXT, NEXT, INSTALL

3. Zkontrolujte, zda se webový server spustil

Chcete-li to provést, otevřete libovolný prohlížeč a zadejte adresu stránky http: // localhost

Měli bychom vidět stránku, která říká, že to funguje!

Zjistíme IP adresu našeho počítače v místní síti. Chcete-li to provést, v pravém dolním rohu (vedle hodin) najdeme ikonu místní sítě, klikněte na ni pravým tlačítkem a otevřete „Centrum sítí a sdílení“

Výběr naší sítě

A stiskněte tlačítko „Podrobnosti“

V mém případě je adresa počítače v místní síti 192.168.0.189

Nyní se vrátíme do prohlížeče a zkontrolujeme dostupnost stránky It Works na IP adrese http://192.168.0.189 (ve vašem případě se čísla budou lišit)

Pokud znovu uvidíte známou stránku Funguje to, je vše v pořádku,

4. Zkontrolujte dostupnost stránky z jiných počítačů a nakonfigurujte bránu firewall

Znovu se pokusíme otevřít známou stránku http://192.168.0.189 (vaše čísla se liší), ale z jakéhokoli jiného počítače v místní síti.

Pokud se místo známé stránky zobrazí zpráva „Nelze získat přístup na web“ nebo podobnou zprávu, nakonfigurujme bránu firewall. Chcete-li to provést, vraťte se do počítače, kde je nainstalován Apache, přejděte do části „Ovládací panely“ - „Systém a zabezpečení“ - „Brána firewall systému Windows“ a na levé straně obrazovky klikněte na „Pokročilé nastavení

Klikněte na sekci „Pravidla pro příchozí připojení“, poté na pravou stranu okna „Vytvořit pravidlo“

Dali jsme všechna tři zaškrtávací políčka

Zadáme libovolný název, například „Port 80 webového serveru pro 1C“. Hotovo.

Znovu přejdeme na další počítače a ujistíme se, že nyní na IP adrese http://192.168.0.189 prohlížeč zobrazí stránku, která je nám známá Funguje to

5. Zveřejňujeme naši databázi na webovém serveru.

Otevřete konfigurátor naší databáze (Spuštění 1C je vyžadováno jako správce)

Jednou z příjemných vlastností technologie 1C: Enterprise je, že aplikační řešení vyvinuté pomocí technologie Managed Forms lze spustit jak v tenkém (spustitelném) klientovi pro Windows, Linux, MacOS X, tak jako webový klient pro 5 prohlížečů - Chrome. Internet Explorer, Firefox, Safari, Edge, to vše beze změny zdrojového kódu aplikace. Navíc externě aplikace v tenkém klientovi a v prohlížeči funguje a vypadá téměř identicky.
Najděte 10 rozdílů (pod 2 obrázky):

Okno tenkého klienta v systému Linux:

Stejné okno ve webovém klientovi (v prohlížeči Chrome):

Proč jsme vytvořili webového klienta? Trochu domýšlivě řečeno, takový úkol byl před námi stanoven časem. Přístup k internetu je již dlouho předpokladem pro obchodní aplikace. Na začátku jsme přidali schopnost pracovat přes internet pro našeho tenkého klienta (mimochodem někteří naši konkurenti se tam zastavili; jiní naopak tenkého klienta opustili a omezili se na implementaci webového klienta ). Rozhodli jsme se dát našim uživatelům možnost vybrat si možnost klienta, která jim nejlépe vyhovuje.

Přidání připojení k Internetu tenkému klientovi byl velkým projektem s kompletním přepracováním komunikační architektury klient-server. Vytvoření webového klienta je zcela nový projekt, začínající od nuly.

Formulace problému

Takže požadavky na projekt: webový klient by měl dělat totéž jako tenký klient, jmenovitě:
  1. Zobrazit uživatelské rozhraní
  2. Spusťte kód klienta napsaný v jazyce 1C
Uživatelské rozhraní v 1C je popsáno ve vizuálním editoru, ale deklarativně, bez uspořádání prvků po pixelech; používají se asi tři desítky typů prvků rozhraní - tlačítka, vstupní pole (textová, digitální, datum / čas), seznamy, tabulky, grafy atd.

Klientský kód v jazyce 1C může obsahovat volání na server, práci s místními prostředky (soubory atd.), Tisk a mnoho dalšího.

Tenký klient (při práci přes web) i webový klient používají ke komunikaci s aplikačním serverem 1C stejnou sadu webových služeb. Implementace klienta je samozřejmě odlišná - tenký klient je napsán v C ++, webový klient je napsán v JavaScriptu.

Trochu historie

Projekt vytvoření webového klienta byl zahájen v roce 2006 a v průměru se na něm podílel tým 5 lidí. V některých fázích projektu byli vývojáři zapojeni do implementace specifických funkcí (tabulkový dokument, diagramy atd.); zpravidla to byli stejní vývojáři, kteří tuto funkci vytvořili v tenkém klientovi. Ty. vývojáři přepsali komponenty v JavaScriptu, které dříve vytvořili v C ++.

Od samého začátku jsme odmítli myšlenku jakékoli automatické (alespoň částečné) konverze kódu tenkého klienta C ++ na webového klienta JavaScriptu kvůli silným koncepčním rozdílům mezi těmito dvěma jazyky; webový klient byl napsán od začátku v JavaScriptu.

V prvních iteracích projektu webový klient převedl kód klienta ve vloženém jazyce 1C přímo do JavaScriptu. Tenký klient se chová jinak - kód ve vloženém jazyce 1C je kompilován do bytecode a poté je tento bytecode na klientovi interpretován. Webový klient následně začal dělat totéž - zaprvé zvyšoval výkon a zadruhé umožňoval sjednocení architektury tenkých a webových klientů.

První verze platformy 1C: Enterprise s podporou webových klientů byla vydána v roce 2009. V té době webový klient podporoval 2 prohlížeče - Internet Explorer a Firefox. Počáteční plány zahrnovaly podporu pro Opera, ale kvůli nepřekonatelným problémům v té době s obslužnými programy zavírání aplikací v Opera (nebylo možné se 100% jistotou sledovat, že se aplikace zavírá, a v tu chvíli se odpojit od 1C aplikační server) z těchto plánů muselo být upuštěno.

Struktura projektu

Celkově má \u200b\u200bplatforma 1C: Enterprise napsané 4 projekty v JavaScriptu:
  1. WebTools jsou sdílené knihovny používané v jiných projektech (to je místo, kde zahrnujeme Google Closure Library).
  2. Ovládací prvek FormattedDocument
  3. Ovládání plánovače (implementováno v JavaScriptu jak u tenkého klienta, tak u webového klienta)
  4. Webový klient
Struktura každého projektu se podobá struktuře projektů Java (nebo .NET projektů - což je blíže komu); máme jmenné prostory a každý jmenný prostor je v samostatné složce. Složka obsahuje soubory a třídy oboru názvů. V projektu webového klienta je asi 1000 souborů.

Strukturálně je webový klient široce rozdělen do následujících subsystémů:

  • Rozhraní spravované klientskou aplikací
    • Obecné rozhraní aplikace (systémové nabídky, panely)
    • Rozhraní spravovaného formuláře, včetně asi 30 ovládacích prvků (tlačítka, různé typy vstupních polí - textová, číselná, datum / čas atd., Tabulky, seznamy, grafy atd.)
  • Objektový model dostupný vývojářům na klientovi (celkem více než 400 typů: objektový model spravovaného rozhraní, nastavení složení dat, podmíněný vzhled atd.)
  • Integrovaný tlumočník jazyka 1C
  • Rozšíření prohlížeče (používá se pro funkce nepodporované v JavaScriptu)
    • Práce s kryptografií
    • Práce se soubory
    • Technologie externích komponent, která umožňuje jejich použití v tenkých i webových klientech

Vývojové funkce

Implementace všeho výše uvedeného v JavaScriptu není snadná. Snad je 1C webový klient jednou z největších klientských aplikací napsaných v JavaScriptu - asi 450 000 řádků. V kódu webového klienta aktivně používáme objektově orientovaný přístup, který usnadňuje práci s tak velkým projektem.

Abychom minimalizovali velikost klientského kódu, nejprve jsme použili náš vlastní obfuscator a od verze 8.3.6 (říjen 2014) jsme začali používat Google Closure Compiler. Efekt použití v číslech je velikost rámce webového klienta po zamlžování:

  • Vlastní obfuscator - 1556 kb
  • Překladač Google Closure - 1073 kB
Použití kompilátoru Google Closure nám pomohlo zlepšit výkon webového klienta o 30% oproti našemu vlastnímu obfuscatoru. Kromě toho se množství paměti spotřebované aplikací snížilo o 15–25% (v závislosti na prohlížeči).

Google Closure Compiler funguje velmi dobře s objektově orientovaným kódem, takže jeho účinnost je u webového klienta co nejvyšší. The Closure Compiler pro nás dělá několik dobrých věcí:

  • Statická kontrola typu ve fázi sestavování projektu (zajištěno tím, že kód překryjeme anotacemi JSDoc). Výsledkem je statické psaní, které je velmi blízké úrovni psaní v C ++. To pomáhá zachytit poměrně velké procento chyb ve fázi kompilace projektu.
  • Snížení velikosti kódu díky zamlžování
  • Řada optimalizací pro spustitelný kód, například:
    • inline substituce funkcí. Volání funkce v JavaScriptu je docela nákladná operace a díky inline substitucím často používaných malých metod je váš kód mnohem rychlejší.
    • Počítání konstant v době kompilace. Pokud výraz závisí na konstantě, nahradí se do ní skutečná hodnota konstanty
WebStorm používáme jako vývojové prostředí pro webového klienta.

Pro analýzu kódu používáme SonarQube, kde integrujeme statické analyzátory kódu. Pomocí analyzátorů sledujeme zhoršení kvality zdrojového kódu JavaScriptu a snažíme se mu zabránit.

Jaké úkoly jsme řešili / řešíme

Během realizace projektu jsme stáli před řadou zajímavých úkolů, které jsme museli řešit.

Výměna dat se serverem a mezi okny

Existují situace, kdy může zmatení zdrojového kódu narušit provoz systému. Kvůli zmatku může mít kód mimo spustitelný kód webového klienta názvy funkcí a parametrů, které se liší od těch, které náš spustitelný kód očekává. Externí kód pro nás je:
  • Kód přicházející ze serveru ve formě datových struktur
  • Další kód okna aplikace
Abychom předešli zamlžování při komunikaci se serverem, používáme značku @expose:

/ ** * @constructor * @extends (Base.SrvObject) * / Srv.Core.GenericException \u003d function () (/ ** * @type (string) * @expose * / this.descr; / ** * @type (Srv.Core.GenericException) * @expose * / this.inner; / ** * @type (řetězec) * @expose * / this.clsid; / ** * @type (boolean) * @expose * / this. kódovaný;)
A aby nedocházelo k zamlžování při interakci s jinými okny, používáme tzv. Exportovaná rozhraní (rozhraní, do kterých se exportují všechny metody).

/ ** * Exportované rozhraní ovládacího prvku DropDownWindow * * @interface * @struct * / WebUI.IDropDownWindowExp \u003d function () () / ** * Posune výběr dopředu nebo dozadu o 1 * * @param (boolean) isForward * @ param (boolean) checkOnly * @return (boolean) * @expose * / WebUI.IDropDownWindowExp.prototype.moveMarker \u003d funkce (isForward, checkOnly) () / ** * Přesune výběr na začátek nebo konec * * @param (boolean) ) isFirst * @param (boolean) checkOnly * @return (boolean) * @expose * / WebUI.IDropDownWindowExp.prototype.moveMarkerTo \u003d funkce (isFirst, checkOnly) () / ** * @return (boolean) * @expose * / WebUI.IDropDownWindowExp.prototype .selectValue \u003d funkce () ()

Virtuální DOM jsme použili dříve, než se stal hlavním proudem)

Stejně jako všichni vývojáři zabývající se složitými webovými uživatelskými rozhraními jsme si rychle uvědomili, že DOM není vhodný pro práci s dynamickými uživatelskými rozhraními. Téměř okamžitě byl implementován analog Virtual DOM pro optimalizaci práce s uživatelským rozhraním. Během zpracování události se zapamatují všechny změny DOM a pouze po dokončení všech operací se nahromaděné změny použijí na strom DOM.

Optimalizace webového klienta

Aby náš webový klient fungoval rychleji, snažíme se maximálně využívat standardní možnosti prohlížeče (CSS atd.). Panel příkazů formuláře (umístěný téměř na každé formě aplikace) se tedy vykresluje výhradně pomocí prohlížeče s dynamickým rozvržením založeným na CSS.

Testování

Pro funkční testování a testování výkonu používáme vlastní produkční nástroj (napsaný v Javě a C ++), stejně jako sadu testů postavených na vrcholu Selenium.

Náš nástroj je univerzální - umožňuje vám testovat téměř jakýkoli okenní program, a proto je vhodný pro testování tenkého klienta i webového klienta. Nástroj zaznamenává akce uživatele, který spustil řešení aplikace 1C, do souboru skriptu. Současně se zaznamenávají obrazy pracovní oblasti obrazovky - standardy. Při monitorování nových verzí webového klienta se skripty přehrávají bez zásahu uživatele. Pokud snímek obrazovky v žádném kroku neodpovídá referenci, považuje se test za neúspěšný, poté odborník na kvalitu prozkoumá, zda se jedná o chybu nebo plánovanou změnu chování systému. V případě plánovaného chování jsou standardy automaticky nahrazeny novými.

Nástroj také měří výkon aplikace s přesností na 25 milisekund. V některých případech smyčkujeme zpět části skriptu (například opakujeme zadání objednávky několikrát), abychom analyzovali degradaci doby provádění v čase. Výsledky všech měření jsou zaznamenány do protokolu pro analýzu.


Náš testovací nástroj a testovaná aplikace

Náš nástroj a selen se navzájem doplňují; například pokud některé tlačítko na jedné z obrazovek změnilo své umístění - selen ho nemusí sledovat, ale náš nástroj si toho všimne, protože provede srovnání snímku obrazovky po pixelu s referencí. Nástroj je také schopen sledovat problémy se zpracováním vstupu z klávesnice nebo myši, protože je reprodukuje.

Testy na obou nástrojích (naše i Selenium) provádějí typické pracovní scénáře z našich aplikačních řešení. Testy se automaticky spouštějí po každodenním sestavení platformy 1C: Enterprise. V případě zpomalení skriptů (ve srovnání s předchozím sestavením) provedeme šetření a odstraníme příčinu zpomalení. Naše kritérium je jednoduché - nová sestava by neměla fungovat pomaleji než ta předchozí.

Vývojáři používají různé nástroje k vyšetřování případů zpomalení; primárně používá Dynatrace AJAX Edition od DynaTrace. Zaznamenají se protokoly problémové operace na předchozí a na nové sestavě, poté se protokoly analyzují. Současně nemusí být doba provádění jednotlivých operací (v milisekundách) rozhodujícím faktorem - procesy služby, jako je odvoz odpadu, se pravidelně spouštějí v prohlížeči, mohou se překrývat s dobou provádění funkcí a narušovat obraz. Relevantnější parametry v tomto případě by byly počet provedených příkazů JavaScriptu, počet atomických operací DOM atd. Pokud se v nové verzi zvýšil počet pokynů / operací ve stejném scénáři, znamená to téměř vždy pokles výkonu, který je třeba opravit.

Jedním z důvodů poklesu výkonu může být také to, že Google Closure Compiler z nějakého důvodu nemohl provést inline substituci funkce (například proto, že je funkce rekurzivní nebo virtuální). V tomto případě se snažíme situaci napravit přepsáním zdrojového kódu.

Rozšíření prohlížeče

V případě, že aplikace vyžaduje funkce, které nejsou v JavaScriptu, použijeme rozšíření prohlížeče:
  • pracovat se soubory
  • pro práci s kryptografií
  • práce s externími komponenty
Naše rozšíření jsou ve dvou částech. První část se nazývá rozšíření prohlížeče (obvykle rozšíření pro JavaScript pro Chrome a Firefox), které interaguje s druhou částí, binární rozšíření, které implementuje funkce, které potřebujeme. Je třeba zmínit, že píšeme 3 verze binárních rozšíření - pro Windows, Linux a MacOS. Binární rozšíření je dodáváno jako součást platformy 1C: Enterprise a je umístěno na aplikačním serveru 1C. Při prvním volání z webového klienta se stáhne do klientského počítače a nainstaluje se do prohlížeče.

Při práci v Safari používají naše rozšíření NPAPI, zatímco pracují v aplikaci Internet Explorer - technologie ActiveX. Microsoft Edge zatím nepodporuje rozšíření, takže webový klient pracuje s omezeními.

Další vývoj

Jednou ze skupin úkolů pro tým pro vývoj webových klientů je další vývoj funkčnosti. Funkčnost webového klienta musí být totožná s funkčností tenkého klienta, všechny nové funkce jsou implementovány současně v tenkém i webovém klientovi.

Mezi další úkoly patří vývoj architektury, refaktoring, zlepšení výkonu a spolehlivosti. Například jedním ze směrů je další pohyb směrem k asynchronnímu modelu práce. Některé z funkcí webového klienta jsou aktuálně založeny na synchronním modelu interakce se serverem. Asynchronní model se nyní stává důležitějším v prohlížečích (a nejen v prohlížečích) a to nás nutí upravit webového klienta nahrazením synchronních volání asynchronními (a odpovídajícím způsobem refaktorovat kód). Postupný přechod na asynchronní model je vysvětlen nutností podporovat uvolněná řešení a postupně je přizpůsobovat.

Štítky: Přidat štítky

Zde najdete podrobné informace o nastavení a konfiguraci webových prohlížečů Microsoft Internet Explorer, Mozilla Firefox, Apple Safari a Google Chrome pro práci s programem 1C: Správa naší společnosti (UNF).

Nastavení a používání webového prohlížeče Microsoft Internet Explorer

Vlastnosti použití

Pro práci s webovým klientem v operačním systému Windows XP SP 2 je vyžadována systémová knihovna jscript.dll verze 5.6.0.8834 nebo vyšší.

Knihovna je v adresáři systém32 operační systém. Pokud je ve vašem počítači nainstalována dřívější verze knihovny, může se webový klient výrazně zpomalit. Chcete-li aktualizovat verzi, musíte si stáhnout balíček aktualizace umístěný na adrese http://support.microsoft.com/kb/942840/en-us.

Pokud používáte Microsoft Internet Explorer 7 a Microsoft Internet Explorer 8 se zapnutými záložkami, můžete v okně, kde jsou záložky, přepnout z hlavního (okno se záložkami) do podřízeného formuláře (samostatné okno) pomocí klávesnice pomocí klávesových zkratek + Ctrl + F6 ... Pokud jsou záložky deaktivovány, můžete k přepnutí použít také klávesové zkratky Ctrl + Tab.

Pro tohle

  • V nabídce Servis (nástroje) vybrat předmět možnosti internetu a proveďte nastavení:
    • na kartě Bezpečnostní pro internetovou zónu stiskněte tlačítko Jiné (vlastní úroveň);
    • v sekci Skriptování pro parametr Aktivní skriptování Nainstalujte Umožnit a stiskněte tlačítko "OK".
  • Povolit vyskakovací okna:
    • přejděte na kartu Soukromí;
    • v sekci Blokování automaticky otevíraných oken zrušte zaškrtnutí políčka Blokovat vyskakovací okna.
    • na kartě Soukromí pomocí posuvníku vyberte úroveň používání cookies - ne vyšší Středně vysoký.

Pokud chcete pracovat se skenerem čárových kódů, elektronickými váhami nebo jinými externími součástmi, musíte nakonfigurovat následující nastavení webového prohlížeče:

  • na kartě Bezpečnostní zmáčknout tlačítko Jiné (vlastní úroveň);
  • v okně, které se otevře, musíte nainstalovat Umožnit pro následující parametry:
    • Automatické promting pro ovládací prvky ActiveX;
    • Stáhněte si podepsané ovládací prvky ActiveX;
    • Spouštějte ovládací prvky a doplňky ActiveX;
    • Práce s objekty označenými jako bezpečné (ovládací prvky skriptu ActiveX označené jako bezpečné pro skriptování).

Pokaždé, když otevřete pomocná okna, rozložení klávesnice se vybere z nastavení operačního systému. Pokud se neshoduje s jazykem pro zadávání dat, je v zájmu vyloučení přepínání jazyků doporučeno v nastavení zadat požadovaný jazyk pro zadávání dat.

Chcete-li nastavit výchozí vstupní jazyk, postupujte takto:

  • otevřete nastavení operačního systému „Místní a jazykové možnosti“;
  • na záložce "Jazyky" v sekci „Textové služby a vstupní jazyky“ zmáčknout tlačítko "Více informací ...");
  • v okně, které se otevře na kartě „Nastavení“ v sekci „Výchozí jazyk vstupu“ vyberte požadovaný jazyk;
  • zmáčknout tlačítko "OK".

Při práci v aplikaci Internet Explorer 8 se v některých situacích při přepnutí na již otevřené okno z jiného okna zobrazí dialogové okno s textem „Klepnutím na OK přejdete do okna“ a tlačítkem OK. Po stisknutí tlačítka přejdete do okna.

Funkce používání pokročilých nástrojů pro práci se soubory

Implementace pro Internet Explorer vyžaduje instalaci speciální komponenty ActiveX 1C: Enterprise 8.2. Rozšíření pro správu souborů pro Internet Explorer (x86)nebo jeho 64bitová verze pro 64bitový Internet Explorer. Komponenta je součástí rámce, ale její instalace musí být zajištěna v konfiguraci (musí být implementováno volání metody InstallWorkExtensionWithFiles).

Abyste mohli s komponentou pracovat, musí mít prohlížeč udělena práva k instalaci a používání podepsaných komponent ActiveX pro zónu, ve které se web nachází.

Knihovna Microsoft Core XML Services (MSXML) se používá pro práci se soubory. Doporučené verze jsou MSXML 6.0 a MSXML 4.0. V případě použití MSXML 3.0 mohou nastat problémy s přenosem velkých souborů z klienta na server.

Seznam verzí modulů MSXML, omezení a doporučení k instalaci najdete na této stránce.

Nastavení a používání webového prohlížeče Mozilla Firefox

Vlastnosti použití

Všechny operace se systémem souborů (příjem souboru ze serveru, přenos souboru na server, odstranění souboru atd.) Jsou prováděny přísně interaktivně. Pokud provedení akce nevyžaduje interakci s uživatelem (například výběr souboru), zobrazí se varovné dialogové okno vyžadující potvrzení od uživatele.

Nastavení využití webového prohlížeče

Chcete-li se připojit k základnám 1C: Enterprise 8 pomocí Mozilla Firefox, musíte nakonfigurovat následující nastavení:

  • V nabídce otevřete prohlížeč Nástroje vybrat předmět Možnosti;
  • Obsah
    • Zrušte zaškrtnutí políčka;
    • Zaškrtněte políčko Povolte JavaScript.
  • Přejít na sekci Soukromí proveďte následující nastavení:
    • Zaškrtněte políčko Přijímat cookies ze stránek;
    • Podrobná nastavení pro přijímání nebo odmítání cookies získáte kliknutím na tlačítko Výjimky a postupujte podle vysvětlení konfiguračního dialogu.

Pokud se jako prohlížeč používá anglická verze Mozilla Firefox, je pro správné fungování webového klienta nutná následující konfigurace (umístění nastavení je uvedeno pro verzi 3.5):

  • V nabídce otevřete prohlížeč Nástroje vybrat předmět Možnosti;
  • Na záložce Obsah ve skupině Písma a barvy zmáčknout tlačítko Pokročilý;
  • V parametru Výchozí kódování znaků vybrat Unicode.

Úpravu zbývajících parametrů, které mohou být vyžadovány pro práci s webovým klientem 1C: Enterprise, lze provést pomocí příkazu „Služba - konfigurace webového prohlížeče“... Nastavení se provádí v okně, které lze provést také v nastavení samotného webového prohlížeče v dialogu žádosti o oprávnění.

V okně se konfiguruje následující nastavení prohlížeče (v závorkách jsou podobná nastavení pro webový prohlížeč):

  • Umožněte práci se schránkou, příponou souboru, externími komponentami (signed.applets.codebase_principal_support) - pro práci se schránkou, externími komponentami a pokročilou práci se soubory (true);
  • V parametrech spouštěcího řetězce povolte použití nelatinských znaků (network.standard-url.encode-query-utf8) - pro použití jiných než latinských znaků v adresním řádku (hodnota true);
  • Umožněte klávesnici přepínat mezi okny aplikace (dom.popup_allowed_events) - povolit navigaci přes okna aplikace z klávesnice (přidá událost keydown k hodnotě parametru);
  • Použijte ověřování operačního systému (network.automatic-ntlm-auth.trusted-uris) - pokud je nastaveno, bude provedeno ověření operačního systému. Toto nastavení změní pouze hodnotu klíče network.automatic-ntlm-auth.trusted-uris. Chcete-li ověřit operační systém podle konkrétní konfigurace sítě a webového serveru, možná budete muset nastavit hodnoty pro klíče network.negotiate-auth.trusted-uris a network.negotiate-auth.delegation-uris. Další informace najdete na stránce https://developer.mozilla.org/en/Integrated_Authentication.

Tyto parametry lze také konfigurovat ručně. Chcete-li to provést, zadejte do adresního řádku webového prohlížeče about: config, pak do řádku filtru zadejte libovolné slovo z názvu parametru (například ředitel školy) a změňte jeho hodnotu v seznamu.

  • V nabídce otevřete prohlížeč Nástroje vybrat předmět Možnosti;
  • V okně, které se otevře, přejděte do sekce Hlavní;
  • Zaškrtněte políčko Vždy požádejte o uložení souboru.

Chcete-li ručně nakonfigurovat ověřování, měli byste:

  • do adresního řádku prohlížeče zadejte about: config.
  • poté na stránce nastavení v řádku filtru zadejte název parametru.
    Toto nastavení se provádí pro tři parametry:
    • network.automatic-ntlm-auth.trusted-uris,
    • network.negotiate-auth.delegation-uris,
    • network.negotiate-auth.trusted-uris.
  • poté nastavte seznam webových serverů, přes které bude probíhat práce s databází 1C: Enterprise.
  • Webový server podporuje NTLM-autentizace.
    Pokud je název webového serveru, ke kterému se pokoušíte získat přístup, uveden v seznamu jmen obsaženém v parametru network.automatic-ntlm-auth.trusted-urispoté bude provedeno automatické ověření. Pokud název webového serveru není, prohlížeč zobrazí dialogové okno, ve kterém musíte zadat uživatelské jméno a heslo pro přístup k webovému serveru.
  • Webový server podporuje Kerberos-autentizace.
    Chcete-li získat přístup k webovému serveru s tímto typem ověřování, přidejte do parametru název tohoto webového serveru. To bude dostačující při práci se souborovou základnou. Pokud je nutné zajistit automatické ověřování uživatelů webového klienta při použití možnosti 1C: Enterprise klient-server, přidejte do parametru název DNS tohoto webového serveru network.negotiate-auth.delegation-uris.
    V případě, že se v parametru nenachází název webového serveru, na který se přistupuje network.negotiate-auth.trusted-uris, neproběhne žádné ověřování a uživateli se zobrazí chybová zpráva 401 Neoprávněné. Aby mohl uživatele informovat o akcích, které musí provést, může administrátor upravit chybovou stránku 401 (viz dokumentace použitého webového serveru).

Funkce používání pokročilých nástrojů pro práci se soubory

Všechny operace se systémem souborů (příjem souboru ze serveru, přenos souboru na server, odstranění souboru atd.) Jsou prováděny přísně interaktivně. Pokud provedení akce nevyžaduje interakci s uživatelem (například výběr souboru), zobrazí se varovné dialogové okno vyžadující potvrzení od uživatele.

Přípona souboru vyžaduje oprávnění UniversalXPConnect... Webový prohlížeč Mozilla FireFox provádí požadavek na oprávnění interaktivně, ale uživatel si může zapamatovat řešení pro daný web.

Pokud si webový prohlížeč Mozilla FireFox pamatuje rozhodnutí uživatele o udělení oprávnění a uživatel chce toto rozhodnutí změnit, bude si muset soubor upravit sám prefs.jskterý je uložen v jeho složce profilu ve webovém prohlížeči Mozilla Firefox.

Popis, jak najít složku profilu, je zde:
http://wiki.mozilla.ru/index.php/ O profilech Mozilla Firefox (ruský článek)
http://support.mozilla.com/en-US/kb/Profiles (článek v angličtině).

Dále potřebujete:
1. Vypněte Mozilla FireFox.
2. Otevřete prefs.js libovolný textový editor
3. Najděte v textu řetězec UniversalXPConnect... Nalezne se text, který vypadá takto:
user_pref ("capability.principal.codebase.p.granted", "UniversalXPConnect");


nebo
user_pref ("capability.principal.codebase.p.denied", "UniversalXPConnect");
user_pref ("capability.principal.codebase.p.id", "");
user_pref ("capability.principal.codebase.p.subjectName", "");
kde je libovolné číslo a adresa požadované webové stránky. Pokud ne, musíte v textu pokračovat v hledání výrazu „UniversalXPConnect“.
4. Odstraňte nalezené řádky z textu.

Nastavení a používání webového prohlížeče Apple Safari

Chcete-li použít webový prohlížeč, musíte nakonfigurovat vlastnosti Internetu.

Chcete-li to provést, otevřete nabídku a vyberte položku Předvolby a proveďte nastavení:

  • Povolit spouštění skriptů JavaScript:
    na záložce Bezpečnostní vybrat Povolte JavaScript
  • Povolit cookies:
    na záložce Bezpečnostní ve skupině Přijměte cookies vybrat Pouze ze stránek, které navštěvuji;
  • Povolit vyskakovací okna:
    na záložce Bezpečnostní zrušte zaškrtnutí políčka Blokovat vyskakovací okna.
  • V nabídce Nastavení Safari vybrat předmět Předvolby;
  • Na záložce Základní (obecné) zaškrtněte políčko Před stažením vždy výzvu.

Nastavení a používání webového prohlížeče Google Chrome

Chcete-li použít webový prohlížeč, musíte nakonfigurovat vlastnosti Internetu.

Chcete-li to provést, otevřete nabídku Nástroje, vybrat předmět Možnosti, na kartě Rozšířené (pod kapotou) zmáčknout tlačítko Nastavení obsahu a proveďte nastavení:

  • Povolit cookies:
    na záložce Soubory cookie vybrat Povolit nastavení místních dat (doporučeno) nebo nastavit výjimky;
  • Povolit spouštění skriptů JavaScript:
    na záložce JavaScript vybrat Povolit všem webům spouštět JavaScript (doporučeno) nebo nastavit výjimky;
  • Povolit vyskakovací okna:
    na záložce Vyskakovací okna vybrat Povolit všem webům zobrazovat vyskakovací okna nebo nastavit výjimky.
  • Otevřete nabídku Nástroje, vyberte Možnosti;
  • Na záložce Rozšířené (pod kapotou) v sekci Soubory ke stažení zaškrtněte políčko Před stažením se zeptejte, kam uložit každý soubor.

Publikováním 1C na webovém serveru můžete minimalizovat systémové požadavky na uživatelské stroje a plně využít možnosti implementované ve vás. To vám umožní organizovat práci se základnou nejen pomocí tenkého klienta, ale také pomocí libovolného prohlížeče, bez instalace dalších komponent a aplikací.

Primární požadavky

Minimální systémové požadavky na straně serveru architektury se mohou výrazně lišit a velmi závisí na:

  1. Úkoly řešené programem;
  2. Intenzita pracovního postupu;
  3. Počet současně připojených uživatelů;
  4. Velikost a počet publikovaných a registrovaných databází.

Při publikování 1C na webovém serveru je však jednoduše nemožné obejít se bez dvou věcí:

  • Webový server nasazený v systému;
  • Instalovaný a běžící rozšiřující modul dodávaný společností 1C.

webový server

Tímto prvkem naší struktury může být buď Internet Information Server (IIS) dodávaný jako součást operačních systémů od společnosti Microsoft, nebo server Apache. Samozřejmě existují placené analogy těchto řešení, ale nebudeme o nich mluvit.

Další výhodou produktů Apache je schopnost spouštět je z operačních systémů podobných Linuxu.

Zvažíme možnost s IIS, protože nevyžaduje vyhledávání a instalaci produktů třetích stran.

Rozšiřující moduly webového serveru

Tyto moduly lze nainstalovat spuštěním souboru doručení platformy. Po dosažení okna, jehož vzhled je znázorněn na obr. 1, musíte aktivovat instalaci příslušné součásti.

Přirozeně, kromě rozšíření, musí být na počítači nainstalována samotná platforma 1C Enterprise, jinak nebudeme mít přístup ke konfigurátoru, kterým se provádí hlavní část publikace.

Poté, co jsme se rozhodli pro nástroje, přejdeme k nastavení.

Instalace a spuštění webového serveru

Chcete-li spustit IIS v počítači s nainstalovaným Windows, musíte provést následující posloupnost akcí (například Windows 7):


Obr

Můžete se ujistit, že webový server funguje, zadáním řádku jako „http: // localhost“ do adresního řádku libovolného prohlížeče a získáním obrázku jako na obr.4.

Obr


Obr.

V některých případech (zejména pokud je program spuštěn v 64bitovém operačním systému) bude po publikování databáze na serveru možná nutné vylepšit práci s knihovnami používanými platformou 1C. To lze provést z podnabídky Weby.

Po výběru konkrétní právě publikované databáze v seznamu je nutné aktivovat obslužnou rutinu Mapping Handlers (obr.7).
Obr

V našem případě musíme navázat korespondenci mezi ISAPI-dll a spustitelným souborem wsisapi.dll umístěným ve složce BIN nainstalované verze platformy.

V zásadě lze hlavní část práce se serverem považovat za dokončenou, přistoupíme přímo k publikaci databáze.

Publikování databáze na server

Konfigurace uživatelských práv

Po obdržení výše uvedeného okna přejdeme k nastavení pravidel přístupu pro uživatele.

Musíme poskytnout plný přístup uživateli IIS_USERS:

  • Do složky „C: \\ inetpub \\ wwwroot \\ Název publikace“, kde je zdroj uložen;
  • Do složky s používanou verzí programu, kde je uložena knihovna wsisapi.dll;
  • Na místo, kde je uložena základna.

Po dokončení výše uvedených kroků můžeme zkontrolovat výkon naší publikace zatlučením do řádku jako „localhoct / název publikace“ v okně prohlížeče a vyhledáním formuláře identifikace uživatele.