Pilna teksta meklēšana un tās iespējas. Pilna teksta meklēšana Sāciet indeksēt pilna teksta meklēšanu 1c

08.09.2024

Šajā rakstā es jums pastāstīšu par 1C Enterprise 8 ātrās meklēšanas funkciju. Kas ir ātrā meklēšana?Ļoti vienkārši. Ātrā meklēšana ir viens no veidiem, kā pārvietoties lielos 1C ierakstu sarakstos. Tie var būt dokumentu saraksti, direktoriji, reģistri - viss, kas ir parādīts tabulās.

Kas ir ātrā meklēšana?

Ātrās meklēšanas funkcija 1C Enterprise dokumentos ir ārkārtīgi ērta un ļauj nevis ritināt milzīgus datu apjomus (piemēram, izmantojot ritjoslu), bet nekavējoties doties uz vēlamo vietu sarakstā. Diemžēl iesācēji 1C Enterprise 8 (tostarp 1C Accounting 8) lietotāji sākumā neizmanto ātrās meklēšanas iespējas, dodot priekšroku dokumentu sarakstiem manuāli ritināt (un tos var Ļoti liels). Šis raksts palīdzēs jums saprast ātrās meklēšanas izmantošanu 1C.

Pirmkārt, jāatzīmē, ka 1C Enterprise 8 konfigurācijās, kas veidotas uz pārvaldītām formām, ātrā meklēšana darbojas savādāk nekā iepriekšējās 1C versijās. Tāpēc mēs atsevišķi analizēsim ātrās meklēšanas izmantošanu pārvaldītajās un parastajās formās.

Ātrā meklēšana 1C grāmatvedībā 8.2

Versijā 1C Grāmatvedība no 8.0 līdz 8.2Šī funkcija ir īpaši paredzēta pāreja uz vēlamo saraksta daļu. Piemēram, apskatiet attēlā redzamo kontu plāna logu.


Logā tiek iezīmēta noteikta līnija. Pievērsiet uzmanību smalkajam svītru trīsstūrim, uz kuru norāda sarkanā bultiņa. Tāpat kā citās Windows programmās, kur ir saraksti (piemēram, pārlūkprogrammā Explorer), šī marķiera (trijstūra) pozīcija nosaka visa saraksta kārtošanu - Kurā kolonnā ir ievietots marķieris, viss saraksts tiks sakārtots pēc šīs kolonnas. Attēlā marķieris atrodas ailē Kods, tāpēc kontu plānā konti tiks sakārtoti pēc koda.

Marķieri var pārvietot no vienas kolonnas uz citu, noklikšķinot uz vajadzīgās kolonnas ( slejā HEADING!) ar peli. Ja marķieris jau atrodas pašreizējā kolonnā, noklikšķinot, kārtošanas virziens tiks mainīts uz pretēju (t.i., no liela uz mazu vai otrādi).

Šī ir standarta darbība jebkurai Windows programmai. Kāda ir šī marķiera īpatnība 1C Enterprise un kā tas ir saistīts ar ātro meklēšanu?Šajā gadījumā, izmantojot kolonnu Kods, tiks veikta ātra meklēšana kontu plānā.

Bija svarīga raksta daļa, bet bez JavaScript tas nav redzams!

Kā izmantot ātro meklēšanu 1C? Viegli! Vienkārši sāciet rakstīt to, ko vēlaties atrast ŠAJĀ slejā, t.i. kur atrodas marķieris. Piemērā attēlā, jums jāievada konta numurs. Piemēram, jūs vēlaties atrast kontu 50 Cash. Šajā gadījumā ievadiet ( Nekur nav jāklikšķina!) numuru 50 no tastatūras un, ja šajā kolonnā ir konts ar šo numuru (un, protams, tāds ir), tad saraksts ritinās līdz šai rindai, un pati rinda tiks iezīmēta. Rezultāts ir parādīts zemāk esošajā kontu plāna ekrānuzņēmumā.

vietne_

Teksts, uz kuru norāda bultiņa, ir pēc tam nav jāmazgā- viņš pazudīs pats no sevis.

Iepriekš minētajā piemērā, ja sākat rakstīt vārdu “Kasieris”, teksts loga apakšā tiks ievadīts un pēc tam izdzēsts. Tas notiek tāpēc, ka tiklīdz sākums ievadītā ātrās meklēšanas virkne vairs neatbilst vismaz vienas rindiņas sākumam šajā kolonnā, 1C Enterprise secina, ka meklētā virkne netika atrasta, un automātiski to izdzēš. Sakarā ar to Ir divi noteikumi, kas jāatceras.

1C Enterprise 8 ātrā meklēšana tiek veikta rindas sākumā, t.i. kolonnā tiek meklēta ievadītā teksta atbilstība šīs kolonnas vienas rindas sākumam.
Tas noved pie svarīga ieteikuma: ievadot datus direktorijos, nosauciet elementus tā, lai tos varētu ērti atrast, izmantojot ātro meklēšanu. Piemēram, darījuma partnera nosaukumu labāk rakstīt kā “Firmas nosaukums LLC”, nevis “Firmas nosaukums SIA”. Un vēl jo vairāk, nosaukumā nevajadzētu izmantot pēdiņas un citus nevajadzīgus simbolus (mēs runājam par lauka Vārda aizpildīšanu veidlapās).

Ja sākat rakstīt tekstu un tas tiek izdzēsts, tas, ko meklējat, nav šajā slejā!Šādā gadījumā pārbaudiet ievades valodu, kā arī kolonnu, kurā tiek veikta ātrā meklēšana. Tipiska kļūda ir tā, ka ir atlasīta nepareiza kolonna. Piemēram, marķieris ir iestatīts kolonnā Kods, un meklēšana tiek veikta pēc konta nosaukuma.

Ātrā meklēšana 1C grāmatvedībā 8.3

Tagad redzēsim, kā ātrā meklēšana atšķiras versijā 1C Enterprise 8.3. Izmantošana lielā mērā ir līdzīga versijai 8.2, taču ir jāatceras viena būtiska atšķirība.

Programmā 1C Accounting 8.3, kā arī jebkurā citā pārvaldīto formu konfigurācijā (tā pati jaunā saskarne) tas darbojas kā filtrs. Vienkārši sakot, ātrās meklēšanas funkcijas rezultātā daļa no saraksta.

Tagad mēs uzzināsim, kā to izmantot. Vispirms skatiet tālāk redzamo 1C Accounting 8.3 kontu plāna loga ekrānuzņēmumu.

vietne_

Kā redzat, vienā no kolonnām atrodas tas pats marķieris. Meklēšana tiek veikta arī kolonnā, kurā ir uzstādīts marķieris. Tas viss paliek nemainīgs. Taču, ja sākat ievadīt tekstu (piemērā konta numuru), notiks sekojošais.

vietne_

Kā redzat, meklēšanas logs vienkārši tika atvērts automātiski. Tieši tāds pats logs tiks atvērts, ja loga rīkjoslā noklikšķināsiet uz meklēšanas pogas (attēlā pasvītrots). Rezultātā meklēšanas logā noklikšķinot uz pogas Atrast (attēlā paslēpta aiz nolaižamās izvēlnes) vai vienkārši ievadot, tiek parādīts šāds rezultāts.

vietne_

No tā ir skaidrs, ka ātra meklēšana programmā 1C Accounting 8.3 vienkārši atstāj redzamu to saraksta daļu, kas atbilst meklēšanas nosacījumiem.Šajā gadījumā pazūd poga Atrast, un tā vietā parādās objektīvs ar krustiņu (attēlā pasvītrots), noklikšķinot, saraksts atgriežas sākotnējā stāvoklī (ātrās meklēšanas rezultātā atrastā līnija paliek izcelta).

Vēl viena svarīga ātrās meklēšanas funkcija programmā 1C Accounting 8.3— atbilstība netiek meklēta rindas sākumā, kā 8.2 versijā, bet tiek meklēta atbilstība ar jebkuru kolonnas rindu daļu. Tādējādi, ja darījuma partneri nosaucat par "Firm Name LLC" un meklējot sāciet ievadīt "Firm Name LLC", rinda joprojām tiks atrasta!

Secinājumu izdarīšana

Tādējādi ātrā meklēšana 1C Accounting 8.2 un vecākās versijās ir paredzēta, lai ritinātu sarakstu līdz vajadzīgajai rindai, un 1C Accounting 8.3 ātrā meklēšana darbojas kā parasts filtrs, slēpjot to saraksta daļu, kas jums nav nepieciešama.

1. padoms: atspējojiet pilnteksta meklēšanu*

Lielākā daļa grāmatvežu nezina par šīs funkcijas esamību un nekad to neizmanto (Pakalpojums - datu meklēšana)

Pilna teksta meklēšanas mehānisms 1C ļauj atrast informāciju 1C, izmantojot atslēgvārdus (līdzīgi meklēšanai internetā, kad ievadāt vārdu un tiek parādīti vaicājuma rezultāti). Tajā pašā laikā meklēšanas laiks būtiski ir atkarīgs no datu bāzes apjoma un var ilgt vairākas stundas. Pilna teksta meklēšanas mehānisma atspējošana neietekmē citas funkcijas un darba stabilitāti 1C.

Pilna teksta meklēšanas mehānisms 1C ir iespējots pēc noklusējuma. Lai atspējotu pilna teksta meklēšanu, jums jāiet uz Operācijas - Pilna teksta meklēšanas vadība- Zīmes iestatīšana un noņemšana Atļaut pilna teksta meklēšanu»

Pilna teksta meklēšanas mehānisma atspējošana tiek veikta ekskluzīvā režīmā (programmā nedrīkst strādāt neviens, izņemot jūs)**

Pilna teksta meklētājprogrammas atspējošana palielina veiktspēju līdz pat 10%.

2. padoms: rezultātu pārrēķins*

Lielākā daļa grāmatvežu nezina par šīs operācijas esamību, un tā ir jāveic katru mēnesi.

Rezultāti ir 1C mehānismi ātrai piekļuvei datiem, ģenerējot atskaites un veicot dažādas skaitļošanas darbības.

Lai pārrēķinātu kopsummas, jums jāiet uz Operācijas - Kopsummas pārvaldība, sadaļā “Visi reģistri” jāiestata datums, līdz kuram jāaprēķina kopsummas (kārtējā mēneša sākums) un jānoklikšķina uz pogas “Palaist”.

Rezultātu pārrēķins tiek veikts ekskluzīvā režīmā (nevienam nevajadzētu strādāt programmā, izņemot jūs)**

Rezultātu pārrēķins dod produktivitātes pieaugumu līdz pat 10%.

3. padoms: atspējojiet objektu versiju veidošanu***

Lielākā daļa grāmatvežu nezina par šīs funkcijas esamību un to neizmanto.

Atšķirībā no standarta žurnāla, versiju veidošanas objekti ļaus saglabāt informāciju ne tikai par to, kurš lietotājs strādāja ar dokumentu, bet arī to, ko tieši viņš mainīja (Pakalpojums - Objekta izmaiņu vēsture). Šis režīms var būt noderīgs, taču ieteicams to iespējot tikai noteiktam dokumentu sarakstam, jo tas noved pie 1C veiktspējas samazināšanās un informācijas bāzes palielināšanās

Versionēšana tiek konfigurēta sadaļā Darbības — Programmas iestatījumi — Versiju noteikšana. Ja iestatījums nav nepieciešams, jums ir jānoņem izvēles rūtiņa “Izmantot objekta versijas”.

Ja iestatījums ir nepieciešams noteiktam dokumentu sarakstam, dodieties uz “Objektu versijas iestatījumi” un ar peles labo pogu noklikšķiniet, lai iestatītu iestatījumu “Versija” nepieciešamajiem objektiem**

Versiju izveides atspējošana nodrošina veiktspējas pieaugumu līdz pat 5%.

_________________________________________________________________

*Konfigurācijām, kuru pamatā ir “1C: Industrial Enterprise Management”, “1C: Integrated Automation”, “1C: Enterprise Accounting 2.0”, “1C: Trade Management 10.3”

**Pirms rutīnas darbību veikšanas ar datu bāzi ir nepieciešams izveidot datu bāzes kopiju.

***Konfigurācijām, kuru pamatā ir “1C: Manufacturing Enterprise Management”, “1C: Integrated Automation”.

Neskatoties uz to, ka pilna teksta meklēšanu platformā 8.3 izstrādātāji paziņoja diezgan sen (no platformas 8.3.5), tā netika aktīvi izmantota tipiskajās konfigurācijās. Jaunākajos Enterprise Accounting 3.0 laidienos izstrādātāji ir iespējojuši pilna teksta meklēšanu daudzos sarakstos. Maniem lietotājiem tas bija šoks — programma pārtrauca meklēšanu.

Protams, darbojas pilna teksta meklēšana, taču lietotāji ir apmulsuši, neredzot Atrast logu. Tipisks lietošanas scenārijs: Sāk rakstīt no tastatūras, mašīnrakstīšanas procesa laikā parādās logs “Atrast”, kurā tiek norādīts lauks, kurā tiks veikta meklēšana, meklētais teksts un meklēšanas režīms “Virknes daļa”.

Nospiežot taustiņu Enter, saraksts tiek filtrēts un virs saraksta tiek parādīta meklēšanas statusa josla. Lietotājs pats nosaka, kurā jomā un ko viņš meklē. Jaunā meklēšana sāk darboties uzreiz rakstīšanas laikā un ietekmē visus sarakstā parādītos laukus. Neparādās atsevišķs logs; visas meklēšanas vārdu atbilstības ir izceltas krāsā.

Vairākas dienas dzīvojām ar jauniem meklējumiem. Lietotāji cieta, sūdzējās, sabotēja. Sūdzības neapstājās, vadībai tika dots uzdevums "darīt visu, kā tas bija".

Kur sākt? Jums ir jāsaprot, kā formas atšķiras viena no otras. Es augšupielādēju konfigurācijas avota kodus ar jauno meklēšanas darbību un veco un salīdzināju veidlapu avotus.

Jaunās pilna teksta meklēšanas funkcionalitāte tiek nodrošināta, pievienojot formas elementu ar “Search String” tipu. Kļuva skaidrs, ko meklēt. Atradu rakstu par ITS 7.3.1.5. Meklēt dinamiskajā sarakstā. Izpētot šo rakstu, tika secināts, ka jaunā meklēšanas operācijas versija ir atkarīga no diviem faktoriem: 1. veidlapai ir jābūt iepriekš norādītajam formas elementa papildinājumam, 2. veidlapas dinamiskajam sarakstam jābūt rekvizītam “SearchStringPosition”, kas nav vienāds ar "Nav".

Teorētiski, veidojot veidlapu serverī, pietiek ar “SearchStringPosition” saraksta rekvizītu piešķirt vērtībai “SearchStringPosition.No”, taču tas dažos gadījumos nedarbojās ar visām formām, jaunā meklēšana turpināja darboties . Mēs nevaram programmatiski izdzēst veidlapas elementus, kas nav izveidoti programmatiski, taču mēs varam kontrolēt redzamību. Ja tiek noņemta veidlapas elementa "Add-onSearchString" redzamība, pārstāj darboties arī pilna teksta jaunā meklēšana. Eksperimentu laikā radās šāds kods, kuru ievietoju vispārīgajā modulī:

Procedūra NewSearchInLists(Form) atspējošana Export List = Form.Elements.Find("Saraksts");

Ja saraksts = Nedefinēts, tad Atgriezties;

Pirmais risinājums ir manuāli labot nepieciešamās veidlapas konfiguratorā, izmantojot veidlapu redaktoru. Es nekavējoties atteicos no šī risinājuma - tas bija ilgs un nogurdinošs, un vēlāk bija grūti atjaunināt konfigurāciju.

Otrs risinājums ir izsaukt procedūru, atverot veidlapu, kas programmatiski atspējos jauno meklēšanu. Procedūru var izsaukt no kādas citas procedūras, kuras palaišana jau ir reģistrēta visās formās, šajā gadījumā ar turpmākiem atjauninājumiem mums būs tikai jāuzrauga šī procedūra, lai tā nemainītos. Es izvēlējos GeneralModule.Print Management, kas satur:

KadCreatingOnServer (veidlapa, noklusējuma komandu izvietojums, drukas objekti) eksportēt

Šī procedūra tiek izsaukta, kad serverī tiek izveidota veidlapa drukāšanas komandu aizpildīšanai. Šajā procedūrā mēs rakstām kodu, kas izsauc mūsu funkciju, lai atspējotu jaunu meklēšanu sarakstos:

MyGeneralModule.DisableNewSearchInLists(Form);

Grāmatveži izbauda veco meklēšanu, un mēs gatavojamies brīdim, kad Enterprise Accounting 3.0 saderības režīms ļaus šo funkcionalitāti pārvietot paplašinājumā.

Pilna teksta meklēšana- ļaus jums atrast teksta informāciju, kas atrodas gandrīz jebkurā izmantotajā konfigurācijā. Šajā gadījumā jūs varat meklēt nepieciešamos datus vai nu visā konfigurācijā kopumā, vai arī sašaurinot meklēšanas apgabalu līdz vairākiem objektiem (piemēram, noteiktiem dokumentu vai direktoriju veidiem). Paši meklēšanas kritēriji var atšķirties diezgan plašā diapazonā. Tas ir, jūs varat atrast nepieciešamos datus, pat neatceroties, kur tie ir saglabāti konfigurācijā un kā tieši tie tika ierakstīti.

Pilna teksta meklēšana nodrošina šādas iespējas:

  • Ir atbalsts transliterācijai (krievu vārdu rakstīšana, izmantojot latīņu burtus saskaņā ar GOST 7.79-2000). Piemērs: "krievu frāze" = "russkaya fraza".
  • Ir atbalsts aizstāšanai (daļa rakstzīmju rakstīšana krievu vārdos ar viena taustiņa latīņu rakstzīmēm). Piemērs: “russrfz frapf” (katra vārda galotnes tiek rakstītas ar latīņu burtiem, piemēram, operatora kļūdas rezultātā).
  • Ir iespējama neskaidra meklēšana (burti atrastajos vārdos var atšķirties), norādot izplūdušo slieksni. Piemērs: meklēšanas joslā norādot vārdu "sveiki" un neskaidrību 17%, mēs atradīsim visus līdzīgos vārdus ar un bez kļūdām: "sveiki", "prevet", "prived".
  • Ir iespējams norādīt atlasīto metadatu objektu meklēšanas jomu.
  • Standarta lauku nosaukumu ("Kods", "Nosaukums" utt.) pilna teksta indeksācija tiek veikta visās konfigurācijas valodās.
  • Meklēšana tiek veikta, ņemot vērā krievu, angļu un ukraiņu valodu sinonīmus.
  • Krievu valodas morfoloģiskajā vārdnīcā ir vairāki specifiski vārdi, kas saistīti ar darbības jomām, kuras tiek automatizētas, izmantojot programmu sistēmu 1C: Enterprise.
  • Standarta komplektācijā iekļautās vārdnīcas ietver vārdnīcu datu bāzes un tēzauru vārdnīcas un krievu, ukraiņu un angļu valodas sinonīmus, ko nodrošina uzņēmums Informatik.
  • Meklēšanu var veikt, izmantojot aizstājējzīmes ("*"), kā arī norādot meklēšanas operatorus ("AND", "OR", "NOT", "NEXT") un īpašās rakstzīmes.

Pilna teksta meklēšanu var veikt jebkurā 1C:Enterprise 8 platformas konfigurācijā

Lai atvērtu pilna teksta meklēšanas vadības logu, rīkojieties šādi:

Regulāra pielietošana- izvēlnes vienums Darbības — pilna teksta meklēšanas pārvaldība.

Pārvaldīta lietojumprogramma- izvēlnes vienums Galvenā izvēlne — Visas funkcijas — Standarta —Pilna teksta meklēšanas pārvaldība.


  • Atjaunināt indeksu– Indeksa izveide/Indeksa atjaunināšana;
  • Notīrīt indeksu– indeksa atiestatīšana (ieteicams pēc visu datu atjaunināšanas);
  • vienums Atļaut indeksa sapludināšanu– atbild par galvenā un papildu indeksa apvienošanu.

Pilna teksta meklēšana tiek veikta, izmantojot pilna teksta indeksu. Bez indeksa pilna teksta meklēšana kā tāda nav iespējama. Lai meklēšana būtu efektīva, visi attiecīgie dati ir jāiekļauj pilna teksta rādītājā. Ja lietotājs datubāzē ievada jaunus datus, tie ir jāiekļauj attiecīgajā rādītājā, pretējā gadījumā tas nepiedalīsies meklēšanā. Lai no tā izvairītos, jums ir jāatjaunina pilna teksta rādītājs. Veicot atjaunināšanu, sistēma analizē tikai noteikta veida datus: String, Atsauces tipa dati (saites uz dokumentiem, direktorijiem), Numurs, Datums, Vērtību glabāšana. Ja lietotājam nav piekļuves tiesību noteiktai informācijai, tad viņš to nevarēs redzēt meklēšanas rezultātos. Tāpat jāatceras, ka to objektu īpašībās, kuriem tiks veikta meklēšana, ir jāiestata vērtība Pilna teksta meklēšana — izmantojiet, kas ir iestatīts pēc noklusējuma.

Kā var pamanīt īpašumu Izmantot iestatīts visam direktorijam Darījuma partneri, taču to var izdarīt katram tā atbilstošā tipa atribūtam.

Sīkāk apskatīsim pilna teksta indeksu, kas sastāv no divām daļām (indeksiem): galvenā rādītāja un papildu. Lielu datu izguves ātrumu nodrošina galvenais indekss, taču tā atjaunināšana notiek salīdzinoši lēni, atkarībā no datu apjoma. Papildu indekss ir pretējs tam. Dati tiek pievienoti daudz ātrāk, bet meklēšana notiek lēnāk. Sistēma meklē abus indeksus vienlaikus. Lielākā daļa datu atrodas galvenajā rādītājā, un sistēmai pievienotie dati tiek iekļauti papildu indeksā. Lai gan datu apjoms papildu rādītājā ir neliels, meklēšana tajā notiek salīdzinoši ātri. Laikā, kad sistēmas noslodze ir neliela, notiek indeksu sapludināšanas darbība, kuras rezultātā tiek notīrīts papildu indekss un visi dati tiek ievietoti galvenajā rādītājā. Indeksu apvienošanu vēlams veikt laikā, kad sistēmas slodze ir minimāla. Šim nolūkam varat izveidot regulētus uzdevumus un ieplānotos uzdevumus.

Norādot meklēšanas izteiksmi, ir atļauti īpaši operatori

Pilna teksta meklēšanas mehānisms ļauj rakstīt daļu no krievu vārda rakstzīmēm, izmantojot viena taustiņa latīņu rakstzīmes. Meklēšanas rezultāts nemainīsies.

Divi operatori TĀLĀK

  • vienkāršots. 8 vārdu starpība
  • NEAR/[+/-]n – datu meklēšana vienā atribūtā n-1 vārda attālumā starp tiem.

Zīme norāda, kurā virzienā no pirmā vārda tiks meklēts otrais vārds. (+ - pēc, - pirms)

Aizstājējzīmi “*” var izmantot tikai kā vārda beigu aizstājēju

Izplūduma operators "#". Ja precīza vārda rakstība, vārds nav zināms.

Programmatūra un 1C rīki: programmēšana.

Sinonīms operators "!" Ļauj atrast vārdu un tā sinonīmus

Kā programmatiski atjaunināt pilna teksta meklēšanas indeksu?

Kods 1C v 8.x Procedūra UpdateIndices() Export
FulltextSearch.UpdateIndex();
Procedūras beigas

Pilna teksta datu meklēšanas piemērs

SearchList mainīgā definēšana

Code 1C v 8.x mainīgo meklēšanas saraksts;

Turklāt notikuma When Form Opens apstrādes procedūrā noteiksim, ka šis mainīgais saturēs pilna teksta meklēšanas sarakstu, ar kura palīdzību veiksim datu meklēšanu.

Kods 1C v 8.x procedūra OnOpen()
SearchList = FullTextSearch.CreateList();
Procedūras beigas

Tagad, ja noklikšķināsim uz pogas Atrast, mēs ierakstīsim kodu, kas ļaus mums veikt meklēšanu saskaņā ar izteicienu, kas norādīts laukā SearchExpression

Kods 1C v 8.x procedūra FindClick (elements)
SearchList.SearchString = SearchExpression;
Mēģinājums
SearchList.FirstPart();
Izņēmums
Brīdinājums(ErrorDescription());
EndAttempt;
Ja SearchList.FullQuantity() = 0 Tad
Form Elements.MessageOfResult.Value = "Nav atrasts";
Form Elements.SearchResult.SetText("");
Citādi
OutputSearchResult();
endIf;
Procedūras beigas

Vispirms šajā procedūrā mēs iestatām lietotāja ievadīto meklēšanas vienumu kā meklēšanas virkni pilna teksta meklēšanai. Pēc tam mēs izpildām metodi FirstPart(), kas faktiski palaiž pilna teksta meklēšanu un atgriež pirmo rezultātu daļu. Pēc noklusējuma daļā ir 20 elementi. Pēc tam mēs analizējam elementu skaitu meklēšanas sarakstā. Ja tajā nav neviena elementa, tad formā parādām atbilstošu ziņojumu. Pretējā gadījumā tiek izsaukta procedūra DisplaySearchResult(), kas lietotājam parāda rezultātus.

Veidlapas modulī izveidosim procedūru ar tādu pašu nosaukumu un ierakstīsim tajā kodu:

Kods 1C v 8.x Procedure OutputSearchResult()
Form Elements.ResultMessage.Value = "Displayed" + Row(SearchList.InitialPosition() + 1) + " - " + Row(SearchList.InitialPosition() +SearchList.Quantity()) + " from " + SearchList.FullQuantity() ;
Rezultāts = SearchList.GetDisplay(FullTextSearchDisplayType.HTMLText);
FormElements.SearchResult.SetText(Result);
ButtonAvailability();
Procedūras beigas

Šīs procedūras darbības ir vienkāršas. Pirmkārt, mēs ģenerējam ziņojumu par to, kuri elementi tiek parādīti un cik elementu kopā tika atrasts. Pēc tam mēs iegūstam pilna teksta meklēšanas rezultātu HTML teksta formā un parādām šo tekstu HTML dokumenta laukā, kas atrodas veidlapā.

Visbeidzot, mēs nododam kontroli uz procedūru Button Availability(), lai padarītu pieejamus vai, gluži pretēji, liegtu piekļuvi pogām Iepriekšējā daļa un Nākamā daļa (atkarībā no tā, kura iegūto rezultātu daļa tiek parādīta). Šīs procedūras teksts ir izklāstīts Kodeksā

Koda 1C v 8.x procedūras pogas pieejamība ()
Form Elements.NextPosition.Availability = (SearchList.FullQuantity() - SearchList.StartPosition()) > SearchList.Quantity();
Form Elements.PreviousPosition.Availability = (SearchList.StartPosition() > 0);
Procedūras beigas

Tagad jums ir jāizveido notikumu apstrādātāji, lai noklikšķinātu uz pogām PreviousPart () un NextPart ().

Kods 1C v8.x Procedūra Iepriekšējās porcijas presēšana (elements)
SearchList.PreviousPart();
OutputSearchResult();
Procedūras beigas
Nākamās porcijas presēšanas procedūra (elements)
SearchList.NextPart();
OutputSearchResult();
Procedūras beigas

Pēdējais “pieskāriens” ir izveidot apdarinātāju onclick notikumam HTML dokumenta laukā, kas atrodas veidlapā. Fakts ir tāds, ka pilna teksta meklēšanas rezultāts, kas tiek parādīts HTML teksta veidā, satur hipersaites uz meklēšanas saraksta elementu numuriem. Un mēs vēlētos, lai lietotājam noklikšķinot uz šīs saites, sistēma atvērtu objekta formu, kas atrodas šajā saraksta elementā. Lai to izdarītu, mēs pārtversim HTML dokumenta laukā ietverto HTML dokumenta notikumu onclick, no hipersaites iegūsim saraksta vienuma numuru un atveram atbilstošā objekta formu. HTML dokumenta lauka onclick notikumu apstrādātāja teksts tiek parādīts kodā

Kods 1C v8.x procedūras meklēšanas rezultāta klikšķis (elements, pEvtObj)
htmlElement = pEvtObj.srcElement;
// Pārbaudiet elementa id
If (htmlElement.id = "FullTextSearchListItem") Tad
// Iegūstiet faila nosaukumu (meklēšanas saraksta rindas numuru),
// ietverts hipersaitē
NumberInList = Skaitlis(htmlElement.nameProp);
// Iegūstiet meklēšanas saraksta virkni pēc numura
SelectedRow = meklēšanas saraksts[skaitsSarakstā];
// Atveriet atrastā objekta formu
OpenValue(SelectedRow.Value);
pEvtObj.returnValue = False;
endIf;
Procedūras beigas

Ne katrs grāmatvedis zina par tik noderīgu rīku 1C: Grāmatvedība 8 kā pilna teksta meklēšanu. Pilna teksta meklēšanas mehānisms ļauj atrast teksta informāciju jebkurā konfigurācijas vietā.

Pilna teksta meklēšana tiek veikta, izmantojot apstrādi “Datu meklēšana”, kas atrodas izvēlnē “Rīki”:

Apskatīsim vairākus piemērus, kā darbojas pilna teksta meklēšanas mehānisms.

1. piemērs. Pieņemsim, ka mums ātri jāatrod dokumenti noteiktas preces, piemēram, Marlboro cigarešu, saņemšanai.
Izvēlnē "Pakalpojums" atlasiet "Datu meklēšana". Atvērtajā logā augšējā laukā ievadiet meklēšanas vaicājumu “Marlboro” un noklikšķiniet uz pogas “Meklēt”:


2. piemērs. Mūsu organizācija īrē biroju no Rumjanceva biznesa centra. Ātri datubāzē jāatrod īres akts par 2010. gada martu. Izveidosim šādu meklēšanas vaicājumu:


3. iespēja. Pieņemsim, ka, nosūtot preces, mēs dažos dokumentos atstājām šādu komentāru “Preču un pakalpojumu pārdošana” - “Atlikts maksājums”. Un mums vajadzēja atrast visus dokumentus, kas nosūtīti ar kavēšanos. Izveidosim šādu meklēšanas vaicājumu:

Varat arī veikt sarežģītāku meklēšanu, izmantojot meklēšanas operatorus (AND, OR, NOT, NEAR).
Meklēšanas apgabals var tikt ierobežots ar konkrētiem konfigurācijas objektiem (piemēram, dokuments “Preču un pakalpojumu saņemšana”). Lai to izdarītu, noklikšķiniet uz pogas "Iestatīt":

Parādīsies lauks konfigurācijas objekta atlasei. Atzīmējiet izvēles rūtiņu “Ierobežot meklēšanas apgabalus” un noklikšķiniet uz pogas “Atlasīt meklējamos metadatu objektus”.

Piemēram, atlasiet dokumentu “Preču un pakalpojumu saņemšana”.

Atliek tikai ievadīt meklēšanas vaicājumu un meklēt.

Datu meklēšanas apstrādes apakšējā daļa atspoguļo indeksa atbilstību. Ja redzat “Indekss nav aktuāls”, jums jānoklikšķina uz pogas “Atjaunināt indeksu”.