Фондық тапсырманы түзету жолы 1s 8.3. Фондық тапсырмаларды жөндеу. Меңзердегі мәнді көрсету

Мүмкін, 1С 8.3 немесе 8.2-де бірде-бір маңызды конфигурация әдеттегі және фондық тапсырмаларды пайдаланбай орындала алмайды. Олар өте ыңғайлы, өйткені олар нақты белгіленген кесте бойынша пайдаланушының немесе бағдарламашының араласуынсыз орындалады.

Мысалы, күніне бір рет басқа бағдарламамен деректер алмасу керек. Кәдімгі және фондық тапсырмаларды пайдалана отырып, 1С бұл әрекеттерді өз бетінше орындай алады, мысалы, жұмыстан тыс уақытта. Бұл әдіс пайдаланушы тәжірибесіне ешқандай әсер етпейді және уақытты үнемдеуге көмектеседі.

Алдымен олардың нені білдіретінін және олардың айырмашылығы неде екенін анықтайық:

  • Жоспарланған тапсырмаалдын ала конфигурацияланған кестеге сәйкес кез келген нақты әрекеттерді іске қосуға мүмкіндік береді.
  • Фондық жұмысорындалатын әрекеттерді қамтитын объект болып табылады.

Біздің компания бірдеңе сатады және бағалар орналасқан өзінің веб-сайты бар делік. Өзектілігін сақтау үшін оларды күніне бір рет жүктеп салғымыз келеді.

Конфигурацияны ашып, жоспарланған тапсырманы қосыңыз.

Сипаттарды орнату

Оның қасиеттерін толтыру қажет ең маңызды параметрлерді қарастырайық.

  • Алаңда » Әдіс атауы» тікелей орындалатын арнайы жалпы модульдің процедурасын таңдайды. Ол біздің веб-сайтқа бағаларды жүктеудің барлық қадамдарын көрсетеді. Орындау серверде орындалатынын ескеріңіз. Бұл қисынды, өйткені әдеттегі әрекеттер пайдаланушының қатысуынсыз орындалады.
  • Жоспарланған тапсырманы қажетінше өшіруге немесе қосуға болады. Оның кестесін әр уақытта өзгертудің қажеті жоқ. Ол үшін сипаттар палитрасында жалаушаны орнатыңыз немесе өшіріңіз » Қолданылуы».
  • Тағы бір маңызды нәрсе - бұл күнделікті тапсырма болатынын анықтау алдын ала анықталған, немесе жоқ. Алдын ала анықталған жоспарланған тапсырмалар автоматты түрде іске қосылады. Бұл мүмкіндік орнатылмаған болса, оларды бағдарламалық түрде іске қосу немесе ITS көмегімен «Тапсырмалар консолін» өңдеуді пайдалану қажет болады.
  • Сіз де белгілей аласыз қайталау саны және олардың арасындағы интервалқалыптан тыс тоқтатылған жағдайда. Қалыпты тоқтату қатеге байланысты тапсырмалар аяқталмаған жағдайларды білдіреді.

Кесте орнату

Соңғы қадам - ​​қасиеттер палитрасындағы сәйкес гиперсілтемені пайдаланып сайтқа жүктеп салу кестесін орнату.

1С 8.3 ішінде әдеттегі кесте параметрін көресіз. Мұнда күрделі ештеңе жоқ. Бұл мысалда біз күн сайын таңғы бестен жетіге дейін сайтқа бағаларды жүктеп салуды іске қостық. Жоспарланған тапсырманы сағат 7:00-ге дейін орындауға үлгермеген жағдайда, ол келесі күні орындалады.

Жоспарланған тапсырмаларды блоктау

«1C Enterprise Servers Administering» стандартты қызметтік бағдарламасын іске қосыңыз және әдеттегі тапсырманы жасаған ақпарат базасының сипаттарын ашыңыз (1С клиент-сервер нұсқалары үшін).

Ашылған терезеде (ақпараттық қауіпсіздікке қол жеткізу үшін логин мен парольді енгізгеннен кейін) «Кәдімгі тапсырмаларды бұғаттау қосулы» құсбелгісінің таңдалмағанын тексеріңіз. Тапсырма жұмыс істемейтін жағдайға тап болсаңыз, алдымен осы параметрді тексеріңіз.

Дәл осылай сіз 1С 8.3-те әдеттегі тапсырмаларды толығымен өшіре аласыз. Арнайы фондық тапсырмаларды өшіру үшін соңғы шығарылымдарға енгізілген «Фондық жұмыс консолі» өңдеуін пайдалануға болады.

Файл режиміндегі фондық және жоспарланған тапсырмалар

Бұл режимде осы тапсырмаларды орнату және іске қосуды ұйымдастыру әлдеқайда қиын. Көбінесе қосымша тіркеу жазбасы, сеансы әрқашан ашық болады.

Бұл жағдайда әдеттегі тапсырмалар “RunTaskProcessing()” әдісі арқылы іске қосылады.

Сіз сондай-ақ келесі құрылысты пайдалана аласыз:

Процедураның аты ретінде орындалатын клиент процедурасының атын көрсету керек. Аралық орындау қанша секундтан кейін орындалатынын көрсетеді. «Бір рет» параметрі қажет емес. Ол орындалатын-болмайтынын көрсетеді бұл процедурабір немесе бірнеше рет.

Фондық тапсырмалардағы қателерді қадағалау

Фондық тапсырмалардың орындалу барысын, сондай-ақ қолжетімділігін қараңыз мүмкін қателержурналынан табуға болады. Сүзгіде «Фондық тапсырма» қолданбасын таңдаңыз және қажет болса, қызығушылықтың маңыздылығын таңдаңыз, мысалы, тек «Қателер».

Журнал таңдауыңызға сәйкес келетін барлық жазбаларды және қатенің себебін түсінуге көмектесетін түсініктемені көрсетеді.

Кейде фондық (кәдімгі) жұмысты жөндеу қажеттілігі туындайды. Дәл осы жерде мәселе жиі туындайды.

Кейде фондық (кәдімгі) жұмысты жөндеу қажеттілігі туындайды. Дәл осы жерде мәселе жиі туындайды. Және бұл мәселе отладчик сервер жағында іске қосылған процеске қосыла алмайды.

Бұл мәселені шешу үшін екі мәселені шешу керек:

1. 1С серверінде жөндеуді қосыңыз. Әдепкі бойынша, серверде жөндеу өшірілген және оны қосу үшін мыналарды орындау керек: Іске қосу Windows тізілімі, жазу Орындау" пәрмені REGEDIT. Жолды табу

"C:\Program Files\1cv81\bin\ragent.exe" -srvc -агент

(1С: Enterprise 8.1 Server Agent сервисінің іске қосу параметрлерінен алынған). (бұл платформаның 8.1 нұсқасына арналған)

Кілтті соңына қосыңыз - отладка (-debug кілтінің алдына бос орын қоюды ұмытпаңыз)

Мысал
. "ImagePath" = болды "C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -порт 1540 -диапазон 1560:1591 -d "C:\Program Files\1cv81\server" қою "C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -порт 1540 -диапазон 1560:1591 - отладка-d "C:\Program Files\1cv81\server"

Сервер агентін қайта іске қосыңыз. Дайын. Енді біз серверді орындау ағындарын жөндеуге болады.

2. 1С серверіне клиенттік қосылымдағы сервер атауының әріптері мен дерекқор атауының регистрі дәл сәйкес келуі керек.

Дұрыс қосылу:
Фондық жұмыс Клиент - Srvr="SERVER-NAME";Ref="Base_Name";
Дұрыс емес қосылым:
Фондық жұмыс - Srvr="SERVER-NAME";Ref="Base_Name"; Клиент - Srvr="Сервер атауы";Ref="Негізгі_атауы";

Фондық тапсырма дерекқорға қандай параметрлермен қосылатынын қалай білуге ​​болады? Сіз әртүрлі жолдарды ойлай аласыз, олардың бірі фондық тапсырма орындалып жатқанда осы параметрлерді тіркеу болып табылады.

Код келесідей:

Процедура WriteConnectionWithBase() Экспорттау
Журналды тіркеу(,InformationBaseConnectionString());
EndProcedure

Фондық тапсырма орындалып жатқанда, фондық тапсырма пайдаланатын дерекқор қосылымы параметрлері бар жол журналға жазылады.


Енді фондық тапсырмаларға автоматты қосылымды көрсетеміз.

Осындай манипуляцияларды орындағаннан кейін фондық тапсырмаларды жөндеуге болады.


Сіз оны әлі оқымадыңыз ба? Сізді қызықтыруы мүмкін ...

Түзету 1C- 1С 8.3 платформасының өте қуатты және функционалды механизмі, ол бағдарлама кодындағы қателерді жылдам табуға мүмкіндік береді (басқа бағдарламалау тілдерінде бұл «debug», ағылшын тілінен «debug» деп аталады).

Төменде нақты мысалды пайдалана отырып, практикалық нұсқаулар түрінде жөндеу механизмін қолданудың негізгі әдістерін қарастырамыз.

Назар аударыңыз!Клиент-сервер режимін (серверде) пайдалансаңыз, сізге қажет.

1С жүйесінде жөндеуді бастаудың ең оңай жолы - 1С режимін ашу және сол жерден қалаған жұмыс режимінде (жұқа/қалың, басқарылатын/тұрақты) жөндеу режимін бастау:

Фондық тапсырмаларды жөндеу 1C

Фондық тапсырмаларды жөндеу мүмкіндігін алу үшін «Отладтау - Қосылым» мәзіріне өту керек. Ашылған терезеде «Автоматты қосылу» түймесін басыңыз:

Бұл терезеде сәйкес жалаушаны орнатуға болады.

Фондық тапсырмалардан басқа, бұл терезеде сыртқы қосылымдарды жөндеуді қосуға болады, http және.

Тоқтау нүктесін орнату

Түзетудің екінші қадамы тоқтау нүктесін орнату болып табылады (басқа бағдарламалау тілдерінде - үзіліс нүктесі).

Мысалы, мен жөндеу үшін құжат пішініндегі «Өзгерту туралы» өңдегішті таңдадым:

Тоқтау нүктесін орнату үшін сізге қажетті бағдарлама кодын тауып, код енгізу өрісінің сол жағындағы өрісті екі рет басу керек (немесе F9 түймесін басыңыз):

Барлық орнатылғандардың тізімін көру үшін Debug мәзіріне өту керек - Тоқтау нүктелерінің тізімі (alt + F9):

1С-те 267 бейне сабақты тегін алыңыз:

Шарты бар үзіліс нүктесі 1С (көк)

1С-де әдеттегі тоқтау нүктесінен басқа, тоқтау нүктесінің тағы бір түрі бар - шарты бар. Графикалық түрде мұндай нүкте көк түспен көрсетіледі. Бұл тоқтау нүктесі циклды өту кезінде белгілі бір итерацияны ұстау қажет болғанда өте пайдалы. Түзету белгілі бір шарт орындалғанда қосылады.

Мысалы, №25 жолдағы циклды тоқтатайық:

Белсенді емес тоқтау нүктесі (сұр)

Сұр тоқтау нүктесі оның белсенді емес екенін және жүйе бұл тоқтау нүктесінде тоқтамайтынын білдіреді. «Үзіліс нүктесін өшіру» панеліндегі арнайы түймені басу арқылы оны белсенді емес ете аласыз (shift+ctrl+F9):

Қате тоқтау нүктесі

Жүйе қатеге байланысты тоқтауы мүмкін, ол үшін Debug - Stop by error мәзірінде тиісті жалаушаны орнату керек:

Сондай-ақ, қатені тоқтату шартты тоқтау нүктесіне ұқсас функционалдылыққа ие - ол нақты қате мәтінімен ерекшеліктерді сүзуге мүмкіндік береді.

1С бағдарлама коды арқылы қадамдық қозғалыс

Тоқтау нүктесін орнатқаннан кейін жүйе кодты қадамдық орындауды енгізу үшін қажетті бағдарлама кодын орындауды бастау керек. Көрсеткінің дисплейі кодты қадамдық орындау режимінің басталуын көрсетеді:

Келесі жолға өту үшін «F11» (Кіру) түймесін басу керек.

Егер сіз бағдарлама кодының жолдарын аралап өтсеңіз және жолда процедура немесе функция болса, онда сіз осы процедураның (немесе функцияның) ішіне «құласыз».

«Сәтсіздікке» жол бермеу үшін F11 (Step into) орнына F10 (Step through) түймесі арқылы жолдар арқылы өту жеткілікті.

Кодтың аралық жолдарын айналып өтіп, ағымдағы курсор орнынан қажетті орынға өту үшін курсорды қажетті жолға қойып, shift + F10 пернелер тіркесімін басу керек (курсорға өту).

1С жөндеу режимінде мәндерді талдау

Сіз белгілі бір мәндердің мағыналарын көре аласыз әртүрлі жолдар:

Меңзердегі мәнді көрсету

Меңзерді айнымалының үстіне апарған кезде, жүйе айнымалы мәндерді «ерекшелейді»:

Бағалау өрнек немесе кестені пайдалану

  • Пішін Өрнекті бағалаупайдалану деп атауға болады контекстік мәзірнемесе пернелер тіркесімін басу - (Shift + F9), немесе мәзірді (Оңтайландыру - Өрнекті бағалау).
  • Есеп тақтасы Ctrl + Alt + W пернелер тіркесімдері арқылы немесе мәзірден шақырылады (Оңтайландыру - Кесте).

Бұл екі талдау әдісі өте ұқсас, негізгі айырмашылықтар интерфейсте. Көрсеткіштер тобы үшін таблоны, ал жеке көрсеткіштер үшін өрнектерді пайдалану ыңғайлы.

Бұл әдістерді қолдану өте оңай. Кестеге қажетті айнымалының атын енгізу жеткілікті. Ерікті есептеулердің үлкен артықшылығы - өрнекке өз деректеріңізді қосуға болады.

Мысалы:

Өрнекті бағалауды пайдалану және сұрауды орындау, оны мәндер кестесіне жүктеп салу және оны қарау өте пайдалы.

Түзетуде процедураның қай жерден шақырылғанын қалай білуге ​​болады - Қоңыраулар стекі

Көбінесе белгілі бір процедура немесе функция қайдан және қандай параметрлермен шақырылғанын түсіну керек. Осы мақсатта 1С қамтамасыз етеді арнайы функция- «Қоңыраулар стегі». Қоңыраулар стегін іске қосу үшін жылдам пернелерді басу керек - Ctrl + Alt + C немесе мәзір арқылы (Debugging - Call Stack).

Оны пайдалана отырып, процедура қайдан және қандай параметрлермен шақырылғанын егжей-тегжейлі біле аласыз:

Түзету кезінде өнімділікті бағалауға қызығушылық танытсаңыз - .

Сондай-ақ 1С жүйесінде жөндеу туралы шолу бейнесін қараңыз:

Қазіргі 1С:Кәсіпорын конфигурацияларында фондық тапсырмалар кеңінен қолданылады.

Атап айтқанда, барлық стандартты конфигурацияларда көптеген есептер жасалады фон, бұл есептің орындалуын күтпей-ақ есепті құру кезінде сол 1С сеансында жұмысты жалғастыруға мүмкіндік береді. Және, әрине, қажеттілік бар фондық тапсырмалар орындалып жатқанда түзету коды. Фондық тапсырмаларды түзетуді сәтті бастау үшін бірнеше шарттар орындалуы керек.

1C: Enterprise серверінде жөндеу режимін қосыңыз.

Ең алдымен, 1C: Enterprise серверінің жөндеу режимінде жұмыс істеп тұрғанына көз жеткізу керек. Серверде жөндеу қосылмаса, қызметті тоқтату керек агентжәне оны параметрмен қайта іске қосыңыз /отлад

Конфигуратордағы фондық тапсырмалардың автоматты қосылуын конфигурациялаңыз

Фондық тапсырманың клиент бөлігі болмағандықтан, конфигуратор фондық тапсырмаларға автоматты қосылымды теңшейді. Мұны істеу үшін мәзірдегі элементті таңдаңыз Түзету -> Қосылым

Ашылған диалогтық терезеде түймені басыңыз Автоматты қосылужәне келесі терезеде құсбелгіні қойыңыз Фондық тапсырмалар

1С дерекқорына қосылу жолын дұрыс енгізіңіз

Теориялық тұрғыдан, жоғарыда аталған екі нүкте фондық тапсырма орындалған кезде тоқтау нүктелерін іске қосу үшін жеткілікті болуы керек. Бірақ іс жүзінде көптеген адамдар фондық тапсырмаларға автоматты түрде қосылмайтындығына тап болады. Бұл инфобазаға қосылу жолына қатысты.

Мәселе мынада, конфигураторды іске қосу үшін қосылым жолы фондық жұмыстың қосылым жолына дәл сәйкес келуі керек. Сонымен қатар, сәйкестік кейіпкерлер бойынша болуы керек. Тіпті әріптердің жағдайы да ескеріледі. Өйткені, тізімге негізді қосқанда ақпараттық базаларбіз бір дерекқор үшін серверлер кластерін бірнеше түрлі жолмен тіркей аламыз: IP мекенжайын пайдалану, сервер атауы арқылы, портты көрсете отырып немесе көрсетпей. Және бұл әртүрлі қосылым жолдары бірдей жақсы жұмыс істей алады. Бірақ фондық тапсырмаларды жөндеу кезінде мәселелер туындауы мүмкін. Мәселен, мысалы, менде дерекқорлар тізімінде портты пайдаланатын қосылым жолы болған фактіге тап болдым.

Srvr="Server1C:1541";Ref="Тест";

Және қандай да бір себептермен фондық жұмыс портты көрсетпей іске қосылды

Srvr="Server1C";Ref="Test";

Сондықтан, сәйкесінше дерекқорлар тізіміндегі қосылым жолын өзгертуге тура келді.
Бірақ бұл жерде бірден сұрақ туындайды. Фондық тапсырманың қосылым жолын қалай білуге ​​болады? Бұл жерде. Өйткені, фондық жұмыс орындалып жатқанда, біз журналға жазбаларды бағдарламалық түрде жасай аламыз. Және процедураны қолдану InformationBaseConnectionString()қосылым жолын ала аламыз.

Осылайша, біз оны қолайлы жалпы модульде жасаймыз (мен үшін бұл болады BackgroundTasksServer) бұл процедура

Процедура LogConnectionString() ExportConnectionString = InformationBaseConnectionString() ; LogRegistration(ConnectionString); EndProcedure

Енді осы процедураны іске қосу арқылы орындаймыз:

&OnServer процедурасы WriteConnectionStringOnServer() BackgroundTasks. Жүгіру ( "BackgroundTasksServer.WriteConnectionStringToLog"); EndProcedure

Тіркеу журналын ашамыз, қосылым жолы бар жазбаны қарастырамыз және фондық тапсырмаға ұқсастығы бойынша деректер қорына қосылу параметрлерін тіркейміз.




Жоғарғы