internet pencereler Android
Genişletmek

HTML 1C'de beslemektedir. Veritabanı nesnesine referans oluşturma

27
1C'yi web siteleri ile entegre ettiğinizde, her zaman bazı verileri web sunucusuna aktaramazsınız. 1C'den bir Web sunucusundan veri almak için bir istek parametresinin transferi olup olmadığı, hangi ... 14
1C platformdaki geliştiriciler bazen sistemin 1C'nin etkileşimi için bir görev var: çeşitli olan bir işletme posta programları ve protokoller. 1C Enterprise 8.0, göndermek için oldukça uygun demektir ... 9
Web sitelerinde veri alışverişi yaparken, JSON formatı genellikle kullanılır. Ne yazık ki, 1c'de bu formatla çalışmak için standart prosedür yoktur. Projelerden birini uygulama sürecinde bir dizi prosedür geliştirdim ve ... 8
1C'de JSON formatı 8.3.6 sürümüne uygulanmaz, ancak daha düşük olacaktır, JSON'un 1C'de tam olarak çalıştırılması için kullanılabilecek işlev örnekleri vereceğim. Önceki sürümler. JSON (JavaScript nesne gösterimi) metin formatı Veri değişimi, ... 5
Bu yazıda, Site ayrıştırma işlemini 1C ile örneklemeye çalışacağım. Bu makale kullanım için talimatlar değildir, ancak yalnızca 1C'nin özelliklerini gösterir. Neyimiz var? 1. İnternetteki web sitesi, hangi ...

Tek bir projenin uygulanması sırasında, 1C'deki sonucu elde etmek için Fieldhtmldi'nin nesnesini kontrol etmek için JavaScript (JS) kodunu yürütmek gerekirdi. Yukarıdaki örnekler, aşağıdaki makalelerde, kullanımı çok uygun görünüyordu (tamamen kişisel görüş). 1 günden fazla arama yaparken başka, daha basit, kararlar bulmaya karar verildi.

Div.setattribute ("OnClick", "uyarısı (" koordinatlar ");");

Script'i gerçekleştir

Div.click ();

Ta-dah. her şey çalışıyor

Prosedür Yürütme (TextScript) DIV \u003d Elements. Bağımlılık. BetelementbyID ("Test"); Div.setattribute ("OnClick", TextScript); Div.Click (); Ekstrüdreler

02.08.2016 tarihinden itibaren güncelleme

Minyolda, HTML belge kodunu değiştirme yeteneğine sahipseniz, başka bir JS çağrısı (teşekkürler) önerildi, işlevi içine kaydedebilir ve sonra onu arayabilirsiniz. Kodu JS'ye aktarma.

ve sonra 1c'de:

Elements. Odaklı.parentwindow.exec ("Uyarı (Tamam") ");

Sonuçun İadesi JS 1C'de

Komut dosyasının sonucunu 1C'de nesne nesnesinden iletmek için, etkinliği kullanacağız. Fieldhtmld Odak'ı, parametrenin 3. girişinde alan giriş olayını öğreneceğiz:

  1. Unsur bir olay meydana gelen (alanın kendisi)
  2. Nesne olay
  3. Standart davranış belirtisi

Bir olayı aramak için aşağıdaki JS kodunu yürütmek gerekirse

Var evt \u003d document.createedObject (); // Boş bir nesne olayını oluştur Evt.PropertyName \u003d "funk1"; // Props Props adamında, sonuç adını (bir tür gibi bir şey ya da verilerin alındığı işlevin adı gibi) evt.data \u003d "156"; // veri sahnelerinde, sonuç verilerini belgesini ileteceğiz. Kodu.fireev ("OnClick", EVT); // fieldhtmld tuşuna bastığınızda bir etkinlik yapın

Etkinliğe bastığınızda bu JS kodunu işlemi tamamlayarak, etkinlik bizim tarafımızdan gelir. Hangisi ele almak oldukça uygundur.

Bir cevap örneği örneği.

& Clause // Tedavi prosedürünün adını ve sonucunu elde ediyoruz (element, veri, standart çalıştırma) Nameproduction \u003d Dannay.Event.PropertyName; Pantasonlar \u003d dannuese.event.data; Operasyon adı \u003d "" sonra // iade etkinliğimiz değilse; Bitti; İşlev \u003d "Funki1" işlevi \u003d "funki1" ise // sonucun işlenmesi durumunda işlem \u003d "funk2" sonra // işleme sonucu // ...... sona erdi; Ekstrüdreler

Bu yöntem beklenti işleyicilerinin kullanımını ortadan kaldırır ve uygun bir olay tanımlayıcısı sağlar. Tanıma göre, tam olarak hangi verilerin bize geldiğini ve bunları nasıl parçalanacağını biliyoruz.

Eklemeler 03/26/2016

Ve bu yerde, Neponyatki meydana geldi (Mistitbake sadece PLAPPA'da besleniyor 8.3.5.1570, ancak bu durumları rastgele uyarmak için, bir karar vereceğim) çok sebebi - HTML alanına tıkladığınızda prosedürü çağırırken, formu belgenin HTML alanıyla yeniden başlattığınızda, Platform Mücadelesi ShindLeled ve Tüm Vana Com nesnesi (HTMLFILE) oluştu: belirsiz bir hata). Çözelti, BT'nin bağlantısıydı. etkinlikler'i tıklayınve olay açılır modunu devre dışı bırakma. Nasıl aşağı bakacaksınız.

// Olay Yedeklemesini Devre Dışı Bırak

Evt.cancelbubble \u003d true;

// Standart davranışı devre dışı bırak

Evt.returnvalue \u003d false;

Sonuç olarak, verileri JS'den 1C'ye aktarmak için bir işlev alacağız.

Fonksiyon dönüşü1C (isim, veriler) (var evt \u003d document.createEventObject (); evt.propertyname \u003d ismi; evt.data \u003d veriler; evt.cancelbubble \u003d true; evt.returnvalue \u003d false; belge.fireev ("OnClick", EVT ););

Çıktı.

Bu yöntemlerin birleştirilmesi, ihtiyacınız olan JS kodunu oldukça kolayca çalıştırabilir ve daha fazla işlem için 1C'de veri alabilirsiniz.

B. Uygulama Örneği

Bazen herhangi bir web sayfasını doğrudan formda görüntülemek için bir ihtiyaç vardır. 1C platformun bu özelliğini bir sayfa şekli örneğinde düşüneceğim. arama motoru Yandex ve form alanına girilen kelime için arama sonuçları ile.

Şunlar. Bu sayfa:

Resim 1

Başlamak, yaratma dış işleme, "Dize" tipi, sınırsız uzunlukta "adresi" ekleyin.

Şekil 2.

Bir işlem şekli oluşturun. "Adres" olmayan sahne formuna iki kez aktarılacaktır. İstenilen formun "Sayfayı" olarak yeniden adlandırılması, öğenin görünümünü "HTML belge alanına" olarak değiştirin.

Form formu alacak:

Figür 3.

"Kurumsal" modunda işlemeye başlayalım ve keyfi bir internet kaynağının adresini tanıtalım. Ve sonucu alıyoruz:

Şekil 4.

Yandex sayfasının sayfa "sayfasında" görüntülenmesi için nasıl yapılır, ancak bazı kelimeler için arama sonuçlarıyla zaten?

Formun gerekliliğini ekleyeceğiz: "Keyevoisloovo", forma taşınıyoruz.

"1C" anahtar kelimesini aradıktan sonra Yandex adres çubuğunda görünen adrese yakın görünüyorsanız (ve olacaktır: "http://yandex.ru/yandsearch?text\u003d1%D1%81"), sonra Girilen kelimenin şifrelenmiş ve değişken sonrası metne iletildiğini görebilirsiniz. Buradan, yalnızca talebin şifreli değerini nasıl elde edeceğinizi bulmak için kaldığı sonucuna varıyoruz.

Biraz kazarsanız, URL'lerde değişkenleri kodlama için, "şifreleme bileşeni" olan Java-Script işlevini kullanabileceğinizi öğrenebilirsiniz. Elbette, her bir alfabe sembolü için kodu seçmek ve bir kodlayıcı yazmak için mümkündür ve bir kodlayıcı yazın ve 1C'den bağlanabilecek WScript bileşenlerinin özelliklerini kullanabilirsiniz.

Öyleyse, ihtiyacımız olan şey:

A) Wscript'i bağlayın

B) temelinde anahtar kelimeler Sözcüğümüzün parametresi olarak kendisine iletirken, "kod çözme bileşeni" işlevi tarafından döndürülen bir değer alacak komut dosyasını toplayın ve sonuç, önceden tanımlanmış bir dizinle bir metin dosyasına kaydedilecektir.

C) 1C'den WScript kullanılarak oluşturulan bir metin dosyası alın ve okuyun.

Katıştırılmış dilde konuşursak, şöyle geliyor:

& Key Osilatör (Eleman) nesnesinin prosedürünü kaydırın. Adres \u003d " http: //yandex.ru/yandsearch?text\u003d "+ ConvertChelloeslovo (); Ekstrüdreler & Svalette Confratchevo-salınım işlevi () Fiellavra \u003d operatequmen dosyası ("js" ) ; Katalog Tarama \u003d Strust (Katalog Uzunalıkları ()," \" , " /" ) ; Catobook \u003d Strust (Katalog"C: /" , "C: //"); Şablon belgesi \u003d yeni metin belgesi; Metin belgesi. Saksonstr ("Değer \u003d Koduüroloji bileşeni ("" "+ Key Çello +" "" ) ; | FSO. \u003d WScript. CreateObject ("" Komut Dosyası . Dosya sistemistemObject." " ) ; | F. \u003d FSO. Createtextfile ("" "+ Catobook +" testi . TXT." + " " " , DOĞRU); | F. . Writeline (değer); | F. . Kapat ();"); Metin belgesi. Kayıt (İsim Fiells, Kodlama. ANSI); WSHShell \u003d Yeni Savaş (" WScript) . Kabuk."); Wshshell. Koş (" WScript . exe"" "" + İsim Fiells + "" "", 0, - 1); Dosyaları Sil (FIELLS); Metin Belgesi \u003d Yeni Şablon Belgesi; Metin Fokusu. Oku (Katalog Varmetils () + "Test . TXT."); Satır \u003d metin belgesi. Almak için (); Sokrlp (string) döndürür; son işlev