Սահմանեք նոր արժեք ՝ որպես 1s արտահայտություն:

Սա ևս մեկ հոդված է «1C- ի զարգացման առաջին քայլերը» շարքից: Այն շարունակում է նախորդ հոդվածի թեման ՝ նվիրված կազմաձևում աշխատելու առանձնահատկություններին:

Այս հոդվածում մենք կքննարկենք հատուկ գործիք, որը հեշտացնում է ծրագրային կոդի մշակումը և կարգաբերումը 1C: Enterprise հարթակում, որը կոչվում է Debugger: Հոդվածն ուսումնասիրելուց հետո դուք կպարզեք.

  • Ինչի համար է վրիպազերծիչը և ինչպես օգտագործել այն:
  • Ի՞նչ են ընդմիջման կետերը, ինչպե՞ս և ինչու պետք է դրանք սահմանեք:
  • Ինչպե՞ս անցնել ծածկագիրը և ինչու է դա անհրաժեշտ:
  • Որտեղ դիտել ձեր փոփոխականների արժեքները, ինչպես նաև հաշվարկել արտահայտությունների արժեքները:
  • Ինչի՞ համար է զանգի բուրգը և ինչպես դիտել այն:
  • Ինչպե՞ս կարող եմ սխալմամբ դադարեցնել ծրագրի կոդի կատարումը:

Կիրառելիություն

Հոդվածում քննարկվում է 1C հարթակի 8.3.4.365 տարբերակը: Հարթակի ներկայիս տարբերակը պարունակում է վրիպազերծման ավելի հարուստ մեխանիզմներ, սակայն դա չի հնեցնում ներկայացված տեղեկատվությունը, քանի որ հոդվածում նկարագրված կարգաբերման բոլոր մեխանիզմներն ու տեխնիկան մնացել են նույնը:

Օգտագործելով վրիպազերծիչը 1C: Enterprise 8 համակարգում

1C: Enterprise 8 համակարգը պարունակում է ներկառուցված ծրագրի կոդի վրիպազերծիչ:

Վրիպազերծիչը Configurator- ի հատուկ գործիք է, որը թույլ է տալիս վերլուծել ծրագրի ծածկագրի աշխատանքը: Այս հոդվածը քննարկում է վրիպազերծիչի որոշ գործառույթներ, որոնք առավել հաճախ օգտագործվում են մշակողների կողմից:

Programրագրի ծածկագիրը վրիպազերծիչի միջոցով վերլուծելու համար օգտագործվում է հատուկ գործիք, որը կոչվում է ճեղքման կետ.

Breakpoint - այն վայրը, որտեղ համակարգը կանգ է առել ծրագրի ծածկագրում ՝ նշված հատուկ նշիչով (նկ. 1):

Բրինձ 1. Բեկման կետ

Երբ անջատման կետը գործարկվում է, հնարավոր է դառնում անցնել ծրագրի կոդով և վերլուծել փոփոխականների արժեքները:

Ընդմիջման կետերի սահմանում

Breakրագրի կոդի որոշակի տողի վրա ճեղքման կետ սահմանելը կատարվում է ծրագրի մոդուլի ձախ հատվածում մկնիկի ձախ կոճակի կրկնակի սեղմումով, որն ընդգծված է մոխրագույնով:

Հրամանի միջոցով հնարավոր է նաև ճեղքման կետ սահմանել կազմաձևման գործիքագոտում կամ կոճակով F9... Առկա խզման կետի մաքրումը կատարվում է նույն ձևով:

Գործընթացի կամ գործառույթի վերջում խզման կետ սահմանելու համար պետք է բանալի բառի վրա սահմանել խզման կետ Գործընթացի ավարտըկամ EndFunction.

Կարող եք ժամանակավորապես անջատել խզման կետը ՝ առանց այն ձեր կոդից հանելու: Անջատիչ կետն անջատելու համար կատարեք հրամանը Անջատել անջատման կետըգործիքագոտում կամ սեղմել ստեղնաշարի դյուրանցումը Ctrl + Shift + F9.

Բոլոր ընդմիջման կետերը դիտելու համար հարկավոր է կատարել հիմնական ընտրացանկի հրամանը Վրիպազերծում - Listանկընդմիջման կետերը կամ սեղմեք ստեղնաշարի դյուրանցումը Alt + F9... Բացված տեսքով Ընդմիջման կետերկարող եք ժամանակավորապես անջատել կամ հեռացնել ընդմիջման կետերը (նկ. 2):

Բրինձ 2. Ընդմիջման կետերի ցանկ

Բոլոր ընդմիջման կետերը ջնջելու համար հարկավոր է կատարել կազմաձևողի հիմնական ընտրացանկի հրամանը Վրիպազերծում - Հեռացրեք բոլոր ընդմիջման կետերը.

Պայմանական ճեղքման կետ

Պայմանական ճեղքման կետը անհրաժեշտ է `որոշակի ծածկույթի գործարկման ժամանակ ծրագրի ծածկագրի կատարումը դադարեցնելու համար:

Պայմանով ընդմիջման կետ սահմանելու համար հարկավոր է կատարել կազմաձևողի հիմնական ընտրացանկի հրամանը Վրիպազերծում - Պայմանական ընդմիջման կետ... Կբացվի Stop պայմանի ձևը: Մուտքի դաշտում դուք պետք է մուտքագրեք անհրաժեշտ պայմանը (օրինակ ՝ ծրագրի ծածկագրի ցանկացած փոփոխականի արժեքը) և կտտացրեք կոճակին լավ(Նկ. 3):

Համակարգը վրիպազերծման ռեժիմում գործարկելուց հետո խափանման կետը կսկսվի, երբ խախտվի պայմանը: Դուք կարող եք դա հաստատել ՝ օգտագործելով ձևը Խաղատախտակ(Նկ. 3): Աշխատեք ձևի հետ Խաղատախտակկքննարկվի ստորև:

Բրինձ 3. Պայմանով բեկման կետ սահմանելը և դրա մշակման արդյունքը

Codeրագրի կոդը կարգաբերում սկսելու համար հարկավոր է սահմանել ընդմիջման կետեր և գործարկել ծրագիրը վրիպազերծման ռեժիմում: Վրիպազերծում սկսելու համար հարկավոր է կատարել կազմաձևողի հիմնական ընտրացանկի հրամանը Վրիպազերծում - Սկսեք կարգաբերում(F5):

Դիմումը վրիպազերծման ռեժիմում սկսելուց հետո դուք պետք է համոզվեք, որ անջատման կետը գործարկվում է: Այստեղ հնարավոր են տարբեր սցենարներ: Օրինակ, փաստաթղթերի ձևի մոդուլում ստանդարտ իրադարձությունների կառավարիչում սահմանվում է ճեղքման կետ Բացել ()... Այս դեպքում ճեղքման կետը կսկսվի, երբ ցանկացած փաստաթղթի ձևը բացվի օգտագործողի ռեժիմում:

Անջրպետը կարող է սահմանվել ծրագրավորողի ստեղծած կամայական ընթացակարգի կամ գործառույթի մեջ: Այս դեպքում խզման կետը կսկսվի այս ընթացակարգը կամ գործառույթը կոդի որոշակի տողից կանչելուց հետո:

Անջատման կետի գործարկումից հետո համակարգը դադարում է ծրագրի ծածկագրի կատարումը և հնարավոր է դառնում օգտագործել վրիպազերծման տարբեր գործառույթներ, ինչպիսիք են `ծրագրի կոդի քայլ առ քայլ կատարումը, ձևի օգտագործումը Խաղատախտակեւ այլն

Programրագրի կոդի քայլ առ քայլ կատարում

Codeրագրի կոդի քայլ առ քայլ կատարման համար օգտագործեք այն հրամանները, որոնք առկա են ընտրացանկում կազմաձևողի հիմնական ընտրացանկում Կարգաբերում... Այս հրամանների համար հարմար է օգտագործել hotkeys:

Քայլ դեպի (F11)... Եթե ​​ծրագրի կոդի հաջորդ օպերատորը կանչում է ընթացակարգ կամ գործառույթ, ապա այն կատարվում է քայլ առ քայլ, հակառակ դեպքում `հաջորդ օպերատորը կատարվում է:

Քայլ առ քայլ (F10)... Եթե ​​ծրագրի կոդի հաջորդ հայտարարությունը կանչում է ընթացակարգ կամ գործառույթ, ապա այն ամբողջությամբ կատարվում է առանց ներս մտնելու: Հետո հաջորդ հայտարարությունը կատարվում է:

Գնալ դեպի կուրսորը (Shift + F10)... Օպերատորները կատարվում են ընթացիկ գործարկվող տողից մինչև ծրագրի կոդի տող, որտեղ կուրսորը գտնվում է:

Օգտագործելով ձևեր Խաղատախտակեւ Արտահայտություն

Variableրագրի կոդը դադարեցնելիս փոփոխականների արժեքները դիտելու և արտահայտությունների արժեքները հաշվարկելու համար օգտագործեք ձևերը Խաղատախտակեւ Արտահայտություն.

Ձեւը Խաղատախտակկոչվում է կազմաձևողի հիմնական ընտրացանկի հրամանով Վրիպազերծում - oreուցատախտակկամ ստեղնաշարի դյուրանցում Ctrl + Alt + W... Theուցատախտակը կարող է գրանցել ցանկացած փոփոխականի արժեքներ և վերլուծել, թե ինչպես են դրանք փոխվում ծրագրի ծածկագրի կատարման ընթացքում:

Վարկանիշային աղյուսակն ունի չորս ներդիր: Լռելյայն, էջանիշերը անջատված են: Էջանիշները ձևի մեջ ներառելու համար Խաղատախտակդուք պետք է զանգահարեք համատեքստի ընտրացանկ և դրեք դրոշը Էջանիշեր(Նկ. 4):

Բրինձ 4. «Գրատախտակի» ձևը ՝ ներառված ներդիրներով

Codeրագրի ծածկագիրը դադարեցնելու պահին արտահայտությունների արժեքները հաշվարկելու համար օգտագործեք ձևը Արտահայտություն... Այս ձևը բացելու համար օգտագործեք կազմաձևողի հիմնական ընտրացանկի հրամանը Վրիպազերծում - Հաշվեքարտահայտություն կամ ստեղնաշարի դյուրանցում Shift + F9(Նկ. 5):

Բրինձ 5. Ձև «Արտահայտում»

Արտահայտման վանդակում մուտքագրեք արտահայտություն ներկառուցված լեզվով: Արտահայտության արժեքը կարելի է ստանալ կոճակը սեղմելով Հաշվարկել... Դաշտում Արդյունքարտահայտության արժեքը ցուցադրվում է: Արտահայտությունը կարող է ցուցադրվել ցուցատախտակում `սեղմելով կոճակը Ներառեք ցուցատախտակում.

Հավաքածուի արժեքները դիտելու համար (օրինակ ՝ արժեքների աղյուսակ, արժեքների ցանկ, զանգված) կարող եք օգտագործել հրամանը Ցուցադրումարժեքը առանձին պատուհանում կամ բանալիում F2.

Viewingանգի խմբաքանակի դիտում

Callանգի բուրգ- ձև, որը թույլ է տալիս հետևել ընթացակարգերի և գործառույթների փոխադարձ զանգերին ծրագրային կոդի կատարման ընթացքում: Callանգի կույտը ցուցադրվում է կազմաձևողի հիմնական ընտրացանկի հրամանով Վրիպազերծում - Callանգահարեք բուրգկամ ստեղնաշարի դյուրանցում Ctrl + Alt + C... Ձեւից դուրս Callանգի բուրգկարող եք գնալ համապատասխան ընթացակարգին կամ գործառույթին (նկ. 6):

Ձևի մեջ դուք պետք է դրոշ դրեք Սխալ կանգ առնելըև գործարկեք ծրագիրը վրիպազերծման ռեժիմում: Codeրագրի կոդի կատարումը կդադարեցվի այն գծում, որտեղ տեղի է ունեցել սխալը (նկ. 7):

Օգտագործելով այս հոդվածում նկարագրված վրիպազերծման հնարավորությունները, մշակողը կարող է վերլուծել ինչպես մեր սեփական ծրագրի ծածկագիրը, այնպես էլ բնորոշ լուծումների ծրագրային ծածկագիրը«1C» ֆիրման:

Ինչպես ցույց է տալիս պրակտիկան, երկար ժամանակ է պահանջվում ՝ ծրագրի կոդի մեջ սխալներ գտնելու համար ՝ առանց վրիպազերծիչի: Հետեւաբար, դուք պետք է հատուկ ուշադրություն դարձնեք վրիպազերծիչի տիրապետմանը:

Ինչպես նշվեց վերևում, հարթակի հետագա տարբերակներում կարգաբերման մեխանիզմը զգալիորեն ընդլայնվել է: Նրանց համար, ովքեր ցանկանում են ծանոթանալ այս նորարարությունների մանրամասն նկարագրությանը, խորհուրդ ենք տալիս համապատասխան նյութը կարդալ հենց հարթակի մշակողների բլոգում:

Եզրափակելով, մենք նշում ենք, որ կազմաձևողը լիարժեք և մինչև վերջերս կիրառման զարգացման միակ միջավայրն է 1C: Enterprise 8 հարթակում: Այն ունի շատ հարուստ ֆունկցիոնալություն, որը նախատեսված է մշակողին օգնելու լուծել իր ամենօրյա խնդիրները:

8.3 վերանայման մեջ մշակողի համար շատ փոքր օգտակարություն է ավելացվել կազմաձևողին: Եվ հաջորդ հոդվածում մենք անպայման կծանոթանանք նրանց:

Այս հոդվածում ես կանդրադառնամ կարգաբերման հետ աշխատելու հիմունքներին: Ի՞նչ է վրիպազերծումը և ինչի համար է դա: Շատ հաճախ անհրաժեշտ է հասկանալ, թե ինչպես է աշխատում որոշակի կոդ, և ինչ արժեքներ են պարունակում տարբեր փոփոխականները: ունի այդ նպատակների համար կարգաբերման մեխանիզմ: Այս հոդվածում մենք կանդրադառնանք վրիպազերծման հետ աշխատելու հիմնական կետերին:

Որպեսզի ծրագիրը կանգ առնի որոշակի վայրում, անհրաժեշտ է սահմանել ընդմիջման կետ: Դա անելու համար տեղադրեք կուրսորը ցանկալի տողի վրա և կտտացրեք ձախ լուսանցքին: Ձախ կողմում հայտնվեց կարմիր շրջան: Ընդմիջման կետը կարող է սահմանվել `օգտագործելով հիմնական ընտրացանկը

Կամ օգտագործելով համատեքստի ընտրացանկը

Այս պահին ծրագիրը կդադարի, որպեսզի ծրագրավորողը հնարավորություն ունենա ծանոթանալու իր վարքագծին:

Ձեր ուշադրությունը հրավիրում եմ այն ​​փաստի վրա, որ ճեղքման կետը պետք է սահմանվի ծածկագրի այն վայրում, որտեղ գրված է ցանկացած օպերատոր: Կամ փոփոխականները անուղղակիորեն հայտարարված են:

Կան մի քանի տարբերակ, դրանք բոլորը առանձին կդիտարկենք:

Առաջին տարբերակը, պարզապես կարող եք անցնել ծածկագիրը ՝ առանց որևէ ընթացակարգի և գործառույթի մեջ մտնելու: Դա անելու համար օգտագործեք «Քայլ միջոցով» կոճակը կամ F10 ստեղնը:

Հիշեք, որ եթե վրիպազերծումը վերահսկողությունը փոխանցում է ինչ -որ ինտերակտիվ գործառույթի, որտեղ օգտագործողի միջամտությունը պահանջվում է, ապա կամ ծրագիրը ձեզ անմիջապես կփոխանցի 1C Enterprise, կամ կարգաբերումը կսառչի, և ապա ստիպված կլինեք ինքնուրույն անցնել 1C Enterprise:

Երկրորդ ճանապարհը, դուք կարող եք անցնել ծածկագրով և անցնել բոլոր գրավոր ընթացակարգերին և գործառույթներին `տեսնելու, թե ինչպես են դրանք գործում: Դա անելու համար սեղմեք «Քայլ B» կոճակը կամ սեղմեք F11 ստեղնը:

Եթե ​​մենք պետք է դուրս գանք ընթացակարգից կամ գործառույթից ՝ չսպասելով դրա կատարմանը, ապա պետք է սեղմել Step Out կոճակը կամ Shift ստեղնը պահելիս սեղմել F11 ստեղնը:

Եթե ​​մենք պետք է ցատկենք ծրագրի որոշակի վայրից և սկսենք կարգաբերում նոր գծից, ապա դա կարելի է անել երկու եղանակով. Առաջին ճանապարհը նոր ընդմիջման կետ սահմանելն է և սեղմել «Շարունակել կարգաբերումը» կոճակը կամ F5 ստեղնը: Այնուհետև ծրագիրը անմիջապես կանցնի կոդի պահանջվող տողը:

Երկրորդ ճանապարհը. Կուրսորը տեղադրեք ցանկալիի վրա և կտտացրեք «Գնալ դեպի կուրսորը» կոճակին, կամ Shift ստեղնը պահելիս սեղմեք F10 ստեղնը:

Եթե ​​աշխատում եք կոդի հետ, կորչում եք դրանում և ցանկանում եք արագ վերադառնալ ընթացիկ վրիպազերծման գծին, ապա պարզապես կտտացրեք «Ընթացիկ տող» կոճակին

Մենք սովորել ենք, թե ինչպես կարելի է կարգաբերման ընթացքում անցնել կոդի միջով: Այժմ ամենակարևորն այն է, թե ինչպես կարելի է պարզել փոփոխականների արժեքները: Սա մեզ կօգնի ցուցատախտակ.

Այն բացելու մի քանի եղանակ կա:

Առաջին ՝ օգտագործելով հիմնական ընտրացանկը:

Երկրորդ ՝ օգտագործելով «Վրիպազերծման կազմաձևում» վահանակը:

Երրորդ. Օգտագործելով ստեղնաշարի դյուրանցումը Ctrl + Alt + W.

Ներքևում հայտնվեց տախտակ, որտեղ մենք կարող ենք մուտքագրել ցանկացած փոփոխական և տեսնել դրանց արժեքները:

Բացի պարզունակ տիպի փոփոխականներից, դուք հնարավորություն ունեք արտահայտության մեջ մուտքագրել օբյեկտների տիպի փոփոխականներ և տեսնել այս փոփոխականի դրանց կազմը (եթե դուք չեք կարգաբերում կոդի կատարումը գ -ում):

Դուք կարող եք նաև գործառույթներ ավելացնել (ինչպես ձեր սեփական, այնպես էլ գլոբալ համատեքստը) ցուցատախտակին `պարզելու համար, թե դրանք ինչ կվերադարձնեն:

Դուք կարող եք պարզել փոփոխականի արժեքը ՝ առանց ցուցատախտակի օգտագործման: Բավական է ընտրել այս փոփոխականը և սեղմել «Հաշվիր արտահայտությունը» կոճակը (ստեղնաշարի համադրություն Shift + F9):

Դիտեք վիզուալ աշխատանք վրիպազերծման միջոցով այս տեսանյութում:

Իմացեք 1C- ում կազմաձևման հիմունքները և սովորեք ծրագրավորել 1C: Enterprise- ում ՝ իմ գրքերի օգնությամբ.

Հիանալի ուղեցույց կառավարվող 1C ծրագիր մշակելու համար, ինչպես սկսնակ ծրագրավորողների, այնպես էլ փորձառու ծրագրավորողների համար:

  1. Շատ մատչելի և հասկանալի ներկայացման լեզու
  2. Գիրքը ուղարկվում է էլեկտրոնային փոստով ՝ PDF ձևաչափով: Կարող է բացվել ցանկացած սարքի վրա:
  3. Հասկացեք 1C- ի կողմից կառավարվող ծրագրի գաղափարախոսությունը
  4. Իմացեք, թե ինչպես մշակել կառավարվող ծրագիր;
  5. Սովորեք զարգացնել վերահսկվող 1C ձևեր.
  6. Դուք կկարողանաք աշխատել կառավարվող ձևերի հիմնական և անհրաժեշտ տարրերի հետ
  7. Կառավարվող հավելվածի ներքո ծրագրավորումը պարզ կդառնա

Պրոմո կոդը 15% զեղչով - 48PVXHeYu


Եթե ​​այս դասը օգնեց ձեզ լուծել որևէ խնդիր, ձեզ դուր եկավ կամ օգտակար դարձավ, ապա կարող եք աջակցել իմ նախագծին `փոխանցելով ցանկացած գումար.

կարող եք ձեռքով վճարել.

Yandex.Money - 410012882996301
Վեբ փող - R955262494655

Միացեք իմ խմբերին:

Անհրաժեշտ է օգտագործել կարգաբերման ռեժիմ 1C- ում `ցանկացած բարդության բնորոշ և ինքնուրույն մշակված կազմաձևեր նախագծելիս և փորձարկելիս: Այս մեխանիզմը ծրագրավորողներին օգնում է ոչ միայն վերացնել հայտնաբերված սխալները, այլև կանխատեսել բազմաթիվ խոչընդոտներ ՝ նախքան համակարգի գործարկումը: 1C: Enterprise 8.3 հարթակի այս ռեժիմի բոլոր հնարավորություններն օգտագործելու համար դուք պետք է ոչ միայն միացնեք այն, այլև իմանաք դրա հիմնական գործիքների նպատակը:

Միացման կարգաբերման ռեժիմի միացում 1C սերվերում

Եթե ​​դուք աշխատում եք հաճախորդ-սերվեր տարբերակով, ապա դուք պետք է անցնեք սերվերի վրիպազերծումը միացնելու կարգը ՝ 1C կարգաբերիչի բոլոր գործառույթներն օգտագործելու համար: Դա շատ ժամանակ չի պահանջում և չի պահանջում լայնածավալ գիտելիքներ, բայց դուք դեռ պետք է զգույշ լինեք, քանի որ գործընթացը կազդի սերվերի վրա գրանցամատյանը փոխելու վրա:

Կարող եք թույլ տալ կարգաբերում 1C- ում ՝ հետևյալ ալգորիթմի համաձայն.

  • Գնացեք 1C սերվեր և բացեք գրանցամատյանը «Գործարկել» գործառույթի միջոցով «Սկսել» ցանկից: Կարող եք նաև միաժամանակ օգտագործել ձեր ստեղնաշարի Windows և R ստեղները: Մուտքագրեք գրանցամատյանը բացելու հրամանը `« regedit »;
  • Ձախ կողմում գտնվող ծառում բացվող պատուհանում հետևեք ճանապարհին ՝ "HKEY_LOCAL_MACHINE", "SYSTEM", "ControlSet001", "services", "1C: Enterprise 8.3 Server Agent";
  • Ընտրելով ներքևի տարրը, աջ կողմում մենք գտնում ենք «ImagePath» անունով հատկանիշը և փոխում այն ​​՝ օգտագործելով համատեքստի ընտրացանկը: Սերվերի վրիպազերծումը միացնելու համար գոյություն ունեցող ուղուն ավելացրեք «-debug» տողը.
  • Մնում է միայն վերագործարկել 1C սերվերի գործակալը, և կարող եք օգտագործել սերվերի վրա կարգաբերման ռեժիմը:

Հաճախորդի ծրագրի միջոցով վրիպազերծում սկսելու համար կազմաձևման ռեժիմում անցեք 1C և ընտրեք ցանկալի ռեժիմը «Վրիպազերծում» ընտրացանկում: Modernամանակակից կազմաձևերի մեծ մասն աշխատում է բարակ հաճախորդի ռեժիմում, հետևաբար, ավելի լավ է կարգաբերել կատարումը այս տեսակի հաճախորդների դեպքում: Եթե ​​ձեր կոնֆիգուրացիան օգտագործում է տարբեր տեսակի հաճախորդներ, ապա մտքի լրացուցիչ հանգստության համար կարող եք ֆունկցիոնալությունը ստուգել բոլոր ռեժիմներում: Վրիպազերծման ռեժիմը սկսելու պահին 1C- ն բացում է «Ձեռնարկություն» ռեժիմը:


Հենց որ 1C- ը գործարկվի կարգաբերման ռեժիմում, կտեսնեք գրեթե նման ծրագրի պատուհան: Միակ տարբերությունը կլինի ներքևում. 1C- ն ցույց է տալիս գորշ ֆոնի վրա կանչերի քանակի վիճակագրություն: Բայց եթե այս պահին անցեք կազմաձևիչին, կնկատեք, որ վերին վահանակը փոխվել է: Կան նոր կոճակներ, որոնցով դուք կվերահսկեք կարգաբերման ռեժիմը:

Սերվերի կարգաբերման ընթացակարգերից առավելագույն օգուտ քաղելու համար դուք պետք է իմանաք այս ռեժիմի հիմնական առանձնահատկությունները, դրանց նպատակը և ինչպես օգտագործել դրանք: Իհարկե, անհնար է ամեն ինչ հասկանալ տեսական մակարդակով, բայց երբ ծանոթանաք հիմնականին, ապա գործնականում դա ձեզ համար շատ ավելի հեշտ կլինի: Բացի այդ, վրիպազերծման առանձնահատկությունների մեծ մասը հազվադեպ են օգտագործվում, ուստի այս մեխանիզմի խորը իմացությունը կարող է օգտակար լինել միայն մի քանի տարվա աշխատանքից հետո:

«Ձեռնարկություն» վրիպազերծման ռեժիմի այն հնարավորությունների շարքում, որոնք կանոնավոր կերպով օգտագործում են 1C մշակողները, կարելի է առանձնացնել հետևյալը.

  • Ընդմիջման կետեր;
  • Քայլ առ քայլ կոդի կարգաբերում;
  • Դիտել արժեքները;
  • Callանգի բուրգ:

Վրիպազերծման գործառույթներ 1C

Վրիպազերծման հիմնական առանձնահատկությունն այն է, որ սկսել կարգաբերում և ստուգել, ​​թե ինչպես է աշխատում կոդը 1C Enterprise ռեժիմում աշխատելիս: Դա անելու համար 1C մշակողները ալգորիթմի գծի վրա սահմանեցին խզման կետ: Դա անելու համար մկնիկով ընտրեք տող և սեղմեք կարմիր շրջանակի պատկերով կոճակը: Այլապես, կարող եք կրկնակի սեղմել մոդուլի տեքստից ձախ գտնվող բարում կամ օգտագործել F9 ստեղնը:

Օգտագործեք Debug ընտրացանկը `տեսնելու սահմանված ընդմիջման կետերը: Այնտեղ կարող եք հեռացնել բոլոր կետերը, անջատել դրանք, ավելացնել նորը և ծանոթանալ «տաք» ստեղներին: Նաև այս ընտրացանկում կարող եք սահմանել պայմանով անջատման կետ (կապույտ շրջանակի տեսքով): Այն օգտակար է այն իրավիճակներում, երբ դուք պետք է ստուգեք ծածկագիրը, երբ պայմանը բավարարված է, որը դուք պետք է գրեք կետ սահմանելիս:


Այս մենյուից մեկ այլ օգտակար մեխանիզմ է «Կանգ առ սխալ» -ը, որը թույլ է տալիս կանգ առնել միայն անընդունելի իրավիճակներում: Դադարեցնելուց հետո դուք տեղափոխվում եք կազմաձևիչ և կարող եք օգտագործել վրիպազերծման այլ տարբերակներ: Օրինակ, տեղափոխեք կոդի տողեր ՝ օգտագործելով «Վրիպազերծում» ընտրացանկում նկարագրված հատուկ ստեղներ, որտեղ վերևում ցուցադրվում են ավելի հայտնի գործառույթներ: F10- ի և F11- ի միջև տարբերությունն այն է, որ առաջին դեպքում դուք կհայտնվեք բնադրված գործառույթների և ընթացակարգերի մեջ:


Սերվերի կողմից վրիպազերծումը 1C- ում նույնպես լավ է, քանի որ յուրաքանչյուր տող կոդ կատարելուց հետո կարող եք տեսնել փոփոխականների արժեքը: Ամենապարզ տարբերակը պարզապես մկնիկի կուրսորը սավառնելն է, և 1C- ը արժեքը կցուցադրի բացվող պատուհանում: Բայց հարթակում ՝ «Վրիպազերծում» ընտրացանկում ևս երկու գործիք է ներկառուցված.

  • Calledանգահարելու դեպքում բացվում է պատուհան, որում կարող եք քաշել փոփոխականները ՝ կրկնակի սեղմելով դրանք ծածկագրում: Պատուհանը ցույց է տալիս դրանց արժեքը և տեսակը վրիպազերծման ամբողջ ընթացքում. Դուք կարող եք հետևել փոփոխությանը ալգորիթմի կատարման ընթացքում.

  • Մեխանիզմ այն ​​իրավիճակների համար, երբ մշակողը ցանկանում է մոդելավորել, թե ինչ տվյալներ կարող է ստանալ ալգորիթմի ընթացիկ ընթացքի վերաբերյալ: Թույլ է տալիս գրել ցանկացած արտահայտություն և ցույց է տալիս դրանց իմաստը:


Երբեմն մշակողները պետք է իմանան ալգորիթմում զանգահարելու ընթացակարգերի հաջորդականությունը: Դա անելու համար նրանց անհրաժեշտ կլինի «Վրիպազերծում» մենյուից զանգի հավաքման մեխանիզմ: Երբ այն զանգահարում եք, բացվում է պատուհան, որում կարող եք տեսնել, թե որ ընթացակարգից է գտնվում այն, որտեղ գտնվում է վրիպազերծման կուրսորը:


Կարևոր է իմանալ և կիրառել այս բոլոր գործիքները `թեստեր անցկացնելու համար, նախքան ձեր բարելավումները արտադրական բազա տեղափոխելը: Վերոնշյալ մեխանիզմների հավաքածուն ավելի քան բավարար է 1C- ում մշակողի հաջողակ արդյունավետ աշխատանքի համար: Բայց նաև կարևոր է հետևել նոր գործառույթներին, քանի որ 1C 8.3 սերվերի վրա կարգաբերումը կարող է նոր հնարավորություններ ձեռք բերել մի քանի տարում:

Ողջույններ պորտալի կայքի բոլոր ընթերցողներին, այս հոդվածում մենք կխոսենք 1C- ում խզման կետերի, ավելի ճիշտ `1C հարթակի որոշակի տարբերակներում դրանց սխալ աշխատանքի մասին:

2015 -ի մայիսի վերջին նոր հարթակ 1C 8.3.6.2014 թ... Այս հարթակի հետ աշխատելիս շատ ծրագրավորողներ բախվեցին խնդրահարույց իրավիճակների: Մասնավորապես, պատշաճ կերպով Breakրագրի կարգաբերման ժամանակ կազմաձևում չաշխատեցին ընդմիջման կետերը... Ինչպես պարզվեց, խնդիրներ են նկատվել «Արտաքին տպելի տպում» մշակման միջոցով արտաքին գործընթացները կարգաբերելիս:

Եկեք նախ նայենք, թե ինչպես է աշխատում «Արտաքին տպագրական թիթեղների փորձարկում» մշակումը: Այս մշակման օգնությամբ մենք նշեցինք մեր արտաքին մշակումը (օրինակ ՝ արտաքին տպագրական ափսե) (1), այնուհետև նույն տպագրական ափսեը բացեցինք կազմաձևում և սահմանեցինք ընդմիջման կետեր, որից հետո ձեռնարկությունը սկսեցինք կարգաբերում: Կոճակը սեղմելով (2) գործարկվեց մեր արտաքին տպագրվողը, և ոչ թե tmp գրացուցակում լռելյայն ստեղծված համակարգը, արդյունքում, կազմաձևում բացված մեր մշակման ընթացքում գործարկվեց խզման կետ: Ամեն ինչ աշխատեց այնպես, ինչպես սպասվում էր: Բայց դա նախկինում էր ... Եթե մենք կատարենք այս գործողությունները 1C հարթակում 8.3.6.2014, այնուհետև արտաքին մշակման ճեղքման կետերը չեն գործարկվի! Ինչպես պարզվեց, այս իրավիճակը ծագեց այն պատճառով, որ հարթակ 1C 8.3.6.2014 բեռնված արտաքին մշակումը RAM- ում, մինչդեռ հարթակի կրտսեր տարբերակները այն պահում էին ժամանակավոր ֆայլի մեջ, որը գտնվում էր կանխադրված 1C ժամանակավոր ֆայլերի գրացուցակում:

1C հարթակում արտաքին մշակման խզման կետերով խնդիրը լուծելը 8.3.6.2014 թ

Unfortunatelyավոք, այս պահին, հնարավոր չեղավ լուծել խնդիրը արտաքին մշակման ընդմիջման կետերով 1C հարթակում 8.3.6.2014 թ... Բանն այն է, որ պլատֆորմի այս տարբերակը պահպանում է RAM- ի մշակումը, և վրիպազերծիչը չի հասնում այնտեղ, քանի որ մենք չենք կարող մշակողը բացել մշակումը և սահմանել ընդմիջման կետ: Հուսանք, որ 1C- ի մասնագետները հնարավոր կդարձնեն RAM մուտքագրել վրիպազերծիչով կամ հանդես գալ կարգաբերման այլընտրանքային մեթոդներով:

8, վրիպազերծման կարգի էական վերանայման կարիք կա (տես ստորև): Սա արտացոլված է 8.3.7.1759 տարբերակում: Նախ, այս ընթացակարգի համար ստեղծվել է ունիվերսալ ինտերֆեյս, և երկրորդ ՝ նման փոփոխությունն ապահովում է բուն ծրագրի հետագա զարգացումը: Ի վերջո, այժմ դուք կարող եք աշխատել վրիպազերծման հետ ոչ միայն Configurator- ի միջոցով, այլև օգտագործելով Toolարգացման գործիքները: Եկեք քննարկենք, թե ինչպես կարելի է կարգաբերում թույլ տալ 1C սերվերի վրա ՝ սկսած նոր տարբերակից:

Օգտագործելով նոր արձանագրությունը

Նախորդ վրիպազերծիչը, որն իրականացվել էր նախորդ տարբերակներում, վերահսկում էր հաճախորդների և սերվերների ծրագրերը ՝ օգտագործելով TCP / IP արձանագրությունը:

Ներկայումս նման արձանագրության օգտագործումը սկսել է սահմանափակել 1C: Enterprise- ի ինտերնետ հասանելիությունը և անհարմարություններ է առաջացրել բջջային հավելվածների աշխատանքի համար:

Հետևաբար, infobases- ի ազատ մուտքի համար, որոնք կարող են լինել տեղական ցանցից դուրս, այժմ ընդունվել է ճկուն HTTP արձանագրությունը:

Նոր ճարտարապետություն

Նախկինում, կազմաձևիչի կարգաբերում կատարելիս, աշխատակիցը պետք է միանար ինֆոբազին: Սա պահանջում էր նրան տալ ադմինիստրատորի իրավունքներ:

Նոր տարբերակում տվյալների բազաների հետ ուղղակի կապի կարիք չկա. Պարզապես անհրաժեշտ է ունենալ նույն տվյալների բազան, ինչ հաճախորդը: Եվ դուք կարող եք բեռնել այն ֆայլից:

Բջջային հավելվածներ

HTTP արձանագրության միջոցով այժմ հնարավոր է կարգաբերել ինչպես սերվերի տվյալները, այնպես էլ հաճախորդի տվյալները և ծրագրերը:

Այլ փոփոխություններ

Նոր տարբերակով, տեղական փոփոխականների արժեքների փոփոխությունը հասանելի է կարգաբերման կարգում. Այդ նպատակով ներդրվել է արագ դիտման նոր պատուհան:

Հաշվարկման ռեժիմը փոխվել է ասինխրոնի, ինչը թույլ է տալիս շարունակել աշխատանքը ՝ չսպասելով արդյունքներին:

Bարգացման գործիքների վրիպազերծիչ

Նոր ընթացակարգի հետ փոխազդեցությունն իրականացվում է հատուկ նախագծված ունիվերսալ ծրագրային ինտերֆեյսում: Մի կողմից, այս ինտերֆեյսը օգտագործվում է Configurator- ի կողմից: Մյուս կողմից, այն ներդրվել է նոր 1C միջավայրում ՝ Ձեռնարկությունների զարգացման գործիքներ:

Ինչպես է այն այժմ թվում

Changingրագիրը փոխելուց հետո ընթացակարգը հետևում է հետևյալ սցենարին.

Այժմ այն ​​ներառում է ոչ միայն վրիպազերծիչ և օբյեկտներ, ինչպես նախկինում էր: Այժմ շղթային ավելացվել է լրացուցիչ տարր `Server:

Այն ոչ միայն ավելացվել է. Այն ծառայում է որպես վրիպազերծիչի և տարրերի միջև տեղեկատվության փոխանակման հիմնական մաս: Իսկ փոխանակումն ինքնին տեղի է ունենում հերթագրված հաղորդագրությունների միջոցով:

Եվ քանի որ այս փոխանակումն իրականացվում է HTTP արձանագրության միջոցով, այժմ կարևոր չէ, թե կոնկրետ որտեղ կարող են տեղակայվել տվյալները:

Սերվերի զանգերը գեներացվում են վրիպազերծիչի և օբյեկտների կողմից `լրացուցիչ կապի հարցումների տեսքով: Եթե ​​կան, համապատասխան պատասխաններ են ուղարկվում նրանց:

Տարբեր սցենարներում կարգաբերում թույլ տալը

Applicationրագրի մշակողի համար փոփոխություններ չեն եղել: Էական տարբերությունն այն է, որ նոր մեխանիզմը պետք է միացնել: Ի վերջո, այն այժմ լռելյայն անջատված է:

Հաշվի առեք, թե ինչ է տեղի ունենում, երբ ռեժիմը սկսվում է, եթե ընտրենք երկու սցենարներից մեկը:

Ֆայլի սցենար

Ֆայլի տարբերակի սկզբում անհրաժեշտ է կազմաձևողի պարամետրերում նշել նոր մեխանիզմի օգտագործումը `« Կարգաբերում HTTP արձանագրության միջոցով »:

Այնուհետեւ Configurator- ը ինքնաբերաբար կառաջարկի օգտագործել տեղական սերվերը: Այս պայմանը պետք է ընդունվի, և ծրագիրը պետք է վերագործարկվի Configurator ռեժիմում:

Դրանից հետո, նոր գործարկվող Configurator- ը հաջորդ նստաշրջանում կպահպանի մեր ընտրած նոր մեթոդը: Բայց նույն տեղեկատվական բազայի համար: Հետևաբար, մեկ այլ տեղեկատվական բազա մուտք գործելիս այն նույնպես պետք է միացված լինի:

Միացված մեխանիզմն այժմ ինքնաբերաբար գործարկելու է Debugger Server- ը, որը հատուկ dbgs.exe ծրագիր է: Այն արտացոլված է Task Manager- ի պատուհանում:

OwnerPID պարամետրի արժեքը կհամապատասխանի դրա հետ կապված հավելվածի նույնացուցիչին:

Configurator- ի միջոցով վրիպազերծման նիստ սկսելիս սերվերի կապը կկատարվի ինքնաբերաբար: Եվ դրա մեջ կարտացոլվեն միացված առարկաները:

Եթե ​​1C ծրագիրը ակտիվացվել է առանց նոր մեխանիզմի, ապա ձեզ հարկավոր է ձեռքով միացնել կարգաբերումը 1C սերվերի վրա: Միայն հիմա դուք պետք է նշեք սերվերի հասցեն.

Գնացեք ծառայություն - ընտրանքներ

Այն գտնվում է նյութի պարամետրերում.

Մենք գնում ենք Միացում - Կարգավորումներ

Միաժամանակ մի քանի տվյալների բազաներով ֆայլերի սցենար օգտագործելիս պետք է հաշվի առնել մի կարևոր նրբերանգ. Յուրաքանչյուր կազմաձևող (HTTP- ի միջոցով միացված մեխանիզմով) ուղարկում է իր սերվերին.

Հետևաբար, եթե մի քանի կազմաձևողներ բաց են, ապա Հաճախորդին միացնելու համար անհրաժեշտ է նշել ճիշտը:

Հաճախորդ-սերվեր սցենար

1C սերվերի վրա կարգաբերում ՝ հաճախորդ-սերվեր սցենարի համաձայն, ինչպես նախորդ դեպքում, սկսվում է ռեժիմը գործարկելով: Սա հստակեցնում է HTTP նոր մեխանիզմի օգտագործումը: Դա արվում է հետևյալ կերպ.

ragent.exe -debug -http

Երբ այն սկսում եք, վրիպազերծիչը ինքնաբերաբար սկսվում է դրանից հետո:

OwnerPID պարամետրի արժեքը կհամապատասխանի 1C կլաստերի կառավարչի նույնականացման համարին:

Theրագիրը կառաջացնի առաջարկ ՝ այժմ օգտագործել կլաստերային վրիպազերծման սերվերը (և ոչ թե տեղական, ինչպես նախորդ սցենարում): Մենք համաձայն ենք և վերագործարկում ենք այն:

Ապագայում ամեն ինչ կաշխատի որպես ֆայլերի սցենար: Միայն Server Base Configurator- ը գործարկելիս տեղական վրիպազերծիչի սերվերն այլևս չի գործարկվի:

Հուսով ենք, որ մեր հրապարակումը ձեզ օգնեց պարզել 1C սերվերի վրա կարգաբերում թույլ տալու խնդիրը: