Comutatoare, aplicații obișnuite, formulare gestionate. Butoane radio, aplicații obișnuite, formulare gestionate Modele de design sau înțelepciune generațională

Problema principala că în 10-15 ani s-a compilat deja mult cod pentru formele obișnuite. Nimeni nu vrea să rescrie toate acestea pe client-server + mulți oameni sunt instruiți să lucreze cu interfața. Tranziția obligatorie la BP 3.0 începând de anul viitor creează panică în mintea dezvoltatorilor și contabililor. Feedback-ul va fi foarte neplăcut. În plus, ștacheta de intrare în profesie crește, programarea este mai dificilă, iar cele standard au devenit și mai dificile. Care este costul noului algoritm în documentele standard? UV arată grozav când ai 2-3 butoane pe documente, UV este grozav pentru a lucra pe dispozitive mobile, dar 0,01% dintre companii îl folosesc. Va trebui să schimbați dacă 1C nu vine cu ceva nou, dar va fi lung și dureros pentru toată lumea. Și companiile însele vor trebui să plătească banii.

Și eu, până acum, am experimentat doar lucruri negative din forme controlate, iată mai multe dezavantaje ale inovației:

  • Nimic? Ei bine, l-am întâlnit de câteva ori, de exemplu, scriind și atașând un formular de imprimare extern la conf. ZUP, procesarea acolo este o epopee întreagă, există o mulțime de instrucțiuni pe Internet și paginile de cod ar trebui.
    pe un client gros există o procedură cu parametri, adică dezvoltarea este o chestiune de minute.
    iar frânele sunt subțiri vizibile cu ochiul liber
  • Cât despre posibilitatea de a pregăti forme gestionabile - aceasta este artă de dragul artei, dar care este punctul practic, mai ales pentru versiunea fișierului?
  • Am sculptat în UV timp de 3 ani, dar acum am revenit la forme simple și credeți-mă, această tranziție a fost destul de dificil de făcut din punct de vedere psihologic, dar aceasta este alegerea mea conștientă pentru că ceea ce oferă 1c în UV este complet UG.... poate că peste câțiva ani 1c va face o descoperire, dar acum ea caută doar locul unde să facă această descoperire...
  • UV-urile din configurator durează mult mai mult să se deschidă.
    După aceea, deschiderea formularelor în 8.1 este ca transferul de la un camion la un avion!
  • Sunt mai mulți hemoroizi pentru toată lumea, utilizatorii sunt șocați de noua interfață (nu toți recunosc, dar sunt mult mai proști în privința lucrurilor mai mici), jumătate dintre programatori au devenit nepotriviți pentru profesionalism, a devenit mai dificil pentru specialistul obișnuit. de a găsi un loc de muncă și de a produce un produs de calitate. Iar cea mai tare temă de marketing a UV este că se ridică peste tot, încât tranziția are loc cu o simplă actualizare, dar toată lumea uită că de la început trebuie să ajungi din urmă cu cele mai recente lansări! Dar in principiu imi place ideea!
  • Nu știu, experiența mea arată contrariul. Acolo unde boom-urile în forme stricte se lovesc automat de câțiva ani, în noile standard UV în fiecare lună începe „de ce, unde este 1C acum după actualizarea acestui buton și de ce acum nu funcționează”, ceea ce, vezi tu , nu adaugă viteză.
  • - există mai mult cod
    - codul a devenit mai complex
    — modificarea celor standard este mult mai dificilă
    - utilizatorii cărora le-am dat UT11 nu au găsit avantaje față de 10.x
    - dar au găsit unele încetiniri și o lipsă a unor funcții precum căutarea (din anumite motive au vrut căutare înainte-înapoi și nu selecție)
    parerea mea este prea mult mari sacrificii de dragul clientului web și al tabletelor. În plus, personal, nu am văzut încă deloc lucru real cu un client web, care trebuie să folosească cu succes accesul de la distanță
  • Bedlam client-server ar trebui să ofere o creștere a performanței și scalabilității, în timp ce, în același timp, costurile includ o creștere a codării.
    Cu toate acestea, nu toată lumea a cunoscut o creștere, de unde și dezamăgirea. Și, în același timp, toată lumea era aplecată pe costurile de codare.
    P.S. De fapt, îmi plac cele controlate, desenez calm pe ele. Dar cele tipice au devenit pervertite.
  • Acasă (computer normal) îmi conduc băutura în funcție de antreprenori individuali.
    8.3, BP3, în carouri. Impresia principală este că nu lucrez, dar aștept tot timpul. răspunsul hemoroidal. SALT pentru cont se formează la fel de simplu - pare un card de cont pentru anul într-un mega-holding.
  • UT11 este o frână sălbatică, groază și, în general, un coșmar.
    UT10 zboară în comparație cu UT11.
    În ceea ce privește UV - bug-urile sunt infestate de ani de zile, totul este strâmb, coloanele nu încap niciodată pe un ecran, întinderea este groaznică în multe cazuri.
    Și încă pot enumera o mulțime de minusuri, dar probabil că nu voi spune nimic despre plusuri. Pur și simplu nu există.
    Firmele au ajuns în mod special cu aceste forme, pentru că dezvoltarea costă mai mult, nu existau specialități și nu există normale.

Sunt puține avantaje, dar desigur că există...

Pro:

Răspunsul a fost acolo de mult timp, ceea ce a dat UP:

client multiplatform

  • lucrând pe linii de comunicare proaste
  • capacitatea de a lucra printr-un browser (fără a instala un client)

Platforma 1C:Enterprise vă permite să adăugați și să modificați în mod programatic elemente ale unui formular gestionat. Să ne dăm seama de ce ar putea fi nevoie de acest lucru.

Modificarea software-ului a formularului poate fi necesară în mai multe cazuri:

  • La finalizarea configurațiilor standard pentru a facilita procedura de actualizare ulterioară. În acest caz, doar modulul formular va fi modificat. Modulele sunt mult mai ușor de actualizat decât formularele.
  • La implementarea unor algoritmi comuni. De exemplu, în subsistemul „Interzicerea editării detaliilor obiectului”, un buton poate fi creat în mod programatic pentru toate obiectele conectate la subsistem pentru a permite posibilitatea de a edita detalii.
  • La implementarea unor algoritmi specifici. De exemplu, în directorul Nomenclatură, sunt create câmpuri pentru editarea detaliilor suplimentare.

Într-o formă gestionată, puteți adăuga, modifica și șterge în mod programatic:

  • detalii;
  • echipele locale;
  • elemente.

Toate aceste operațiuni sunt posibile numai pe server.

Remodelarea programatică are limitări:

  • Puteți șterge numai detalii/comenzi/elemente adăugate programatic. Nu puteți șterge în mod programatic obiectele create în configurator.
  • Nu puteți atribui un atribut ca principal.

Modificarea comenzilor de formular

Pentru a gestiona compoziția comenzilor pentru un obiect ManagedForm există o colecție Echipe

    Adăuga (< ИмяКоманды >)

    Cantitate ()

    Găsi (< ИмяКоманды >)

    Şterge (< Команда >)

Colecția Teams este disponibilă atât pe client, cât și pe server. Puteți modifica colecția (metodele Add() și Delete()) numai pe server. Puteți căuta și obține numărul de elemente (metodele Find () și Count ()) atât pe client, cât și pe server.

Ca exemplu de lucru cu comenzi de formular, să creăm o nouă comandă ChangeHistory cu titlul „ChangeHistory...”, care va apela handler-ul Afișează Istoricul(). Crearea are loc atunci când formularul este deschis.

&OnServer
Procedură WhenCreatingOnServer (Eșec, Procesare standard)
Echipă = Echipe. Adăuga( „Istoria schimbărilor”);
Echipă . Acțiune = ;
Echipă . Titlu = „Istoria schimbărilor...”;
Sfârșitul procedurii
&OnClient
Procedură Connectable_DisplayHistory(Comandă)
// acțiuni de comandă
Sfârșitul procedurii

Managerul de comenzi trebuie să fie localizat pe un formular și să aibă o directivă de compilare &OnClient.

Modificarea detaliilor formularului

Citirea compoziției detaliilor formularului este efectuată de funcție Obțineți detalii(< Путь >) returnând o matrice de tip FormAttributes. Parametrul funcției specifică calea către atributul părinte (sub formă de șir). Dacă parametrul este omis sau este specificat un șir gol, sunt returnate detaliile de nivel superior.

Modificarea detaliilor se face folosind metoda Modificați detaliile(<Detalii adăugate>, <Detalii detașabile>) obiect ManagedForm. La parametri Detalii adăugateŞi Detalii detașabile Sunt transmise matrice cu elemente de tip Form Attributes.

Atenţie!

Procesul de modificare a compoziției detaliilor necesită destul de mult resurse. Forma este de fapt recreată. În acest sens, lucrul cu detaliile formularului se efectuează în modul lot.

Să creăm un nou atribut de formular cu numele Cumpărător:


AddedDetails = New Array;
Detalii adăugate. Adăugați (Atribute noi de formular(„Cumpărător”, Descriere tip nou („DirectoryLink. Contrapărți”), „Client”);

// Modificări în compoziția detaliilor
);

Schimbarea elementelor de formular

Pentru a controla compoziția elementelor unui obiect ManagedForm există o colecție Elemente. Colecția are mai multe metode:

    Introduce (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    Adăuga (< Имя>, < ТипЭлемента>, < Родитель >)

    Cantitate ()

    Găsi (< Имя >)

    Mişcare(< Элемент>, < Родитель>, < МестоРасположения >)

    Şterge (< Элемент >)

Colecția Items este disponibilă atât pe client, cât și pe server. Modificați o colecție (Insert methods () , Add () , Move () și Delete () ) sunt disponibile numai pe server. Puteți căuta și obține numărul de elemente (metodele Find () și Count ()) atât pe client, cât și pe server. Elementele de colectare pot fi:

  • FormGroup;
  • FormTable;
  • FormField;
  • Butonul Formular.

Puteți atribui programatic handler-uri de evenimente elementelor de formular. Metoda este destinată acestor scopuri SetAction(< ИмяСобытия>, < Действие >) .

Să ne uităm la câteva dintre cele mai comune exemple de lucru cu comenzi, detalii și elemente de formular.

Adăugarea unei comenzi și a butonului asociat:

// Creați o comandă
Echipă = Echipe. Adăuga( „Istoria schimbărilor”);
Echipă . Acțiune = „Plug-in_DisplayHistory”; // Formularul trebuie să conțină o procedură cu numele specificat
Echipă . Titlu = „Istoria schimbărilor...”;
// Creați un buton și asociați-l cu o comandă
Element = Articole. Adăuga( „Istoria schimbărilor”, Type("FormButton" ));
Element.CommandName = „Istoria schimbărilor”;

Adăugarea unui atribut și a câmpului de intrare asociat:

// Descrierea detaliilor adăugate
AddedDetails = matrice nouă;
Detalii adăugate. Adăuga(Propoziții de formulare noi („Cumpărător”, Descriere tip nou ( „DirectoryLink. Contrapărți”), „Client” ));
// Modificarea compoziției detaliilor
Modificare detalii(Detalii adăugate);
// Crearea unui câmp de intrare și conectarea cu atribute
Element = Articole. Adaugă(„Cumparator” , Tip(„FormField” ));
Element . Vizualizare = FormFieldView. InputField;
Element . PathToData= "Cumparator";

Atribuirea unui handler de evenimente unui element de formular:

ArticolClient. SetAction(„OnChange”, „Connected_BuyerOnChange”);

&OnClient
Procedură Connected_BuyerOnChange(Element)
// Acțiuni de eveniment
Sfârșitul procedurii

Atenţie!

Proceduri care sunt setate ca handler de evenimente din cod folosind metoda SetAction(), este recomandat să setați prefixul Connectable_.

Atenţie!

Puteți descărca procesarea cu exemple de căutare programatică și modificarea detaliilor, comenzilor și elementelor unui formular gestionat.

În acest articol ne vom familiariza cu principalele aspecte ale lucrului cu un formular gestionat în 1C 8.3. Ce este o formă și pentru ce este? Un formular este obiectul principal prin care utilizatorul interacționează cu programul. Adică, folosind formularul, utilizatorul introduce informații în program, iar informațiile necesare utilizatorului sunt, de asemenea, afișate pe formular.

Sarcina principală a unui dezvoltator de orice formă (gestionată sau obișnuită) este să ofere utilizatorului un mecanism convenabil de interacțiune cu programul.

Platforma 1C are capacitatea de a genera orice formă a unui obiect, dar, de obicei, atunci când dezvoltă soluții de aplicație, programatorii configurează singuri formularele.

Problemele de lucru cu formulare gestionate în special și cu o aplicație gestionată în general sunt discutate în detaliu în cartea „Noțiuni fundamentale de dezvoltare în 1C: Taxi. Dezvoltare gestionată de aplicații în 12 pași”. Această carte va fi de un real ajutor pentru cei care tocmai au început să se familiarizeze cu dezvoltarea aplicație gestionată.

Cartea „Bazele dezvoltării în 1C: Taxi” este perfectă pentru cei care au început deja programarea și întâmpină anumite dificultăți cu acest subiect și pentru cei care programează de mult timp, dar nu au lucrat niciodată cu formulare gestionate 1C.

  1. Fără termeni tehnici complexi;
  2. Peste 600 de pagini de material practic;
  3. Fiecare exemplu este însoțit de un desen (captură de ecran);

Cod promoțional pentru o reducere de 15% - 48PVXHeYu

Uneori se pare că învățarea limbajului de programare în 1C este dificilă și dificilă. De fapt, programarea în 1C este ușoară. Cărțile mele vă vor ajuta să stăpâniți rapid și ușor programarea în 1C: și „Elementele de bază ale dezvoltării în 1C: Taxi”

Învață programarea în 1C cu ajutorul cărții mele „Programare în 1C în 11 pași”

  1. Fără termeni tehnici complicati.
  2. Peste 700 de pagini de material practic.
  3. Fiecare sarcină este însoțită de un desen (captură de ecran).
  4. O colecție de probleme pentru teme.
  5. Cartea este scrisă într-un mod clar și într-un limbaj simplu- pentru un incepator.
  6. Cartea este trimisă prin e-mail în format PDF. Poate fi deschis pe orice dispozitiv!


Dacă această lecție te-a ajutat să rezolvi vreo problemă, ți-a plăcut sau ti s-a părut utilă, atunci poți susține proiectul meu donând orice sumă:

Puteți plăti manual:

Yandex.Bani - 410012882996301
Web Money - R955262494655

Alăturați-vă grupurilor mele.

În ultima lecție ne-am uitat la asta pentru un client obișnuit (gras). În versiunea platformei 1C 8.2. Folosesc noi forme de ecran 1C 8.2. Ele sunt numite formulare gestionate 1C 8.2.

Formele gestionate 1C 8.2 sunt viitorul 1C. Ele diferă de formele obișnuite 1C 8.2 prin faptul că sunt generate automat de sistem pe baza setărilor speciale (formularele „regulate” sunt pur și simplu desenate de programator după bunul plac).

Diferențele în dezvoltarea formelor gestionate 1C 8.2 față de cele convenționale sunt semnificative. Prin urmare, ne-am adunat astăzi pentru a discuta separat despre crearea și modificarea formularelor gestionate 1C 8.2.

Formulare gestionate 1C 8.2

Dacă ați mai dezvoltat configurații 1C, când deschideți editorul de formulare gestionate 1C 8.2, veți fi imediat nedumerit de faptul că este imposibil să influențați deloc formularul 1C 8.2 cu mouse-ul.

Nu puteți modifica formularul 1C 8.2, nu puteți muta un element, nici măcar nu puteți vizualiza proprietățile câmpului ca înainte - făcând dublu clic pe câmpul din formularul 1C 8.2.

Acum, baza pentru dezvoltarea unui formular 1C 8.2 nu este legarea câmpurilor la coordonatele din formular, ci setărilor speciale. Sistemul generează automat o formă controlată 1C 8.2 pe baza acestor setări.

Setările constau dintr-o listă de elemente de formular 1C 8.2 situate în editorul din colțul din stânga sus. Elementele formularului 1C 8.2 includ:

  • Detalii
  • Comenzi (un concept nou în 1C 8.2, poate arăta ca butoane sau elemente de meniu)
  • Grupuri (pentru combinarea detaliilor și comenzilor).

În consecință, setările pentru aceste elemente nu se află în proprietățile câmpurilor, ci în proprietățile acestor elemente de setare (meniul cu clic dreapta, elementul Proprietăți).

Cum funcționează formularele gestionate 1C 8.2

Lucrul cu formularele gestionate 1C 8.2 este diferit pentru utilizator. Au mai multe capacități, dar sunt neobișnuite pentru cei care lucrează cu 1C de mult timp.

În primul rând, aranjarea elementelor obișnuite pe formularul 1C 8.2 este diferită. Bara de comandă este întotdeauna în partea de sus.

Partea stângă a panoului de comandă este personalizabilă. De obicei, conține butoane standard precum Înregistrare și Postare.

Partea dreaptă a panoului de comandă este noul meniu standard al formularului 1C Toate acțiunile. Acest meniu vă permite să gestionați formularul 1C 8.2 după cum doriți, similar cu modul în care în raportul ACS setările vă permit să schimbați în mod semnificativ aspectul raportului.

Elemente de meniu arbitrare 1C Toate acțiunile

În funcție de faptul că acest formular 1C 8.1 aparține unuia sau altuia, meniul este plin cu elemente care vă permit să gestionați acest obiect. De exemplu, dacă acesta este un formular de listă de directoare, atunci vor exista comenzi precum Creare sau Editare.

Element Personalizare listă de meniu 1C Toate acțiunile

Dacă există o listă pe formularul 1C 8.2, atunci meniul are comanda Configurare listă și Afișare listă.
Dacă comanda Listă de ieșire vă este deja familiară - vă permite să salvați orice listă în 1C în Excel / să o imprimați, atunci a doua comandă este nouă.

După cum ați observat deja, nu mai există butoane de selecție pe panoul de comandă a listei. În schimb, a apărut un buton Găsiți, a cărui funcționare (precum și poziționarea dezactivată în prezent a cursorului în listă la tastare) are unele reclamații.

Funcționalitatea butonului Găsiți nu este, desigur, comparabilă cu selecțiile, dar acestea nu au dispărut!
Acestea sunt acum localizate în elementul de meniu Personalizare listă. Selectarea se poate face acum prin orice câmp și, pe lângă acesta, puteți face sortarea și formatarea condiționată în același mod ca și în rapoartele ACS.

Element Schimbați forma meniului 1C Toate acțiunile

Elementul de formular Modificare vă permite să modificați în mod similar nu numai lista din formularul 1C 8.2, ci și formularul 1C 8.2 în sine.

Utilizatorul poate activa sau dezactiva independent vizibilitatea câmpurilor de pe formularul 1C 8.2, lățimea și înălțimea, activarea câmpului implicit la deschidere etc.

Folosind formularele gestionate 1C 8.2 și formularele obișnuite 1C

În mod implicit, formularele obișnuite 1C sunt utilizate în configurațiile pentru clientul gros (obișnuit) 1C, iar formularele gestionate sunt utilizate în configurațiile pentru clienții subțiri și web ai 1C. Cu toate acestea, ambele forme 1C pot fi utilizate în orice configurație, inclusiv simultan.

Pentru a face acest lucru, trebuie să introduceți proprietățile de configurare (elementul superior din fereastra de configurare).

În proprietățile de configurare din 1C 8.2, au apărut două noi casete de selectare care vă permit să activați utilizarea non-standard a formularelor 1C.

Crearea formularelor gestionate 8.2

Plus formă nouă 1C 8.2 este produs în același mod ca înainte - folosind butonul Ins de pe tastatură sau butonul Adaugă. Pentru a introduce unul existent, faceți dublu clic pe acesta cu mouse-ul.

În mod implicit, va fi creat formularul (obișnuit sau gestionat) care este instalat în configurație (vezi proprietatea Mod lansare principală în proprietățile de configurare. Dacă ați activat permisiunea de a utiliza ambele tipuri de formulare în configurație - în designerul de formulare , care se va deschide imediat - puteți selecta formularele de tip.

Designerul vă va solicita să selectați tipul de formular - formular element, formular listă. Aici puteți adăuga sau elimina panouri de comandă din formular. Cel mai adesea, aceste setări sunt lăsate ca atare, în mod implicit.

Se deschide un formular, completat implicit - toate detaliile obiectului 1C care există au fost adăugate la acesta. Puteți bifa o listă specifică de câmpuri obligatorii în a doua filă a designerului.

Editorul de formulare este format din trei secțiuni.

  • În stânga colțul de sus conține o listă de elemente de formular. Este format din câmpuri, comenzi și grupuri care vă permit să combinați elemente. Lista comenzilor poate fi vizualizată separat în fila Interfață de comandă.
  • În colțul din dreapta sus există o listă cu detaliile formularului și detaliile obiectului disponibile (deschideți crucea de lângă atributul Object).
  • Mai jos este o previzualizare a formularului rezultat.

Puteți trage detaliile disponibile la stânga și va deveni un element de formular (un câmp din formular).

Dacă trebuie să adăugați un buton sau un element de meniu, în partea dreaptă a filei Comenzi, trebuie să creați o comandă nouă. Acesta este un wrapper pentru o funcție din modulul formular. Pe lângă specificarea funcției care va fi apelată, puteți atribui o reprezentare - de exemplu, o imagine, precum și dependența vizibilității de opțiunea funcțională.

Comenzile sunt, de asemenea, trase spre stânga. Dacă părintele este bara de comandă, atunci va fi un buton din bara de comandă - altfel doar un buton.

Nu puteți doar să glisați și să plasați atributele obiectului/formularului în lista de elemente de formular (câmpuri), ci și să le adăugați pur și simplu (butonul Adăugare sau Ins). În special, puteți crea un nou obiect formular – Grup.

Grupul poate fi un panou de comandă (cursorul trebuie să fie pe linia Formular). Apoi trageți comenzi în el și acestea devin butoane.

Grupul poate fi „regulat”. Atunci acesta este un mod de grupare a câmpurilor atât pe verticală, cât și pe orizontală. Numele grupului poate fi eliminat din proprietăți.

Un grup poate fi un panou (pagină). Grupul adăugat de sus este un panou, iar grupurile imbricate de acest tip sunt pagini. Câmpurile sunt deja trase pe pagini.

Elementele de formular care nu sunt necesare sunt eliminate prin ștergerea elementelor de formular din listă.
Poziția câmpului pe formular este determinată de ordinea în lista de elemente (verticală) sau prin utilizarea grupurilor (orizontală). Lățimea și înălțimea sunt setate în proprietățile elementului de formular.

Proprietățile elementului de formular au fost extinse semnificativ și conțin multe lucruri utile - cum ar fi controale aspect(butoane de selectare și ștergere) și verificarea valorilor implicite.

Proprietățile formularului în sine, inclusiv dimensiunile sale, sunt stabilite la elementul rădăcină al formularului cu același nume Form.

Managerii de evenimente (răspunsurile la acțiunile utilizatorului) sunt acum împărțiți în două tipuri. Vechi – ca și înainte, ele sunt indicate în proprietățile formularului și câmpurilor (de exemplu, OnChange și OnOpening the form). Cele noi au devenit comenzi și sunt folosite pentru elemente de meniu și butoane.

Articole înrudite

2024 liveps.ru. Teme și probleme gata făcute în chimie și biologie.