• Webové služby. Co je webová služba Příklad webových služeb 1s 8.2

    Naštěstí pro práci s webovými službami neexistují žádná omezení.

    Přidání webové služby do metadat

    Otevřete konfigurační strom, větev Jsou běžné, Dále webové služby, přidejte novou webovou službu (budu jí říkat my_ws) a vyplňte vlastnosti, jak je znázorněno na obrázku.

    Je třeba provést několik upřesnění ohledně vlastností webových služeb.

    • Balíčky XDTO- Toto pole určuje seznam balíčků XDTO, jejichž typy lze použít v hodnotě, která je vrácena jako výsledek operací webové služby.
    • URI jmenného prostoru je řetězec, který určuje URI jmenného prostoru pro tuto webovou službu. Jakoukoli webovou službu lze jednoznačně identifikovat kombinací jejího názvu a jmenného prostoru. Je nutné jasně pochopit, že tato vlastnost nemá nic společného s fyzickou adresou webového serveru nebo s webem organizace atd. Je to jen virtuální adresa. Proto je potřeba přiřadit jasný název, který může vypovídat například o oblasti umístění a použití webové služby. Zejména může existovat zkratka standardní konfigurace, do které webová služba patří.

    Provoz webových služeb

    Pro zajištění fungování webové služby je nutné pro ni vytvořit operace, které provedou určité akce a případně vrátí potřebná data.

    Jako příklad vytvoříme operaci pro naši webovou službu, která vrátí klasickou frázi „Ahoj světe!“ Zavolejme jí Ahoj:

    Vytvořme funkci v modulu webové služby Ahoj světe(), jehož odkaz bude vložen do odpovídající vlastnosti operace.

    Funkce HelloWorld() Návrat "Ahoj světe!" ; EndFunction

    Tato operace má ale jednu nevýhodu. Nelze do něj přenést původní data. Pro tyto účely provoz webových služeb využívá jejich podřízené objekty - Možnosti.

    Přidejme ještě jednu operaci - Dobrý den,Usr a vytvořte pro něj parametr název.

    Tato operace vrátí uživateli pozdrav voláním následující funkce:

    Funkce HelloUser(UserName) Vrací "Ahoj, " + UserName + "!" ; EndFunction

    Publikování webové služby

    Nyní jsme připraveni publikovat webovou službu. K tomu se musíte přihlásit do konfigurátoru s administrátorskými právy. Klikněte pravým tlačítkem na zástupce 1C a vyberte příslušnou položku nabídky:

    Vyberte z nabídky Správa —> Publikování na webový server

    V okně, které se otevře, zadejte název publikace a zaškrtněte políčko Publikování webových služeb a také označit webovou službu, kterou jsme vytvořili:

    WS odkazy

    Pro práci s webovými službami se používá následující objekt 1C: WS-link. Jde o WSDL popis webové služby získaný importem ze zdroje, na kterém se webová služba nachází. To znamená, že v první řadě potřebujeme znát adresu, na které můžeme získat WSDL popis webové služby. Ve vztahu k našemu příkladu bude tato adresa v souladu s nastavením, které jsme provedli během procesu vytváření a publikování webové služby, vypadat takto:

    Http://localhost/professia1c/ws/my_ws.1cws?wsdl

    Podívejme se, z jakých částí se tato adresa skládá.

    • http://localhost/- Tato adresa označuje fyzické umístění webového serveru. Protože to mám na místním počítači, je to localhost, ale v praxi je to buď IP adresa serveru, nebo jeho název
    • profese1c je název publikace. Zadali jsme to do pole název v dialogu, kdy byla webová služba publikována
    • ws- znamení, že přistupujeme k webové službě
    • my_ws.1cws— název souboru publikace, který jsme zadali ve vlastnostech při vytváření webové služby
    • ?wsdl- parametr, který indikuje, že potřebujeme získat popis WSDL

    Po publikování webové služby, abyste si ověřili, že byla úspěšně publikována, můžete zadat adresu jejího popisu WSDL do adresního řádku vašeho prohlížeče. V tomto případě bychom měli v okně prohlížeče obdržet soubor XML s přibližně následujícím obsahem:

    1. Použití dynamického odkazu ws.
    2. Vytvoření statického odkazu ws.

    Podívejme se na každou z těchto metod.

    Dynamické WS odkazy

    &Procedura OnServer ConnectOnServer() Definice WSO = Nová WSDefinition( "http://localhost/professia1c/ws/my_ws.1cws?wsdl", "Sidorov", ""); WSProxy = New WSProxy(definice WSO, "http://www.site/" , "my_ws" , "my_wsSoap" ) ; VSProxy. Uživatel = "Sidorov" ; VSProxy. Heslo = "" ; TextVS = VSProxy. HelloUsr("Vasya" ) ; Zpráva = New MessageToUser; Zpráva. Text = TextVS; Zpráva. Ohlásit() ; Konec procedury

    Jak asi tušíte, výsledkem tohoto postupu bude text v okně zprávy „Ahoj, Vasyo!“

    Statické odkazy WS

    Místo programového vytváření objektu Definice WS můžeme přímo vytvořit objekt metadat WS-link v konfiguračním stromu. Během procesu vytváření se zobrazí okno s výzvou k zadání adresy definice WSDL pro její import:

    Pak se můžeme přímo odkazovat na tento odkaz WS v kódu. A postup pro přístup k webové službě bude mít následující podobu:

    &OnServer Procedura ConnectThroughLinkOnServer() VSProxy = WSLinks. WSlink_my_ws. CreateWSProxy("http://www.site/" , "my_ws" , "my_wsSoap" ); VSProxy. Uživatel = "Sidorov" ; VSProxy. Heslo = "" ; TextVS = VSProxy. HelloUsr("Vasya" ) ; Zpráva = New MessageToUser; Zpráva. Text = TextVS; Zpráva. Ohlásit() ; Konec procedury

    Podívali jsme se na obecné koncepty použití mechanismu « Web-služby". Pojďme si osvěžit nějaké znalosti.

    Webové služby se používají k výměně dat mezi serverem a klientem; Formát XML slouží k „balení“ dat za účelem vzájemného porozumění mezi oběma účastníky komunikace.

    KAPITOLA

    PŘÍKLAD REALIZACEWEB- SERVIS V SYSTÉMU 1C:ENTERPRISE

    ÚKOL: Je nutné vytvořit webovou službu, pomocí které klienti zjistí všechny potřebné informace o svých aplikacích.

    Úloha je demonstrační a slouží pouze jako příklad pro pochopení a výuku mechanismuweb-služby.

    ŘEŠENÍ:

    Krok 1. Vytvořme novou informační základnu bez konfigurace pro vývoj nové konfigurace.

    Krok 2. Pojďme do konfigurace přidat několik nových objektů

    Adresář "Klienti";

    Dokument "Přihláška";

    Výčet "Stavy požadavků".

    Krok 3 Pojďme vytvořit nový balíček XDTO.

    Proč a za jakým účelem vytváříme balíček XDTO? Více informací o používání mechanismu XDTO lze nalézt v „Kapitola 16. Příručka pro vývojáře“ a .

    Stručně poznamenejme, že mechanismus XDTO je univerzální způsob prezentace dat pro interakci s různými externími datovými zdroji a softwarovými systémy.

    V našem případě je vytvořen balíček XDTO, který popisuje návratovou hodnotu webové služby.

    Rozbalme větev „Obecné“ → „Balíčky XDTO“ → Přidat…

    Upřesníme název balíčku XDTO " DokumentyData"a jeho jmenný prostor http://localhost/request nebo http://192.168.1.76/request (pro usnadnění porozumění a procesu učení uvádíme místní IP adresu počítače, kde je webový server nainstalován (podporované webové servery: IIS nebo Apache)). Každá webová služba může být jednoznačně identifikována svým názvem a URI jmenného prostoru, do kterého patří.

    Náš balíček obsahuje dva typy objektů XDTO:

    1) С zákazník- k přenosu dat z prvku adresáře „Klienti“.

    - název ;

    2) Dokument- k přenosu dat z dokumentu „Přihláška“.

    Tento typ objektu XDTO bude obsahovat následující vlastnosti:

    - С zákazník- Typ zákazníka z jmenného prostoru http://192.168.1.76/request ; představuje odkaz na objekt XDTO, který jsme definovali výše;

    - Postavení- typ řetězce z jmenného prostoru http://www.w3.org/2001/XMLSchema ;

    - Číslo- typ řetězce z jmenného prostoru http://www.w3.org/2001/XMLSchema.

    Krok 4. Přidejme do konfigurace novou webovou službu

    Rozbalíme větev „Obecné“ → „Webové služby“ → Přidat…

    Pro webovou službu zadáváme následující hodnoty vlastností:

    Název - DokumentyData

    URI jmenného prostoru - http://192.168.1.76/request

    Balíčky XDTO – DokumentyDatanebohttp://192.168.1.76/request

    Název souboru publikace - požadavek.1cws

    Krok 5. Pro vytvořenou webovou službu nadefinujeme operaci “ GetData»

    Hodnoty provozní vlastnosti:

    Typ návratu - Dokument (http://192.168.1.76/request)

    Možná prázdná hodnota - Skutečný

    Název procedury - GetData.

    Krok 6. Na operaci GetData Pojďme definovat parametr Zákazník s následujícími hodnotami vlastnosti:

    Typ hodnoty - typ tětiva z jmenného prostoru http://www.w3.org/2001/XMLSchema;

    Směr přenosu - vstup.

    Krok 7 Otevřeme modul vytvořené webové služby a umístíme do něj funkci Get(), která se provede při volání této webové služby.

    Function GetData(Customer) // Získání typů XDTO objektů ClientType = FactoryXDTO.Type("http://192.168.1.76/request", "Customer"); RequestType = FactoryXDTO.Type("http://192.168.1.76/request", "Document"); // Získání klienta ClientLink = Directories.Clients.FindByName(Customer); If Not ValueFilled(ClientRef) Then Return Undefined; endIf; Žádost = Nová žádost; Request.Text = "SELECT TOP 1 | Application.Link, | REPRESENTATION(Application.Status) AS Status, | Application.Number |FROM | Document.Request AS Application |WHERE | Application.Client = &Client"; Request.SetParameter("Klient", ClientLink); RequestResult = Request.Execute(); If QueryResult.Empty() Then Return Undefined; endIf; Selection = QueryResult.Select(); Selection.Next(); Dokument = Selection.Link.GetObject(); // Vytvoření objektu XDTO objednávky Order = FactoryXDTO.Create(OrderType); Application.Numder = Sample.Number; Klient = FactoryXDTO.Create(ClientType); Client.Name = ClientLink.Name; Application.Customer = Klient; Application.Status = Selection.Status; // Vrácení požadavku Return Application; EndFunction

    Krok 8 Publikujme vytvořenou webovou službu na webovém serveru.

    Položka nabídky Konfigurátor: „Správa“ → „Publikování na webovém serveru“.

    Na kartě „Webové služby“ zaškrtněte políčko „Publikovat webové služby“ a také zaškrtněte políčko vedle naší nové webové služby.

    KAPITOLAII

    PŘÍKLAD ODVOLÁNÍ NAWEB-NA SLUŽBU SYSTÉMU 1C:ENTERPRISE Z APLIKACE TŘETÍ STRANY

    Hlavním účelem mechanismu webových služeb v systému 1C:Enterprise je přenos potřebných dat do aplikací třetích stran.

    Podívejme se na příklad vývoje aplikace v Delphi volající naši webovou službu z první části tohoto článku.

    Krok 1. Pojďme vytvořit nový projekt a umístit několik ovládacích prvků na formulář

    Textové pole – slouží k zobrazení informací přijatých z webové služby;

    Dvě tlačítka - vymazání textového pole a přístup k webové službě;

    Vstupní pole je parametr předaný webové službě.

    Krok 2. Import souboru WSDL

    Výsledkem je nový modul žádost(tento název jsme definovali přímo v 1C). Tento modul obsahuje všechny potřebné informace o webové službě.

    Krok 3 Pojďme napsat obsluhu volání webové služby

    Proměnná DocumentDataPortType je již v modulu definována žádost

    Krok 4. Spusťte aplikaci a spusťte test.

    KAPITOLAIII

    PŘÍKLAD ODVOLÁNÍ NAWEB-SERVIS V SYSTÉMU 1C:ENTERPRISE

    Krok 1. Vytvořme nové externí zpracování s názvem "WEB_Service"

    Krok 2. Definujme nový formulář pro zpracování

    Krok 3 Ve formuláři uvedeme několik podrobností

    Klient - zadejte "String"

    ClientReturn - zadejte "String"

    NumberReturn - zadejte "String"

    StatusReturn - zadejte „String“.

    Podrobnosti zobrazíme na formuláři.

    Krok 4. Přidáme příkaz formuláře " Chcete-li získat data»

    Uvedeme obsluhu příkazů

    &Procedura OnClient GetData(Command) GetDataOnServer(Client); Konec procedury GetDataOnServer(Client) // Vytvořte WS proxy na základě odkazu a proveďte operaci Get() Definice = New WSDefinitions("http://192.168.1.76/WEB_Service/ws/request.1cws?wsdl") ; Proxy = New WSProxy(Definice, "http://192.168.1.76/request", "DocumentsData", "DocumentsDataSoap"); Data aplikace = Proxy.GetData(Client); If Application Data = Undefined Then ClientReturn = "Undefined"; StatusReturn = "Nedefinováno"; ReturnNumber = "Nedefinováno"; Vrátit se; endIf; CustomerReturn = Application Data.Customer.Name; StatusReturn = Application Data.Status; Návratové číslo = Application Data.Numder; Konec procedury

    Systém 1C:Enterprise může využívat webové služby poskytované jinými poskytovateli dvěma způsoby:

    Používáním statický odkazy vytvořené v konfiguračním stromu;

    "Plus": vysoká rychlost;

    "mínus": opětovný import popisu WSDL pomocí konfigurátoru a uložení změněné konfigurace.

    Používáním dynamický odkazy vytvořené vestavěnými jazykovými nástroji

    (odpovídajícím způsobem „nevýhody“ statických pro dynamické jsou „klady“).

    KAPITOLAIV

    LADĚNÍ WEBOVÝCH SLUŽEB V SYSTÉMU 1C:ENTERPRISE

    Pro místní webovou službu potřebujete:

    Krok 1. Umístěte soubor na klienta, kde běží systém 1C webservicecfg.xml s následujícím obsahem

    Krok 2. Do souboru výchozí. vrd publikovat řádek přidání konfigurace

    Krok 3 V konfigurátoru vyberte položku nabídky

    „Ladění“ → „Připojení“ → „Automatické připojení“ → „Webové služby na serveru“

    Krok 4. Klikněte na tlačítko „OK“.

    Pro volbu server musíte také spustit server 1c v režimu ladění s klíčem /ladit

    Výměna dat je obvykle organizována nahráním souboru z jednoho programu a jeho načtením do jiného. Někteří programátoři poskytují programům třetích stran přístup k databázi 1C SQL (což se zdá být silně nedoporučováno).

    Termín „výměna dat“ ne vždy odpovídá danému úkolu, někdy je správnější říci poskytování dat. Například externí program potřebuje identifikovat, zda takový klient existuje v 1C a jeho bilanci.

    Poskytnutí přístupu k datům 1C je nesprávné z důvodu zabezpečení dat. Je potřeba spíše ověřovací mechanismus jménem a heslem s dalším vracením zůstatku.

    Tento přístup se nazývá servisní přístup, kdy program neposkytuje data, ale službu, která umožňuje identifikovat klienta a zjistit jeho zůstatek.

    Jak to funguje?

    Funkce zvenčí jsou volány (spouštěny) požadavkem pomocí protokolu SOAP.

    Používá se k předávání parametrů a výsledků. Abyste mohli pracovat s webovými službami, musíte mít základní znalosti .

    Webové služby 1C

    Webová služba 1C je metoda, pomocí které můžete povolit spouštění některých funkcí 1C mimo databázi 1C, včetně z jiných programů nebo jiných databází 1C.

    To je lepší než poskytování přímého přístupu k datům 1C, protože při volání metody (funkce) webové služby 1C externí program nemá přístup k datům. Funkce v jazyce 1C nezávisle určuje právo externího programu přijímat určité množství dat na základě předávaných parametrů (například jména a hesla).

    V mnoha případech nemůžete vytvořit svůj vlastní balíček XDTO, ale použít výchozí balíček výběrem balíčku www.sample-package.org ze seznamu

    Metody webových služeb 1C

    Poté musíte přidat seznam funkcí (metody webové služby 1C), které budou poskytovány externě. Je lepší jim říkat anglicky. Funkce může mít parametry.

    Základní typy k použití:

    • řetězec – řetězec
    • int nebo celé číslo – celé číslo
    • reálné – zlomkové číslo
    • datum – datum.

    Pro každou přidanou funkci webové služby 1C ji musíte vytvořit ve vlastnostech, stejně jako jsme to udělali v a tak dále.

    Právě tato funkce 1C bude provedena při volání metody webové služby 1C. Nezapomeňte, že se bude provádět na serveru 1C. Souborový režim práce s webovými službami 1C se nedoporučuje.

    Funkce obvykle vrací nějaká data. Typicky je typ řetězec a vrací se řetězec XML.

    Řetězec XML lze vygenerovat pomocí objektů jazyka 1C pro , nebo můžete jednoduše vytvořit textový řetězec, ve kterém je uložen text XML.

    Publikování webové služby 1C

    Jak jsme řekli dříve, ostatní programy musí „vědět“, že webová služba 1C existuje, má takový seznam metod a tak dále.

    Popis by měl být na webu. K tomu potřebujete:

    • Mít webové stránky
    • Ve vlastnostech webové služby 1C zadejte název souboru s příponou 1cws, což je odkaz na popis WSDL
    • Nahrajte tento soubor na web v konfigurátoru pomocí položky nabídky Správa/Publikovat na webovém serveru.

    Prohlížeč by měl zobrazit nějaký druh souboru XML (příklad souboru WSDL zde http://ru.wikipedia.org/wiki/WSDL), a ne chybu, ne prázdnou stránku a ne rozmazaný text v žádném kódování.

    Po úspěšném zveřejnění lze použít webovou službu 1C. Chcete-li to provést, v jiném programu musíte použít tuto internetovou adresu pro odkazy na webovou službu 1C.

    Visual Studio například umožňuje libovolnému jazyku (C++, C#, Visual Basic) zahrnout webovou službu 1C do projektu podle jejího popisu WSDL a vygenerovat třídu pro použití webové služby 1C.

    Webové služby v 1C

    Tento článek se bude zabývat integrací 1C se stávajícími webovými službami a použitím samotné 1C jako webové služby.

    Webové služby budeme v tomto případě chápat jako systémy, které fungují na internetu a zajišťují interakci s nimi nejen prostřednictvím SOAP (což je přesně webová služba), ale i jinými způsoby, včetně běžných HTTP(S) požadavků.


    Rizika používání webových služeb 1C

    Platforma 1C81 představila implementaci webových služeb.

    Ale jejich použití je plné rizik:

    1. 1C8 nefunguje dobře přes HTTPS, neexistují žádné diagnostické nástroje, takže je někdy nemožné pochopit, proč, i když existuje certifikát, služba nechce fungovat přes HTTPS. Řešením je implementace webových služeb přes CURL nebo zvýšení HTTPS tunelu.
    2. 1C8 dodržuje svá pravidla pro ověřování schémat WSDL. Někdy z nevysvětlitelných důvodů schéma WSDL nechce být načteno do odkazu WS. Důvod zjistíte pouze na partnerském fóru od jednoho specialisty. Neexistují žádné diagnostické nástroje schématu WSDL, dokonce ani není uveden důvod nebo řádek, na kterém je načítání schématu přerušeno.

    Pravidla pro budování prodejních služeb

    Klientovi je vystaven prodejní doklad (účtenka) pouze v případě úspěšné transakce služby. Jinak je možná situace, kdy klient obdrží šek a je si jistý, že službu obdržel, ale ve skutečnosti ji nedostal.

    Použití externích služeb SOAP

    Webové služby SOAP používají k reprezentaci dat schémata WSDL a objekty XDTO.

    Načítání WSDL

    Abyste mohli používat externí službu, musíte si stáhnout její schéma WSDL.

    Kontrola platnosti schématu WSDL

    Někdy se schéma WSDL nenačte do 1C. Platnost (správnost) schématu můžete zkontrolovat pomocí libovolného validátoru schématu WSDL, například http://www.validwsdl.com/.

    Musíte nahrát schéma na nějakou http stránku (můžete použít ftp) a uvést adresu souboru, ve kterém je schéma načteno:

    Vlastnosti načítání WSDL v 1C

    Zvláštností načítání WSDL v 1C je, že nemusí být načtena platná schémata. Neexistuje žádný vestavěný validátor, takže musíte hledat chybu pomocí destruktivní analýzy, která postupně snižuje počet prvků v obvodu. Můžete například odstranit popis webové služby.

    Zpracování pro testování běžící externí webové služby

    Chcete-li otestovat fungující externí webovou službu, použijte zpracování „Test ArbitraryWebService.epf“ z balíčku pro tento článek.

    Testování lze použít na příkladu služby Morpher, která odmítá jména (adresa služby http://www.morpher.ru/WebServices/Morpher.asmx?WSDL):

    Tímto způsobem můžete otestovat jakoukoli službu, která má jednoduché vstupní body obsahující parametry jednoduchých typů: číslo, datum, řetězec.

    Během zpracování můžete také zadat přihlašovací jméno a heslo, které jsou vyžadovány pro autorizaci přístupu k webové službě.

    Standardní nástroje pro ladění služeb

    Pro ladění můžete použít program SoapUI, který dokáže odeslat libovolný požadavek webové službě a přijmout od ní odpověď.

    SOAP a HTTPS

    Bohužel, SOAP v 1C se při práci přes protokol HTTPS chová dost vrtkavě, praxe ukazuje, že není možné dosáhnout HTTPS spojení, přestože je tato možnost v platformě deklarována. Nedostatek diagnostických a ladicích nástrojů, které by zjišťovaly důvody, proč není spojení navázáno, si vybírá svou daň. Proto je vhodné používat SOAP přes CURL.

    Vestavěný mechanismus pro použití HTTPS znamená, že všechny certifikáty musí být publikovány ve společném souboru PEM v adresáři programu 1C.

    Používání 1C jako služby

    Pravidla pro vývoj služby založené na 1C

    Operace Dobrý den

    Pravidlem dobré formy je vytvořit ve službě provoz, který informuje o dostupnosti služby. Integrátorům to usnadní život, snáze si ověří, zda je navázána komunikace se službou.

    Můžete například použít operaci Hello bez parametrů, která jednoduše vrátí booleovskou hodnotu True.

    Publikování webové služby

    Postup je dobře popsán v dokumentaci: file:///C:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm#_Toc176167634:

    Úkol publikování webových služeb spočívá v umístění *.1cws konfiguračních souborů webových služeb do příslušného adresáře webového serveru s příslušným nastavením pro webový server. Chcete-li publikovat webové služby, měli byste spustit příkaz nabídky „Administrace | Publikování webových služeb."

    V důsledku provedení tohoto příkazu se otevře okno publikování webových služeb.

    Okno publikování webových služeb obsahuje cestu k webovému serveru a dva seznamy:

    • „Webové služby“ - seznam konfiguračních webových služeb;
    • „Publikace“ – seznam webových služeb publikovaných na zadaném webovém serveru.

    Pomocí tlačítka "Připojení..." musíte zadat webový server, na kterém chcete publikovat webové služby.

    Okno pro výběr cesty webového serveru umožňuje zadat cestu dvěma způsoby:

    • na záložce „Soubory“ - tato metoda se používá, když se publikování provádí na stejném počítači, na kterém je nainstalován webový server. Cesta je místní adresář odpovídající internetové stránce, ze které bude volán publikovaný webový server;
    • na záložce „FTP server“ - tato metoda se používá, když potřebujete publikovat webovou službu na vzdáleném počítači. Chcete-li publikovat, musíte zadat parametry připojení FTP ke vzdálenému počítači a adresář, ve kterém bude webová služba publikována.

    Vybraná webová služba se publikuje pomocí tlačítka „Publikovat“.

    Chcete-li zrušit publikování webové služby, použijte tlačítko „Smazat“.

    Můžete publikovat do místního adresáře nebo přes FTP. Pokud je vzdálený server součástí místní sítě, můžete také publikovat na vzdálený server prostřednictvím cesty UNC.

    Po zveřejnění je webová služba dostupná na adrese „http://localhost/test.1cws“ nebo „http://xxx.ru/test.1cws“, kde xxx.ru je adresa vzdáleného serveru a localhost je typická adresa místního serveru.

    Autorizace k webové službě 1C

    Pro přístup ke službě musíte projít autentizací.

    Problémy s autorizací jsou dobře vyřešeny zde: http://www.forum.mista.ru/topic.php?id=341168 a v dokumentaci file:///c:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81. htm

    Webová služba obvykle běží pod jedním konkrétním uživatelem (obvykle speciálně vytvořeným). Uživatele 1C můžete „připojit“ pomocí ověřování Windows k uživateli Windows IUSR_ (zakázat uživateli autorizaci 1C). Případně můžete vymazat seznam uživatelů 1C, pak není vyžadována autorizace.

    Pokud je vyžadováno několik uživatelů, můžete vytvořit několik přihlášení pro webový server, ke každému z nich přiřadit uživatele systému Windows a podle toho zaregistrovat přístup k uživatelům systému Windows v 1C.

    Ve vlastnostech User a Password objektu WSProxy se nepoužívá přihlášení 1C, ale přihlášení uživatele webového serveru.

    Testování webové služby 1C

    Chcete-li otestovat 1C jako webovou službu, použijte zpracování „Test ArbitraryWebService.epf“, jak je popsáno v části „Testování spuštěné externí webové služby“.

    Soubor 1cws je WSDL popis webové služby 1C.

    Využívání služeb v maloobchodě

    Maloobchodní služby se obvykle používají k poskytování různých služeb obyvatelstvu - přijímání plateb, splácení půjček, převody peněz, nákup softwaru atd.

    V tomto případě je v 1C vygenerována účtenka za poskytnutou službu, ve které jsou uloženy parametry transakce. Poté je klientovi vytištěna tato účtenka s podrobnými informacemi o poskytnuté službě. Je možné vytisknout předběžnou kontrolu, aby klient zadané údaje ze svých slov potvrdil svým podpisem.

    Službu lze různými způsoby integrovat do maloobchodního programu napsaného v jazyce 1C (UT, Retail a další):

    1. Zpracování nebo kód lze napsat v jazyce 1C, který provádí veškerou práci se službou.
    2. Lze použít program, který spolupracuje se službou a v 1C přenáší pouze informace pro kontrolu děrování.

    Organizace servisních dat v 1C

    Chcete-li uložit informace o transakci do účtenky, musíte vytvořit další tabulkovou část „Komplexní prodej“ s podrobnostmi:

    • Nomenklatura - odkaz na nomenklaturu šeku.
    • Parametr – odkaz na referenční knihu „Komplexní prodej: Parametry“.
    • Hodnota - hodnota parametru, komplexní typ. Reprezentace řetězce musí být poměrně dlouhá (1024 znaků), aby se do něj vešel kontrolní text.

    Adresář „Complex Sales: Parameters“ obsahuje seznam parametrů transakce.

    Je výhodnější použít tabulkovou část než soubor detailů, protože transakce jich může mít mnoho a při jiných kontrolách, které se službou nesouvisejí, tyto údaje nebudou použity a budou zabírat místo navíc. Takové řešení je navíc univerzální pro jakoukoli službu a nevyžaduje restrukturalizaci dat po implementaci nové služby.

    Prodejci dostane samostatnou záložku (nebo tištěný formulář, aby nedošlo ke změně konfigurace), ve které si může prohlédnout štítek s podrobnostmi transakce pro kontrolu.

    Použití zpracování v jazyce 1C

    Podívejme se na příklad podmíněné služby Paym pro konfiguraci „Retail“.

    1. Vytvořme předdefinovaný prvek nomenklaturního adresáře „Paym“ v 1C. V režimu 1C:Enterprise je po aktualizaci konfigurace potřeba přiřadit typ produktu „Service“.
    2. V postupu „Přidat položku do tabulky. část" modulu formuláře "Evidence prodeje" nazýváme zpracováním práce se službou, napsanou v jazyce 1C. Pokud je platba úspěšná, zaznamenáme a zaúčtujeme šek:
    If (Nomenklatura = Directories.Nomenclature.Paym) AND (Typ převodní transakce. Typy operací Kontrola KKM. Návrat) Then Zpracování plateb = Funkce. Poskytněte externí zpracování ("Zaplatit"); PaymentForm = PaymentProcessing.GetForm(); Výsledek = PaymentForm.OpenModal(); If Result = Undefined Then Return; endIf; ThisObject.Write(DocumentWriteMode.Post); endIf;
    1. Zpracování by mělo vytisknout předběžnou účtenku (pokud je požadováno), vyplnit tabulkovou část komplexního prodeje a připravit text pro tisk šeku v předdefinovaném atributu „PaymCheckText“.
    2. V proceduře „Zaúčtovat a vytisknout účtenku“ modulu účtenky nahradíme název produktu názvem uloženým v detailech účtenky. Text se nahrazuje pouze u prodeje, u vracení se jako obvykle vytiskne pouze název služby.
    JinakIf Type of Transfer Transaction.Types of OperationsCheck KKM.Return And Selection.NomenclatureLink = Directories.Nomenclature.Paym Then //Osipov PaymMaster ComplexSales Line = ComplexSales.Find(Directories.ComplexSalesParameters.PaymReceipt"Text); Pokud Complex Sales Line není definováno Then Product.Name = Zkrácené LP(Complex Sales Line. Value); endIf;

    Samostatnou otázkou je, jak zajistit dokončení transakce. Tito. pokud transakce proběhla ve službě, jak zajistit, aby se neztratila v 1C. Nejoptimálnějším způsobem je odsouhlasení registrů. Ale to je téma na samostatnou úvahu.

    Používání programů, které se integrují s 1C

    XDTO

    XDTO se často používá ve webových službách. Zde jsou nejdůležitější tipy a recepty pro použití XDTO v 1C.

    XDTO na platformě 1C

    Balíčky XDTO popsané v konfiguraci „Objekty XDTO“ jsou k dispozici pro vytváření typů a objektů v globální továrně XDTO Factory. To není hned zřejmé.

    Některé typy ve schématu nemají jméno, abyste je získali, musíte projít hierarchií typů.

    Příklad popisoval seznam systému obsahující struktury XDTO. Chcete-li vytvořit samotnou strukturu, museli jste získat její typ takto:

    Typ = Factory.Type("urn:my.ru:MasterData:Business", "Business").Properties.Get("System").Typ;

    Běžné problémy s XDTO

    Různé formáty schémat XSD

    V některých formátech se tagy nazývají xs:, v některých xsd:, ale 1C bezpečně rozumí oběma formátům. Jednou nastala situace, kdy se XSD naimportovalo do 1C normálně bez chyb, ale nevytvořilo se ani jeden balíček. Důvodem byla absence atributu cílový jmenný prostor u tagu tedy 1C nevěděl, do kterého balíčku umístit diagram, ale negeneroval chyby.

    Servisní podpora

    Vzhledem k tomu, že služba je kombinací dvou systémů – 1C a externího, může dojít k chybám v obou systémech, což snižuje celkovou spolehlivost provozu.

    Pro snazší pochopení důvodů selhání služby se doporučuje použít soubor opatření.

    Žádosti o protokolování

    Odkazy

    • XDTO
      • Dobrý popis XDTO http://pro1c.org.ua/index.php?showtopic=214
    • Zajímavé webové služby zdarma:
      • Aeroflot - informace o letových řádech
      • Morpher - skloňování jmen http://www.morpher.ru/WebServices/Morpher.aspx
    • Nesmontované:
      • Instalace a používání webových služeb
        • v8: jak změnit konfigurační soubor apache?
        • v8: pokračování tématu s webovými službami - webovou službu se mi nedaří připojit
        • v8: Pokračuji v procházení webových služeb - nemohu vytvořit proxy...
        • Knowledge Book: v8: Použití externích webových služeb v 1C:Enterprise 8;

    Vydali jsme novou knihu Social Media Content Marketing: Jak se dostat do hlavy svých následovníků a přimět je, aby se zamilovali do vaší značky.

    Webová služba (služba) je program, který organizuje interakci mezi stránkami. Informace z jednoho portálu se přenášejí do druhého.

    Existuje například letecká společnost. Má mnoho letů, což znamená, že má spoustu letenek. Přenáší informace prostřednictvím webové služby na stránku cestovního agregátora. Uživatel, který vstoupí do agregátoru, bude moci zakoupit letenky pro tuto leteckou společnost přímo tam.

    Dalším příkladem webových služeb je web pro sledování počasí, který obsahuje informace o počasí v konkrétním městě nebo zemi jako celku. Tyto informace také často využívají třetí strany.

    Informace na internetu jsou různé. Stránky jsou spravovány různými systémy. Používají se různé přenosové a šifrovací protokoly. Webové služby zjednodušují výměnu informací mezi různými stránkami.

    Architektura webových služeb a protokoly

    Můžete definovat 3 orgány, které se vzájemně ovlivňují: katalog, dodavatel a zákazník. Po vytvoření služby ji zhotovitel zaregistruje do katalogu a zákazník tam službu najde.

    Mechanismus výměny dat je vytvořen v popisu webových služeb. Toto je specifikace pokrývající formáty předávání, typy obsahu, přenosové protokoly, které se používají v procesu výměny informací mezi zákazníkem a přepravcem služeb.

    K implementaci různých webových služeb se dnes nejčastěji používá několik technologií:

    1. TCP/IP je protokol, kterému rozumí téměř každé síťové zařízení, od sálových počítačů po přenosná zařízení a PDA.
    2. HTML je univerzální značkovací jazyk používaný k zobrazování obsahu na spotřebitelských zařízeních.
    3. XML je univerzální nástroj pro zpracování všech typů dat. Na jeho základě mohou fungovat i další protokoly výměny informací: SOAP a WSDL.
    4. UDDI je univerzálním zdrojem rozpoznávání, integrace a popisu. Funguje zpravidla v privátních sítích a zatím nenašel dostatečnou distribuci.

    Všestrannost prezentovaných technologií je základem pro pochopení webových služeb. Fungují na standardních technologiích, které jsou nezávislé na poskytovatelích aplikací a dalších síťových zdrojích. Může být použit v libovolných operačních systémech, aplikačních serverech, programovacích jazycích atd.

    Výhody

    • Vytváření nezbytných podmínek pro interakci softwarových komponent bez ohledu na platformu.
    • Webové služby jsou založeny na otevřených standardních protokolech. Díky zavedení XML se zjednodušuje tvorba a konfigurace webových služeb.
    • Použití HTTP zaručuje interakci systémů prostřednictvím přístupu k síti.

    Nedostatky

    • Nízký výkon a velký objem provozu, ve srovnání se systémy RMI, CORBA, DCOM, díky použití XML zpráv v kontextu textu.
    • Úroveň zabezpečení. Všechny moderní webové služby musí implementovat kódování a vyžadovat autorizaci uživatele. Zda zde stačí HTTPS nebo jsou potřeba spolehlivější protokoly, jako je XML Encryption, SAML atd., se řeší až při vývoji.

    Úkoly webových služeb

    Webové služby lze využít v mnoha oblastech.

    B2B transakce

    Integrace procesů probíhá okamžitě, bez účasti lidí. Například aktualizace katalogu internetového obchodu o nové produkty. Jsou přivezeny do skladu a skladník příchod zaznamená do databáze. Informace se automaticky přenášejí do internetového obchodu. A kupující místo označení „Není skladem“ na kartě produktu vidí jeho množství.

    Integrace podnikových služeb

    Pokud firma využívá firemní programy, pak webová služba pomůže nastavit jejich společnou práci.

    Vytvoření systému klient-server

    Služby se používají ke konfiguraci provozu klienta a serveru. To poskytuje výhody:

    • Nemůžete prodávat samotný software, ale poskytovat placený přístup k webové službě;
    • Je snazší řešit problémy pomocí softwaru třetích stran;
    • je snazší organizovat přístup k obsahu a materiálům serveru.

    Webová služba je aplikace, která zjednodušuje technické nastavení interakce zdrojů.