Աշխատակազմ — բաժիններ, աշխատակիցներ, նախագծեր, առաջադրանքներ, կադրերի ռեզերվ
Պարզ ասած՝ սա P4P-ի սեփական ներքին PM/staffing գործիքն է — այստեղ ընկերությունը վարում է իր բաժինները, նախագծերը և առաջադրանքները, ինչպես նաև դիտարկում է մարդկանց, ովքեր ցանկանում են աշխատել P4P-ի հետ։ Թեև /team/*-ը ձևով չի համընկնում սովորական /org/:slug/*-ի հետ, փաստացի դա այժմ իսկապես կազմակերպության աշխատավայր է՝ P4P Internal-ինը, ոչ թե Platform մակարդակի ֆունկցիա. տես Ճարտարապետական մակարդակներ։ Մինչև 2026-08-18 այս մոդուլը փակված էր Platform RBAC-ով (platform:staffing:*); docs/staffing/ADR-002-org-rbac-migration.md-ը այն տեղափոխեց Organization RBAC, սահմանափակված P4P Internal կազմակերպությամբ — նույն Role/Permission/TenantGuard+PermissionsGuard մեխանիզմը, որ օգտագործում է ցանկացած այլ կազմակերպություն, այժմ workspace:staffing:* բանալիներով։ PlatformStaffMembership-ը մնում է առանձին, չկապված այս դարպասի հետ (HR/կադրային փաստ՝ «արդյոք այս մարդը ընդհանրապես ճանաչված է որպես P4P աշխատակից» — միգրացիան դա չի փոխել). երկուսն էլ պետք են, որպեսզի ընդհանրապես ինչ-որ բան տեսնես այստեղ, բայց նրանք տարբեր հարցերի են պատասխանում։
Բոլոր route-երը կիսում են middleware: 'staffing-access' + requiresPermission: 'workspace:staffing:read' (էջի մակարդակի դարպաս; առանձին փոփոխող գործողությունները պահանջում են :manage, տես ստորև) և layout: 'team' — բացի /account/hr-pool-ից (տես Քո պրոֆիլը կադրերի ռեզերվում)՝ սովորական layout: 'account' էջ՝ ընդհանրապես առանց workspace:staffing:* դարպասի, կառուցված հենց այն լսարանի համար, որին մոդուլի մնացած մասն ըստ սահմանման բացառում է։ Backend՝ apps/core-api/src/modules/staffing/*։
Ինչպես անել...
Խմբավորված է նույն կերպ, ինչ տեխնիկական բաժինները ստորև — յուրաքանչյուր էջի օգնության պատկերակը տանում է հենց իր խումբը, ոչ թե այս ամբողջ ցանկը։
Որոնում
Վերնագրի Որոնում… Ctrl K կոճակը (հեռախոսում՝ խոշորացույց) կամ Ctrl+K-ն (⌘K՝ Mac-ում) բաժնի ցանկացած տեղում բացում է որոնման պատուհանը։ Մուտքագրեք առնվազն 2 նիշ․ կգտնվեն առաջադրանքներ, նախագծեր, մարդիկ, բաժիններ և HR pool-ի թեկնածուներ՝ ըստ անվանման (մարդիկ՝ նաև ըստ էլ. փոստի, թեկնածուները՝ ըստ հմտությունների), յուրաքանչյուր խմբում մինչև 5։ ↑ ↓՝ ընտրել, Enter՝ բացել, Esc՝ փակել։ Քանի դեռ ոչինչ չեք մուտքագրել, պատուհանը ցույց է տալիս, թե ինչ եք վերջերս բացել որոնումից։ Որոնվում են միայն անվանումները, ոչ նկարագրությունները կամ մեկնաբանությունները, և միայն այն, ինչ արդեն կարող եք բացել ցանկերից․ արխիվի նախագծերը չեն ցուցադրվում։
Բաժիններ
Ստեղծել բաժին — «Աշխատակազմ → Բաժիններ» → Ստեղծել նոր բաժին → Անուն, ընտրիր Ղեկավար → Ստեղծել բաժին։ Տես դաշտերի ուղեցույցը՝ ինչ է նշանակում յուրաքանչյուր դաշտ։
Խմբագրել բաժինը — բացիր բաժինը → ⋯ մենյուն (վերևում աջից) → Խմբագրել բաժինը։ Նույն դաշտերը, ինչ ստեղծելիս։
Ջնջել բաժինը — բացիր բաժինը → ⋯ → Ջնջել։ Արգելափակված է, քանի դեռ բաժինն ունի ակտիվ ենթաբաժիններ — տես Ենթաբաժիններ։ Սա միայն արխիվացնում է բաժինը։
Վերականգնել ջնջված բաժինը — Աշխատակազմ → Բաժիններ ցանկը → Արխիվ ներդիր → տողի Վերականգնել կոճակը։ Անդամները, դերերը և կցված նախագծերը վերադառնում են ինչպես էին։
Ստեղծել/խմբագրել բաժին — դաշտերի ուղեցույց
- Անուն — պարտադիր, 2–100 նիշ, երևում է ամենուր հավելվածում (ցանկեր, breadcrumb-ներ, քարտեր)։
- Ղեկավար — պարտադիր; որոնիր ու ընտրիր աշխատակցի։ Նա անմիջապես ստանում է հասանելիություն բաժնի սեփական ֆինանսական գրքին՝ պարզապես ղեկավար լինելով — այլ բան կարգավորելու կարիք չկա։
- Նկարագրություն — ոչ պարտադիր, մինչև 2000 նիշ, երևում է բաժնի Overview ներդիրում։
- Ծնող բաժին — ոչ պարտադիր; թող մնա «Չկա», եթե սա ենթաբաժին չէ։ Բնադրումը սահմանափակված է մեկ մակարդակով, ուստի ենթաբաժինը չի կարող ունենալ իր սեփական ենթաբաժինները։
Անդամներ
Ինչ-որ մեկին ավելացնել բաժնում — բացիր բաժինը → Անդամներ ներդիրը → Ավելացնել անդամ → ընտրիր աշխատակիցներին → Ավելացնել (N)։ Տես դաշտերի ուղեցույցը։
Նկարագրել, թե ինչով է իրականում զբաղվում մեկը բաժնում — բաժին → Անդամներ ներդիրը → տողի ⋯ մենյուն → Խմբագրել գործառույթները։ Տես դաշտերի ուղեցույցը։
Հեռացնել ինչ-որ մեկին բաժնից — բաժին → Անդամներ ներդիրը → տողի ⋯ մենյուն → Հեռացնել բաժնից։
«Անդամներ» ներդիր — դաշտերի ուղեցույց
- Ավելացնել անդամ — որոնիր ու ընտրիր մեկ կամ մի քանի աշխատակիցների, ովքեր դեռ այս բաժնում չեն → Ավելացնել (N)։
- Դեր (միայն կարդալու համար) — մարդու իրական հարթակի դեր(եր)ը (օրինակ՝ «P4P Admin»)։ Որպեսզի իրապես փոխես, թե ինչ կարող է անել մարդը, տուր կամ հետ վերցրու նրա հարթակի դերը Հարթակի կառավարում → Օգտատերեր էջից — այս ներդիրը միայն ցույց է տալիս այն։
- Գործառույթներ — ազատ նշում այն մասին, թե ինչով է իրապես զբաղվում մարդը այս բաժնում (տողի «Գործառույթներ» վանդակը կամ ⋯ → Խմբագրել գործառույթները), առանձին վերևի «Դեր»-ից։ Մինչև 2000 նիշ; աղյուսակում երևում է մեկ տող, սեղմումով բացվում է ամբողջ տեքստը։ Բաժնի սեփական ղեկավարը կարող է սա խմբագրել նույնիսկ առանց ավելի լայն կառավարման իրավունքների։
Նախագծեր (բաժնի Projects ներդիր)
Կցել նախագիծ բաժնին — բաժին → Նախագծեր ներդիրը → Կցել նախագիծ → ընտրիր → հաստատիր։ Տես նաև Նախագծեր → Մասնակիցներ — նույնը նախագծի կողմից (այնտեղ դա բաժնի մարդկանց զանգվածային ավելացումն է)։
Անջատել նախագիծը բաժնից — բաժին → Նախագծեր ներդիրը → տողի ⋯ մենյուն → Անջատել բաժնից։
Ենթաբաժիններ
Ստեղծել ենթաբաժին — բաժին → Ենթաբաժիններ ներդիրը → Նոր ենթաբաժին (նույն կետը կա նաև ⋯ մենյուում) — նույն ձևն է, ինչ ցանկացած բաժնի ստեղծումը, արդեն լրացված ծնող բաժնով։ Չի առաջարկվում, եթե բաժինն արդեն ունի ծնող — բնադրումը սահմանափակված է մեկ մակարդակով։
Աշխատակիցներ
Այստեղ ավելացումը staffing գործողություն չէ — դա հարթակի անձնակազմի հրավերի հոսքն է, նկարագրված Հարթակի կառավարման «Ինչպես անել...»-ում, պարզապես կապված այստեղից՝ հարմարության համար։
Ուղարկել ինչ-որ մեկին արձակուրդ կամ վերադարձնել — բացիր պրոֆիլը → ⋯ մենյուն → Ուղարկել արձակուրդ / Վերադարձնել արձակուրդից։ Սա փոխում է միայն ներքին զբաղվածության կարգավիճակը, ոչ հենց հաշիվը — հաշիվն ամբողջությամբ արգելափակելու համար տես Հարթակի կառավարում → Օգտատերեր։
Նկարագրել՝ ինչ է անում մարդը նախագծում — բացիր պրոֆիլը → Նախագծեր ներդիր → Նշել ֆունկցիան / Փոփոխել ֆունկցիան նախագծի տողում։ Սա վերևի բաժինների Ֆունկցիաներ նշման նախագծային զույգն է և խմբագրում է նույն մասնակցի նշումը, որ ցույց է տալիս հենց նախագծի Մասնակիցներ ներդիրը։
Նախագծեր
Ստեղծել նախագիծ — «Աշխատանք → Նախագծեր» → Նոր նախագիծ → լրացրու → Ստեղծել։ Տես դաշտերի ուղեցույցը։
Խմբագրել նախագիծը — կամ «Աշխատանք → Նախագծեր» ցանկից (տողի ⋯ → Խմբագրել), կամ հենց նախագծի ներսից (մատիտի պատկերակը վերնագրի կողքին)։ Նույն դաշտերը, ինչ ստեղծելիս, գումարած Կարգավիճակ և Առաջընթաց։
Ջնջել նախագիծը — «Աշխատանք → Նախագծեր» ցանկ → տողի ⋯ → Ջնջել։ Ընդմիշտ ջնջում է ամեն ինչ դրա ներսում — բաժինները, փուլերը, առաջադրանքները և մասնակիցները։
Ստեղծել/խմբագրել նախագիծ — դաշտերի ուղեցույց
- Անուն — պարտադիր, 1–100 նիշ։
- Նկարագրություն — ոչ պարտադիր, մինչև 2000 նիշ, երևում է նախագծերի ցանկերում և քարտերում։
- Բաժին — ոչ պարտադիր; թիմը, որին պատկանում է նախագիծը (նրա տեղը կազմակերպչական կառուցվածքում)։ Ընտրիր ակտիվ բաժին կամ թող «Առանց բաժնի»։ Երևում է նախագծի Overview-ում և օգտագործվում է խմբավորման համար — առանձին է բխեցվող «նաև ներգրավված» բաժիններից (որ բաժիններում են նշանակված մասնակիցները), որոնք Overview-ը ցույց է տալիս կողքին։
- Կարգավիճակ (միայն խմբագրելիս) — Planned / Active / Completed / Archived։ Յուրաքանչյուր նոր նախագիծ սկսվում է Planned կարգավիճակով։
- Առաջընթաց (միայն խմբագրելիս) — 0–100 թիվ նախագծի առաջընթացի գծի համար։ Սահմանում ես ձեռքով — այն ինքն իրեն չի հաշվարկվում առաջադրանքների կամ փուլերի ավարտվածությունից։
- Սեփականատեր — ոչ պարտադիր; որոնիր ու ընտրիր աշխատակցի, կամ թող դատարկ, և լռելյայն դառնում ես դու ինքդ։ Սեփականատերը կարող է կցել մասնակիցներ իր սեփական նախագծին նույնիսկ առանց ավելի լայն կառավարման իրավունքների — տես Մասնակիցներ ստորև։
- Vision — ոչ պարտադիր, մինչև 2000 նիշ, այն մասին, թե ինչու է կարևոր այս նախագիծը և ինչպիսին է «պատրաստ»-ը։ Աջակցում է ձևավորում (թավատառ, ցանկեր, հղումներ) և գտնվում է նախագծի Overview ներդիրում, որտեղ էլ կարող ես խմբագրել այն ուղղակիորեն։
Նախագծերի ձևանմուշներ
Նախագծի ձևանմուշը թիմի պատրաստի նախագիծ է՝ նկարագրություն, տեսլական, փուլերը հերթականությամբ և բոլոր առաջադրանքները (պիտակներով և ենթաառաջադրանքներով)։ Մարդիկ, ամսաթվերը, կարգավիճակները, բյուջեն, մեկնաբանությունները և ֆայլերը ձևանմուշի մեջ չեն մտնում։
- Ստեղծել․ բացեք նախագիծը → ⋯ («Ընդհանուր» ներդիր) → Պահպանել որպես ձևանմուշ և տվեք անուն։ Պահպանվում են բոլոր առաջադրանքները, նաև ավարտվածները։
- Փոխել․ ուղղեք նախագիծը և նորից պահպանեք նույն անվանումով․ պատուհանը կզգուշացնի, որ ձևանմուշը կփոխարինվի։
- Օգտագործել․ Նոր նախագիծ պատուհանում ընտրեք ձևանմուշը Ձևանմուշից դաշտում։ Նկարագրությունը և տեսլականը կլրացվեն ինքնաշխատ, իսկ ընտրության տակի տողը ցույց է տալիս, թե քանի փուլ և առաջադրանք կստեղծվի։ Ստեղծել-ից հետո դրանք կհայտնվեն, բոլոր առաջադրանքները՝ նորից։
- Կառավարել ձևանմուշները․ նախագծերի էջում ձևանմուշների կոճակը +-ի կողքին (հեռախոսում՝ ⋯ → Նախագծերի ձևանմուշներ)՝ տեսնել կազմը, վերանվանել կամ ջնջել։ Կառավարում են նրանք, ովքեր կարող են ստեղծել նախագծեր։ Ձևանմուշի ջնջումը չի փոխում դրանից արդեն ստեղծված նախագծերը։
Նախագծի քննարկում
Գրել նախագծում — նախագիծ → Քննարկում ներդիր → ներքևի դաշտը → Ուղարկել (Enter-ը ուղարկում է, Shift+Enter-ը՝ նոր տող)։ Ձևաչափումն աշխատում է՝ թավ, ցուցակներ, հղումներ։
Խմբագրել կամ ջնջել սեփական գրառումը — մկնիկը գրառման վրա → մատիտ կամ աղբարկղ։ Դրանք տեսնում է միայն հեղինակը. ղեկավարը չի կարող վերաշարադրել ուրիշի խոսքերը։ Խմբագրված գրառումը նշվում է «խմբագրված», ջնջվածից Պատմության մեջ մնում է տող, որ քննարկումը լուռ չփոխվի։
Դիտել իրադարձությունների գրանցամատյանը — նույն ներդիրը → Պատմություն։ Դա ավտոմատ գրանցումն է (ստեղծվեց առաջադրանք, ավելացվեց մարդ, տեղափոխվեց փուլ), իսկ քննարկումը՝ այն, ինչ գրել են մարդիկ։ Նախկինում դրանք մեկ հոսք էին և բաժանվեցին, որովհետև միասին կարդացվում էին որպես աղմուկ։
Ի՞նչ գրել այստեղ
Այն ամենը նախագծի մասին, ինչը մեկ առաջադրանքի մասին չէ. հաճախորդը տեղափոխեց վերջնաժամկետը, ահա բրիֆը, որոշեցինք չանել երկրորդ լենդինգը։ Կոնկրետ առաջադրանքի հարցը՝ այդ առաջադրանքի մեկնաբանություններում, որտեղ այն կտեսնեն դրա վրա աշխատողները։
Մասնակիցներ
Առանձին «Բաժիններ» ներդիր չկա (հեռացվել է 2026-08-30)։ Ծրագրում բոլորը բացահայտ մասնակիցներ են. բաժինը երևում է որպես խումբ միայն, եթե նրա մարդկանցից ոմանք ծրագրում են։
Տեսնել, ով է նախագծում — նախագիծ → Մասնակիցներ ներդիրը։ Վերևում փոխարկիչ՝ Անձնակազմ / Կադրերի ֆոնդ։ «Անձնակազմի» համար հետո՝ Ըստ բաժինների (ծառ) / Ցուցակով։
Ավելացնել ամբողջ բաժինը միանգամից — նախագիծ → Մասնակիցներ → + → Ավելացնել բաժնի կազմը → ընտրիր բաժինը → Ավելացնել անդամներ։ Նախագծի սեփական Բաժինը (եթե նշված է) արդեն ընտրված է։ Բոլոր ընթացիկ անդամներն ավելացվում են։ Դա միանվագ նկար է — նա, ով բաժին կմիանա ավելի ուշ, ինքնուրույն չի հայտնվի։ (Նույնը առաջարկվում է նշավանդակով նախագիծ ստեղծելու ձևում, երբ նշում ես նախագծի բաժինը։)
Ավելացնել մեկ մարդու — նախագիծ → Մասնակիցներ → + → Ավելացնել մասնակից → Անձնակազմ կամ Կադրերի ֆոնդ ներդիր → ընտրիր մարդուն → հաստատիր։ Տես դաշտերի ուղեցույցը։
Հեռացնել մեկ մարդու — տողի ⋯ մենյուն → Հեռացնել ծրագրից։
Հեռացնել մի քանիսին միանգամից — նշիր տողերը (կամ բաժնի խմբի վերնագրի վանդակը՝ բոլորին ընտրելու համար) → Հեռացնել ընտրվածներին հայտնվող վահանակում → հաստատիր։ Բաժիններում նրանք մնում են — հանվում է միայն այս ծրագրին կցվածությունը։
Խմբագրել մասնակցի նշումը — տողի ⋯ մենյուն → Խմբագրել։ Նույն «ինչ է անում» նշումը կարելի է դնել նաև մյուս կողմից՝ աշխատակցի քարտ → Նախագծեր ներդիր → Նշել ֆունկցիան / Փոփոխել ֆունկցիան նախագծի տողում (workspace:staffing:projects:manage)։ Այն նախագիծը, որտեղ մարդը միայն առաջադրանքներ է կատարում և երբեք ավելացված չի եղել որպես մասնակից, նշում չունի։
Ավելացնել մասնակից — դաշտերի ուղեցույց
- Աղբյուր (ավելացնելիս) — Անձնակազմ՝ P4P-ի գործող աշխատակցի համար, կամ Կադրերի ֆոնդ՝ արտաքին կապալառուի համար։
- Անձ (ավելացնելիս) — պարտադիր։ Անձնակազմ ցանկը՝ Team Management հասանելիությամբ (
workspace:staffing:read) գործող աշխատակիցներ, ովքեր դեռ ծրագրում չեն. Կադրերի ֆոնդ ցանկը՝ միայն Approved գրառումներ։ - Ինչ է անում այս ծրագրում — մեկ ոչ պարտադիր ազատ նշում (դեր, առաջադրանքներ, պատասխանատվության ոլորտ)։ Սա «դեր» դաշտ չէ — մարդու իրական Team Management դերն առանձին է և ապրում է նրա աշխատակցի քարտում։
Փուլեր
Ավելացնել փուլ — նախագիծ → Փուլեր ներդիրը → Ավելացնել փուլ → վերնագիր/ նկարագրություն/ամսաթվեր → ստեղծել։
Փոխել նախագծի փուլերի հերթականությունը — նախագիծ → Փուլեր ներդիրը → տեղափոխիր փուլը ↑/↓ կոճակներով։
Խմբագրել կամ ջնջել փուլը — նախագիծ → Փուլեր ներդիրը → տողի ⋯ մենյուն → Խմբագրել փուլը կամ Ջնջել փուլը։ Ջնջելիս առաջադրանքները անջատվում են, ոչ ջնջվում։
Ավելացնել/խմբագրել փուլ — դաշտերի ուղեցույց
- Վերնագիր — պարտադիր, 1–100 նիշ։
- Նկարագրություն — ոչ պարտադիր, մինչև 2000 նիշ։
- Սկզբի ամսաթիվ / Ժամկետ — երկուսն էլ ոչ պարտադիր; նրանք հետևում են միմյանց, այնպես որ չես կարող ընտրել սկիզբ ուշ ժամկետից, կամ հակառակը։
- Կարգավիճակ (միայն խմբագրելիս) — Planned / In progress / Completed։ Յուրաքանչյուր նոր փուլ սկսվում է Planned կարգավիճակով, և դու սահմանում ես այն ձեռքով — փուլերի ցանկն առանձին նշում է, եթե կարգավիճակը հակասում է ներսի առաջադրանքներին (օրինակ՝ նշված է ավարտված, բայց առաջադրանքները դեռ բաց են), բայց ինքն իրեն չի ուղղում։
- Սեփականատեր — ոչ պարտադիր, զուտ տեղեկատվական, ինչպես նախագծի սեփական դաշտը։
Սպրինտներ (նախագծի «Սպրինտներ» ներդիր)
Սպրինտը ժամանակահատված է նախագծի աշխատանքի մի մասի համար, սովորաբար մեկ-երկու շաբաթ, ոչ պարտադիր նպատակով։ Նոր սպրինտ-ը առաջարկում է հաջորդ համարը և վերջին սպրինտից հետո երկու շաբաթը․ մեկ նախագծի սպրինտները չեն կարող համընկնել օրերով։ Միաժամանակ ընթանում է միայն մեկ սպրինտ․ Սկսել սպրինտը պլանավորվածի մոտ (քանի դեռ մյուսն ընթանում է, կոճակը բացատրում է, թե ինչու չի կարելի)։
Ընթացիկ սպրինտի մոտ երևում են նպատակը, ամսաթվերը, քանի օր է մնացել, քանի առաջադրանք և ժամ է պատրաստ, և նրա առաջադրանքները՝ փոքր տախտակի տեսքով (Կատարման / Ընթացքում / Պատրաստ)։ Ներքևում՝ պլանավորված սպրինտները և բեքլոգը՝ նախագծի այն առաջադրանքները, որոնք ոչ մի սպրինտում չեն և պատրաստ չեն։ Նշեք բեքլոգի առաջադրանքները և սեղմեք Սպրինտ՝ դրանք պլանավորելու համար։ Առաջադրանքի սպրինտը կարելի է ընտրել նաև նրա Մանրամասներ → Սպրինտ դաշտում (դա կարող է նա, ով կարող է փոխել առաջադրանքի ժամկետը)։ Ավարտել սպրինտը-ն պատրաստ առաջադրանքները թողնում է նրանում և հարցնում, թե ուր տեղափոխել չավարտվածները՝ հաջորդ պլանավորված սպրինտ, թե հետ՝ բեքլոգ։ Ջնջել կարելի է միայն պլանավորված սպրինտը․ նրա առաջադրանքները կվերադառնան բեքլոգ։ Առաջադրանքների էջում նույնը ցույց են տալիս Սպրինտ սյունակը և ֆիլտրը։
Ժամանակացույց (նախագծի «Ժամանակացույց» ներդիր)
Նախագծի պլանը ժամանակի սանդղակի վրա, միայն դիտման համար։ Յուրաքանչյուր փուլ բարակ գոտի է իր ամսաթվերով, դրա տակ՝ նրա առաջադրանքները (ավելի շուտ սկսվողները վերևում, ենթաառաջադրանքները՝ նահանջով), ապա՝ առանց փուլի առաջադրանքները։ Սկիզբ և ժամկետ ունեցող առաջադրանքը գոտի է իր կարգավիճակի գույնով, միայն ժամկետով՝ շեղանկյուն, ժամկետանց չավարտված առաջադրանքը շրջանակված է կարմիրով։ Սլաքները գնում են առաջադրանքից դեպի այն, որը սպասում է իրեն (կախվածություններ), իսկ կապի պատկերակը նշանակում է կախվածություն այլ նախագծի առաջադրանքից՝ պահեք վրան՝ տեսնելու համար։ Կարմիր ուղղահայաց գիծը այսօրն է։ Շաբաթ / Ամիս / Եռամսյակ-ը փոխում է սանդղակը, ընտրությունը հիշվում է։ Անվան կամ գոտու վրա սեղմելը բացում է առաջադրանքը։ Առանց ամսաթվերի առաջադրանքները նշված են ժամանակացույցի տակ՝ նշեք դրանց սկիզբը կամ ժամկետը (առաջադրանքի էջ → Մանրամասներ կամ Խմբագրել առաջադրանքը)։ Առաջադրանքը չի կարող սկսվել ժամկետից ուշ։
Առաջադրանքներ (նախագծի Tasks ներդիր)
Առաջադրանքների ստեղծումն ու կառավարումը նախագծի ներսից նույն գործընթացն է, ինչ Առաջադրանքներ ստորև, պարզապես նախապես կապված այս նախագծին։
Առաջադրանքներ
Ստեղծել առաջադրանք ցանկացած տեղից — «Աշխատանք → Առաջադրանքներ» (բոլոր նախագծերի ընդհանուր տախտակը) → Նոր առաջադրանք → վերնագիր → Ընտրեք նախագիծ → Ընտրեք աշխատակից → Ստեղծել առաջադրանք։ Կատարողների ցանկն այստեղ ամբողջ ընկերությունն է, ոչ միայն ընտրված նախագծի ընթացիկ մասնակիցները — եթե ընտրված մարդը (այդ թվում՝ դու ինքդ) դեռ կցված չէ նախագծին, երկխոսությունն այդ մասին ասում է և հաստատում է խնդրում, նախքան առաջադրանքի ստեղծման հետ մեկտեղ նրան այնտեղ ավելացնելը։ Տես դաշտերի ուղեցույցը։
Փոխել առաջադրանքի կարգավիճակը/կատարողը և այլն — Կարգավիճակ-ը և Առաջընթաց-ը խմբագրվում են ուղիղ ցանկում («Կարգավիճակ» և «Առաջընթաց» սյունակներում՝ կարգավիճակը բացվող ցանկով, առաջընթացը սահիչով՝ ընթացիկ կարգավիճակի սահմաններում); կարգավիճակը կարելի է փոխել նաև Խմբագրել առաջադրանք երկխոսությունում՝ տողի ⋯ մենյուն → Խմբագրել, և՛ նախագծի «Առաջադրանքներ» ներդիրում, և՛ ընդհանուր «Առաջադրանքներ» ցանկում (միայն :manage; ընդհանուր ցանկն ընթացքում բեռնում է առաջադրանքի նախագծի համատեքստը՝ նույն երկխոսությունը բացելու համար)։ Մյուս դաշտերը՝ կտտոցով հենց առաջադրանքի էջում։ Տես դաշտերի ուղեցույցը։
Վերակարգավորել առաջադրանքների կարգավիճակների ցանկը — «Աշխատանք → Առաջադրանքներ» → ատամնանիվի պատկերակ → Սյունակների կարգավորում → ավելացրու/վերանվանիր/փոխիր հերթականությունը/անջատիր կարգավիճակները։ Տես դաշտերի ուղեցույցը։
Ջնջել առաջադրանքը — բացիր առաջադրանքը → ⋯ մենյուն → Հեռացնել, կամ տողի ⋯ → Ջնջել նախագծի «Առաջադրանքներ» ներդիրում կամ ընդհանուր «Առաջադրանքներ» ցանկում (միայն :manage)։
Փոխել շատ առաջադրանքներ միանգամից — Աշխատանք → Առաջադրանքներ, Ցանկ տեսք → նշեք տողերը (կամ վերնագրի դաշտը՝ ամբողջ էջի համար) → աղյուսակի վերևում կհայտնվի վահանակ՝ Կարգավիճակ, Առաջնահերթություն, Ժամկետ, Պիտակներ, իսկ :manage իրավունքով՝ նաև Պատասխանատու և Ջնջել։ Յուրաքանչյուր գործողություն հարցնում է, թե ինչ սահմանել, և կիրառում է բոլոր ընտրված առաջադրանքներին։ Այն առաջադրանքը, որը չեք կարող փոխել (կամ Պատասխանատուի դեպքում՝ այն նախագծից, որին մարդը թույլատրված չէ), բաց է թողնվում, և արդյունքը ցույց է տալիս՝ որոնք և ինչու․ մնացածը փոխվում են։ Ընտրությունը՝ էջի սահմաններում, մինչև 100 առաջադրանք։ Հեռախոսում դեռ հասանելի չէ։
Նշել, թե որ առաջադրանքը որին է սպասում — բացեք առաջադրանքը → Կախվածություններ (նկարագրության տակ) → + → ընտրեք Այս առաջադրանքը սպասում է… կամ Այս առաջադրանքը արգելափակում է… → գտեք մյուս առաջադրանքը անունով (ցանկացած նախագծում) → Ավելացնել կախվածություն։ Չավարտված առաջադրանքների սպասող առաջադրանքը նշված է ավազի ժամացույցով (Սպասում է)՝ իր էջում, առաջադրանքների ցանկում և տախտակի քարտերում։ Այն դեռ կարելի է տեղափոխել աշխատանքի կամ «Պատրաստ»․ կհայտնվի միայն զգուշացում։ Ավելացնել և հանել այն, ինչին սպասում է առաջադրանքը, կարող է միայն նա, ով կարող է փոխել հենց սպասող առաջադրանքը։ Առաջադրանքը չի կարող սպասել ինքն իրեն կամ՝ շղթայով, իրեն սպասող առաջադրանքին։ Ավազի ժամացույցը Արգելափակված կարգավիճակը չէ․ այն դեռ դրվում է ձեռքով։
Ստեղծել/խմբագրել առաջադրանք — դաշտերի ուղեցույց
Այս ձևը բացվում է երկու տեղից, և դրանք մի քիչ այլ կերպ են վարվում.
- «Նոր առաջադրանք» ընդհանուր տախտակից (և աշխատակցի սեփական քարտից) — առանձին երկխոսություն, Նախագիծ դաշտով, միայն ստեղծման համար, առանց խմբագրման։ Կատարողի/Օգնականների թեկնածուները՝ ամբողջ ընկերությունը; ընտրված մեկին, ով դեռ նախագծում չէ, երկխոսությունը խնդրում է հաստատում և ինքն ավելացնում է նրան այնտեղ՝ առաջադրանքի ստեղծմանը զուգահեռ։
- Նախագծի ներսի երկխոսությունը (նախագծի սեփական «Առաջադրանքներ» ներդիրը — նույն երկխոսությունն է սպասարկում և՛ ստեղծումը, և՛ գոյություն ունեցող առաջադրանքի խմբագրումը) — նախագիծն արդեն հայտնի է, այդ դաշտը չի ցուցադրվում։ Կատարողի/Օգնականների թեկնածուները՝ միայն արդեն այս նախագծին կցվածները՝ նրա կցված բաժինների աշխատակիցները, անհատապես կցված աշխատակիցները և հենց այս նախագծին կցված կադրերի ռեզերվի կապալառուները։
Մնացած բոլոր դաշտերը նույնն են երկուսի համար։ Կարգավիճակ-ը միակն է, որ առաջարկվում է միայն խմբագրելիս — նոր առաջադրանքը միշտ սկսվում է լռելյայն կարգավիճակից։ Առաջադրանքը ենթաառաջադրանք դարձնելը առանձին գործողություն է — տես ծանոթագրությունը վերջում։
- Վերնագիր — պարտադիր, 1–150 նիշ։
- Նախագիծ — պարտադիր (միայն ընդհանուր տախտակի երկխոսությունում); Փուլը, Բաժինը և Կատարողի/Օգնականների թեկնածուների ցանկը կախված են ընտրված նախագծից և զրոյացվում են դրա փոփոխման ժամանակ։
- Առաջնահերթություն — Urgent / High / Medium / Low։ Լռելյայն՝ Medium։
- Փուլ — ոչ պարտադիր; երևում է նախագիծն ընտրելուց հետո, առաջարկելով այդ նախագծի սեփական փուլերը։
- Բաժին — ոչ պարտադիր; պետք է լինի նախագծի կցված բաժիններից մեկը։
- Նկարագրություն — ոչ պարտադիր, մինչև 2000 նիշ։
- Կատարող — պարտադիր, առաջադրանքի համար պատասխանատու անձը, և այս դաշտը երբեք իսկապես դատարկ չի մնում.
- ստեղծելիս լռելյայն դառնում է նա, ով ստեղծում է առաջադրանքը — եթե ինքն էլ հարմար է;
- խմբագրելիս, եթե դեռ ոչ ոք նշանակված չէ, լռելյայն դառնում է առաջադրանքի հեղինակը — կրկին միայն եթե ինքն էլ հարմար է; դաշտը հնարավոր չէ մաքրել մինչև դատարկ, կարելի է միայն փոխել մեկ ուրիշի։
- Միակ դեպքը, երբ դաշտը մնում է դատարկ, այն է, երբ ո՛չ ստեղծողը, ո՛չ հեղինակը հարմար չեն այս նախագծի համար (օրինակ՝ հին առաջադրանք առանց գրանցված հեղինակի) — այդ դեպքում ընտրում ես ձեռքով, և պահպանման կոճակն ապաակտիվ է մնում, մինչև ընտրես։
- Ժամանակի գնահատում, ժ — ոչ պարտադիր; պլանավորված ժամանակը ժամերով, տասնորդական թվով (օրինակ՝
1.5= 1 ժամ 30 րոպե)։ Ոչնչի վրա ինքնաբերաբար չի ազդում, զուտ ուղենիշ պլանավորման համար — փաստացի ծախսված ժամանակը տես Ժամանակի հաշվառման բաժնում ստորև։ - Ժամկետ — ոչ պարտադիր։
- Կրկնվում է — ոչ պարտադիր; տես Կրկնվող առաջադրանքներ ստորև։ Ենթաառաջադրանքի համար այս դաշտը չկա։
- Օգնականներ — ոչ պարտադիր; ցանկացած քանակի լրացուցիչ մարդիկ օժանդակ դերում, նույն ցանկից, ինչ Կատարողը։
- Կարգավիճակ (միայն խմբագրելիս) — բառարանից ցանկացած կարգավիճակ (նույնները, որ կանբան տախտակի սյունակներն են)։ Փոխելիս առաջադրանքի առաջընթացը վերահաշվարկվում է նոր կարգավիճակի կատեգորիայով։ Կարգավիճակը խմբագրվում է նաև ուղիղ ցանկում՝ «Կարգավիճակ» սյունակի բացվող ցանկով, ամենուր, որտեղ դու իրավունք ունես գրելու այդ առաջադրանքը։
- Արժեք / Արժույթ — սովորական թիվ ներքին բյուջեի հաշվառման համար — սա նշում է, ոչ իրական հաշվառման գրառում (համեմատիր Առաջադրանքի վճարումների հետ, որոնք հենց դա են)։
- Առաջադրանքը ենթաառաջադրանք դարձնելը — առանձին գործողություն է. առաջադրանքի սեփական ⋯ մենյուն → Add subtask, արվում է մեկ անգամ ստեղծման պահին և հետո չի փոփոխվում։ Միայն մեկ մակարդակ խորություն — ենթաառաջադրանքը չի կարող ունենալ իր սեփական ենթաառաջադրանքները։
Ավտոմատացումներ
Ավտոմատացումները (առաջադրանքների էջ → ⋯ → Ավտոմատացումներ, նրանց համար, ովքեր կարող են կարգավորել կարգավիճակներն ու պիտակները) կանոններ են, որոնք փոխում են առաջադրանքները ձեր փոխարեն․ Երբ առաջադրանքի հետ ինչ-որ բան է տեղի ունենում՝ այն ստեղծվել է, նրա կարգավիճակը դարձել է ընտրվածը կամ նշանակվել է պատասխանատու, եթե այն համապատասխանում է ընտրված պայմաններին (նախագծեր, պիտակներ, առաջնահերթություններ, դատարկ՝ ցանկացած առաջադրանքի համար), ապա հերթով կատարվում են գործողությունները՝ նշանակել պատասխանատու, ավելացնել պիտակ, սահմանել առաջնահերթություն, փոխել կարգավիճակը, ավելացնել դիտորդ կամ ստեղծել առաջադրանք ձևանմուշից նույն նախագծում։
Կանոնն աշխատում է փոփոխությունից անմիջապես հետո՝ նրա անունից, ով այն վերջին անգամ պահպանել է, և առաջադրանքի պատմության մեջ նրա փոփոխության կողքին գրված է Ավտոմատացում «…»։ Կանոնի արած փոփոխությունները այլ կանոններ չեն գործարկում։ Յուրաքանչյուր կանոնի մոտ երևում է, թե քանի անգամ և երբ է այն աշխատել, և արդյոք վերջին գործարկումը սխալով է եղել․ Մատյանը ցույց է տալիս վերջին գործարկումները և ձախողման պատճառը (օրինակ՝ մարդն այլևս նախագծում չէ)։ Անջատիչը անջատում է կանոնը՝ առանց այն ջնջելու։
Առաջադրանքների ձևանմուշներ
Ձևանմուշը պատրաստի առաջադրանք է ամբողջ թիմի համար, օրինակ՝ «Շաբաթական հաշվետվություն» կամ «Նոր աշխատակցի ներգրավում»։ Այն պարունակում է առաջադրանքի անվանումը, նկարագրությունը, առաջնահերթությունը, ժամանակի գնահատականը, պիտակները և ենթաառաջադրանքների ցանկը։ Մարդիկ և ամսաթվերը ձևանմուշում չկան՝ դրանք ընտրվում են յուրաքանչյուր առաջադրանքի համար։
- Օգտագործել ձևանմուշը․ Նոր առաջադրանք պատուհանում (տախտակին կամ նախագծի ներսում) ընտրեք այն Ձևանմուշից դաշտում։ Անվանումը, նկարագրությունը, առաջնահերթությունը և գնահատականը կլրացվեն ինքնաշխատ՝ կարող եք փոխել։ Ընտրության տակի տողը ցույց է տալիս, թե էլ ինչ կստանա առաջադրանքը․ Ստեղծել-ից հետո կավելացվեն պիտակները և կստեղծվեն ենթաառաջադրանքները։ Ենթաառաջադրանքը չի կարող ստեղծվել ձևանմուշից։
- Պահպանել առաջադրանքը որպես ձևանմուշ․ բացեք առաջադրանքը → ⋯ → Պահպանել որպես ձևանմուշ և տվեք անուն։ Կպահպանվեն անվանումը, նկարագրությունը, առաջնահերթությունը, գնահատականը, պիտակները և ենթաառաջադրանքների անվանումները։
- Կառավարել ձևանմուշները․ առաջադրանքների էջում ⋯ → Առաջադրանքների ձևանմուշներ՝ ստեղծել, խմբագրել կամ ջնջել։ Ձևանմուշներից կարող է օգտվել յուրաքանչյուր ոք, ով տեսնում է առաջադրանքները, իսկ կառավարել՝ նրանք, ովքեր կարող են ստեղծել առաջադրանքներ։ Նույն անվանումով երկու ձևանմուշ լինել չի կարող։ Ձևանմուշի փոփոխությունը կամ ջնջումը չի փոխում արդեն ստեղծված առաջադրանքները։
Առաջադրանքների սեփական դաշտեր
Սեփական դաշտերը այն դաշտերն են, որոնք առաջադրանքը լռելյայն չունի, օրինակ՝ «Հաճախորդ», «Գնահատական» կամ «Համաձայնեցված է հաճախորդի հետ»։ Դաշտերն ընդհանուր են ամբողջ թիմի համար։ Կա հինգ տեսակ՝ տեքստ, թիվ, ամսաթիվ, ցանկ (մեկ տարբերակի ընտրություն) և այո/ոչ։
- Կարգավորել դաշտերը. առաջադրանքների էջում ⋯ → Առաջադրանքի դաշտեր։ Այստեղ կարելի է ավելացնել, փոխել, ջնջել դաշտը և փոխել հերթականությունը սլաքներով։ Յուրաքանչյուր դաշտի համար ընտրեք՝ բոլոր նախագծերը կամ միայն որոշ նախագծեր։ Ստեղծելուց հետո դաշտի տեսակը փոխել հնարավոր չէ։ Դաշտերը կարգավորում են նրանք, ովքեր կարգավորում են թիմը։
- Լրացնել դաշտը. առաջադրանքում՝ Մանրամասներ → Դաշտեր բաժին, սեղմեք մատիտը դաշտի կողքին։ Դաշտերը կարող է լրացնել նա, ով կարող է փոխել առաջադրանքը։ Յուրաքանչյուր փոփոխություն երևում է առաջադրանքի Պատմության մեջ։
- Աղյուսակ և զտիչ. յուրաքանչյուր դաշտ ունի իր սյունակը առաջադրանքների աղյուսակում (նոր սյունակները սկզբում թաքնված են — միացրեք սյունակների կոճակով)։ «Ցանկ» և «այո/ոչ» դաշտերը կարելի է ընտրել Զտիչներում, և այդ զտիչը պահվում է պահված զտիչներում։
- Ինչն է ջնջվում. ցանկի տարբերակը ջնջելիս այն հանվում է այն առաջադրանքներից, որտեղ ընտրված էր։ Դաշտից նախագիծը հանելիս այդ նախագծի առաջադրանքների արժեքները ջնջվում են։ Դաշտը ջնջելիս ջնջվում են նրա բոլոր արժեքները — պատուհանը նախապես ասում է, քանի առաջադրանքում է այն լրացված։
Կրկնվող առաջադրանքներ
Կրկնվում է դաշտը առաջադրանքը վերադարձնում է ժամանակացույցով՝ ամեն օր, ամեն շաբաթ ընտրված օրերին, երկու շաբաթը մեկ կամ ամեն ամիս նույն ամսաթվին՝ ոչ պարտադիր Մինչև օրով։ Այն կարելի է սահմանել առաջադրանքը ստեղծելիս, Խմբագրել առաջադրանքը-ում կամ առաջադրանքի էջում → Մանրամասներ → Կրկնվում է։ Կրկնությունը կարող է փոխել նա, ով կարող է փոխել առաջադրանքը։
Կրկնության յուրաքանչյուր օր, վաղ առավոտյան, հայտնվում է առաջադրանքի նոր պատճենը՝ նույնիսկ եթե նախորդը դեռ ավարտված չէ։ Այն ունի նույն անվանումը, նկարագրությունը, առաջնահերթությունը, փուլը, բաժինը, գնահատականը, կատարողը, օգնականները և պիտակները, ինչ վերջին պատճենը, ուստի վերջին պատճենում արված փոփոխությունը անցնում է հաջորդներին։ Մեկնաբանությունները, ժամանակը, արժեքը, ֆայլերը և ենթաառաջադրանքները չեն պատճենվում։ Պատճենի ամսաթվերը տեղաշարժվում են նրա հետ․ երկուշաբթիից չորեքշաբթի առաջադրանքը շաբաթական կրկնությամբ կդառնա հաջորդ շաբաթվա երկուշաբթիից չորեքշաբթի, իսկ միայն ժամկետ ունեցող առաջադրանքի ժամկետը կդառնա կրկնության օրը։ Առաջին պատճենը հայտնվում է առաջադրանքի սեփական սկզբի ամսաթվից կամ ժամկետից հետո։
Կրկնվող առաջադրանքը տախտակին և աղյուսակներում ունի ⟲ պատկերակ՝ սավառնեք դրա վրա՝ կանոնը տեսնելու համար։ «Մանրամասներ»-ում Կրկնվում է-ի տակ երևում է հաջորդ պատճենի օրը։ Կրկնության փոփոխությունը վերաբերում է միայն ապագա պատճեններին։ Չի կրկնվում տարբերակը դադարեցնում է կրկնությունը․ արդեն ստեղծված պատճենները մնում են սովորական առաջադրանքներ։ Ենթաառաջադրանքը չի կարող կրկնվել․ միացրեք կրկնությունը ծնող առաջադրանքի համար։
Ժամանակի հաշվառում առաջադրանքում
Հենց առաջադրանքի էջում, «Մանրամասներ» վահանակում, Ժամանակի գնահատում-ից անմիջապես ներքև — Ծախսված ժամանակ դաշտ. առաջադրանքի վրա գրանցված բոլոր ժամերի գումարը։ Կողքի + կոճակը երևում է միայն նրանց, ովքեր իրենք են այս առաջադրանքի կատարողը կամ օգնականը — բացում է մի փոքրիկ «ժամեր + ամսաթիվ» ձև և ավելացնում գրառում՝ մեծացնելով գումարը։ Առանձին գրառումների ցանկը դեռ տեսանելի չէ ինտերֆեյսում — միայն ընդհանուր գումարը; կոնկրետ գրառում դիտելը, փոփոխելը կամ ջնջելը առայժմ հնարավոր է միայն API-ի միջոցով։
Սյունակների կարգավորում — դաշտերի ուղեցույց
Յուրաքանչյուր տող այստեղ կարգավիճակ է, որում կարող է գտնվել առաջադրանքը, հենց այս կարգավիճակներն են դառնում kanban տախտակի սյունակներ յուրաքանչյուր նախագծի Tasks ներդիրում և բոլոր նախագծերի ընդհանուր Առաջադրանքներ էջում։
- Անուն — 1–50 նիշ։ 5 ներկառուցված կարգավիճակները (To Do, In Progress, In Review, Blocked, Done) հնարավոր չէ վերանվանել; հատուկները՝ կարելի է, ցանկացած լեզվով։
- Գույն — 6 նմուշներից մեկը, զուտ վիզուալ։
- Կատեգորիա — TODO / In progress / Done։ Սա ոչ կոսմետիկ է — հենց այն է որոշում առաջադրանքի Առաջընթացի %-ը։ Յուրաքանչյուր ոչ-Done կարգավիճակ ստանում է 0–100 միջակայքի հավասար մաս՝ ըստ հերթականության; առաջադրանքը Done կատեգորիայի որևէ կարգավիճակի տեղափոխելը անմիջապես ամրացնում է դրա առաջընթացը 100-ի վրա։
- Վերադասավորել (↑/↓ սլաքներ) — փոխում է թե՛ kanban սյունակների հերթականությունը, թե՛ Կատեգորիայի առաջընթացի մասերը վերևում, քանի որ երկուսն էլ հետևում են այս հերթականությանը։
- «Ակտիվ» անջատիչ (միայն ներկառուցված կարգավիճակների համար) — վերականգնելի այլընտրանք ջնջմանը. անջատելը թաքցնում է կարգավիճակը ամենուր, բայց պահպանում է պատմությունը։ Լռելյայն կարգավիճակը (ներկայում To Do) հնարավոր չէ անջատել, մինչև մեկ այլ կարգավիճակ չդարձնես հիմնական։ Եթե կարգավիճակի վրա դեռ կան առաջադրանքներ, անջատելիս նախ հարցնում է, ուր տեղափոխել դրանք։
- Ջնջել (միայն հատուկ կարգավիճակների համար) — ապաակտիվ է, եթե դա մնացած միակն է, և հարցնում է, ուր տեղափոխել առաջադրանքները, եթե դրանք կան։
- Նոր կարգավիճակի անուն / գույն / կատեգորիա (ստորին տող) — ավելացնում է նոր հատուկ կարգավիճակ ցանկի վերջում; Ավելացնել կոճակը մնում է ապաակտիվ, մինչև անուն մուտքագրես։
Վահանակ և Ակտիվություն
Գլխավոր (կողային ցանկում՝ «Գլխավոր») — միայն-կարդալու, կարգավորելու բան չկա։ «Իմ վճարումները» բանը քննարկված է Ֆինանսներ-ում։
Ակտիվություն (կողային ցանկում՝ «Ակտիվություն») — նույնպես միայն-կարդալու, ունի իր ֆիլտրերը հոսքի վերևում՝ տեսակ, գործողություն, գործող, նախագիծ, բաժին, ժամանակահատված։ Գործողություն ֆիլտրը խմբավորում է նման իրադարձությունները միասին (Ստեղծում, Թարմացում, Ջնջում և այլն), այլ ոչ թե առանձին թվարկում է յուրաքանչյուր կոնկրետ տեսակ։
Կադրերի ռեզերվ
Կադրերի ռեզերվի դիմումը տանել դիտարկման միջով — «Աշխատակազմ → Կադրերի ռեզերվ» → տողի ⋯ մենյուն → Վերցնել դիտարկման, ապա Հաստատել, ապա Հրավիրել պլատֆորմ (ուղարկում է հրավեր անձնակազմում)։ Թարմ Submitted դիմումը կարելի է ուղղակիորեն Հաստատել՝ շրջանցելով Վերցնել դիտարկման-ը։
Խմբագրել դիմումի դասակարգումը — բացիր դիմումը → ⋯ մենյուն → Խմբագրել։ Տես դաշտերի ուղեցույցը։
Ավելացնել դիտարկման նշում — բացիր դիմումը → Դիտարկման նշումներ → գրիր։ Առանձին դիմորդի սեփական նշումներից, տեսանելի է միայն աշխատակիցներին։ Տես դաշտերի ուղեցույցը։
Ջնջել կադրերի ռեզերվի դիմումը — տողի ⋯ մենյուն → Ջնջել։ Հնարավոր է միայն այն դիմումների համար, որոնք չունեն նախագծի կամ առաջադրանքի պատմություն։
Կադրերի ռեզերվը անձնական հաշվում
Ստուգել քո նախագծերն ու առաջադրանքները — Իմ հաշիվը → Ֆոնդի պրոֆիլ (ցուցադրվում է միայն եթե ունես կադրերի ռեզերվին կապակցված գրառում)։ Այս էջում անելու ոչինչ չկա — այն պարզապես ցույց է տալիս, ինչ արդեն որոշվել է այլ տեղում, և ինքն իրեն թարմացվում է, հենց աշխատակիցները կցում են քեզ նախագծի կամ առաջադրանքի։
Ծանուցումներ
Ինչի մասին է այս մոդուլը հայտնում մարդկանց և կոնկրետ ում։ Կանոնը ամենուր նույնն է. դուք իմանում եք իրադարձության մասին միայն այն դեպքում, երբ այն վերաբերում է ձեզ, և երբեք՝ ձեր սեփական գործողությունների մասին։ Ամբողջական բացատրությունը՝ Ծանուցումներ։
Առաջադրանքներ
Նշանակեցին առաջադրանքին — կատարողին ծանուցում է գալիս զանգակին և էլ. փոստով։ Նույնը՝ առաջադրանքից հանելիս և այն ջնջելիս, որի վրա նա աշխատում է (խումբ Իմ առաջադրանքները)։
Ավելացրին մեկնաբանություն — բոլորին, ովքեր առնչություն ունեն առաջադրանքին. կատարողներին և հեղինակին, բացի նրանից, ով գրել է (խումբ Մեկնաբանություններ)։ Մեկ առաջադրանքի մի քանի մեկնաբանություն գալիս է մեկ գրառմամբ՝ հաշվիչով, ոչ թե յուրաքանչյուր հաղորդագրության համար առանձին։
Փոխվեց կարգավիճակը — նույն շրջանակին, բայց ավելի հանգիստ. առանց նամակի, մինչև չխնդրեք (խումբ Իմ առաջադրանքների կարգավիճակները)։ Նկարագրության, ժամկետի կամ առաջնահերթության խմբագրումը ոչ մեկին չի ծանուցում — ակտիվ առաջադրանքի վրա դա տեղի է ունենում անընդհատ, և այդպիսի բաների մասին ծանուցելը հաստատ ճանապարհ է զանգակը բացելու անարժան դարձնելու։
Առաջարկեցին կամ պատասխանեցին վճարմանը — տես Վճարումներ։
Շատ առաջադրանքներ փոխվել են միանգամից — առաջադրանքների ցանկից զանգվածային փոփոխությունը յուրաքանչյուր մարդու ուղարկում է մեկ ծանուցում («ձեր առաջադրանքների կարգավիճակը փոխվել է՝ Պատրաստ — առաջադրանքներ՝ 12»), ոչ թե մեկական յուրաքանչյուր առաջադրանքի համար։ Ում վերաբերում է միայն մեկ առաջադրանք, նա ստանում է այդ առաջադրանքի սովորական ծանուցումը։
Առաջադրանքը կարելի է սկսել — երբ պատրաստ է վերջին չավարտված առաջադրանքը, որին այն սպասում էր, նրա դիտորդները ստանում են ծանուցում (խումբ՝ Իմ առաջադրանքների կարգավիճակները)։
Նախագծի քննարկում
Ինչ-որ մեկը գրառում արեց նախագծի քննարկումում — նախագծի մասնակիցները և սեփականատերը, բացի գրառման հեղինակից (խումբ Մեկնաբանություններ)։ Մեկ նախագծի մի քանի գրառում գալիս են մեկ տողով՝ հաշվիչով, ինչպես առաջադրանքի մեկնաբանությունները։ Ծանուցման մեջ միայն նախագծի անունն է և երբեք՝ գրառման տեքստը. զանգակը կարդում են ուսի վրայից։
Նախագծի մասնակիցներ
Ավելացրին նախագծին կամ հանեցին այնտեղից — հենց իրեն, զանգակին և էլ. փոստով (խումբ Նախագծեր և բաժիններ)։ Նախագծի մյուս մասնակիցներին չի հայտնվում. փոփոխությունն այնուամենայնիվ երևում է ակտիվության հոսքում նրանց, ում դա պետք է։
Աշխատում է նույն կերպ՝ մասնակիցն ուղղակիորեն է ավելացվել, թե իր HR-ֆոնդի գրառման միջոցով — կապակցված հաշիվ ունեցող գրառումը կենդանի մարդ է՝ կենդանի զանգակով։
Բաժնի անդամներ
Ավելացրին բաժնին, հանեցին այնտեղից կամ փոխեցին դերը — հենց անդամին (խումբ Նախագծեր և բաժիններ)։ Այն, թե որ բաժնում է մարդը, որոշում է, թե ինչ են նրանից ակնկալում, ուստի նրան տեղափոխելը առանց ասելու հաստատ ճանապարհ է մարդուն պատասխանատու դարձնելու այն բանի համար, ինչը նա չի տեսել։
HR-ֆոնդ
Եկավ նոր հայտ — բոլորին, ովքեր կարող են հայտեր քննարկել (workspace:staffing:hr_pool:manage), եկել է այն հրապարակային ձևից, թե մարդն ինքն է գրանցվել (խումբ Կառավարում)։ Սա միակ ծանուցումն է, որի լսարանը սահմանված է իրավունքով, ոչ թե գրառման հետ կապով — հայտը, որի մասին ոչ մեկին չեն հայտնել, սպասում է, մինչև որևէ մեկը մտածի նայել։
Նրան, ով ինքն է գրանցվել, սեփական հայտի մասին չեն հայտնում, նույնիսկ եթե նա ունի այդ իրավունքը։
Կադրերի ռեզերվը անձնական հաշվում
Ինքը՝ էջը, ոչ մեկին չի ծանուցում։ Նախագծին կամ առաջադրանքին կցվելու մասին ասում է զանգակը — տես Նախագծի մասնակիցներ և Առաջադրանքներ — այս էջը պարզապես նաև ինքն իրեն թարմացվում է հենց այն պահին, երբ ժամանում է նույն ծանուցումը, փոխանակ սպասելու վերաբեռնման։
Գլխավոր և Ակտիվություն
Ո՛չ Գլխավորը, ո՛չ Ակտիվությունը ոչ մեկին չեն ծանուցում։ Երկուսն էլ զույգի այն կեսն են, որի հետևից ինքդ ես գնում. բացում ես էջը և տեսնում ամեն ինչ, ինչ տեղի է ունեցել թիմում։ Զանգակը զույգի մյուս կեսն է. ինքն է գալիս քեզ մոտ, բայց միայն այն, ինչ վերաբերում է քեզ։
Հենց այս բաժանումն է զանգակը դարձնում բացելու արժանի։ Եթե այն կրեր նաև ցանկացածի ստեղծած առաջադրանքը, այն պարզապես կթերթեին։ Երբ պետք է ամբողջ պատկերը՝ գնում ես Գլխավոր կամ Ակտիվություն էջը. երբ ինչ-որ բան պետք է անձամբ քեզնից՝ այն ինքն է գալիս զանգակի միջոցով։
Թե այնտեղ կատարվողից ինչը կհասնի անձամբ ձեզ, որոշում են ձեր ծանուցումների կարգավորումները։
Բաժիններ
Այս էջն ինքը ոչ մեկին չի ծանուցում։ Ավելացումը, հեռացումը և դերի փոփոխությունը տեղի են ունենում կոնկրետ բաժնի Անդամներ ներդիրում և հայտնում են այդ մարդուն — տես Բաժնի անդամներ։
Նախագծեր
Այս էջն ինքը ոչ մեկին չի ծանուցում։ Մասնակիցների կցումն ու անջատումը տեղի են ունենում կոնկրետ նախագծի Մասնակիցներ ներդիրում և հայտնում են այդ մարդուն — տես Նախագծի մասնակիցներ։
Իրավունքների մոդելը մեկ աղյուսակում
Բաժանվել է 2026-08-14-ին մեկ ընդհանուր platform:staffing:manage-ից մեկ իրավունքի ամեն տիրույթի համար, որպեսզի դերը կարողանա, օրինակ, պատվիրակել «կառավարել առաջադրանքները»՝ առանց հանձնելու նաև «ջնջել բաժինները»։ Ամենուր ստորև, `:manage` կրճատումը նշանակում է հենց այդ բաժնի սեփական տիրույթի իրավունքը — departments:manage-ը Բաժիններ-ում, projects:manage-ը Նախագծեր-ում, tasks:manage-ը Առաջադրանքներ-ում, hr_pool:manage-ը Կադրերի ռեզերվ-ում — ոչ մեկ ընդհանուր բանալի.
| Իրավունք | Ինչ է տալիս |
|---|---|
workspace:staffing:read | Ամեն ինչի դիտում — յուրաքանչյուր ցանկի/մանրամասների էջի հիմնական դարպասը |
workspace:staffing:departments:manage | Բաժնի ստեղծում/խմբագրում/ջնջում, նրա ավատարը, և ցանկացած անդամի ավելացում/հեռացում |
workspace:staffing:members:add_own | Անդամ ավելացնել միայն սեփական բաժնում (Department.leaderId) — բաժնի միակ գործողությունն է, որին տարածվում է ղեկավարի բացառությունը; տես Բաժիններ → Անդամներ |
workspace:staffing:projects:manage | Նախագծի ստեղծում/խմբագրում/ջնջում, նրա շապիկը, բաժնային կապերը, փուլերը և նշանակումները |
workspace:staffing:assignments:add_own | Մասնակից ավելացնել միայն սեփական նախագծում (Project.ownerId) — տես Նախագծեր → Մասնակիցներ |
workspace:staffing:tasks:manage | Առաջադրանքի ստեղծում/ջնջում և ցանկացած առաջադրանքի կատարողների նշանակում/հանում. ցանկացած առաջադրանքի կառավարում՝ անկախ նրանից, թե ով է ստեղծել |
workspace:staffing:tasks:manage_own | Առաջադրանքի վրա, որը ստեղծել ես կամ որին նշանակված ես (RESPONSIBLE/HELPER), միայն. կարգավիճակի/առաջընթացի/նկարագրության/ժամկետի/առաջնահերթության փոփոխություն և մեկնաբանում — երբեք չի ստուգվում route decorator-ով, միշտ լուծվում է TaskAccessService.resolveTaskWriteAccess()-ում կոնկրետ առաջադրանքի համար |
workspace:staffing:hr_pool:manage | Կադրերի ռեզերվի գրառումների վերանայում/թարմացում/ջնջում, հրավիրում՝ վերածելու, նշումների ավելացում |
workspace:staffing:configure | Միայն առաջադրանքի կարգավիճակների ռեեստրը (գույներ/կարգ/համակարգային կարգավիճակների ակտիվացում) — ընդհանուր, կիսվող կարգավորում, միտումնավոր առանձնացված ամենօրյա :manage-ից |
workspace:staffing:restore | Արխիվացված բաժինների, նախագծերի և staffing-ի այլ փափուկ ջնջված գրառումների վերականգնում |
Երկու _own իրավունքներն էլ հետևում են նույն ձևին. հենց իրավունքն ինքը գրառման մակարդակի չէ, service-մակարդակի ստուգումն է (Department.leaderId/Project.ownerId գործողի դեմ), որ նեղացնում է այն «սեփականի» շրջանակին — իրական, հետկանչելի, UI-ից տրամադրելի իրավունք, ոչ թե կոշտ կոդավորված շրջանցում, նույն կոնվենցիան, ինչ docs/iam/PERMISSIONS_CATALOG.md-ը օգտագործում է tasks:manage_own-ի համար։ Ընդհանուր :manage իրավունքը ունենալն արդեն ծածկում է ամեն ինչ, ինչ _own տարբերակն է անում — _own-ը գոյություն ունի նրա համար, ով պետք է կարողանա մեծացնել իր սեփական բաժինը/նախագիծը՝ առանց նաև հարթակի ամբողջ տարբերակը ստանալու։
Մի քանի route-եր միտումնավոր ընդհանրապես @RequirePlatformPermission decorator չեն կրում — բաժնի ֆինանսական գրքի գրառումները օգտագործում են հում service-մակարդակի «արդյոք այս գործողը բաժնի ղեկավա՞րն է» ստուգում, իսկ անդամի ֆունկցիայի (վերնագիր + նկարագրություն) խմբագրումը՝ հատուկ DepartmentLeaderOrStaffingManageGuard-ը, նույն պատճառով. այդ իրավասությունը գրառման մակարդակի է, ոչ թե բան, որը կարող է արտահայտել հարթակային permission տողը (նույն կանոնը, որ docs/iam/PERMISSIONS_CATALOG.md-ը փաստաթղթավորում է կազմակերպության մակարդակի գրառման հասանելիության համար)։ Այս գարդը կարճ ժամանակով անհետացավ 2026-08-14-ին ամբողջ DepartmentRole համակարգի հետ միասին, որը նույնպես փակում էր (բաժնի դերերի կառավարման route-երը), իսկ հաջորդ օրը վերադարձավ՝ նեղացված միայն այս դաշտով, երբ որոշվեց այն թողնել առանձին (տես Անդամներ վերևում)։
Բաժիններ (/team/departments)
Պարզ ասած՝ ընկերության կազմակերպչական կառուցվածքը։ Բաժինն ունի ղեկավար, անդամներ (յուրաքանչյուրն ունի իր իրական platform դերը և ոչ պարտադիր ֆունկցիա այս բաժնում), կցված նախագծեր և, եթե ղեկավարը ցանկանում է, իր սեփական ֆինանսական գիրքը։
- Ցանկ/ծառ տեսք դեսքթոփում; քարտային ցանց բջջայինում (առանց փոխարկիչի)։ «Նոր բաժին» (
:manage) բացում է նույն ձևի պատուհանը, ինչ խմբագրումը։ - Քարտի ներդիրներ. Overview (վիճակագրություն, ենթաբաժիններ, ակտիվ նախագծեր, վերջին ակտիվություն), Activity, Finances (տես Ֆինանսներ → Բաժնի սեփական գիրքը), Members, Projects, Sub-departments — յուրաքանչյուրը քննարկված է իր բաժնում ստորև։
- Քարտի վերնագրի «⋯» ցանկը նաև առաջարկում է «Նոր ենթաբաժին» (2026-08-14) — նույն ձևը, ինչ Sub-departments ներդիրի սեփական կոճակը, այս բաժինը նախապես ընտրված և արգելափակված որպես ծնող (այդ դաշտը մնում է խմբագրելի սովորական «Ավելացնել բաժին»-ի ժամանակ կամ խմբագրման ռեժիմում — արգելափակվում է միայն երբ ծնողը ենթադրվում է նրանով, թե ինչպես է բացվել պատուհանը)։ Թաքցված է այն բաժնի համար, որն արդեն ունի ծնող — բնադրումը սահմանափակված է մեկ մակարդակով։
- Բաժնի ջնջումը (
:manage) արգելափակվում է սերվերում, քանի դեռ կան ակտիվ ենթաբաժիններ — հաստատման ծանուցումն այժմ ցույց է տալիս հենց այս պատճառը, ոչ թե ընդհանուր սխալ (ուղղվել է 2026-08-14. նախկինում լուռ ցույց էր տալիս ընդհանուր տեքստը՝ անկախ իրական պատճառից)։ - Արխիվացում/վերականգնում (
workspace:staffing:restore, 2026-08-13) — բաժնի ջնջումը կատարում է միայն փափուկ ջնջում (անդամները, դերերը և կցված նախագծերը չեն շոշափվում և հայտնվում են ինչպես կային՝ վերականգնման ժամանակ); ցանկի էջը ստանում է Active/Archive ներդիրներ, նույն օրինակով, ինչ Ընդհանուր փաստաթղթերի սեփական Active/Trash բաժանումը, բայց միայն նրա համար, ով իրականում ունի այս իրավունքը — արխիվը դիտելն անիմաստ է, եթե չկա նաև հնարավորություն ինչ-որ բան անել դրա հետ։ Միտումնավոր ավելի նեղ, քան:manage, և բացառված է P4P Admin-ի լռելյայն իրավունքներից. ուրիշի ջնջումը՝ առանց նրա իմացության, չեղարկելը ավելի մոտ է «ով է հետևում հսկողներին» տարածքին, քան բաժինների ամենօրյա աշխատանքին։ Վերականգնումը ծանուցում է բոլորին, ովքեր ունենworkspace:staffing:read։
Անդամներ (բաժնի Members ներդիր)
Ավելացում (:manage, կամ բաժնի սեփական ղեկավարը members:add_own-ի միջոցով — ավելացվել է 2026-08-14-ին), հեռացում (միայն :manage — այստեղ ղեկավարի բացառություն չկա, ավելացումն ու հեռացումն միտումնավոր ասիմետրիկ են), անդամի ֆունկցիայի խմբագրում (ղեկավար կամ :manage, DepartmentLeaderOrStaffingManageGuard-ի միջոցով — առանց permission տողի, նույն տրամաբանությունն ու նույն գարդը, ինչ մինչև 2026-08-14, հաջորդ օրը վերականգնված միայն այս ավելի նեղ դաշտի համար)։
Յուրաքանչյուր անդամի «Դեր» սյունակը նրա իրական PlatformRole(-ներ)-ն է — միայն կարդալու համար այստեղ, վերցվում է նույն ձևով, ինչով Հարթակի կառավարում → Օգտատերեր ցույց է տալիս դրանք։ Հանվել է 2026-08-14-ին. սա նախկինում DepartmentRole էր՝ բաժնային մակարդակի պաշտոնների կատալոգ (ղեկավար կամ :manage-ը կարող էր ստեղծել/խմբագրել/նշանակել այն, օրինակ՝ «Ռեկրուտեր»), որը չէր տալիս որևէ իրական իրավունք — ինտերֆեյսում անտարբերելի իրական դերից, մինչդեռ կառուցվածքային առումով ոչինչ չէր անում, ինչը ընկալվեց ավելի շուտ որպես մոլորեցնող, քան զուտ դեկորատիվ։
«Ֆունկցիաներ» սյունակը յուրաքանչյուր անդամի համար այլ բան է, որը վերապրեց այդ հանումը՝ միտումնավոր թողնված ուղիղ օգտատիրոջ խնդրանքով, քանի որ «ինչո՞վ է իրապես զբաղվում այս մարդն այստեղ» անձնական նկարագրությունը բոլորովին այլ, օրինական կարիք է՝ դեր-պիտակից տարբեր, և ինքնին երբեք խնդիր չի եղել։ Այն տեղափոխվեց DepartmentRole-ից (ընդհանուր բոլորի համար, ում այդ դերը կար) ուղղակիորեն DepartmentMember-ի վրա (մեկ մարդ, մեկ բաժին, մեկ գրառում), հասանելի PATCH .../members/:userId-ի միջոցով, նույն route/գարդը, որ նախկինում կիսում էր DepartmentRole-ի նշանակման հետ, հիմա նեղացված միայն այս դաշտի համար։ Սկզբում (2026-08-15) մեկ ազատ տեքստային դաշտ էր (duties); նույն օրը բաժանվեց DepartmentMember.functionTitle-ի (կարճ վերնագիր, ցուցադրվում է սյունակում և կրճատված՝ աշխատակցի սեփական քարտում) և DepartmentMember.functionDescription-ի (ավելի երկար նկարագրություն, ցուցադրվում է տողի բացվելիս այստեղ և ցուցադրվող հուշման մեջ աշխատակցի սեփական քարտում) — հին DepartmentRole-ի անուն + duties կառուցվածքի օրինակով, բայց ոչ մի դաշտ որևէ իրավունք չի տալիս։
Նախագծեր (բաժնի Projects ներդիր)
Նախագծերը, որտեղ այս բաժնի մարդիկ կան։ «Կցել նախագիծ»-ը զանգվածաբար ավելացնում է բաժնի ընթացիկ անդամներին ընտրված նախագծին (:manage) — նույն միանվագ նկարը, ինչ նախագծի կողմից (տես Նախագծեր → Մասնակիցներ); «անջատել»-ը հեռացնում է բոլորին։
Ամեն նախագծի համար աղյուսակը ցույց է տալիս՝ կարգավիճակ, բաժնից քանի մարդ է ներգրավված, նրա սեփական Առաջադրանքների բաշխումը (անելիք / ընթացքում / արված) և Բյուջեն (այս բաժնի առաջադրանքների գների գումարը՝ ըստ արժույթների, միայն workspace:finance:read իրավունքով), կցված բաժինները, ժամկետները, առաջընթացը։ Այս կտրվածքը տեղափոխվել է այստեղ 2026-08-30-ին, երբ հեռացվեց նախագծի սեփական «Բաժիններ» ներդիրը։ Բաժնի ամբողջ ֆինանսները դեռ Finances ներդիրում են։
Ենթաբաժիններ (բաժնի Sub-departments ներդիր)
Սահմանափակված է մեկ մակարդակով — ենթաբաժինը չի կարող ունենալ իր սեփական ենթաբաժինները։ Հենց այս պատճառով է արգելափակված ակտիվ ենթաբաժիններ ունեցող բաժնի ջնջումը (տես վերևում) — նախ պետք է գիտակցաբար բարձրացնել կամ վերանշանակել դրանք, ոչ թե լուռ կորցնել ջնջման ժամանակ։
Կառուցվածք (/team/org-chart)
Պարզ ասած՝ բաժինները ծառի տեսքով — ընկերությունը վերևում, տակը բաժինները, դրանց տակ՝ ենթաբաժինները։
- Տեսնում են բոլոր նրանք, ովքեր ունեն
workspace:staffing:read։ Միայն դիտում — կառուցվածքը փոխում են բաժինների ձևերում։ - Քարտում՝ բաժինը, ղեկավարը և մարդկանց թիվը։ Մարդիկ կոճակը ցույց է տալիս անդամներին պաշտոններով, երկրորդ կոճակը փակում է ենթաբաժինները։ Բացել բոլորը / Փակել բոլորը անում են դա բոլոր քարտերի համար։
- Առանց բաժնի՝ ակտիվ աշխատակիցներ, որոնք ոչ մի բաժնում չեն։
- Մարդու անունը բացում է նրա աշխատակցի քարտը։
- Արխիվացված բաժինները և հեռացած աշխատակիցները չեն ցուցադրվում։ Հեռախոսում սխեման ներքևով գնացող ցուցակ է։
Աշխատակիցներ (/team/members)
Պարզ ասած՝ P4P-ի յուրաքանչյուր աշխատակցի սեփական պրոֆիլը — բայց այստեղ ավելացնելը staffing գործողություն չէ, այն նույն հարթակի թիմային հրավերի հոսքն է Հարթակի կառավարումից, պարզապես կապակցված այստեղ՝ հարմարության համար։
Ցուցակի որոնումը, ֆիլտրերը, դասավորումը և էջերը աշխատում են սերվերում. «Բաժին» ֆիլտրը ցույց է տալիս այն բաժինները, որտեղ ընթացիկ որոնման և կարգավիճակի դեպքում ինչ-որ մեկը մնում է, մարդկանց թվով։
- Ցանկ. որոնում + բաժնի/կարգավիճակի ֆիլտրեր։ «Ավելացնել աշխատակից»-ը փակված է
platform:users:invite-ով (նույն իրավունքը — և նույն խմբաքանակային հրավերի պատուհանը, այժմ մեկ email տողում — ինչ/platform/staff-ը; փոխանցվել է 2026-08-13, տես Հարթակի կառավարում → Հրավերներ հարթակի անձնակազմ, նախկինում կոշտ կոդավորվածSUPER_ADMIN/P4P Ownerէր)։ - Քարտի ներդիրներ. Overview (կոնտակտներ, հմտություններ/հետաքրքրություններ), Departments (բոլոր բաժինները, որտեղ մարդը անդամ է, յուրաքանչյուրում իր Ֆունկցիայով — ավելացվել է 2026-08-15, առանձնացվել է Overview-ի սեփական Բաժիններ քարտից, երբ Ֆունկցիան ստացավ իրական նկարագրություն, որը արժեր ցուցադրել ամբողջությամբ), Activity (ինչ է այս մարդը արել, ոչ թե ինչ է արվել նրա հետ), Candidate application (ցուցադրվում է միայն եթե եկել է կադրերի ռեզերվից — իր սկզբնական հայտի միայն-կարդալու պատկերն), Projects, Tasks։
- «⋯» ցանկի «Ուղարկել արձակուրդի»/«Վերադարձնել արձակուրդից» և «Հեռացնել անձնակազմից» գործողությունները կանչում են IAM/Users route-եր (
POST /admin/users/:id/leave,DELETE /admin/users/:id/platform-staff), ոչ թե staffing-ի — այս էջը պարզապես հարմար մուտքի կետ է դեպի գործողություններ, որոնք ապրում են Հարթակի կառավարում → Օգտատերեր-ում։ - Overview ներդիրի մանրամասներ (2026-08-15, փակում է երեք բաց, որոնք գտել է օգտատերը). եթե դերին սահմանված է
PlatformRole.description, անունը ցուցադրվում է կետագծով ընդգծված և ցույց է տալիս այդ նկարագրությունը hover-ի ժամանակ ցուցադրվող հուշման մեջ — ամենուր, որտեղ ցուցադրվում է դերի անունը (այս էջը, ցուցակը, բաժնի Members ներդիրը)։ Հմտություններ/մասնագիտացումը ինքնուրույն լրացվող դաշտ է (User.skills/interestAreas) առանց ադմինի փոխարինման իրավունքի — ուրիշի քարտը դիտելիս ցուցադրվում է սովորական հուշում, որ դաշտն ինքնուրույն է լրացվում; սեփական քարտում hover-ի ժամանակ հայտնվում է մատիտի պատկերակ (նույն կոնվենցիան, ինչ առաջադրանքի մեկնաբանության խմբագրում/ջնջում.Card-ը ստանում էclass="group"+opacity-0 group-hover:opacity-100), որը տանում է/account/profile՝ և՛ այս քարտի, և՛ կողքի «Անձնական տվյալներ» քարտի համար; ուրիշի քարտը դիտող ադմինը այդ պատկերակը երբեք չի տեսնում։ - Departments ներդիր. յուրաքանչյուր գրառում ցուցադրում է մարդու ֆունկցիայի վերնագիրը ուղիղ բաժնի անվան տակ, իսկ նկարագրությունը — ի տարբերություն բաժնի սեփական Members ներդիրի (վերնագիրը՝ սյունակում, նկարագրությունը՝ միայն տողի բացվելիս) կամ Overview-ի նախկին կոմպակտ քարտի (նկարագրությունը՝ միայն hover-ի ժամանակ ցուցադրվող հուշման մեջ) — ցուցադրվում է ուղիղ դրա տակ, առանց որևէ փոխազդեցության. առանձին ներդիրն ունի բավարար տեղ, փոխզիջումը, որ արդարացնում էր նկարագրության թաքցումը այլուր, այստեղ պետք չէ։ Տես Անդամներ վերևում՝ թե ինչ է ֆունկցիան։ Նույն «սեփական տողում login-ը տանում է սեփական հաշիվ» բացառությունը, ինչ ցուցակում (
PersonLink.vue), ավելացվել է նույն օրը նաև այս էջի սեփական վերնագրի համար. login-ը անվան տակ սովորաբար տանում է/platform/users/:id, բայց/account/profile՝ և միշտ, անկախplatform:users:read-ից, երբ դա քո սեփական քարտն է։ - «Նախագծեր» ներդիր. Ինչ է անում սյունակը (և՛ ցանցում, և՛ ցուցակում) մարդու՝ որպես նախագծի մասնակցի նշումն է։
workspace:staffing:projects:manageիրավունքով յուրաքանչյուր տողում կա Նշել ֆունկցիան / Փոփոխել ֆունկցիան — նույն add/edit տարրը, ինչ «Բաժիններ» ներդիրում բաժնային ֆունկցիայի համար (2026-09-02). այն գրում է նույնProjectAssignment.note-ը, որ խմբագրում է հենց նախագծի Մասնակիցներ ներդիրը։ Այն նախագիծը, որ մարդու հետ կապված է միայն առաջադրանքներով (մասնակցի տող չկա), ցույց է տալիս պարզ «—» և ոչ մի տարր՝ նշումը կապելու բան չկա։
Նախագծեր (/team/projects)
Պարզ ասած՝ ներքին նախագծերի կառավարում — բաժիններ և մարդիկ, կցված նախագծին, փուլերի ճանապարհային քարտեզ և առաջադրանքների տախտակ, գումարած (եթե տեսնում ես հարթակի ֆինանսները) այս նախագծի բաժինը սեփականատիրոջ գրքում։
Նախագծերի ցուցակի որոնումը, ֆիլտրերը և էջերը աշխատում են սերվերում, նորերը վերևում. «Բաժին» ֆիլտրը ցույց է տալիս ընթացիկ որոնման և կարգավիճակի դեպքում նախագծերին մասնակցող բաժինները՝ նախագծերի թվով։
- Ցանկ. grid/list անջատիչ, կարգավիճակի/բաժնի ֆիլտրեր։ «Նոր նախագիծ» (
:manage)։ - Քարտի ներդիրներ. Overview (առաջընթացի վիճակագրություն, փուլերի առաջընթաց, վերջին առաջադրանքներ, ներգրավված բաժիններ, ինլայն-խմբագրելի rich-text «Vision» դաշտ), Participants, Stages, Tasks, Discussion (նախագծի քննարկումը և իրադարձությունների մատյանը) և Finances (տես Ֆինանսներ → Նախագծի «Ֆինանսներ» ներդիրը) — յուրաքանչյուրը քննարկված է իր բաժնում ստորև։
- Առաջադրանքի բաժինը պետք է լինի այնպիսին, որի մարդիկ կան նախագծում — ստուգվում է սերվերում (տես Մասնակիցներ)։
Մասնակիցներ (նախագծի Participants ներդիր)
ProjectDepartment-ը (բաժին↔նախագիծ կենդանի կապը) հեռացվել է 2026-08-30 (docs/staffing/ADR-001-staffing-pm-tool.md, Decision 1)։ Նախագծի մասնակիցներն այժմ միայն բացահայտ ProjectAssignment տողերն են; բաժինը երևում է որպես խումբ, եթե ≥1 անդամ նշանակված է։ Առանձին «Բաժիններ» ներդիր չկա — ամեն ինչ այստեղ է։
- Վերևում փոխարկիչ՝ Անձնակազմ (
STAFFտողեր) / Կադրերի ֆոնդ (HR_POOL)։ - «Անձնակազմը» կարելի է դիտել ըստ բաժինների (ծառ — մեկ աղյուսակ, բաժնի համար մեկ թղթապանակ-տող + «Առանց բաժնի» խումբ, ծալվող) կամ ցուցակով։ Յուրաքանչյուր տողում՝ ազատ Ինչ է անում նշում։ Հաշիվ սյունակը (միայն ֆոնդում / ունի մուտք / նախկին անձնակազմ) միայն Կադրերի ֆոնդում է — «Անձնակազմում» այն ամեն տողում նույնն է։
- Կցել բաժին (
POST .../projects/:id/departments/:deptId,:manage) — բաժնի ընթացիկ անդամների միանվագ զանգվածային ավելացում; ամեն ավելացվածին՝ ծանուցում։ Կենդանի կապ չկա։ - Անջատել բաժին (
DELETE ...) — մեկ հարցումով հեռացնում է այդ բաժնի բոլոր ընթացիկ անդամներին։ - Ավելացնել / հեռացնել մեկին —
POST/DELETE .../assignments(:manage, կամ նախագծի սեփականատերըassignments:add_own-ով՝ ավելացնելու համար)։
Քննարկում (նախագծի Discussion ներդիր)
Նախագծի սեփական քննարկումը՝ ProjectComment, նույն ձևը, ինչ առաջադրանքի TaskComment-ը, մեկ մակարդակ վերև (docs/staffing/ADR-001-staffing-pm-tool.md, Decision 23)։ Մեկ ներդիրի երկու տեսք՝ Քննարկում (ինչ գրել են մարդիկ) և Պատմություն (այս նախագծի TeamEvent մատյանը)։
- Կարդալը —
workspace:staffing:read, ինչպես քարտի մնացած ամեն ինչը։ - Գրելը —
workspace:staffing:projects:manageկամ անձնական առնչություն այս նախագծի հետ. լինել դրա մասնակից կամ սեփականատեր։ Առանց դրա մուտքագրման դաշտի փոխարեն կա տող այն մասին, թե ով կարող է գրել — դաշտը երբեք լուռ չի անհետանում։ - Խմբագրելն ու ջնջելը — միայն հեղինակի կողմից, ստուգվում է սերվերում։ Ո՛չ նախագծի ղեկավարը, ո՛չ ադմինիստրատորը չեն կարող փոխել ուրիշի գրառումը։
- Գրառումները սովորական rich text են (թավ, ցուցակներ, հղումներ)։ Կցորդներ դեռ չկան. առաջադրանքի մոտ դրանք կան, որովհետև առաջադրանքն ունի վերբեռնման տիրույթ, նախագծի մոտ այդպիսին դեռ չկա։
- Յուրաքանչյուր գրառում, խմբագրում և ջնջում գնում է աուդիտ և ակտիվության ժապավեն (
project.comment_created/_updated/_deleted); ջնջվածից պատմության մեջ մնում է մեկ տողանոց քաղվածք —TeamEvent-ի payload-ը դիտավորյալ ապանորմալացված է։
Փուլեր (նախագծի Stages ներդիր)
Կարգավորված ճանապարհային քարտեզ, վերադասավորում ↑/↓-ով (:manage)։ Յուրաքանչյուր առաջադրանքի կարելի է նշանակել փուլ; Overview ներդիրի փուլային առաջընթացը հաշվարկվում է դրանից։ Փուլի ստեղծումը, խմբագրումը կամ ջնջումը ծանուցում է նախագծի բոլոր մասնակիցներին (2026-08-13, project_stage.created/updated/deleted — «Նախագծի ակտիվություն» խումբ)։
Առաջադրանքներ (նախագծի Tasks ներդիր)
Ցանկ կամ kanban տախտակ, 5 խմբավորման ռեժիմ — միայն այս նախագծի շրջանակում։ Բոլոր նախագծերի միջով անցնող համարժեքը՝ Առաջադրանքներ բաժինն է ստորև։
Առաջադրանքներ (/team/tasks)
Պարզ ասած՝ նախագծերի միջով անցնող առաջադրանքների տախտակ — բոլոր առաջադրանքները բոլոր նախագծերում մեկ տեղում, ի տարբերություն կոնկրետ նախագծի Tasks ներդիրի։
Աղյուսակի ռեժիմում որոնումը, ֆիլտրերը, դասավորումը և էջերը աշխատում են սերվերում. սալիկները հաշվում են այն, ինչ թողնում են ֆիլտրերը, իսկ ֆիլտրերի ցուցակներում երևում է, թե քանի առաջադրանք ունի յուրաքանչյուր տարբերակ։ Տախտակը նույնպես գալիս է սերվերից. յուրաքանչյուր սյունակում երևում է առաջադրանքների իրական թիվը և առաջին 20 քարտերը, մնացածը՝ Ցույց տալ ավելին կոճակով։
- Ցանկ/kanban անջատիչ, 5 kanban խմբավորում (կարգավիճակ/պատասխանատու/առաջնահերթություն/նախագիծ/փուլ)։ Drag-and-drop-ը փակված է
:manage-ով (քարտի քաշումը «պատասխանատու» սյուների միջև կանչում է նույն executor-ավելացման route-ը, ինչ առաջադրանքի ձևը)։ - Հին կատարված աշխատանքը լռելյայն թաքցված է — 14 օրից ավելի առաջ կատարված առաջադրանքները չեն բեռնվում ո՛չ ցանկում, ո՛չ kanban-ում (ինչպես Jira-ի «թաքցնել N օրից հին կատարվածները»)։ Վիճակագրության սալիկների տակ մի տող այդ մասին ասում է, իսկ Ցույց տալ բոլորը / Թաքցնել 14 օրից հինները կոճակները փոխում են ռեժիմը (ընտրությունը հիշվում է մեկ շաբաթ)։ «Կատարված» նշանակում է այն պահը, երբ առաջադրանքը վերջին անգամ անցել է Done կատեգորիայի կարգավիճակի (
Task.completedAt). հին կատարված առաջադրանքի խմբագրումը այն չի վերադարձնում տախտակ։ Ենթաառաջադրանքը հետևում է իր ծնողին, ուստի քարտի «2-ը 5-ից» հաշվիչը ճիշտ է մնում։ Վիճակագրության սալիկները հաշվում են միայն բեռնվածը։ - Պիտակներ — առաջադրանքի «Մանրամասներ» քարտի Պիտակներ դաշտը։ Ընտրեք առկաները կամ գրեք նոր անուն և սեղմեք Ստեղծել (կարող է ցանկացած ոք, ով իրավունք ունի փոխելու առաջադրանքը)։ Պիտակները երևում են տախտակի քարտերին և աղյուսակներում, տախտակի ֆիլտրերում կա Պիտակներ։ Պիտակը վերանվանել, վերաներկել և ջնջել (դա փոխում է այն կրող բոլոր առաջադրանքները) կարելի է տախտակի ⋯ → Պիտակներ մենյուում՝
workspace:staffing:configureիրավունքով։ - Ժամաչափ — այն առաջադրանքում, որտեղ դուք կատարող եք, Ծախսված կողքի ▶ կոճակը գործարկում է ժամաչափը։ Այն երևում է վերնագրում բոլոր էջերում (հեռախոսում՝ ժամաչափի պատկերակով) և չի կորչում վերաբեռնման կամ այլ սարքի դեպքում։ ■-ը կանգնեցնում է այն և ժամանակը գրանցում որպես սովորական գրառում մեկնարկի օրվա համար. մեկ րոպեից պակասը չի գրանցվում։ Մեկ ժամաչափ մեկ մարդու համար՝ մյուսի գործարկումը կանգնեցնում և գրանցում է ընթացիկը։ Եթե ժամաչափն աշխատել է 12 ժամից ավելի, կհայտնվի պատուհան՝ ժամերը հաստատելու կամ ուղղելու համար։ Վերնագրի ժամաչափի մենյուից այն կարելի է չեղարկել առանց գրանցման։
- Արտահանել CSV — ⋯ → Արտահանել CSV-ն պահպանում է տախտակին հիմա երևացող առաջադրանքները (ֆիլտրերով և որոնմամբ) աղյուսակի ֆայլում։ Գներ և վճարումներ դրանում երբեք չկան։ Ժամանակի հաշվետվությունն ունի իր Արտահանել CSV կոճակը՝ բոլոր գրանցումները հաշվետվության ամսաթվերի և նախագծի համար՝ ամսաթիվ, մարդ, առաջադրանք, րոպեներ, ժամեր, մեկնաբանություն՝ տաբելի կամ հաշվի համար։
- Պահպանված ֆիլտրեր — տախտակի ֆիլտրերի մենյուի վերևում։ Ընտրեք ֆիլտրերը, գրեք անուն և սեղմեք Պահպանել. հետո սեղմեք պահպանված ֆիլտրի վրա՝ այն կրկին կիրառելու համար։ Դրանք միայն ձերն են և հասանելի են ցանկացած սարքից։ Արդեն օգտագործված անունով պահպանելը փոխարինում է այդ ֆիլտրը։
- @նշումներ — մեկնաբանությունում, առաջադրանքի նկարագրությունում կամ նախագծի քննարկման գրառումում մուտքագրեք
@և ցուցակից ընտրեք մարդուն (որոնում անունով կամ էլ. հասցեով)։ Նա ծանուցում կստանա՝ միայն առաջին անգամ, երբ տեքստը նրան նշում է, խմբագրումը կրկին չի ծանուցի, և կսկսի հետևել առաջադրանքին։ Ցուցակում միայն նրանք են, ովքեր թիմի կառավարման մուտք ունեն։ - Հետևում — առաջադրանքի վերնագրի Հետևել / Հետևում եք կոճակը որոշում է՝ ծանուցումներ կստանա՞ք դրա մեկնաբանությունների և փոփոխությունների մասին։ Հետևումը միանում է ինքնաբերաբար, երբ ստեղծում եք առաջադրանքը, նշանակվում եք դրան կամ մեկնաբանություն եք գրում։ Եթե դադարեցնեք, դա պահպանվում է․ հետագա մեկնաբանությունը կամ նշանակումը ձեզ կրկին չի բաժանորդագրի՝ միայն Հետևել կոճակը։ «Ձեզ նշանակել են / հանել են» ծանուցումները գալիս են ամեն դեպքում։
- Իրական ժամանակի թարմացումներ — ուրիշի կատարած փոփոխությունը նորից կարդում է միայն այն առաջադրանքը, որին դիպել է, ոչ թե ամբողջ տախտակը. լրիվ վերաբեռնում լինում է միայն վերամիացումից հետո կամ փոփոխությունների շատ մեծ փաթեթի դեպքում։
- Առաջադրանքի կարգավիճակների կարգավորում — առանձին էջ չկա, բայց կա իրական կարգավորումների պատուհան (ատամնանիվի պատկերակ, միայն
workspace:staffing:configure), որը ծածկում է ամբողջ կարգավիճակների ռեեստրը՝ ստեղծում/խմբագրում/վերադասավորում/ջնջում։ 5 սերմանված համակարգային կարգավիճակները հնարավոր չէ ամբողջովին ջնջել, միայն ապաակտիվացնել։ - Առաջադրանքի քարտ — յուրաքանչյուր դաշտ ինլայն-խմբագրելի է, Jira-ոճով։ Վերնագիր/փուլ/բաժին/պատասխանատու/օգնականներ/գին պահանջում են
:manage; կարգավիճակ/նկարագրություն/առաջնահերթություն/ժամկետ/ առաջընթաց բաց են:manage-ի կամ:manage_own-ի համար սեփական առաջադրանքի վրա (ստեղծող, կամ նշանակված որպես RESPONSIBLE/HELPER — ներառյալ կապակցված կադրերի ռեզերվի գրառման միջոցով, ոչ միայն ուղղակի աշխատակցի նշանակմամբ)։ Կարգավիճակն ու առաջընթացը՝ նույն:manage/:manage_ownբաժանմամբ, խմբագրվում են նաև ուղիղ առաջադրանքների ցանկից (սյունակների բացվող ցանկ + սահիչ), ոչ միայն այստեղ։ կանբան տախտակի սեփական drag-and-drop-ը (կարգավիճակի փոփոխություն քարտը քաշելով) առանձին ուղի է, դեռ միայն:manage(քաշումը կանչում է նույն route-ը, ինչ այս select-ը, բայց տախտակն ինքը մնում է ավելի խիստ փակված)։ Նոր մեկնաբանություն գրելը հետևում է նույն:manage/:manage_ownբաժանմանը (կոմպոզերը թաքցված է, փոխարենը՝ ծանոթագրություն, թե ով կարող է գրել); արդեն գրած սեփական մեկնաբանության խմբագրումը կամ ջնջումը հաճախորդի կողմից կապված է բացառապես հեղինակության հետ, առանց առանձին:manage/canWriteOwnստուգման (իրական կիրառումը սերվերում է,TaskAccessService.resolveTaskWriteAccess, ինչպես այս էջում ամենուր)։ Առաջադրանքի ջնջումը — միայն:manage; և տողի ⋯ մենյուն (Խմբագրել / Ջնջել) — նույնպես միայն:manage, և՛ նախագծի «Առաջադրանքներ» ներդիրում, և՛ այս ընդհանուր ցանկում;:manage_ownունեցող օգտատերը խմբագրում է առաջադրանքի էջից։ Ընդհանուր ցանկը նախագծի համատեքստ բեռնված չունի, ուստի այնտեղ Խմբագրել-ն ընթացքում բեռնում է առաջադրանքի նախագծի փուլերն ու բաժինները և բացում նույնTaskFormDialog-ը, ինչ նախագծի ներդիրը։ - Ուղղված է, 2026-08-04. մեկնաբանությանը կամ նկարագրությանը ֆայլ կցելը նախկինում պահանջում էր զուտ
:manage՝ առանց:manage_ownբացառության ընդհանրապես —:manage_ownունեցող օգտատերը կարող էր գրել և ուղարկել մեկնաբանություն, բայց կցելու կոճակը միշտ վերադարձնում էր 403, թեև UI-ում այն երևում էր որպես հասանելի։ Վերբեռնման endpoint-ը (POST /admin/staffing/attachments) ընդհանուր է (օգտագործվում է նաև Project Vision-ի համար) և լռելյայն չգիտի, թե որ էությանն է պատկանում ֆայլը. ուղղումն անցկացնում է ոչ պարտադիրtaskIdվերբեռնման կանչի միջով, որպեսզի սերվերը կարողանա կիրառել նույնmanage_own+ ստեղծող/նշանակված ստուգումը, որն արդեն օգտագործում է առաջադրանքի մնացած մասը, փոխարենը միշտ պահանջելու զուտ:manage, երբ առաջադրանքն իրականում նույնականացվող է։
Բացակայություններ (/team/time-off)
Անձնակազմ → Բացակայություններ։ Սեղմեք Խնդրել բացակայություն, ընտրեք տեսակը (արձակուրդ, հիվանդություն, այլ), առաջին և վերջին օրը և, ցանկության դեպքում, մեկնաբանություն։ Պատուհանը ցույց կտա, թե դա քանի աշխատանքային օր է։
- Հիվանդությունը հաշվվում է անմիջապես՝ առանց հաստատման. բաժնի ղեկավարը և մենեջերները կծանուցվեն։
- Արձակուրդը և «այլը» սպասում են ձեր որևէ բաժնի ղեկավարի կամ
workspace:staffing:time_off:manageիրավունք ունեցողի (Team Manager, Team Admin) որոշմանը։ Սեփական հայտը հաստատել հնարավոր չէ։ Որոշման մասին կծանուցվեք. մերժման պատճառը երևում է հայտում։ - Չեղարկել կարելի է սպասող հայտը կամ հաստատվածը, որը դեռ չի սկսվել (հաստատողները կծանուցվեն)։
- Հաստատման ներդիրը (միայն որոշողների համար)՝ սպասող հայտերը և ով է բացակա նույն օրերին։
- Ով է բացակա՝ բոլորի հաստատված բացակայությունները այսօրվանից, միայն ամսաթվերը։ Տեսակը և մեկնաբանությունը տեսնում են միայն մարդը և որոշողները։
- Հաստատված օրերը հանվում են մարդու նորմայից ծանրաբեռնվածության էջում, երևում են թիմի օրացույցում որպես «բացակա է» և հաշվվում են զբաղված հանդիպում նշանակելիս։
Ծանրաբեռնվածություն (/team/reports/workload)
Աշխատանք → Ծանրաբեռնվածություն էջը ցույց է տալիս, ով է գերծանրաբեռնված և ում մոտ կա ժամանակ։ Տողերը մարդիկ են, սյունակները՝ այս շաբաթը և հաջորդ հինգը, գումարած Առանց ժամկետի։ Յուրաքանչյուր վանդակում «պլանավորված ժամեր / նորմա» է․
- Նորման մարդու շաբաթական նորման է (սահմանվում է ժամանակի հաշվետվության նորմաների կարգավորումներում)։ Այս շաբաթի համար հաշվվում են միայն մնացած աշխատանքային օրերը՝ այսօրվանից։ Աշխատակցի արձակուրդի և հաստատված բացակայությունների օրերին նորմա չկա՝ եթե շաբաթում այն չի մնացել, վանդակում գրված է Արձակուրդում։
- Պլանավորված ժամերը յուրաքանչյուր բաց առաջադրանքի մնացորդն են (գնահատումը հանած արդեն ծախսված ժամանակը)՝ հավասարաչափ կատարողների միջև և աշխատանքային օրերով մինչև ժամկետը։ Ժամկետանց աշխատանքը հաշվվում է այս շաբաթում։
- Առանց գնահատման առաջադրանքը ժամեր չի ավելացնում՝ այն ցույց է տրված թվով ժամերի տակ («+2 առանց գնահատման»)։ Գնահատում տվեք առաջադրանքներին, որպեսզի պատկերը ճշգրիտ լինի։
- Կանաչ՝ նորմայի 80%-ից պակաս, դեղին՝ 80–100%, կարմիր՝ նորմայից ավել։ Սեղմեք վանդակի վրա՝ նրա առաջադրանքները տեսնելու և որևէ մեկը բացելու համար։
Ֆիլտրը թողնում է մեկ բաժին։ Հասանելի է workspace:staffing:reports:read իրավունքով (նույն մարդիկ, ովքեր տեսնում են ժամանակի հաշվետվությունը)։
Կադրերի ռեզերվ (/team/hr-pool)
Պարզ ասած՝ խողովակաշար մարդկանց համար, ովքեր ցանկանում են աշխատել P4P-ի հետ, բայց աշխատակից չեն (դեռ կամ ընդհանրապես) — հանրային հայտի ձևը լցնում է դիտարկման հերթը; հաստատումը թույլ է տալիս հրավիրել մարդուն նախագծի՝ որպես կապալառու, առանց պարտադիր հարթակի աշխատակից դարձնելու։
- Հանրային հայտ (
/hr-pool/apply, առանց մուտքի, ընդհանրապես առանցworkspace:staffing:*դարպասի — Turnstile + rate-limit) — մարքեթինգային ոճի էջ՝ ձևով (անուն/email/հեռախոս/messenger/տեսակ/հետաքրքրության ոլորտներ/հմտություններ, ֆորմատավորմամբ Լրացուցիչ տեղեկություն դաշտ և ոչ պարտադիր ռեզյումե՝ մեկ PDF / DOC / DOCX / TXT ֆայլ, մինչև 5 ՄԲ)։ Ստեղծում էHRPoolEntryառանց կապակցվածUser-ի։ - Դիտարկման հերթ (
/team/hr-pool, միայն աշխատակիցների համար) — կարգավիճակի վիճակագրության սալիկներ, ֆիլտրվող աղյուսակ։ «⋯» ըստ տողի. դիտարկման կարգավիճակների միջով անցում,:manage— ոչ խիստ գծային փող. «Վերցնել դիտարկման» հասանելի է միայնSUBMITTED-ից, բայց «Հաստատել»-ը հասանելի էSUBMITTEDկամUNDER_REVIEW-ից (թարմ դիմումը կարելի է հաստատել ուղղակիորեն, ամբողջովին շրջանցելով դիտարկումը — տես վերևի ուղեցույցը), իսկ «Ապաակտիվացնել»-ը հասանելի է ցանկացած կարգավիճակից, բացի արդենINACTIVE-ից։ «Հրավիրել» (միայն երբAPPROVEDէ և դեռ կապակցված չէ օգտատիրոջ հետ,:manage— ուղարկում է հարթակի թիմային հրավեր), ջնջում (միայն եթե գրառումն ունի ոչ մի նշանակման պատմություն)։ Որոնումը, ֆիլտրերը, դասավորումը և էջերը աշխատում են սերվերում, ուստի մեծ ռեզերվը չի դանդաղում. կարգավիճակների սալիկները հաշվում են այն, ինչ թողնում են որոնումը և մյուս ֆիլտրերը։ Ուղղությունները և հմտությունները չեն դասավորվում, իսկ տեսակը և աղբյուրը դասավորվում են ներքին կոդով։ - Գրառման քարտ — նույն գործողությունները, գումարած Խմբագրել (հայտատուի տեսակը, հետաքրքրության ոլորտները, հմտությունները — դասակարգման դաշտերը,
:manage) և դիտարկման ներքին նշումների մատյան (:manageնշում ավելացնելու համար. առանձին հայտատուի սեփական ինքնահայտարարած նշումներից)։ - Հաստատված բաց (2026-08-04), մասամբ փակված (2026-08-16). երկու backend-ում պատրաստ ուղիներ ինտերֆեյսից հասանելի չէին —
— ուղղված.HrPoolInvitationsController-ի հանրային ընդունման route-երը համապատասխան էջ չունեին/hr-pool-invitations/:token-ն այժմ գոյություն ունի՝ հայելով/platform-staff-invitations/:token-ը։ Կադրերի ռեզերվի հերթից ուղարկված հրավերը (կամ գրառման քարտի սեփական Հրավիրել հարթակ կոճակը, նույն օրը «⋯» ցանկից առանձնացված տեսանելի կոճակի) այժմ ունի իրական տեղ վայրէջք կատարելու։- Ինքնասպասարկվող «նշիր ինձ որպես հասանելի ռեսուրս» opt-in (
POST hr-pool/opt-in, բաց ցանկացած մուտք գործած platform օգտատիրոջ համար, ոչ միայն աշխատակիցների) դեռ ինտերֆեյսում ոչ մի տեղ trigger չունի — այսօր գոյություն ունեն միայն հանրային հայտի ձևը և ներքին դիտարկման հերթը։
Խմբագրել դիմումը / ավելացնել դիտարկման նշում — դաշտերի ուղեցույց
Խմբագրել երկխոսությունը ծածկում է միայն այն, թե ինչպես է դասակարգված այս հայտատուն — նրա անունը, email-ը, հեռախոսը և նախընտրած messenger-ը սահմանվել են մեկ անգամ հենց հայտատուի կողմից և այստեղ ընդհանրապես չեն փոխվում (ձևում չեն էլ երևում)։ Ի տարբերություն այս մոդուլի խմբագրման մյուս երկխոսությունների մեծ մասի, Պահպանել-ը ապաակտիվ չէ մինչև փոփոխություն անես — այն ակտիվանում է հենց Հայտատուի տեսակը և գոնե մեկ Հետաքրքրության ոլորտ լրացվեն, ուստի դրա վրա կտտոցը՝ առանց իրական խմբագրման, պարզապես նորից կպահպանի նույն արժեքները։
- Հայտատուի տեսակ (պարտադիր) — Individual / Agency / Company / Service provider։
- Հետաքրքրության ոլորտներ (պարտադիր, բազմակի ընտրություն) — Consulting / Marketing / Development / Design / QA / AI / Events / Other։ Պահանջվում է գոնե մեկը; Other-ի ընտրությունը բացում է ազատ տեքստի վանդակ դրա տակ, բայց — չնայած որ այն հայտնվում է հենց պարտադիր դաշտի տակ — ինքն այն մնում է ոչ պարտադիր, մինչև 200 նիշ։
- Հմտություններ (ոչ պարտադիր) — ազատ տեքստ, մինչև 500 նիշ։
- Դիտարկման նշումներ (առանձին վահանակ՝ դիմումի սեփական տեղեկատվության տակ, «Խմբագրել» երկխոսության մաս չէ) — աճող մատյան, ոչ մեկ դաշտ. յուրաքանչյուր նշում պարզ տեքստային վանդակ է՝ 1–4000 նիշ, ուղարկվում է սեփական Ուղարկել կոճակով (ապաակտիվ, քանի դեռ դատարկ է) և ընդմիշտ ավելացվում է քո անվան և ժամանակի հետ միասին — նշումները հնարավոր չէ խմբագրել կամ ջնջել ուղարկելուց հետո։ Տեսանելի են միայն այս էջին հասանելիություն ունեցող աշխատակիցներին, երբեք հայտատուին։
Քո պրոֆիլը կադրերի ռեզերվում (/account/hr-pool)
Պարզ ասած՝ միակ տեղը, որտեղ կապալառուն՝ կադրերի ռեզերվին կապակցված գրառում ունեցող, բայց հարթակի աշխատակցի դեր չունեցող մարդը, ընդհանրապես կարող է տեսնել որևէ բան իր մասնակցության մասին։ Ամբողջ /team-ը նրա համար փակ է, քանի որ այնտեղ ամեն մի էջ պահանջում է workspace:staffing:read, որը նա, ըստ սահմանման, չունի։
- Ընդհանրապես
workspace:staffing:*դարպաս չկա — բավական է պարզապես մուտք գործած լինել և ունենալ կապակցված գրառում (GET /hr-pool/me-ն և հարևան route-երը ստուգում են միայն ինքնությունը, ոչ ավելին)։ Հասանելի է աշխատանքային տարածքների էջի սալիկից և անձնական հաշվի կողային ցանկի կետից՝ երկուսն էլ ցուցադրվում են միայն երբGET /me-ն զեկուցում է կապակցված գրառման մասին (hrPoolEntryId), և կրկին թաքնվում են, հենց մարդը դառնում է նաև հարթակի աշխատակից. այդ ժամանակ նույն ամեն ինչն արդեն ցույց է տալիս իրական/team/hr-pool/:id-ը։ - Քո գրառումը — կարգավիճակ, հետաքրքրության ոլորտներ, հմտություններ։ Միայն կարդալու համար, խմբագրման ձև այստեղ դեռ չկա։
- Նախագծեր — բոլոր նախագծերը, որոնց կցված ես, յուրաքանչյուրի քո դերով։
- Առաջադրանքներ — բոլոր առաջադրանքները, որ քեզ նշանակված են, կարգավիճակով ու վերջնաժամկետով։
- Կենդանի թարմացում (2026-08-16). նախագծին կամ առաջադրանքին կցվելը երևում է այստեղ առանց վերաբեռնման — էջը բաժանորդագրված է քո անձնական ալիքին (
userRoom, մուտք միայն ինքնության հիման վրա, նույնը, ինչ օգտագործում է զանգակը), և թարմացվում է հենց այնnotification.createdազդանշանով, որը նաև զանգացնում է զանգակը։ Տես Նախագծի մասնակիցներ։
Վահանակ և ակտիվություն
/team/dashboard — իրական տվյալներ ամենուր. ողջույն, «Իմ վճարումները» բանը (ցուցադրվում է միայն երբ կան սպասող վճարման առաջարկներ ընդունելու/մերժելու համար — տես Finance մոդուլը վճարումների գործընթացի ամբողջական նկարագրության համար), մինչև ութ միատեսակ բաժնի քարտեր՝ Tasks/Projects/Team/Departments/HR Pool/Calendar/ Finance/Shared Documents, յուրաքանչյուրը ցուցադրվում է միայն իր իրավունքի առկայության դեպքում (առաջին հինգը պահանջում են workspace:staffing:read; Calendar-ը՝ workspace:calendar:read; Finance-ը՝ workspace:finance:read, մյուսներից ավելի նեղ իրավունք, ինչպես և իր կողային ցանկի կետը. Shared Documents-ը՝ files:read, տես IAM — սա էլ իրական Աշխատակազմ իրավունք չէ), վերջին ակտիվություն և արագ գործողությունների հղումներ (յուրաքանչյուրն էլ ունի սեփական իրավունքով փակում. «Նոր աշխատակից»-ը լրացուցիչ պահանջում է լինել սուպեր-ադմին կամ կազմակերպության սեփականատեր)։ Activity քարտ չկա. բաժնի քարտերից ներքև «Վերջին ակտիվություն» վահանակն արդեն ցույց է տալիս նույն հոսքը, և նույն հաշվարկով քարտն ոչինչ նոր չէր ասի։
/team/activity — չֆիլտրված սկզբնական հոսք (բոլոր տեսակի իրադարձություններ առաջադրանքների/նախագծերի/բաժինների/կադրերի ռեզերվի գրառումների/աշխատակիցների/օրացույցի իրադարձությունների վրա), տեսակի/գործողության/գործողի/նախագծի/բաժնի/ժամանակահատվածի ֆիլտրերով։ Թարմացվում է իրական ժամանակում։
Այստեղ նախկինում ընդհանուր փաստաթղթերի մասին սեփական բաժին կար — տեղափոխվել է IAM → Ընդհանուր փաստաթղթեր (2026-08-20)։ Իր բնույթով դա երբեք Աշխատակազմ ֆունկցիա չի եղել, պարզապես երթուղին ապրում էր Team Management-ի URL-տարածքում, ուստի այժմ նկարագրված է ֆայլերի պահեստի հնարավորության մնացած մասի հետ միասին։ Էջն ինքը կարճ ժամանակով տեղափոխվել է /org/p4p-internal/shared-documents, նույն ժամանակահատվածում, ապա վերադարձել է /team/shared-documents (2026-08-23), երբ պարզվեց, որ դա ամենօրյա գտնելիության մեջ ավելի թանկ էր, քան երթուղիների մաքրությունը արժեր — ամբողջական հիմնավորումը տես IAM բաժնում։ Դեռ հասանելի է մեկ սեղմումով՝ այս մոդուլի սեփական սայդբարից (layouts/team.vue, փակված files:read-ով, ոչ թե workspace:staffing:read-ով) և /team/dashboard-ի սեփական բաժնի քարտից ու quick action-ից։
Այս մոդուլի թեստավորում
scripts/e2e/menu/staffing.mjs-ը (68 ստուգում, կարելի է վերագործարկել ցանկացած պահի — ամբողջական ցանկը տես scripts/e2e/README.md-ում) գործարկում է այս մոդուլի հիմնական հոսքերը սկզբից մինչև վերջ՝ վահանակը (բաժնի քարտերը և արագ գործողությունները լիարժեք հասանելիությամբ սուպեր-ադմինի համար — ավելի նեղ իրավունքով դեպքը հայտնի բաց է, պահանջում է հատուկ platform-դեր), բաժինների ամբողջ ընտանիքը (ստեղծում/խմբագրում/ ջնջում, բաժնի սեփական «Դերեր» և «Ենթաբաժիններ» ներդիրները, նրա «Ակտիվություն» ներդիրը, նախագծի կցում/անջատում երկու ուղղություններով), նախագծերի ամբողջ ընտանիքը (ստեղծում/խմբագրում/ջնջում, նրա «Բաժիններ» ներդիրը, «Մասնակիցներ» ներդիրի «Ըստ բաժինների» տեսքը, փուլերի ստեղծում/ վերադասավորում/ջնջում, «Առաջադրանքներ» ներդիրի List-տեսքը, և Overview ներդիրի Vision դաշտը), նախագծերի միջով առաջադրանք ստեղծելու հոսքը՝ գումարած նախագծերի միջով «Առաջադրանքներ» էջի սեփական List-տեսքը (որոնում, նախագծի ֆիլտր, ֆիլտրերի զրոյացում), առաջադրանքի էջի սեփական ինլայն-խմբագրելի դաշտերը (Վերնագիր, Առաջնահերթություն — մեկական դաշտ :manage/canWriteOwn իրավունքների երկու աստիճաններից յուրաքանչյուրից), նրա Ենթաառաջադրանքներ քարտը (իրական ենթաառաջադրանքի ավելացում — առաջին անգամ կենդանի ստուգում parentTaskId-ի համար — կարգավիճակի ինլայն փոփոխություն, ջնջում), նրա Մեկնաբանությունները (ուղարկում, խմբագրում, ջնջում — իրական մեկնաբանություն՝ նույն rich-text կոմպոզերով, որ օգտագործվում է էջի մյուս մասերում; համընկնում է ավելի խորը, առանձին task-comment-edit-delete.mjs-ի հետ — տես scripts/e2e/README.md-ը այս ընդունված, փաստագրված կրկնության մասին), և նրա «Պատմություն» ներդիրը (անցնում է դրան և հաստատում, որ իրական իրադարձություններն արդեն ցուցադրվում են՝ վերևի Վերնագիր/Առաջնահերթություն փոփոխություններից), և կադրերի ռեզերվը (գրառումն ստեղծվում է ուղղակիորեն ԲԴ-ում — հենց հանրային դիմումի ձևը փակված է Turnstile-ով, չի ավտոմատացվում, տես ծանոթագրությունը ստորև — անցնում է վերանայման կարգավիճակներով՝ վերցնել դիտարկման, հաստատել, ավելացնել դիտարկման նշում գրառման սեփական էջում, հրավիրել հարթակ, ջնջել)։ Հանրային դիմումի ձևի սեփական տրամաբանությունը (ամեն ինչ, բացի Turnstile վիջեթից և իրական ուղարկումից) ծածկված է unit-թեստերով, apps/portal/pages/hr-pool/apply.test.ts (6 թեստ, 2026-08-12)՝ honeypot-ը լուռ ձևացնում է հաջողություն՝ երբեք չկանչելով API-ն; ուղարկման ամբողջական payload-ը (interestAreaOther-ը ներառվում է միայն երբ OTHER-ը ընտրված հետաքրքրության ոլորտների մեջ է; phone/preferredMessenger-ն ուղարկվում են որպես undefined, ոչ թե '', երբ դատարկ են թողնվել); rate-limit ունեցող պատասխանը ցույց է տալիս cooldown հաղորդագրությունը և գործարկում է ընդհանուր կրկնակի ուղարկման թայմերը; ընդհանուր API սխալը ցույց է տալիս սերվերի սեփական հաղորդագրությունը։ NuxtTurnstile-ը լոկալ stub է՝ reset() spy-ով, որը հաստատում է, որ handleFormSubmit-ի սեփական turnstileRef.value?.reset() կանչը կատարվում է ուղարկման յուրաքանչյուր փորձից հետո (հաջողված կամ ոչ — Turnstile token-ը մեկանգամյա է)։ Նաև Աշխատակիցներ (/team/members, նախկինում ընդհանրապես կենդանի ծածկույթ չուներ — 1-ին փուլը ծածկեց ցուցակը/թաղանթը/Overview-ն՝ ցուցակի որոնումը գտնում է իրական աշխատակցի, աշխատակցի քարտը բեռնվում է իրական տվյալներով. 2-րդ փուլն ավելացրեց «Առաջադրանքներ» ներդիրը, որը ցույց է տալիս իրական առաջադրանք, որը նշանակվել է այս աշխատակցին նույն գործարկման ընթացքում ավելի վաղ. 3-րդ փուլն ավելացրեց «Ժամանակացույց» և «Ակտիվություն»-ը, երկուսն էլ բեռնվում են առանց սխալի. 4-րդ փուլը փակում է «Թեկնածուի դիմում» ներդիրի միավոր-ծածկույթը, առանց նոր կենդանի ստուգման — տես ծանոթագրությունը ստորև, թե ինչու)։ «Նախագծեր» և «Թեկնածուի դիմում» ներդիրները, ինչպես նաև «Ուղարկել արձակուրդի» և «Հեռացնել աշխատակազմից»-ը մնում են առանց կենդանի ծածկույթի, տես նույն ծանոթագրությունը։ Board-տեսքը և drag-and-drop-ը «Առաջադրանքներ» էջում ծածկված են առանձին, կենդանի, realtime-board-and-task.mjs սկրիպտով — այստեղ չեն կրկնվում։ Սա փակում է առաջադրանքի էջի փուլային բաժանման բոլոր 4 բլոկների կենդանի ծածկույթը — feed-ի հները-բացահայտելու pagination-ը և «Վլումների» վահանակի dedup/scroll-to-source տրամաբանությունը մնում են ծածկված միայն միավոր-թեստերով (կենդանի գործարկելու համար պետք է 15+ մեկնաբանություն — չափազանց դանդաղ այս sweet-ի համար)։
/team/activity-ը (գլոբալ, չֆիլտրված սկվոզ ֆիդը՝ ամեն /team իրադարձություն առանց նախապես կիրառված scope-ֆիլտրի, ի տարբերություն այս մոդուլի ցանկացած այլ ակտիվության մակերևույթի) ունի կենդանի ծածկույթի երկու առանձին ուղղություն, ստուգված նախապես, մինչև որևէ նոր բան ավելացնելը. «N նոր»-ի կենդանի-թարմացման մեխանիզմը հենց այս էջում արդեն հիմնավոր կերպով ապացուցված է realtime-new-items-pill.mjs-ով (կանոնի երկու կեսերն էլ՝ տողերն անձայն միաձուլվում են վերևում, պահվում և առաջարկվում որպես հաշվիչ, երբ պատմության մեջ ոլորված են) և realtime-two-sessions.mjs-ով. նոր ֆայլ, scripts/e2e/menu/activity.mjs (7 ստուգում, 2026-08-12), ծածկում է այն, ինչ ոչ մեկը չի հպում՝ էջի սեփական ֆիլտրերն ու որոնումը. ֆիդը բեռնվում է իրական իրադարձություններով, անիմաստ որոնման հարցումը այն դատարկում է «ոչինչ չի գտնվել» վիճակին, իսկ մաքրումը վերականգնում է ֆիդը; տիպի ֆիլտրի տարբերակների ցանկը ցուցադրում է իրական արժեքներ; ֆիլտրի ընտրությունը/զրոյացումը միացնում/ անջատում է վահանակի «Զրոյացնել ֆիլտրերը» կոճակը (միակ էկրանի վրայի ազդանշանը, որ ֆիլտր ակտիվ է, քանի որ ինքը trigger-ը պատկերակ է առանց տեսանելի պիտակի)։ Ուղեկցող միավոր-ծածկույթը, apps/portal/pages/team/activity.test.ts (10 թեստ) — որոնում ֆիդի բոլոր 5 դաշտերով, որոնցով կարող է համընկնել (դերակատար/առարկա/անուն/նախագիծ/բաժին), տիպի/գործողության/դերակատարի/ նախագծի/բաժնի/ժամանակահատվածի ֆիլտրերը, յուրաքանչյուրը ճիշտ նեղացնող ցանկը, activeFilterCount-ը, որը միտումնավոր բացառում է որոնումը, և — այս մոդուլի առաջին էջը, որ իրականում օգտագործում է դա — useTeamActivity()-ի սեփական cursor-ի վրա հիմնված loadMore pagination-ը (hasMore-ը անջատվում է, երբ գալիս է կարճ էջ), որը ցանկացած ԱՅԼ ակտիվության մակերևույթի թեստերը երբեք չեն հպում, քանի որ նրանցից ոչ մեկը «բեռնել ևս» վիճակ չի ցուցադրում։
Ընդհանուր փաստաթղթերը (միասնական ընդհանուր «P4P Internal» ֆայլային տարածությունը, /team/shared-documents — տես IAM → Ընդհանուր փաստաթղթեր) ընդհանրապես ծածկույթ չունեին՝ ոչ միավոր, ոչ կենդանի, այս փուլից առաջ։ Նոր ֆայլ, scripts/e2e/menu/shared-documents.mjs (8 ստուգում, 2026-08-12), այս ամբողջ փաթեթի առաջին սկրիպտն է, որ կենդանի կերպով իրական ֆայլ է վերբեռնում. FileUpload-ի drag-and-drop գոտու հետևում գտնվող թաքնված <input type="file">-ը ընդունում է page.setInputFiles-ը ուղղակիորեն, շրջանցելով դրա սեփական drag-and-drop/click-to-open ինտերֆեյսը (ինքն այդ բաղադրիչի հոգսն է, արդեն ծածկված իր սեփական ui-kit-թեստերով)։ Մեկ շարունակական կենսացիկլ, որը վերաօգտագործում է նույն վերբեռնված ֆայլը, այլ ոչ թե ստեղծում երեքը. իրական .txt-ֆայլի վերբեռնում (հաստատված իրական 201-ով), գտնում որոնման միջոցով, փափուկ ջնջում, Աղբարկղում հայտնվելու հաստատում, վերականգնում, ակտիվ ցանկ վերադառնալու հաստատում, ապա կրկին փափուկ ջնջում և վերջնական մաքրում Աղբարկղից — ամբողջովին ինքնամաքրվող։ Մեկ իրական նրբություն, որ գտնվեց «անհետացավ» ստուգումները գրելիս. ջնջման toast-ը գրում է «{name}» ջնջվեց, որը բառացիորեն պարունակում է ֆայլի սեփական անունը, այնպես որ ողջ էջի տեքստային որոնումը չի կարող տարբերել «դեռ աղյուսակում է»-ը «դեռ չմարած toast-ում հիշատակված է»-ից — ամեն ներկայության/բացակայության ստուգում կապված է իրական աղյուսակի տողին (page.locator('tr', { hasText: fileName })), ոչ թե ողջ էջի տեքստային որոնմանը։ Ուղեկցող միավոր-ծածկույթը, apps/portal/pages/org/[slug]/shared-documents.test.ts — Բլոկ A՝ ցանկ, որոնում, ակտիվ/աղբարկղ փոխարկիչ, canManage գեյթինգ, ներբեռնում, փափուկ ջնջում, վերականգնում, վերջնական ջնջում (11 թեստ) և Բլոկ B (ինքը՝ վերբեռնման հոսքը, նույն փուլում, ևս 12 թեստ՝ ընդամենը 23)՝ պատկերի ընտրությունը անմիջապես ստանում է blob preview, մինչդեռ չպրիview-վող ֆայլը՝ ոչ (PDF/ video preview-ները իրական բրաուզերային աշխատանք են՝ դինամիկորեն import արվող pdf.js decode և offscreen <video> canvas-ից կադրի վերցում — միտումնավոր չեն ստուգվում այստեղ, նույն «իրական decode pipeline-ը մոկավորելու արժեք չունի» որոշումը, ինչ այս նախաձեռնության այլ վայրերում), ընտրված ֆայլի հեռացումը հետ է կանչում իր blob URL-ը, confirmUpload-ի իրական XMLHttpRequest ստեղծումը ճիշտ Authorization/X-Organization-Id header-ներով և իրական upload.onprogress իրադարձություն, որը թարմացնում է տարրի տոկոսը, 201-ը մաքրում է տարրը և վերաբեռնում ցանկը, ոչ-401 սխալի կարգավիճակը ցույց է տալիս սերվերի սեփական հաղորդագրությունը (հետ գնալով ընդհանուր հաղորդագրության ոչ-JSON մարմնի համար), ցանցային մակարդակի xhr.onerror, 401-ը թարմացնում է token-ը Nuxt-ի գլոբալ $fetch-ի միջոցով՝ ոչ թե api-client mock-ի, քանի որ թարմացումն աշխատում է մինչև որ վավեր token կա կպցնելու համար՝ և կրկնում է նոր token-ով, ձախողված թարմացումը թողնում է տարրը սխալի կարգավիճակում, այլ ոչ թե անվերջ կրկնվում, onRetry-ն կրկին ուղարկում է նույն սպասող ֆայլը, և onRemove-ը դարձնում է հետագա onRetry-ն այդ id-ի համար no-op։ Այս նախաձեռնության առաջին էջն է, որին ընդհանրապես անհրաժեշտ էր XMLHttpRequest/$fetch մոկավորում՝ տեղական MockXHR fake գումարած stub-ված $fetch, ոչ մեկը դեռ չի տեղափոխվել ընդհանուր test setup (առայժմ միակ օգտագործումը)։ Վերևի կենդանի վերբեռնման ստուգումն արդեն ապացուցում է հաջող ուղին սկզբից մինչև վերջ. Բլոկ B-ի ծածկույթը միտումնավոր ԵԶՐԱՅԻՆ դեպքերն են, որոնք կենդանի վազքով մաքուր կերպով հնարավոր չէ ստիպել (իրական 401, ցանցային ձախողում վերբեռնման կեսին) — նույն «կենդանին ապացուցում է հաջող ուղին, միավորը՝ եզրերը» բաժանումը, որն այս նախաձեռնությունն արդեն օգտագործում է այլ վայրերում (օրինակ՝ calendar.mjs-ը բաց է թողնում կենդանի drag-move-ը՝ հօգուտ onMoveEvent-ի միավոր-ստուգված rollback-ի)։
/team/departments/[id]/* և /team/projects/[id]/*-ի յուրաքանչյուր ներդիր ունի նաև իր սեփական միավոր-թեստի ֆայլը (apps/portal/pages/team/{departments,projects}/**/*.test.ts), որը մանրամասն ծածկում է իրավունքների պահանջները, ֆիլտրերի/կրկնօրինակների հեռացման տրամաբանությունը և անհամապատասխանության նախազգուշացումները։ apps/portal/pages/team/dashboard.test.ts-ը (28 միավոր-թեստ) նույնն անում է վահանակի համար՝ յուրաքանչյուր քարտի և արագ գործողության տեսանելիությունն ըստ իրավունքի, Calendar քարտի հաշվարկը occurrences-ից, ոչ թե իրադարձության սեփական startsAt-ից (կրկնվող շարքի առաջին դեպքից, ոչ թե ընթացիկ շաբաթից), և Finance քարտի անհամապատասխանությունների համեմատումը։ apps/portal/pages/team/tasks/ index.test.ts-ը (14 միավոր-թեստ) նույն կերպ ծածկում է նախագծերի միջով «Առաջադրանքներ» էջի List-տեսքը՝ ֆիլտրերի կասկադային ցանկերը (նախագծի ֆիլտրը նեղացնում է բաժնի/փուլի/պատասխանատուի ցանկերը դեպի այդ նախագիծը), երկու watcher-ները, որոնք զրոյացնում են այլևս անվավեր ստորադաս ֆիլտրը, ժամկետի և առաջնահերթության ֆիլտրերը, ?project=-ի մեկանգամյա անցումը կոնկրետ նախագծի «Առաջադրանքներ» ներդիրից (որը, ի տարբերություն նույն ներդիրի սեփական ?stage=-ի, նաև փոխում է տեսքը կանբանի), վիճակագրության քարտերի ածանցյալ հաշվիչները, և ենթաառաջադրանքների հավաքագրումը կանբան քարտի համար։ Redirect-միայն activity.vue էջը ծածկված է նույն ֆայլում։ apps/portal/pages/team/tasks/[id].test.ts-ը (38 միավոր-թեստ) ամբողջովին ծածկում է առաջադրանքի էջի ամբողջ 4-բլոկանոց փուլային բաժանումը՝ յուրաքանչյուր ինլայն դաշտի PATCH մարմինը (Փուլի/Բաժնի/Գնի զրոյացման երկու ուղղությունները, բացահայտ null-ի և ոչինչ-չանող undefined-ի տարբերությունը Ժամկետի դեպքում, Պատասխանատուի/Օգնականների POST/DELETE կանչերը), ամբողջական :manage-vs-canWriteOwn իրավունքների մատրիցան — Կարգավիճակը այն միակ դաշտն է, որ կարծես պետք է լինի միայն :manage (այս փաստաթղթում ամենուր խմբավորված է Փուլի/Բաժնի/Պատասխանատուի/Օգնականների/Գնի հետ), բայց իրականում canWriteOwn է, նույն աստիճանը, ինչ Նկարագրության/ Առաջնահերթության/Ժամկետի/Առաջընթացի; միայն կանբան տախտակի սեփական drag-and-drop-ը կարգավիճակի փոփոխման համար մնում է միայն :manage — առաջընթացի slider-ի debounce-ը, առաջադրանքի ջնջումը, Ենթաառաջադրանքներ քարտի սեփական տեսանելիության կանոնները, ասիմետրիան հիմնական առաջադրանքի canWriteOwn-select կարգավիճակի և ենթաառաջադրանքի տողի ավելի խիստ :manage-only select-ի միջև, Մեկնաբանությունները (կոմպոզերի canComment փակքիչը, ձախողված ուղարկումը, որը պահպանում է սևագիրը կրկնության համար useChatSubmit-ի սեփական պայմանագրով, և մեկնաբանության խմբագրում/ջնջումը, որ կապված է բացառապես հեղինակության հետ՝ isMyComment — ամբողջովին անկախ :manage/canWriteOwn-ից, ստուգված իրավունքների երեք համակցություններով), և Պատմություն/feed-ենթակառուցվածքը («Պատմություն» ներդիրի փոխարկում և task.comment_created-ի բացառումը, feedVisibleCount/revealOlderFeed/feedHasMore, «Վլումների» վահանակի dedup-ը ըստ ֆայլի id-ի տարբեր աղբյուրներից, և այս ծածկույթը գրելիս հայտնաբերված իրական սխալ՝ goToAttachmentSource-ը ընդարձակում է feedVisibleCount-ը՝ ցույց տալու հին մեկնաբանության վլումը, բայց եթե սեղմումը նաև ստիպված է փոխարկել ներդիրը (օրինակ՝ սկսելով «Պատմությունից»), էջի սեփական watch(feedTab, ...)-ը (որը զրոյացնում է պատուհանը ամեն ներդիրի փոխարկման ժամանակ) գործարկվում է հենց այն await nextTick()-ի վրա, որին սպասում է հենց այս ֆունկցիան հաջորդիվ, և լուռ չեղարկում է հենց նոր արված ընդարձակումը; դրսևորվում է միայն ներդիրների միջև անցնելիս, հաստատված է հաջողված, առանց փոխարկման վերահսկիչ թեստի կողքին; դեռ չուղղված, հայտնված է «թեստավորման ընթացքում հայտնաբերված բացերի մասին գրել» մշտական հրահանգի համաձայն)։ apps/portal/pages/team/hr-pool/ index.test.ts-ը (13 միավոր-թեստ) և .../[id].test.ts-ը (8 միավոր-թեստ) միասին ամբողջովին ծածկում են կադրերի ռեզերվի կարգավիճակների վիճակների մեքենան — սա ոչ խիստ գծային փող է. «Վերցնել դիտարկման»-ը հասանելի է միայն SUBMITTED-ից, «Հաստատել»-ը՝ SUBMITTED կամ UNDER_REVIEW-ից (թարմ դիմումը կարելի է հաստատել ուղղակիորեն), «Ապաակտիվացնել»-ը՝ ցանկացած կարգավիճակից, բացի արդեն INACTIVE-ից, «Հրավիրել»-ը՝ միայն APPROVED և դեռ չկապակցված գրառման համար, իսկ «Ջնջել»-ը՝ միայն եթե գրառումն ունի ոչ մի նշանակման պատմություն, գումարած գրառման սեփական էջի դիտարկման նշումների կոմպոզերի՝ canComment-ի ոճով փակքիչը։ apps/portal/pages/team/members/{index,[id],[id]/index,[id]/projects, [id]/tasks,[id]/schedule,[id]/activity,[id]/candidate-application}.test.ts-ը (4-փուլային բաժանման 1-ին փուլը ծածկեց ցուցակը/թաղանթը/Overview-ն; 2-րդ փուլն ավելացրեց Նախագծեր+Առաջադրանքներ; 3-րդ փուլն ավելացրեց Ժամանակացույց+Ակտիվություն; 4-րդ փուլն ավելացնում է «Թեկնածուի դիմում»-ը, փակելով /team/members-ը և ամբողջ այս մոդուլը) ծածկում է ցուցակի որոնման/բաժնի/կարգավիճակի ֆիլտրերը, departmentsLabel/ rolesLabel-ը՝ միավորելով բոլոր արժեքները, ոչ միայն առաջինը, «Ավելացնել անդամ»-ը, որը պահանջում է platform:staffing:manage ԵՎ (isSuperAdmin կամ isOwner — համընկնում է իրական հրավերի էնդփոինթի SuperAdminOrOwnerGuard-ի հետ) այս փուլը գրելու պահին — այդ ժամանակվանից փոխարինվել է. դարպասն այժմ մեկ, առանձին platform:users:invite ստուգում է, առանց staffing/superadmin համակցված պայմանի, տես Աշխատակիցներ վերևում — թաղանթի տաբերի երթուղավորումը և նրա «⋯» մենյուն («Ուղարկել արձակուրդի»/«Վերադառնալ արձակուրդից»՝ platform:users:manage-ի ներքո, «Հեռացնել աշխատակազմից»՝ isSuperAdmin/isOwner-ի ներքո), Overview ներդիրի անձնական տվյալների դաշտերն ու հետաքրքրությունների պիտակավորումը, «Նախագծեր» ներդիրի տեսքի ռեժիմը (ցանց/ցուցակ, պահվում է localStorage-ում, վերապրում է նոր mount), նրա երկու տարբեր դատարկ վիճակները, «Առաջադրանքներ» ներդիրի դասավորության կարգը (բաց առաջադրանքները՝ ավարտվածներից առաջ, ամենամոտ ժամկետը՝ խմբի ներսում առաջինը) և ուշացած առաջադրանքների ընդգծումը (ավարտված առաջադրանքն անցած ժամկետով միտումնավոր ՉԻ ընդգծվում), «Ժամանակացույց» ներդիրի տեսանելի/փակված ժամանակի բաժանումը, փակված ժամանակի տեսանելիությունը (TEAM-ը ցույց է տալիս իրական վերնագիրը, մնացած ամեն ինչ կարդացվում է որպես ընդհանրացված «Զբաղված», կրկնվող բլոկն ավելացնում է «կրկնվում է շաբաթական» հուշում), և զբաղված/տեսանելի-իրադարձություն dedup-ը (հաստատված հանդիպման սեփական միջակայքը չպետք է նաև նկարի կրկնվող անթափանց «զբաղված» չիպ նույն դիրքում), «Ակտիվություն» ներդիրի սեփական, դերասանով սահմանափակված feed-ը — սա ամբողջ նախաձեռնության մեջ առաջին էջն է, որ շոշափում է Օրացույցի մոդուլի սեփական composable-ները (useCalendarEvents/useEventTooltip/toCalendarItems)՝ ապագա առանձին /team/calendar փուլից շատ առաջ, որը կրկին կօգտագործի նույն stub-ի մոտեցումը, — և «Թեկնածուի դիմում» ներդիրի կոնտակտային դաշտերը, interestAreaLabel-ի OTHER-ը սեփական մանրամասնությամբ ճյուղը, նշումների քարտի սեփական առկայության դարպասը, և այն, որ ամբողջ ներդիրը ընդհանրապես ոչինչ չի ցուցադրում այն աշխատակցի համար, ում ֆայլում դիմում չկա։ Միտումնավոր ԱՌԱՆՑ կենդանի e2e ստուգման այս փուլում — staffing.mjs-ի սեփական HR Pool հոսքը (testHrPool) հրավիրում է դիմորդին հարթակի աշխատակազմ և անմիջապես ջնջում HR Pool գրառումը, բայց այդ հրավերը ոչ ոք երբեք չի ընդունում, ուստի իրական TeamMember լրացված candidateApplication-ով ընդհանրապես գոյություն չունի այս հավաքածուի ընթացիկ գործարկման մեջ. մեկը ավելացնելը կնշանակեր ընդունել երկրորդ միանգամյա հրավեր նոր բրաուզերի context-ի միջոցով (նույն ձևը, ինչ acceptStaffInvite-ը)՝ բացառապես արդեն մանրակրկիտ միավոր-թեստավորված read-only տեսք վարժեցնելու համար — անհամաչափ կարգավորման ծախս այս փուլի համար, նույն դատողությունը, որ բաց թողեց կենդանի «Duplicate»-ը (փուլ 27) և «Transfer ownership»-ը (փուլ 26)։
Հայտնաբերված, չուղղված, սրվել է այս փուլում (թեստային ենթակառուցվածք, ոչ հավելվածի կոդ). staffing.mjs-ը երբեք չի հեռացրել աշխատակազմից «E2E Staffing Member» միանգամյա հաշիվը, որը հրավիրում է յուրաքանչյուր գործարկման ժամանակ — ի տարբերություն Բաժինների/Նախագծերի (յուրաքանչյուրը ուղղված է իր սեփական փուլում), այստեղ ոչինչ չի մաքրում, ուստի ցուցակը կուտակել է 10+ որբ։ Նախկինում նկարագրված էր որպես ԲԴ-ի աղբ; այս փուլում պարզվեց, որ ավելի վատ է — ցուցակի սեփական անուն-որոնումը ընկավ ՀԻՆ գործարկման անդամի վրա, ոչ թե ընթացիկի, ինչի պատճառով նոր «Առաջադրանքներ»-ի ստուգումը սկսեց ֆլեյքել (այդ անդամի սեփական ներդիրը ճիշտ ասում էր «Դեռ առաջադրանքներ չկան», պարզապես ոչ այն մարդու համար)։ Շրջանցվել է staffEmail-ով որոնելով (եզակի, ժամանակային դրոշմով) ընդհանուր ցուցադրվող անվան փոխարեն, բայց հենց որբերի կուտակումն ինքնին դեռ չլուծված է և կբռնի ցանկացած ապագա անուն-հիմնված որոնում այստեղ նույն ձևով։ Նշվել է, ոչ միանձնյա ուղղվել։
Իրական սխալներ, որոնք հայտնաբերվել և ուղղվել են ընթացքում (2026-08-04 — 2026-08-11)՝ manage_own-ի 403 սխալը ֆայլ կցելիս («Առաջադրանքներ» բաժնում նկարագրված է վերևում); բացակայող system-org-shared-documents կազմակերպությունը (վերստեղծված և տեղափոխված packages/database/prisma/seed.ts, որպեսզի գոյատևի հետագա վերակայումներից) — առանց դրա առաջադրանքի/նախագծի ցանկացած կցորդի կամ Ընդհանուր փաստաթղթերի ֆայլի վերբեռնումն ընկնում էր մոլորեցնող «գերազանցված է քվոտան» սխալով; նախագծի «Մասնակիցներ» ներդիրը մարդկանց հաշվում էր մեկ անգամ (ներդիրի սեփական հաշվիչում), բայց ցուցադրում էր մեկ տող յուրաքանչյուր բաժին×անձ զույգի համար (աղյուսակում) — ուղղվել է աղյուսակը մեկ մարդու համար մեկ տողի խմբավորելով։ Դեռ չուղղված՝ reka-ui-ի AlertDialogAction-ի իրական, նախկինում չհայտնաբերված սխալը (դա պարզապես DialogClose է՝ առանց defaultPrevented ստուգման), որը լուռ խափանում է «թողնել երկխոսությունը բաց, ցույց տալ սերվերի սխալը հենց դրա մեջ» սկզբունքը այս մոդուլում և IAM-ում մի քանի ջնջման/ անջատման երկխոսություններում — բաժնի «Դերեր» ներդիրի սեփական վերարտադրումն այլևս գոյություն չունի (ամբողջ ներդիրը հանվել է 2026-08-14-ին, տես Անդամներ վերևում), բայց այս մոդուլի մյուս ջնջման երկխոսություններում նույն դասի սխալը դեռ վերարտադրելի է; դեռ չուղղված, քանի որ ուղղումը շոշափում է prod-կոդը բոլոր տեղերում միանգամից — սա առանձին աշխատանք է, ոչ թե թեստավորում։
Ավտոմատացմամբ չծածկված, դեռ արժե ձեռքով ստուգել — տես docs/MANUAL_TESTING.md. բաժնի ղեկավարի (և միայն նրա) հասանելիությունը իր բաժնի «Ֆինանսներ» ներդիրին, կադրերի ռեզերվի իրական հանրային դիմումի ձևը (փակված Turnstile-ով, ուստի ավտոմատ թեստը ստեղծում է գրառումը ուղղակիորեն ԲԴ-ում, ոչ թե ձևի միջոցով), առաջադրանքի կարգավիճակների կարգավորման երկխոսությունը, drag-and-drop կանբան տախտակի վրա, և read/manage/manage_own իրավունքով փակումը յուրաքանչյուր էջի փոփոխող կառավարիչների վրա, որոնք վերևում նշված չեն։