Kā atkļūdot fona darbu 1s 8.3. Fona darbu atkļūdošana. Rādīt vērtību, virzot kursoru

Droši vien neviena nopietna konfigurācija 1C 8.3 vai 8.2 nevar iztikt bez ikdienas un fona uzdevumu izmantošanas. Tie ir ļoti ērti, jo tie tiks izpildīti saskaņā ar skaidri noteiktu grafiku bez lietotāja vai programmētāja iejaukšanās.

Piemēram, reizi dienā ir jāapmainās ar datiem ar citu programmu. Izmantojot rutīnas un fona uzdevumus, 1C šīs darbības varēs veikt patstāvīgi, piemēram, ārpus darba laika. Šī metode nekādā veidā neietekmēs lietotāja pieredzi un palīdzēs ietaupīt laiku.

Vispirms noskaidrosim, ko tie nozīmē un kāda ir to atšķirība:

  • Plānotais uzdevumsļauj sākt jebkuras konkrētas darbības saskaņā ar iepriekš konfigurētu grafiku.
  • Fona darbs ir objekts, kas satur veicamās darbības.

Pieņemsim, ka mūsu uzņēmums kaut ko pārdod un tam ir sava vietne, kurā ir norādītas cenas. Mēs vēlamies tos augšupielādēt reizi dienā, lai saglabātu atbilstību.

Atveriet konfigurāciju un pievienojiet ieplānotu uzdevumu.

Rekvizītu iestatīšana

Apskatīsim svarīgākos parametrus, kas jāaizpilda tā īpašībās.

  • Laukā " Metodes nosaukums» atlasa konkrēta vispārējā moduļa procedūru, kas tiks tieši izpildīta. Tajā būs norādītas visas darbības, lai augšupielādētu cenas mūsu vietnē. Lūdzu, ņemiet vērā, ka izpilde notiks serverī. Tas ir loģiski, jo rutīnas darbības tiek veiktas bez lietotāja līdzdalības.
  • Ieplānoto uzdevumu var atspējot vai iespējot pēc vajadzības. Nav nepieciešams katru reizi rediģēt viņa grafiku. Lai to izdarītu, rekvizītu paletē iestatiet vai notīriet karogu " Lietošana».
  • Vēl viena svarīga lieta ir iestatīt, vai šis rutīnas uzdevums būs iepriekš noteikts, vai nē. Iepriekš definēti ieplānotie uzdevumi tiek palaisti automātiski. Ja šī funkcija nav instalēta, jums tās būs jāpalaiž programmatiski vai jāizmanto “Uzdevumu konsoles” apstrāde ar ITS.
  • Varat arī norādīt atkārtojumu skaits un intervāls starp tiem nenormālas pārtraukšanas gadījumā. Nenormāla izbeigšana attiecas uz situācijām, kad darbi netika pabeigti kļūdas dēļ.

Grafika sastādīšana

Pēdējais solis ir iestatīt grafiku mūsu augšupielādei vietnē, izmantojot atbilstošo hipersaiti rekvizītu paletē.

Jūs redzēsiet tipisku grafika iestatījumu 1C 8.3. Šeit nav nekā sarežģīta. Šajā piemērā mēs iestatām cenu augšupielādes sākšanu vietnē katru dienu no pieciem līdz septiņiem no rīta. Gadījumā, ja ieplānoto uzdevumu nav laika izpildīt pirms 7:00, tas tiks izpildīts jau nākamajā dienā.

Plānoto uzdevumu bloķēšana

Palaidiet standarta utilītu “Administring 1C Enterprise Servers” un atveriet tās informācijas bāzes rekvizītus, kurā izveidojāt rutīnas uzdevumu (1C klienta-servera versijām).

Atvērtajā logā (pēc pieteikumvārda un paroles ievadīšanas, lai piekļūtu informācijas drošībai) pārbaudiet, vai nav atzīmēta izvēles rūtiņa “Iespējota ikdienas uzdevumu bloķēšana”. Ja rodas situācija, kad uzdevums nedarbojas, vispirms pārbaudiet šo iestatījumu.

Tādā pašā veidā jūs varat pilnībā atspējot ikdienas uzdevumus 1C 8.3. Lai atspējotu noteiktus fona darbus, varat izmantot jaunākajos laidienos iebūvēto apstrādi “Background Job Console”.

Fona un ieplānotie uzdevumi failu režīmā

Šajā režīmā šo uzdevumu iestatīšana un palaišana ir daudz grūtāk organizējama. Visbiežāk papildu Konts, kura sesija vienmēr būs atvērta.

Šajā gadījumā rutīnas uzdevumi tiek aktivizēti, izmantojot metodi “RunTaskProcessing()”.

Varat arī izmantot šādu konstrukciju:

Kā procedūras nosaukums jānorāda izpildāmās klienta procedūras nosaukums. Intervāls parāda, cik sekundes vēlāk notiks izpilde. Parametrs “Vienreizējs” nav nepieciešams. Tas atspoguļo, vai tas tiks izpildīts šī procedūra vienu vai vairākas reizes.

Izsekošanas kļūdas fona darbos

Skatiet fona uzdevumu norisi, kā arī pieejamību iespējamās kļūdas var atrast žurnālā. Filtrā atlasiet lietojumprogrammu “Fona darbs” un, ja nepieciešams, atlasiet interesējošās nozīmes nozīmi, piemēram, tikai “Kļūdas”.

Žurnālā tiks parādīti visi ieraksti, kas atbilst jūsu atlasei, kā arī komentārs, kas palīdzēs izprast kļūdas iemeslu.

Dažreiz ir nepieciešams atkļūdot fona (parasto) darbu. Tieši šeit bieži rodas problēma.

Dažreiz ir nepieciešams atkļūdot fona (parasto) darbu. Tieši šeit bieži rodas problēma. Un šī problēma ir tāda, ka atkļūdotājs nevar izveidot savienojumu ar procesu, kas darbojas servera pusē.

Lai atrisinātu šo problēmu, mums jāatrisina divas problēmas:

1. Iespējojiet atkļūdošanu 1C serverī. Pēc noklusējuma atkļūdošana serverī ir atspējota, un, lai to iespējotu, jums ir: Palaist Windows reģistrs, rakstot " Izpildīt"pavēle REGEDIT. Atrodi līniju

"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent

(ņemts no pakalpojuma 1C:Enterprise 8.1 Server Agent startēšanas parametriem). (tas ir platformas versijai 8.1)

Pievienojiet atslēgu beigās -atkļūdošana (neaizmirstiet pirms atslēgas -debug ievietot atstarpi)

Piemērs
. "ImagePath"= bija "C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -diapazons 1560:1591 -d "C:\Program Files\1cv81\serveris" ielieciet "C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -diapazons 1560:1591 -atkļūdošana-d "C:\Program Files\1cv81\serveris"

Restartējiet servera aģentu. Gatavs. Tagad mēs varam atkļūdot servera izpildes pavedienus.

2. Servera nosaukuma un datu bāzes nosaukuma burtiem klienta savienojumā ar 1C serveri ir precīzi jāsakrīt.

Pareizs savienojums:
Fona darbs Klients - Srvr="SERVERA-NAME";Ref="Bāzes_nosaukums";
Nepareizs savienojums:
Fona darbs - Srvr = "SERVERA-NAME"; Ref = "Bāzes_nosaukums"; Klients - Srvr="Servera nosaukums";Ref="Bāzes_nosaukums";

Kā var uzzināt, ar kādiem parametriem fona darbs savienojas ar datu bāzi? Varat iedomāties dažādus veidus, no kuriem viens ir reģistrēt šos parametrus, kamēr darbojas fona darbs.

Kods ir šāds:

Procedūra WriteConnectionWithBase() Eksportēt
Žurnāla ierakstu reģistrācija(,InformationBaseConnectionString());
Procedūras beigas

Kamēr darbojas fona darbs, žurnālā tiks ierakstīta rinda ar datu bāzes savienojuma parametriem, ko izmanto fona darbs.


Tagad mēs norādām automātisku savienojumu ar fona darbiem.

Pēc šādu manipulāciju veikšanas varat atkļūdot fona darbus.


Vai vēl neesi izlasījis? Jūs varētu interesēt...

Atkļūdošana 1C- ļoti jaudīgs un funkcionāls 1C 8.3 platformas mehānisms, kas ļauj ātri atrast kļūdas programmas kodā (citās programmēšanas valodās to sauc par “debug”, no angļu valodas “debug”).

Tālāk mēs apsvērsim galvenās atkļūdošanas mehānisma izmantošanas metodes praktisku norādījumu veidā, izmantojot konkrētu piemēru.

Uzmanību! Ja izmantojat klienta-servera režīmu (serverī), jums ir nepieciešams.

Vienkāršākais veids, kā sākt atkļūdošanu 1C režīmā, ir atvērt 1C režīmā un no turienes sākt atkļūdošanas režīmu vēlamajā darbības režīmā (plāns/biezs, pārvaldīts/parasts):

Fona darbu atkļūdošana 1C

Lai varētu atkļūdot fona darbus, jums jāiet uz izvēlni “Atkļūdošana — savienojums”. Atvērtajā logā noklikšķiniet uz pogas “Automātisks savienojums”:

Šajā logā varat iestatīt atbilstošo karogu.

Papildus fona darbiem šajā logā varat iespējot ārējo savienojumu, http un , atkļūdošanu.

Pārtraukuma punkta iestatīšana

Otrais atkļūdošanas solis ir pārtraukuma punkta iestatīšana (citās programmēšanas valodās - pārtraukuma punkts).

Piemēram, atkļūdošanai es dokumenta veidlapā izvēlējos apdarinātāju “Mainoties”:

Lai iestatītu pārtraukuma punktu, jāatrod vēlamais programmas kods un jāveic dubultklikšķis uz lauka pa kreisi no koda ievades lauka (vai jānospiež poga F9):

Lai redzētu visu instalēto sarakstu, jums jāiet uz izvēlni Atkļūdošana - Pārtraukuma punktu saraksts (alt + F9):

Saņemiet 267 video nodarbības 1C bez maksas:

Pārtraukuma punkts 1C ar nosacījumu (zils)

Papildus parastajam pārtraukuma punktam 1C ir arī cita veida pārtraukuma punkts - ar nosacījumu. Grafiski šāds punkts tiek parādīts zilā krāsā. Šis pārtraukuma punkts ir ļoti noderīgs, ja, šķērsojot cilpu, ir jānoķer noteikta iterācija. Atkļūdošana ieslēgsies, kad būs izpildīts noteikts nosacījums.

Piemēram, apturēsim cilpu pie rindas numura 25:

Neaktīvs pārtraukuma punkts (pelēks)

Pelēks pārtraukuma punkts nozīmē, ka tas nav aktīvs un sistēma neapstāsies pie šī pārtraukuma punkta. Varat to padarīt neaktīvu, noklikšķinot uz īpašās pogas panelī “Atspējot pārtraukuma punktu” (shift+ctrl+F9):

Kļūdas pārtraukuma punkts

Sistēma var apstāties kļūdas dēļ, lai to izdarītu, izvēlnē Atkļūdošana - Stop by error ir jāiestata atbilstošs karogs:

Arī kļūdas apturēšanai ir funkcionalitāte, kas līdzīga nosacīta pārtraukuma punktam – tas ļauj filtrēt izņēmumus ar konkrētu kļūdas tekstu.

Soli pa solim kustība caur 1C programmas kodu

Pēc pārtraukuma punkta iestatīšanas ir jāuzsāk vēlamā programmas koda izpilde, lai sistēma ieietu soli pa solim koda izpildē. Bultiņas displejs norāda uz soli pa solim koda izpildes režīma sākumu:

Lai pārietu uz nākamo rindiņu, jānospiež poga “F11” (Iekāpt).

Ja jūs iziet cauri programmas koda rindām un tajā ir kāda procedūra vai funkcija, jūs "iekļūsit" šajā procedūrā (vai funkcijā).

Lai “neizgāztos”, pietiek ar F11 (Step into) pārlēkšanu pa rindiņām ar pogu F10 (Step through), šī poga ļauj iziet cauri procedūrām programmas kodā.

Lai pārietu no pašreizējās kursora pozīcijas uz vēlamo, apejot koda starprindas, kursors jānovieto vēlamajā rindā un jānospiež Shift + F10 (Doties uz kursoru).

Vērtību analīze 1C atkļūdošanas režīmā

Varat apskatīt noteiktu vērtību nozīmes Dažādi ceļi:

Rādīt vērtību, virzot kursoru

Kad virzāt kursoru virs mainīgā, sistēma “izceļ” mainīgā vērtības:

Izmantojot Evaluate Expression vai Tableau

  • Veidlapa Novērtējiet izteiksmi var saukt izmantojot konteksta izvēlne vai nospiežot īsinājumtaustiņus - (Shift + F9) vai izvēlni (Atkļūdošana - Novērtējiet izteiksmi).
  • Rezultātu tablo izsauc, izmantojot īsinājumtaustiņus Ctrl + Alt + W vai no izvēlnes (Atkļūdošana - Tableau).

Šīs divas analīzes metodes ir ļoti līdzīgas, galvenās atšķirības ir saskarnē. Ērtāk ir izmantot rādītāju tabulu rādītāju grupai, bet izteiksmes atsevišķiem rādītājiem.

Šīs metodes ir ļoti viegli izmantot. Pietiek ievadīt tabulā vēlamā mainīgā nosaukumu. Liels patvaļīgu aprēķinu pluss ir tas, ka izteiksmei varat pievienot savus datus.

Piemēram:

Ir ļoti noderīgi izmantot izteiksmes novērtēšanu un palaist vaicājumu, augšupielādēt to vērtību tabulā un apskatīt to.

Kā noskaidrot, no kurienes atkļūdošanā tiek izsaukta procedūra — Zvanu steks

Ļoti bieži ir jāsaprot, no kurienes un ar kādiem parametriem tika izsaukta konkrēta procedūra vai funkcija. Šim nolūkam 1C nodrošina īpaša funkcija- “Zvanu steka”. Lai palaistu zvanu kopu, jānospiež karstie taustiņi - Ctrl + Alt + C vai izvēlnē (Atkļūdošana - Call Stack).

Izmantojot to, jūs varat detalizēti uzzināt, no kurienes un ar kādiem parametriem tika izsaukta procedūra:

Ja jūs interesē veiktspējas novērtēšana atkļūdošanas laikā - .

Skatiet arī pārskata video par atkļūdošanu 1C:

Mūsdienu 1C:Enterprise konfigurācijās fona darbi tiek plaši izmantoti.

Jo īpaši visās standarta konfigurācijās tiek ģenerēti daudzi pārskati fons, kas ļauj turpināt darbu tajā pašā 1C sesijā atskaišu ģenerēšanas laikā, negaidot, kamēr atskaite tiks pabeigta. Un, protams, ir nepieciešamība atkļūdošanas kods, kamēr darbojas fona darbi. Lai veiksmīgi sāktu fona darbu atkļūdošanu, ir jāievēro vairāki nosacījumi.

Iespējojiet atkļūdošanas režīmu serverī 1C:Enterprise.

Pirmā lieta, kas jums jādara, ir pārliecināties, vai 1C: Enterprise serveris darbojas atkļūdošanas režīmā. Ja serverī nav iespējota atkļūdošana, pakalpojums ir jāpārtrauc nikns un atkārtoti palaidiet to ar parametru /debug

Konfigurēt konfiguratorā automātisku fona darbu savienojumu

Tā kā fona darbam nav klienta daļas, konfigurators konfigurē automātisku savienojumu ar fona darbiem. Lai to izdarītu, izvēlnē atlasiet vienumu Atkļūdošana -> Savienojums

Atvērtajā dialoglodziņā noklikšķiniet uz pogas Automātisks savienojums un nākamajā logā atzīmējiet izvēles rūtiņu Fona darbi

Pareizi ievadiet savienojuma virkni 1C datu bāzē

Teorētiski ar diviem iepriekš uzskaitītajiem punktiem vajadzētu būt pietiekamiem, lai aktivizētu pārtraukuma punktus, kad tiek palaists fona darbs. Bet praksē daudzi saskaras ar faktu, ka automātisks savienojums ar fona darbiem nenotiek. Tas ir saistīts ar savienojuma virkni ar informācijas bāzi.

Lieta ir tāda, ka savienojuma virknei, lai palaistu konfiguratoru, ir precīzi jāatbilst fona darba savienojuma virknei. Turklāt sakritībai ir jābūt pa rakstzīmei. Pat burtu gadījums tiek ņemts vērā. Galu galā, pievienojot sarakstam bāzi informācijas bāzes mēs varam reģistrēt serveru kopu vienai un tai pašai datu bāzei vairākos dažādos veidos: izmantojot IP adresi, izmantojot servera nosaukumu, norādot portu vai bez tā. Un visas šīs dažādās savienojumu virknes var darboties vienlīdz labi. Bet, atkļūdojot fona darbus, var rasties problēmas. Tā, piemēram, es saskāros ar faktu, ka datu bāzu sarakstā man bija savienojuma virkne, izmantojot portu

Srvr="Serveris1C:1541";Ref="Pārbaude";

Un nez kāpēc tika palaists fona uzdevums, nenorādot portu

Srvr="Serveris1C";Ref="Pārbaude";

Tāpēc nācās attiecīgi mainīt savienojuma virkni datu bāzu sarakstā.
Bet te uzreiz rodas jautājums. Kā uzzināt fona darba savienojuma virkni? Šeit ir vieta. Galu galā, kamēr darbojas fona darbs, mēs varam programmatiski veikt ierakstus žurnālā. Un izmantojot procedūru InformationBaseConnectionString() mēs varam iegūt savienojuma virkni.

Tādējādi mēs to darām piemērotā vispārējā modulī (man tas būs BackgroundTasksServer) lūk, procedūra

Procedūra LogConnectionString() ExportConnectionString = InformationBaseConnectionString() ; LogRegistration(ConnectionString) ; Procedūras beigas

Tagad izpildīsim šo procedūru, palaižot:

&OnServer procedūra WriteConnectionStringOnServer() BackgroundTasks. Palaist ( "BackgroundTasksServer.WriteConnectionStringToLog") ; Procedūras beigas

Mēs atveram reģistrācijas žurnālu, apskatām ierakstu ar savienojuma virkni un reģistrējam iestatījumus savienojumam ar datu bāzi pēc analoģijas ar fona darbu.




Tops