Ieșiți imaginea într-o formă gestionată

O sarcină mică

În configurația de test pentru elementele din directorul "Angajați" a fost creat mecanism pentru atașarea fișierelor imagine. Cu toate acestea, când deschideți un element, imaginea curentă poate fi vizualizată numai prin deschiderea fișierului atașat.

Ieșiți imaginea într-o formă gestionată

Sarcina noastră va fi să afișăm elementul imaginii curente pe formular. Condiția principală este că modificarea este efectuată pentru o formă controlată.

Așa cum a fost înainte

Înainte de a trece la rezolvarea problemei, să luăm în considerare modul în care aceasta se va realiza pentru o formă convențională. În configurația de testare pentru directorul "Angajați" au fost create două detalii:

Ieșiți imaginea într-o formă gestionată


  • "Photo" este o recuzită cu un tip "Value Storage", în care sunt stocate date fișier imagine binar.
  • "FileName" este un recuzită șir, în care este înregistrată numele fișierului imaginii atașate.

Pe formularul obișnuit se adaugă elementul "Fotografii" cu tipul "Câmp de imagine".

În evenimentul "Înainte de deschidere" al formularului, adăugați următorul cod:

Și, voila! Când îl deschideți, este afișată fotografia atașată anterior!

Ieșiți imaginea într-o formă gestionată

Întreaga problemă a fost rezolvată în două etape: adăugăm câmpul de imagine la formular și, înainte de a deschide, obținem o imagine din elementul elementului director și îl atribuim elementului de formă. Cu o formă controlată, totul este un pic mai complicat.

Pe o formă controlată

Într-o formă gestionată, nu este ușor să obțineți o imagine din magazinul de valoare, să nu mai vorbim de o formă gestionată. Deoarece formularele gestionate sunt create pentru o separare clară a părților client și server, logica lucrării va fi diferită.

Pentru a afișa imaginea de început, vom adăuga elemente de recuzită de linie ale formularului "Fotografii", pentru care vom crea un element cu tipul "Imagine câmp" din formular.

Ieșiți imaginea într-o formă gestionată

Acum, în formatul handler "Creați un server nou", adăugați următorul cod:

Ca rezultat, când deschideți elementul, vedem următoarele:

Ieșiți imaginea într-o formă gestionată

Acest lucru completează sarcina!

Problema rezolvată

Am rezolvat problema, dar sunt multe de optimizat! Fișierul ar trebui să fie plasat mai bine într-o tabelă separată, astfel încât timpul de deschidere al înregistrării directorului să nu crească atunci când sunt atașate imagini mari. Dar optimizarea este deja dincolo de scopul articolului.

Descărcați configurația de testare cu un exemplu din articol.