internetul Windows. Android

HTML DOCUMENT DOCUMENT IN 1C. Crearea unei referințe la obiectul bazei de date

27
Când integrați 1c cu site-urile web nu reușește întotdeauna să transfere unele date pe serverul web. Indiferent dacă este transferul unui parametru de solicitare pentru a primi date de la un server web în 1c sau transmisie de date de la 1c, care ... 14
Dezvoltatorii de pe platforma 1C uneori există o sarcină pentru interacțiunea sistemului 1C: o întreprindere cu diverse programe poștale și protocoale. 1c Enterprise 8.0 are mijloace destul de convenabile de a trimite ... 9
La schimbarea datelor cu site-uri web, este adesea folosit formatul JSON. Din păcate, în 1c nu există proceduri standard pentru a lucra cu acest format. În procesul de implementare a unuia dintre proiecte, am dezvoltat o serie de proceduri și ... 8
Formatul JSON în 1c la versiunea 8.3.6 nu este implementat, dar va scădea, voi da exemple de funcții care pot fi utilizate pentru o funcționare completă a JSON în 1c versiunile anterioare. JSON (Notation Object JavaScript) este un format text pentru schimbul de date, ... 5
În acest articol, voi încerca să descriu procesul de parsare a site-ului cu 1c cu exemplul. Acest articol nu este instrucțiuni de utilizare, dar demonstrează numai caracteristicile lui 1c. Ce avem? 1. Site-ul pe Internet, pe care ...

În timpul implementării unui singur proiect, a fost necesar să se efectueze JavaScript (denumit în continuare JS) codul pentru controlul obiectului FieldMldi, pentru a obține rezultatul în 1c. Exemplele de mai sus, în articolele următoare, nu păreau foarte convenabile de utilizare (opinia pur personală). Sa decis să încerce să găsească un alt, mai simplu, decizia, în căutare de nu mai mult de o zi.

Div.setattribute ("onclick", "alertă (" coordonate ");");

Efectuați script-ul

Div.click ();

Ta-dah. totul funcționează

Procedură de executare (TextScript) DIV \u003d elemente. Dependența. Betelementbyid ("Testul"); Div.setattribute ("onclick", textscript); Div.click (); Extradreses.

Actualizați de la 02.08.2016.

În Commets, a fost propus un alt apel JS (mulțumiri) dacă aveți posibilitatea de a modifica codul documentului HTML, puteți înregistra funcția în acesta și apoi să o sunați. Transferarea codului la IT pe JS.

și apoi în 1c:

Elemente. Concentrat.parentwindow.exec ("Alert (OK") ");

Returnați rezultatul JS în 1c

Pentru a transmite rezultatul scriptului în 1c de la obiectul obiect, vom folosi evenimentul. Vom învăța la focul Fietthmd, evenimentul de intrare care primește pe intrarea 3 a parametrului:

  1. Elementul a avut loc un eveniment (câmpul însuși)
  2. Obiect obiect
  3. Semnul comportamentului standard

Pentru a apela un eveniment când faceți clic pe necesități pentru a executa următorul cod JS

Var evt \u003d document.createEventObject (); // creați un eveniment obiect gol EVT.Propertyname \u003d "Funk1"; // în proprietatea Props, propunem să așez numele rezultatului (ceva ca un tip sau numele funcției din care au fost primite date) evt.data \u003d "156"; // În recuzită de date, vom transmite documentul de date de rezultat.body.fireevent ("onclick", EVT); // efectuați un eveniment atunci când apăsați pe FieldTmd

Prin completarea acestui cod JS în procedura Când apăsați evenimentul, evenimentul va veni de noi. Care este destul de convenabil să se ocupe.

Un exemplu de eșantion de răspuns.

& Clauză // Obținem numele și rezultatul evenimentului procedurii de tratament (element, date, prelucrare standard) NumeProducție \u003d Dannay.event.propertyname; Patterații \u003d Dannuese.event.Data; Dacă numele operației \u003d "" atunci // nu este evenimentul nostru de returnare; Încheiat; Dacă funcția este funcția \u003d "Funki1" atunci // prelucrarea rezultatului Operația inadecționată \u003d "Funk2", apoi // rezultatul procesării // ...... încheiat; Extradreses.

Această metodă elimină utilizarea manipulatorilor de așteptare și oferă un identificator de eveniment convenabil. Potrivit identificatorului, știm exact ce date au venit la noi și cum să le dezasamblați.

Adăugările de la 03/26/2016.

Și în acest loc a avut loc Neponyatki (Mistitutul este hrănit numai pe Plappa 8.3.5.1570, dar pentru a avertiza aceste situații în întâmplare, voi da o decizie) însăși motivul - Când reporniți formularul cu câmpul HTML al documentului La momentul apelului la procedura când faceți clic pe câmpul HTML, Platforma Challenge shindleled și întreaga supapă COM Obiect. (Htmlfile) a avut loc: o eroare nedefinită). Soluția a fost de a deconecta execuția rece a evenimentului Click și dezactivarea modului pop-up al evenimentului. Cum să faci mai jos.

// Dezactivați backupul evenimentului

Evt.cancelbubble \u003d adevărat;

// Dezactivați comportamentul standard

Evt.returnvalue \u003d false;

Ca rezultat, pentru a transfera date la 1c de la JS, vom obține o funcție.

Funcție Return1C (nume, date) (VAR EVT \u003d document.createEventOcject (); evt.propertyname \u003d nume; evt.data \u003d date; evt.cancelbubble \u003d true; evt.returnvalue \u003d false; document.fireevent ("onclick", EVT );););

Ieșire.

Combinând aceste metode, puteți executa cu ușurință codul JS de care aveți nevoie și puteți primi date în 1c pentru o prelucrare ulterioară.

Exemplu de implementare B.

Uneori este nevoie să afișați nici o pagină web direct pe formular. Voi lua în considerare această caracteristică a platformei 1C cu privire la exemplul unei forme de pagină cu motor de căutare Yandex, și cu rezultatele căutării pentru cuvântul introdus în câmpul formular.

Acestea. Această pagină este:

Imaginea 1.

Pentru a începe, creând prelucrarea externă, Adăugați propuls "Adresa" cu un tip de "șir", o lungime nelimitată.

Figura 2.

Creați o formă de procesare. Propul "Adresa" va fi transferată de două ori pe formular. Unul dintre elementele formei necesare pentru a redenumi la "Pagina", schimbați vederea elementului la câmpul "HTML Document".

Formularul va lua forma:

Figura 3.

Să începem procesarea în modul "Enterprise" și introducem adresa unei resurse arbitrare de Internet. Și obținem rezultatul:

Figura 4.

Cum se face astfel încât pagina Yandex să fie afișată în pagina "Pagina", dar deja cu rezultatele căutării pentru un cuvânt?

Vom adăuga necesitatea formularului: "Keepevoisloovo", ne mutăm la formă.

Dacă vă uitați aproape de adresa care apare în bara de adrese Yandex după căutarea cuvântului cheie "1c" (și va fi: "http://yandex.ru/yandsearch?text\u003d1%d1%81"), atunci Puteți vedea că cuvântul introdus este criptat și transmis în textul post-variabil. De aici concluzionăm că rămâne doar să dau seama cum să obțină valoarea criptată a cererii.

Dacă vă sapa puțin, puteți afla că pentru codarea variabilelor în adrese URL, puteți utiliza funcția Java-Script "Encodeuricomponent". Este posibil, desigur, să selectați codul pentru fiecare simbol alfabet și să scrieți singur un codificator și puteți utiliza capabilitățile componentelor WScript care pot fi conectate de la 1c.

Deci, ce avem nevoie:

A) Conectați WScript

B) pe baza cuvinte cheie Strângeți scriptul care va primi o valoare returnată de funcția "codificăuricomponent" atunci când este transmisă la acesta ca parametru al cuvântului nostru și apoi rezultatul va fi înregistrat într-un fișier text cu un director definit în avans

C) de la 1c primiți un fișier text creat utilizând WScript și citiți-l.

Dacă vorbim în limba încorporată, sună așa:

& Glisați procedura de obiect oscilator cheie (element). Adresa \u003d " http: //yandex.ru/yandsearch?text\u003d "+ convertchelloeslovo (); Extradreses. & Svlette. Funcția Confortachevo-oscilate () FIELLAVRA \u003d Fișierul operaretehmen ("JS" ) ; Catalog Scanning \u003d RUST (Catalog Lengells ()," \" , " /" ) ; Catobook \u003d Rust (Catalog"C: /" , "C: //"); Document de șablon \u003d Un nou document text; Document text. Settext ("valoare \u003d Codificare (codeuricomponent ("" "+ Cheia Cello +" "" ) ; | FSO. \u003d Wscript. CreațiOBJECT ("Scripting . FileSystemObject." " ) ; | F. \u003d FSO. CreateTextFile ("" + + CATOOK + " . TXT." + " " " , ADEVĂRAT); | F. . Writeline (valoare); | F. . Închide ();"); Document de text. Înregistrare (numele FIELLS, Codificare. ANSI); Wshshell \u003d New Combuck (" WScript . Coajă."); Wshshell. Run (" Wscript . exe"" "+ NAME FIELLS +" "", 0, - 1); Ștergeți fișierele (denumirea FIELLS); Document text \u003d Un nou document de șablon; Focalizare text. Citește (Catalog Varmetyls () Test Test . TXT."); Row \u003d document text. Pentru a obține (); returnează Sokrlp (șir); Endfuncțional