În ciuda faptului că căutarea full-text pe platforma 8.3 a fost anunțată de dezvoltatori cu mult timp în urmă (de pe platforma 8.3.5), în configurații active nu a fost utilizată în mod activ. În cele mai recente versiuni ale Enterprise Accounting 3.0 în multe liste, dezvoltatorii au inclus căutarea full-text. Pentru utilizatorii mei sa dovedit a fi un șoc - programul a încetat să caute.
Desigur, căutarea full-text funcționează, dar utilizatorii care nu văd fereastra "Find" sunt confuziți. Scenariu obișnuit de utilizare: începeți să tastați cu tastatura, în timpul intrării apare fereastra "Find", indicând câmpul în care va fi efectuată căutarea, textul de căutare și modul de căutare "Ca parte a liniei".
Prin apăsarea butonului enter, lista este filtrată, o bară de stare a căutării apare deasupra listei. Utilizatorul însuși determină în ce domeniu și ce caută. Noua căutare începe să funcționeze de îndată ce o introduceți și acționează asupra tuturor câmpurilor afișate în listă. O fereastră separată nu apare, toate potrivirile cuvintelor de căutare sunt evidențiate în culoare.
De câteva zile am trăit cu o nouă căutare. Utilizatorii au fost chinuși, plânși, sabotați. Plângerile nu s-au oprit, conducerea a fost rugată să "facă totul așa cum a fost".
De unde să încep? Este necesar să înțelegem ce forme diferă una de cealaltă. Descărcarea codurilor de configurare sursă cu noul comportament de căutare și cu cea veche și compararea surselor formularelor.
Pentru funcționalitatea noii căutări fulltext, adăugarea unui element de formular cu tipul de "șir de căutare" este responsabil. A devenit clar ce să caute. Am găsit un articol despre ITS 7.3.1.5. Căutați în lista dinamică. Studiul acestui articol a dus la concluzia că noua versiune de căutare de locuri de muncă depinde de doi factori: 1. Formularul trebuie să fie deasupra a formei elementului, 2. Lista dinamică pe un formular trebuie să aibă proprietatea „PolozhenieStrokiPoiska“ nu este egal cu „Nu“.
Ideea este de a crea suficient pe server alocat lista de proprietăți forma valoarea „PolozhenieStrokiPoiska“ „PolozhenieStrokiPoiska.Net“, dar nu toate formele de ea a lucrat, în unele cazuri, noi de căutare au continuat să lucreze. Nu putem să eliminăm programatic elementele formate de program, dar puteți controla vizibilitatea. Dacă elementul de formular "SearchStringAddition" își elimină vizibilitatea, căutarea nouă completă nu mai funcționează. În timpul experimentelor sa născut următorul cod, pe care l-am pus în modulul general:
În procedura "Dezactivați căutarea nouă în listă", trebuie să trimiteți formularul corectat. Dar cum se poate face acest lucru pentru toate formele dintr-o dată?
A doua soluție este de a apela o procedură atunci când formularul este deschis, care va dezactiva programabil noua căutare. Procedura poate fi apelată de la o altă procedură, începutul căreia este deja înregistrată în toate formele, caz în care, cu actualizări ulterioare, va trebui doar să monitorizăm această procedură - astfel încât să nu se modifice. Am ales Modulul General. Managementul Printului, în care există:
Această procedură se numește atunci când se creează un formular pe server pentru a popula comenzile de imprimare. În această procedură, scriem codul care solicită funcția noastră de a dezactiva noua căutare din liste:
Contabilii se bucură de vechea căutare și ne pregătim pentru momentul în care modul de compatibilitate "Enterprise Accounting 3.0" ne va permite să transferăm această funcție la extensie.