Ստուգեք արժեքի տեսակը 1s 8.3. Ինչպես ստուգել փաստաթղթի, գրացուցակի արժեքի տեսակը

Սահմանված տեսակները նոր 1C մետատվյալների օբյեկտ են, որոնք հայտնվել են հարթակի 8.3 տարբերակում: Օբյեկտը օժանդակ բնույթ է կրում։ Եկեք քննարկենք, թե որոնք են սահմանված տեսակները և խնդիրները, որոնք կարող է լուծել այս օբյեկտը:

Սահմանված են տվյալների նոր տեսակներ, որոնց հավաքածուն որոշում է հավելվածի լուծումը մշակողը: Այն բաղկացած է մի քանի վավեր տեսակներից: Տվյալների այս տեսակը կարող է լինել ցանկացած կոնֆիգուրացիայի հատկանիշի տեսակ, բացառությամբ սահմանված տեսակի և « « օբյեկտի:

Ստացեք 267 վիդեո դասեր 1C-ում անվճար.

Կարգավորումներ

Այս օբյեկտի համար այդքան շատ կարգավորումներ չկան.

Նրանք. 1C-ում անունից և հոմանիշից բացի, սահմանված տեսակներն ունեն միայն օբյեկտների տեսակների մի շարք:

1C 8.3-ում սահմանված տեսակների օգտագործման օրինակ

Այս օբյեկտի համար կարելի է գտնել հավելվածների մեծ բազմազանություն:

Օգտագործման օրինակներ.

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

և շատ ավելին:

Եթե ​​դուք սկսում եք սովորել 1C ծրագրավորում, խորհուրդ ենք տալիս մեր անվճար դասընթացը (մի մոռացեք

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

Արժեքների տեսակները

1C. Ձեռնարկությունը նոր տարբերակներում ներառել է հատուկ գործառույթ (հարթակ 8.2): Օգտագործելով այն, դուք կարող եք ավելացնել ցանկացած հատուկ պարամետր տվյալների համակարգի ցանկացած անվանման կամ տարրի վրա: Սա արվել է համակարգը խմբագրելը և նոր տարրեր ավելացնելը հեշտացնելու համար: Այս գործառույթը կոչվում է «Արժեքի տեսակ»:

Փաստորեն, սա այն հիմնական հասկացություններից մեկն է, որը պարունակում է ծրագրավորման լեզուների մեծ մասը: Օգտագործելով այն, դուք կարող եք դասակարգել տարբեր տվյալներ: Օրինակ՝ ամսաթվեր, թվեր, տողեր, հղումներ: Սրանք ընդամենը հիմնական դասակարգումներ են: Դրանք կարող են շատ ավելին լինել: Ասենք, եթե ձեր համակարգում մուտքագրեք քաղաքների մասին տեղեկատվություն, կարող եք օգտագործել՝ մայրցամաք, երկիր, տարածաշրջան և այլն։

Փորձաքննություն

Դուք կարող եք ստուգել որոշակի դաշտ՝ օգտագործելով հարցումների լեզուն: Ավելի ճիշտ նրա գործառույթները՝ TYPE VALUE: Այսինքն, եթե մենք ուզում ենք պարզել, թե ինչ տեսակի տեղեկատվություն է պարունակում հետաքրքրող բջիջը, մենք պետք է օգտագործենք հրամանը.

VALUE TYPE (արժեք) = TYPE (տող)

Վերոնշյալ օրինակում մենք սահմանեցինք՝ օգտագործելով հրամանը. ամենապարզ ձևը. Հարցման վավերացման մեկ այլ օրինակ.

Փաստաթղթեր

Կան բավականին մի քանի տեսակներ. օգտվողները կարող են բավարարվել սկզբնականներով կամ մուտքագրել իրենցը՝ բարելավելու համար տեղեկատվական բազան. Ահա դրանցից մի քանիսը.

  • DocumentLink. Այն օգտագործվում է համակարգի այլ մասերում տարբեր օբյեկտների հղումները հարմար պահելու համար:
  • DocumentObject - փաստաթղթերի խմբագրում:
  • DocumentSelection - տվյալների բազայից օբյեկտների տեսակավորում:

Բացի այդ, կան հատուկ տերմիններ, որոնք բնութագրում են ցանկացած տվյալ.

  • ձև;
  • գիծ;
  • բուլյան;
  • թիվ;
  • ամսաթիվը;
  • զանգված;
  • վանդակ;
  • նկար.

Սրանք դրանցից միայն մի քանիսն են: Ցանկացած օբյեկտ կարող է լինել միայն ինչ-որ բան այս ցանկից: Boolean-ը հատուկ պարամետր է, որն ընդունում է երկու արժեք՝ ճշմարիտ կամ կեղծ: Կան նաև հատուկ պիտակներ, որոնք թույլ են տալիս հարմարեցնել հարցումը՝ երբ, որտեղ, ինչպես, այլապես և այլն: Նրանք սահմանում են ծրագրի վարքագծի ալգորիթմը: 1C-ն առանձնանում է նրանով, որ այս բառերն այստեղ, ինչպես և մնացած ամեն ինչ, կարող են մուտքագրվել ռուսերեն:

Կարևոր է հասկանալ, որ այս ամենը սկսնակների և ոչ պրոֆեսիոնալների կողմից կընկալվի որպես չինական գրագիտություն։ Հասկանալու համար, թե ինչի մասին է խոսքը և արդյունավետ օգտագործել 1C-ը, դուք պետք է իմանաք ծրագրավորման հիմունքները։ Ընդհանուր առմամբ, 1C ծրագրում հարցումի տեսակը ստուգելը բավականին հեշտ կլինի այլ գործողությունների համեմատ:

Գլխավոր Սկսնակ ծրագրավորողների համար Սովորում ենք ծրագրավորել

Ինչպե՞ս ստուգել փաստաթղթի կամ գրացուցակի արժեքի տեսակը:

Նախ, ներկառուցված լեզուն իրականացնում է մի քանի տեսակներ՝ մեկ հավելվածի օբյեկտի հետ աշխատելու համար։

Օրինակ՝ առաջադրանքներ, որոնք լուծվել են 1C:Enterprise 7.7-ում ըստ տեսակի Փաստաթուղթայժմ լուծվում են մի քանի տեսակներով. Նրանք բաժանվում են ըստ իրենց նպատակի.

Տիպ Փաստաթղթի օբյեկտօգտագործվում է առանձին փաստաթղթեր գրանցելու և ջնջելու համար:

Տիպ Փաստաթղթերի ընտրությունօգտագործվում է տվյալների բազայում պահվող փաստաթղթերի միջոցով կրկնելու համար:

Կան տվյալների այլ տեսակներ, որոնք նախատեսված են փաստաթղթի հետ աշխատելու համար: Մոդուլներ գրելիս օգտագործվում են այն տեսակները, որոնք անհրաժեշտ են կոնկրետ խնդիրներ լուծելու համար։

Երկրորդ, ներկառուցված լեզվում երկու հասկացություն չկա. ՏիպԵվ Դիտել. Կազմաձևման յուրաքանչյուր օբյեկտ ունի տիպերի իր հավաքածուն, որոնք օգտագործվում են ներկառուցված լեզվում` իր նկարագրած հավելվածի օբյեկտի հետ աշխատելու համար: Այսինքն, կոնֆիգուրացիան օգտագործելիս չի լինի այնպիսի տեսակ, ինչպիսին է DocumentLink, և կլինեն հատուկ տեսակներ, օրինակ, DocumentLink.Invoice, DocumentObject.Invoice, DocumentLink.Invoiceև այլն։

Բացի այդ, տիպերը շահարկելու համար օգտագործվում են ոչ թե դրանց լարային անունները, այլ հատուկ տեսակ Տիպ. Տիպի արժեքը Տիպկարելի է ձեռք բերել ֆունկցիայի միջոցով Տիպ(), ստանալով տիպի անունը որպես պարամետր։

Փոփոխականի արժեքի տեսակը ստուգելու համար անհրաժեշտ է որոշել դրա տեսակը՝ օգտագործելով ֆունկցիան TypeValue ()և օգտագործիր ֆունկցիան Տիպ()անվանական տեսակ ստանալու համար։

Օրինակ:

Ուշադրություն. Սա դասի ներածական տարբերակն է, որի նյութերը կարող են թերի լինել։

Մուտք գործեք կայք որպես ուսանող

Մուտք գործեք որպես աշակերտ՝ դպրոցական նյութերին ծանոթանալու համար

Հարցման լեզու 1C 8.3 սկսնակ ծրագրավորողների համար. գործառույթներ և օպերատորներ տեսակների հետ աշխատելու համար (VALUE TYPE, TYPE, REFERENCE, ISNULL, EXPRESS)

Հիշենք, որ գրացուցակի, փաստաթղթի կամ կիրառական այլ օբյեկտի յուրաքանչյուր հատկանիշ (հատկություն, դաշտ) ունի իր տեսակը։ Եվ մենք կարող ենք դիտել այս տեսակը կոնֆիգուրատորում.

Հարցման լեզվում կա գործառույթների և օպերատորների մի ամբողջ դաս՝ մանրամասների տեսակների հետ աշխատելու համար։ Եկեք նայենք նրանց:

VALUE TYPE ֆունկցիա

Այս ֆունկցիան վերցնում է մեկ պարամետր (արժեք) և վերադարձնում իր տեսակը։ Նկարում նկարագրված պարագաների համար (վերևում) Համտեսելգրացուցակ Սնունդկվերադարձվեն հետևյալը.

Հիմա եկեք նայենք հենարաններին Տարբերակիչ հատկանիշգրացուցակում Քաղաքներ:

Դուք տեսնում եք, որ այս հենարանը կարող է լինել մի քանի տեսակներից մեկը. Գիծ, տեղեկատու.Համերը, տեղեկատու.Գույներ. Մանրամասների այս տեսակը կոչվում է ԿՈՄՊՈԶԻՏ։

Եթե ​​փորձենք լրացնել նման մանրամասնության արժեքը 1C:Enterprise ռեժիմում, համակարգը մեզ կհարցնի, թե ինչ տեսակի արժեք է մուտքագրվելու.

Եվ միայն մեր ընտրությունից հետո այն մեզ թույլ կտա մուտքագրել ընտրված տեսակի արժեքը։

Այսպիսով, գրացուցակի տարրերը նույն տիպի ( տեղեկատու.Քաղաքներ) կկարողանա պահել նույն հատկանիշում ( Տարբերակիչ հատկանիշ) արժեքներ տարբեր տեսակներ(Լար, գույներ կամ համեր):

Դուք կարող եք դա տեսնել ինքներդ՝ սեղմելով գրացուցակի տարրերի վրա Քաղաքներ 1C: Ձեռնարկությունների ռեժիմում: Դուք կարդում եք դասի փորձնական տարբերակը, հասանելի են ամբողջական դասերը:

Այստեղ տարբերակիչ հատկանիշի արժեքը գրացուցակի տարր է Բուրմունքներ:

Ահա տողը.

Եվ ահա, ընդհանրապես, տեղեկատուի տարրը Գույներ:

Սրանք այն հնարավորություններն են, որոնք մեզ համար բացում է տվյալների կոմպոզիտային տեսակը:

Հետաքրքիր է, թե ինչպես իրեն կպահի ֆունկցիան ՏԵՍԱԿՆԵՐԻ ԱՐԺԵՔՆԵՐհենարանների վրա Տարբերակիչ տարր, ունենալով կոմպոզիտային տվյալների տեսակ՝

Սա արդեն շատ հետաքրքիր է։ Եկեք նայենք յուրաքանչյուր տողին առանձին:

Ռուսաստան տարրի համար տարբերակիչ հատկանիշի արժեքի տեսակը հավասար է ԴԱՏԱՐԿ. Այս տեսակին առաջին անգամ ենք հանդիպում։ Արժեքներ այս տեսակիօգտագործվում են բացառապես տվյալների բազայի հետ աշխատելիս բացակայող արժեքը որոշելու համար:

Սա ճիշտ է, քանի որ Russia տարրը խումբ է, և ոչ սովորական գրացուցակի տարր Քաղաքներ, ուրեմն դաշտ չունի Տարբերակիչ հատկանիշ. Իսկ բացակայող արժեքի տեսակը, ինչպես վերը կարդացինք, միշտ հավասար է ԴԱՏԱՐԿ.

Պերմի տարբերակիչ հատկանիշի արժեքի տեսակը հավասար է Բուրմունքներ. Սա ճիշտ է, քանի որ Պերմ քաղաքի տվյալների բազայում մուտքագրված տարբերակիչ հատկանիշի արժեքը գրացուցակի տարրին հղում է: Բուրմունքներ.

Կրասնոյարսկի համար հատկանիշի տեսակը հավասար է Գույներ, քանի որ տվյալների բազայում ընտրված արժեքը հղում է դեպի գրացուցակի տարր Գույներ.

Վորոնեժի համար հատկանիշի տեսակը հավասար է Գիծ, քանի որ տվյալների բազայում մուտքագրված արժեքը սովորական տող է։

Հնդկաստանը նորից խումբ է, ուստի ոչ մի նշանակություն չկա։ Իսկ բացակայող արժեքի տեսակը, ինչպես հիշում ենք, հավասար է ԴԱՏԱՐԿ.

Ահա բանը. Եթե ​​դուք գնում եք գրացուցակի տարր Քաղաքներանունով Սան Պաուլո, ապա կտեսնեք, որ դաշտը Տարբերակիչ հատկանիշընդհանրապես լրացված չէ։ Դատարկ է։ Ա կոմպոզիտային տիպի բոլոր դատարկ դաշտերը հատուկ նշանակություն ունենՉՍԱՀՄԱՆՎԱԾ .

ՀԵՏ ՉՍԱՀՄԱՆՎԱԾմենք նույնպես առաջին անգամ ենք հանդիպում. Իմաստը ՉՍԱՀՄԱՆՎԱԾօգտագործվում է, երբ անհրաժեշտ է օգտագործել դատարկ արժեք, որը չի պատկանում որևէ այլ տեսակի: Սա հենց մեր վիճակն է։ Եվ արժեքի տեսակը ՉՍԱՀՄԱՆՎԱԾ, ինչպես հավանաբար արդեն կռահեցիք, հավասար է ԴԱՏԱՐԿ.

Ֆունկցիայի ՏԵՍԱԿ

Այն տեւում է միայն մեկ պարամետր՝ պարզունակ տեսակի անվանումը ( ԳԻԾ, ԹԻՎ, DATE, ԲՈՒԼԻԱՆ), կամ աղյուսակի անվանումը, որի կապի տեսակը ցանկանում եք ստանալ:

Այս կառուցվածքի արդյունքը կլինի Type տեսակի արժեքը նշված տեսակի համար:

Անորոշ է հնչում, այնպես չէ՞:

Եկեք նայենք այս դիզայնի կիրառմանը, և ամեն ինչ անմիջապես իր տեղը կընկնի:

Ենթադրենք, որ մենք պետք է ընտրենք գրացուցակի բոլոր գրառումները Քաղաքներ, որոնք ունեն կոմպոզիտային հենարաններ Տարբերակիչ հատկանիշունի տեսակի արժեք ԳԻԾ:

Այժմ եկեք ընտրենք բոլոր գրառումները, որոնք ունեն հատկանիշի արժեքներ Տարբերակիչ հատկանիշգրացուցակի տարրերի հղումներ են Գույներ(աղյուսակ տեղեկատու.Գույներ):

Նահանջ

Ինչպես հիշում եք, գրացուցակի որոշ տարրեր Քաղաքներհենարաններ չունենալ Տարբերակիչ հատկանիշ. Գործառույթ ՏԵՍԱԿՆԵՐԻ ԱՐԺԵՔՆԵՐնման տարրերի համար այն արտադրում է ԴԱՏԱՐԿ.

Ինչպե՞ս կարող եք ընտրել այդպիսի տարրեր հարցման մեջ: Դրա համար նախատեսված է հատուկ տրամաբանական օպերատոր ԱՆՈՒՐ Է(չշփոթել ֆունկցիայի հետ ISNULL, որը մենք կանդրադառնանք ստորև): Դուք կարդում եք դասի փորձնական տարբերակը, հասանելի են ամբողջական դասերը:

Ահա դրա օգտագործման օրինակ.

Հիանալի: Բայց նկատեցի՞ք, որ Սան Պաուլոյի տարր չկա, ռեկվիզիտների արժեքային տեսակ Տարբերակիչ հատկանիշորը նա նույնպես տվել է ԴԱՏԱՐԿ. Ինչու՞ դա տեղի ունեցավ:

Բայց բանն այն է, որ իրավիճակը խմբերի համար (Ռուսաստան, Հնդկաստան, Բրազիլիա), որոնց համար մանրամասները լրացվում են Տարբերակիչ հատկանիշսկզբունքորեն անհնար է, քանի որ նրանք ընդհանրապես չունեն, տարբերվում է Սան Պաուլոյի տարրի իրավիճակից, որի համար ռեկվիզիտները լրացնելը հնարավոր է, բայց այն պարզապես չի լրացվում և հավասար է, ինչպես հիշում ենք, մի. հատուկ արժեք ՉՍԱՀՄԱՆՎԱԾ.

Ընտրելու համար անհրաժեշտ բոլոր գրառումները Տարբերակիչ հատկանիշներկա, բայց չլցված, պետք է օգտագործվի այլ կառուցվածք.

Բայց դատարկ (չլրացված) ատրիբուտները որոշելու համար UNDEFINED-ի հետ համեմատելը կաշխատի միայն կոմպոզիտային տիպերի համար:

Իմիջայլոց, տրամաբանական օպերատոր The IS NULL ժխտման ձևն ունի հետևյալ տեսքը.

Տրամաբանական օպերատոր LINK

Օրինակ՝ ընտրենք գրացուցակից Քաղաքներմիայն այն գրառումները, որոնք ունեն կոմպոզիտային հատկանիշի արժեք Տարբերակիչ հատկանիշուղեցույց են դեպի գրացուցակի տարր Բուրմունքներ:

Ինչպես հիշում եք, մենք կարող էինք լուծել նույն խնդիրը՝ օգտագործելով ՏԵՍԱԿՆԵՐԻ ԱՐԺԵՔՆԵՐԵվ ՏԻՊ:

ISNULL ֆունկցիան

Ֆունկցիան նախատեսված է արժեքը փոխարինելու համար ԴԱՏԱՐԿայլ իմաստով:

Մենք հիշում ենք, որ իմաստը ԴԱՏԱՐԿվերադարձվում է, եթե պահանջվող հատկանիշը (դաշտը, հատկությունը) գոյություն չունի:

Օրինակ՝ ռեկվիզիտներ Տարբերակիչ հատկանիշգրացուցակի խմբերի համար Քաղաքներ:

Գործառույթ ISNULLկօգնի մեզ այլ արժեք դուրս բերել, եթե այս արժեքը հավասար է ԴԱՏԱՐԿ. Դուք կարդում եք դասի փորձնական տարբերակը, հասանելի են ամբողջական դասերը: Թող այս դեպքում լինի «Նման հենարան չկա» տողը.

Ստացվում է, որ եթե ֆունկցիայի առաջին պարամետրը ISNULLոչ հավասար ԴԱՏԱՐԿ, ապա վերադառնում է։ Եթե ​​այն NULL է, ապա երկրորդ պարամետրը վերադարձվում է:

EXPRESS ֆունկցիա

Այս ֆունկցիան նախատեսված է միայն այն դաշտերի համար, որոնք ունեն կոմպոզիտային տիպ: Նման ոլորտի հիանալի օրինակ է սեփականությունը Տարբերակիչ հատկանիշգրացուցակի տարրերի համար Քաղաքներ.

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

Դաշտի համար Տարբերակիչ հատկանիշայդպիսի վավերական տեսակներ են ԳԻԾ, տեղեկատու.ԳույներԵվ տեղեկատու.Համերը.

Երբեմն անհրաժեշտ է դառնում կոմպոզիտային դաշտի արժեքները փոխանցել որոշակի տեսակի:

Եկեք թվարկենք դաշտի բոլոր արժեքները Տարբերակիչ հատկանիշմուտքագրել Հղում. Գույներ:

Արդյունքում, բոլոր տարրերի արժեքները, որոնք տիպի էին Directory.Colors,մնացին լցված և փոխարկվեցին նշված տեսակի: Այլ տեսակի բոլոր արժեքները ( ԳԻԾ, տեղեկատու.Համերը) այժմ հավասար են ԴԱՏԱՐԿ. Սա ֆունկցիայի օգտագործմամբ տիպի ձուլման առանձնահատկությունն է EXPRESS.

Դուք կարող եք մի տեսակ գցել կամ պարզունակ տեսակի ( ԲՈՒԼԻԱՆ, ԹԻՎ, ԳԻԾ, DATE) կամ հղման տիպի: Դուք կարդում եք դասի փորձնական տարբերակը, հասանելի են ամբողջական դասերը: Բայց այն տեսակը, որով պատրաստվում է ձուլվածքը, պետք է ներառվի այս կոմպոզիտային դաշտի տեսակների ցանկում, հակառակ դեպքում համակարգը սխալ կառաջացնի:

Անցեք թեստը

Սկսեք թեստը

1. Ընտրի՛ր ամենաճիշտ պնդումը

2. Մանրամասները, որոնք կարող են ընդունել մի քանի տեսակներից մեկի արժեքները, կոչվում են

3. Ատրիբուտի արժեքի տեսակը որոշելու համար օգտագործեք ֆունկցիան

4. Կարևոր են կոմպոզիտային տիպի դատարկ մանրամասները

— մենք սկսեցինք քննարկել, թե որոնք են 1C արժեքների տեսակները և 1C տեսակների փոխակերպումը:

Այսօր մենք ավելի մանրամասն կխոսենք 1C կազմաձևման օբյեկտների տեսակների մասին (1C փաստաթղթի տեսակը, 1C գրացուցակի տեսակը և այլն):

Քանի որ ներս ծրագրի կոդըՔանի որ մենք աշխատում ենք արժեքների հետ, մենք պարբերաբար պետք է իմանանք դրանց տեսակը։ 1C տիպը միշտ նշվում է մանրամասների մետատվյալներում՝ գրացուցակներում և փաստաթղթերում:

1C տեսակների հետ աշխատելը հաճախ օգտագործվում է.

  • Ծրագրում առկա պայմանները
    Տարբեր գործողություններ՝ կախված 1C արժեքի տեսակից «Եթե ... Ապա ...» շինարարության մեջ
  • Սահմանափակումներ ինտերֆեյսում աշխատելիս
    Արգելել կամ թույլ տալ օգտվողին մուտքագրել 1C-ի որոշակի տեսակների արժեքներ ձևի դաշտում:
  • Փաստացի ֆունկցիայի/ընթացակարգի պարամետրի որոշում
    Եթե ​​ֆունկցիայի/ընթացակարգի պարամետրը կարող է լինել ցանկացած 1C տիպի, ապա դուք պետք է սահմանեք այն՝ արժեքը ճիշտ ստանալու համար:

1C տիպը կարելի է ձեռք բերել.

  • Որոշեք 1C փաստացի արժեքի տեսակը
  • Արժեքի օբյեկտներն ունեն հատկություններ, որոնք ցույց են տալիս թույլատրված 1C տեսակը (օրինակ՝ 1C տեսակները թույլատրված են աղյուսակի սյունակում, ձևաթղթի դաշտում, մետատվյալներում) կամ մեթոդներ, որոնք վերադարձնում են այս 1C տեսակները։
  • Մետատվյալներից - կարող եք ստանալ 1C տեսակը, ինչպես նշված է կոնֆիգուրատորի մետատվյալներում:

1C տեսակները կարելի է բաժանել երեք տեսակի.

  • Հիմնական տեսակներ 1C
  • 1C տվյալների բազաների տեսակները (տեղեկանք, օբյեկտներ)
  • Տեսակներ 1C.

1C տեսակի սահմանում և 1C տեսակների համեմատություն

Դուք կարող եք պարզել 1C արժեքի տեսակը՝ օգտագործելով TypeValue (Փոփոխական) ֆունկցիան:

Հասկանալու համար, թե ինչ 1C տիպ է վերադարձրել այս ֆունկցիան, մենք պետք է նշենք մեզ անհրաժեշտ տեսակը («TypeName»)

Օրինակ՝ 1C տիպի փոփոխականի սահմանումը (համեմատությունը).
Եթե ​​TypeValue(Variable) = Type("TypeName") Ապա

Ինչ տեսակներ պետք է գրեմ որպես TypeName:

Հիմնական տեսակները

1C-ի հիմնական տեսակները՝ համար, տող, ամսաթիվ, բուլյան:

Օրինակ:
Znch = 12;
Եթե ​​TypeValue(Value) = Type («Համար») Ապա
ElseIf Value = Type("String") Այնուհետեւ
ElseIf Value = Type("Date") Հետո
ElseIf Value = Type («Բուլյան») Այնուհետև
վերջԵթե;

Տվյալների բազայի տեսակները

1C-ն տվյալները պահում է տվյալների բազայում, բայց ոչ առանձին գրառումների, այլ օբյեկտների տեսքով։

Պահված օբյեկտների մեծ մասը (ներառյալ՝ տեղեկատուները, փաստաթղթերը, թվարկումները, բիզնես գործընթացները, առաջադրանքները) հասանելի են որպես Օբյեկտ (խմբագրելու և գրելու համար) և որպես Հղում (կարդալու համար): Լրացուցիչ մանրամասների համար տե՛ս «Հղումներ և օբյեկտներ»:

Օրինակ:
Արժեք = Directories.Organizations.EmptyLink();
Եթե ​​TypeValue(Value) = Type("DirectoryLink.Organizations") Ապա
OtherwiseIf Value = Type("DirectoryObject.Organization") Հետո
Հակառակ դեպքում, Եթե TypeValue(Value) = Type ("DocumentLink. Ապրանքների ստացում") Ապա
Հակառակ դեպքումIf Value = Type("DocumentObject.Receipt of Goods") Ապա
վերջԵթե;

Գրանցամատյանները կարող են լինել տարբեր տեսակի: Ռեգիստրի տիպի անունը բարդ է.
ԳրանցվելRegisterTypeAccessType.RegisterName

1C ռեգիստրների տեսակները.

  • Տեղեկություն
  • Խնայողություններ
  • Հաշվապահություն
  • Հաշվարկ.

Կան ռեգիստրի մուտքի մի քանի տեսակներ: Առավել հաճախ օգտագործվում են.

  • Ռեկորդների հավաքածու
  • Ցուցակ
  • Նմուշ
  • Գրառում
  • Գրառման բանալի.

Ընդհանուր, օրինակ.
Եթե ​​TypeValue(Value) = Type ("InformationRegisterList.RegisterName") Ապա
ԱյլապեսIf Value = Type("AccumulationRegisterRecordSet.RegisterName") Ապա
վերջԵթե;

1C լեզուն թույլ է տալիս աշխատել ծրագրում դինամիկ կերպով ստեղծված բազմաթիվ օբյեկտների հետ, օրինակ՝ զանգված, արժեքների ցանկ, արժեքների աղյուսակ, կառուցվածք...

Նման 1C տեսակները նշվում են իրենց անունով (մեկ բառով, առանց բացատների): Օրինակ:
Եթե ​​TypeValue(Value) = Type («Array») Ապա
ElseIf Value = Type("List of Values") Այնուհետեւ
վերջԵթե;

1C հղման տեսակի արժեքի որոշում

Տվյալների բազայի բոլոր օբյեկտների (տեղեկատուներ, փաստաթղթեր...) հետ աշխատանքն իրականացվում է հղումների միջոցով։ Օրինակ, եթե մենք ուզում ենք հղում կատարել փաստաթղթում, ապա դրա 1C տեսակը կլինի «DirectoryLink.DirectoryName»:

Օրինակ:
Արժեք = Directories.Organizations.EmptyLink();
If Directories.TypeAllLinks().Contains(TypeValue(Value)) Ապա
//սա տեղեկագիրք է
ElseIf Documents.TypeAllLinks().Contains(TypeValue(Value)) Հետո
//սա փաստաթուղթ է
վերջԵթե;

Հարցման մեջ 1C տեսակը կարելի է ստուգել երկու եղանակով.

Առաջինը նման է նկարագրվածին, բայց 1C տիպի անունը չի նշում «Հղում» կամ «Օբյեկտ», այսինքն՝ «DirectoryLink.Organizations»-ի փոխարեն գրում ենք «Directory.Organizations»

Օրինակ:

Առկա 1C տեսակների ձեռքբերում

Շատ օբյեկտներ ունեն հատկություն:ValueType, որը պարունակում է 1C տեսակների ցանկ.

  • Դաշտը ճարպ հաճախորդի ձևի վրա
    Form Elements.FieldName.ValueType
  • Դաշտ բարակ հաճախորդի ձևի վրա (բացառություն՝ կոչվում է AvailableTypes)
    Elements.FieldName.AvailableTypes
  • Արժեքների աղյուսակի սյունակ, արժեքների ծառ
  • Ձևի մանրամասները
  • Ընտրության տարր

Ինչպես աշխատել 1C տեսակների այս ցանկի հետ դաշտում:ValueType - տե՛ս «Տիպերի նկարագրությունը» «1C Լեզու» բաժնում:

Կազմաձևման մետատվյալներում 1C մանրամասների տեսակների հետ աշխատելը

Կազմաձևիչում մանրամասներ ավելացնելիս և խմբագրելիս ծրագրավորողը նշում է 1C մանրամասների տեսակ(ներ): Ծրագրի կոդում 1C լեզվով կարող եք ստանալ (պարզել) 1C մանրամասների տեսակ(ներ):

Հիմնական մեթոդներ.

  • 1C օբյեկտի համար զանգահարեք Metadata() մեթոդը, որը վերադարձնում է կոնկրետ օբյեկտի մետատվյալները և այնուհետև աշխատում մանրամասների ցանկի հետ (և աղյուսակի բաժնի մանրամասների հետ):
    Փաստաթղթեր.Ապրանքների ստացում.EmptyLink().Metadata().Մանրամասներ
  • Օգտագործեք «Մետտվյալներ» գլոբալ փոփոխականը, որը վերադարձնում է կազմաձևման բոլոր մետատվյալները, այնուհետև մուտք գործեք կոնկրետ օբյեկտի մանրամասները
    Մետատվյալներ.Փաստաթղթեր.Ապրանքների ստացում.Մանրամասներ

Հատկանիշն ունի հատկություն.Type, որը պարունակում է այս հատկանիշի կազմաձևիչում սահմանված 1C տիպերի ցանկը:

Ինչպես աշխատել 1C տեսակների այս ցանկի հետ - տե՛ս «Տեսակների նկարագրությունը» «1C լեզու» բաժնում:

Նշեք 1C տեսակի ֆիլտր

Շատ օբյեկտների համար հնարավոր է նշել 1C արժեքի տեսակների զտիչ, որը կարող է օգտագործվել, օրինակ.

  • Արժեքների ցանկ (.AvailableValues)
  • Կառավարվող հաճախորդի ձևի դաշտ (.AvailableTypes)

Այնտեղ, որտեղ ֆիլտրը հասանելի չէ փոփոխության համար, հնարավոր է ֆիլտրը նշել օբյեկտի մեթոդով: Օրինակ՝ արժեքների աղյուսակի (ծառի) սյունակը ունի.ValueType և մենք չենք կարող այն փոխել, բայց սյունակ ավելացնելիս՝ օգտագործելով.Add() մեթոդը, երկրորդ պարամետրը կարող է օգտագործվել հասանելի 1C-ի ցանկը նշելու համար։ տեսակները.

Ֆիլտրի համար 1C տիպերի ցանկը նշելու համար օգտագործվում է 1C տեսակների ցանկ, ինչպես աշխատել դրա հետ, տե՛ս «Տեսակների նկարագրությունը» «1C լեզու» բաժնում: