1c динамикалық тізім параметрін орнатыңыз. Шектеулер мен мүмкіндіктер

Ақырында, әрбір жеті жасар баланың арманы орындалды. 7.7 бағдарламасының пайдаланушылары элементтердің қалыпты таңдауын қаншалықты жиі сұрады? Баланстарды, бағаларды және орнату сүзгілерін көру үшін. Бізге әртүрлі трюктерді, соның ішінде сыртқы компоненттерді жазуды ойлап табуға тура келді. 1С 8.2-де динамикалық тізімдер пайда болды. Мен бұл не екенін және олар бізге 1С 8.3-те не бере алатынын қарастыруды ұсынамын.

Кейбіреулерін негізге алайық сынақ конфигурациясы 1С: «Кәсіпорындық есеп 3.0». Біз қазір таңдау жасамаймыз, жай ғана «Номенклатура» каталогына басқа таңдау пішінін қосып, оны уақытша негізгі етіп жасаймыз:

Жасалған кезде жүйе әдепкі бойынша пішінге «Динамикалық тізім» түріндегі кесте өрісін қосады.

Оның қасиеттеріне кіріп, онда не бар екенін көрейік.

Ең алдымен, бізді «Таңдамалы сұрау» құсбелгісін қызықтырады. Ол бізге барлық артықшылықтарды ашады. динамикалық тізім. Параметрлері бар өз сұранысымызды жазу мүмкіндігіне ие боламыз. Құсбелгіні қойып, «Ашу» сілтемесін басыңыз:

дегенмен терезе ашылады дайын кодбойынша. Әзірге «Номенклатура» каталогының барлық өрістері сол жерде жай ғана тізімделген.

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

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

Динамикалық тізімдегі теңшелетін сұрау

Алдымен баланстар мен бағалармен қажетті сұранысты жасайық. Мынадай нәрсе:

«Параметрлер» қойындысы

Ал енді ең жақсы бөлігі! «Параметрлер» қойындысына өтіңіз. Біз бірінші қойындыда сұраудағы кез келген өріс үшін кез келген таңдауды жасай алатынымызды бірден көреміз:

Динамикалық тізімде сұраныс параметрлерін бағдарламалы орнату 1С 8.3

Сұрауда екі параметр бар екенін ұмытпаңыз: «Кезең» және «Баға түрі». Біз оларды сұрауға жіберуіміз керек, әйтпесе қате болады.

Осы параметрлерді пішін параметрлеріне жазып, пішін модуліне келесі жолдарды қосамыз:

&OnServerProcedureWhenCreatingOnServer(сәтсіздік, стандартты өңдеу) тізімі. Параметрлер. SetParameterValue("Кезең", Параметрлер. Күн) ;

21.04.2014 Динамикалық тізім деректерін алу

8.3.6.1977 нұсқасында жүзеге асырылды.

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

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

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

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

Жалпы алғанда, алу үшін қосымша ақпаратпайдаланушы қаласа, дерекқорды сұрау керек. Динамикалық тізімде пайдаланылғанмен бірдей.

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

Енді бұл мәселені оңай шешуге болады. Динамикалық тізім кестесінде енді екі жаңа әдіс бар:

  • GetExecutableDataCompositionSchema();
  • GetExecutableDataCompositionSettings().

Осылайша, сіз деректер орналасу схемасының өзін және, ең бастысы, оның барлық параметрлерін аласыз, соның арқасында пайдаланушы тізімді дәл осылай көреді. Сізге тек макетті бағдарламалық түрде құрастыру және оны мәндер жинағына (бағдарламалық өңдеу үшін) шығару немесе электрондық кесте құжаты(көрсету үшін):

Нәтижесінде сіз динамикалық тізім кестесіне шығарылатын бағандар мен жолдарды қамтитын құрылымды (немесе есепті) аласыз.

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

Электрондық кестелік құжатқа шығару кезінде тағы бір жағымды сәт бар. Жалпы есептің сыртқы түрі сәйкес болады сыртқы түрісхема мен параметрлерді алу кезіндегі динамикалық тізім кестелері. Соның ішінде кестенің шартты дизайны. Пішіннің шартты дизайнын есепке көшіргіңіз келсе ғана сізге кейбір қосымша әрекеттер қажет болады.

Конфигурацияларды аяқтау процесінде әрбір 1С бағдарламашысы динамикалық тізімдерге тап болады.
Динамикалық тізім – бұл мәліметтер базасы объектілерінің әртүрлі тізімдерін немесе объектілік емес мәліметтерді – регистр жазбаларын көрсету үшін қолданылатын интерфейстік объект.
Мысалы, элементтер тізімін көрсету үшін динамикалық тізім пайдаланылады:

Динамикалық тізімнің мүмкіндіктерін көрсету үшін жасайық сыртқы өңдеу, негізгі пішінді қосыңыз. Оны пішінге қосыңыз жаңа реквизиттер«Динамикалық тізім» түрімен. Оның қасиеттеріне кіріп, не бар екенін көрейік.
Бізді «Таңдамалы сұрау» сипаты қызықтырады. Оны қосу бізге динамикалық тізімнің барлық мүмкіндіктерін көрсетеді. Біз 1С: Кәсіпорын жүйесінің сұрау тілінің барлық дерлік мүмкіндіктерін пайдалана отырып, сұраныс жаза аламыз. Құсбелгіні қойып, «Ашу» сілтемесін басыңыз:

Әдепкі бойынша, біздің тізім барлық қоймалар үшін жалпы балансы бар элементтердің тізімін көрсетеді. Мұндай тізімді енгізу үшін келесі сұрауды қосыңыз:


Негізгі кесте ретінде біз «Каталог.Номенклатураны» таңдаймыз, бұл номенклатура тізімі сияқты динамикалық тізіммен жұмыс істеуге мүмкіндік береді - жою үшін каталог элементтерін қосу, өзгерту, белгілеу. Сондай-ақ, негізгі кестені орнату деректерді динамикалық оқуға мүмкіндік береді - бұл таңдау қажет болған жағдайда бөліктерде жасалатынын білдіреді.
Содан кейін біз тізіміміз үшін пішін элементтерін жасауымыз керек:

Егер біз өңдеуді осы пішінде іске қосуға тырыссақ, біз қатені аламыз:


Оны жою үшін «Кезең» параметрінің мәнін орнату керек. Ол үшін динамикалық тізімнің «Параметрлер» жиынының «SetParameterValue» әдісін қолдануға болады. Әдіс екі параметрді қабылдайды:
. «Параметр» - Түрі: Жол; DataCompositionParameter. Мәнін орнатқыңыз келетін параметр атауы немесе деректер құрамы параметрі;
. «Мән» - Түрі: ерікті. Орнатылатын мән.
Пішіннің «OnCreateOnServer» өңдеушісінде шақыруға болады:

Сізде сұрақ бар ма немесе кеңесшінің көмегі қажет пе?


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


«Күн» пішін элементінің «OnChange» өңдегішінде мән ретінде байланысты атрибуттың мәнін бере отырып, «SetParameterValue» әдісін шақырамыз. Осыған ұқсас пішіннің «Серверде жасау кезінде» процедурасын өзгертейік. Әдіс клиентте қол жетімді болғандықтан, серверді шақырудың қажеті жоқ:


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




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


Коммутатордың мәнін өзгерту кезінде біз сұраныс мәтінін өзгертеміз. Бұл әрекетті орындау үшін біз «Түбіртектегі санды көрсету» пішін элементі үшін «Өзгертуде» оқиға өңдеушісін қолданамыз. Біз атрибуттың мәніне байланысты динамикалық тізімнің «QueryText» қасиетін өзгертуіміз керек. Бұл сипат клиентте қол жетімді болмағандықтан, сервер процедурасын шақыру керек:


Енгізілген өзгерістердің нәтижесі:



Басып шығару (Ctrl+P)

Динамикалық тізім

1. Жалпы ақпарат

Динамикалық тізім – пішіндегі деректер қоры кестелерінен еркін ақпаратты көрсетуге мүмкіндік беретін арнайы деректер түрі. Ол үшін деректерді көрсеткіңіз келетін кестені көрсету керек немесе нәтиже таңдауды сұрау тілінде сипаттау керек.
Механизм деректер құрамы жүйесіне негізделген және алынған деректерді сұрыптау, таңдау, іздеу, топтау және шартты түрде пішімдеу мүмкіндіктерін қамтамасыз етеді. Бұл жағдайда деректер көзі жүйемен автоматты түрде жасалатын (көрсетілген деректер негізінде) немесе әзірлеуші ​​қолмен жазылатын сұрау болып табылады.

Күріш. 1. Динамикалық тізімді құру опциялары

Түрдің пішін атрибуттарын жасау кезінде Динамикалық тізімӘзірлеуші ​​деректер сұрауын қалыптастырудың екі әдісін таңдай алады:
● Негізгі кестені көрсету арқылы – бұл жағдайда деректерді алғыңыз келетін кестені (Негізгі кесте сипатын) көрсету керек, ал жүйе деректерге сұранысты автоматты түрде жасайды (суреттің оң жақ бөлігін қараңыз). 1).
● Сұрауды қолмен жасау – ол үшін Custom сұрау сипатын орнату керек (1-суреттің сол жағын қараңыз). Осыдан кейін инфобазадан деректерді алуға сұранысты қолмен жасау қолжетімді болады.
Сұрау бірнеше кестелерден деректерді шығарып алады, осылайша сіз негізгі кестені көрсете аласыз. Бұл динамикалық тізім қай деректердің негізгі, қайсысы қосымша екенін анықтай алатындай және ақпаратты дұрыс таңдап, көрсете алады, сонымен қатар стандартты командаларды бере алады. Алайда, егер сұраныста негізгі кестені анықтау мүмкін болмаса, онда оны көрсету мүмкін емес, бірақ содан кейін
динамикалық тізім негізгі кестеге қатысты пәрмендерді қамтамасыз етпейді. Сонымен қатар, бұл жағдайда (негізгі кестені көрсетпей) динамикалық тізім бойынша деректерді алу тиімділігі айтарлықтай төмендейді.
Өнімділікті жақсарту үшін қосымша деректерді алу үшін ғана теңшелетін сұрауда пайдаланылатын кез келген біріктірулерді деректер құрамы жүйесінің сұрау тілі кеңейтімін пайдалану арқылы міндетті емес етіп жасау ұсынылады.
Негізгі пішін төлсипаты болып табылатын динамикалық тізім үшін пішін параметрі арқылы таңдау мәндерін орнатуға болады. Таңдау. Ол үшін параметрде орналасқан құрылым қасиетінің атауы қажет Таңдау,
динамикалық тізімді таңдау өрісінің атымен сәйкес келді. Бұл жағдайда құрылым сипатының мәні таңдау элементінің дұрыс мәні ретінде орнатылады. Егер массив, тіркелген массив немесе мәндер тізімі динамикалық тізім пішінінің Таңдау параметрінің элементінің мәні ретінде берілсе, онда Тізімдегі опциясы бар шарт таңдауға дұрыс мәнде қосылады. оның ішінде мәндер тізімі орналастырылған (оған массив пен тіркелген массив түрленеді).
Динамикалық тізімдегі ерікті сұрау өріс мәнін жасау үшін параметр пайдаланылатын сұрау болуы мүмкін, мысалы:

ТАҢДАУ
ТАҢДАУ
ҚАШАН Жеткізу.Коэффиценті = 1 СОДАН &Тұсаукесер
Әйтпесе жеткізу. Коэффицент
END AS қатынасы
FROM

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

ТАҢДАУ
ТАҢДАУ
ЖЕТКІЗУ.Коэффиценті = 1 БОЛҒАН КЕЗДЕ EXPRESS(&Өкілдігі AS String(100)) ALSE Жеткізу. Коэффицент
END AS қатынасы
FROM
Құжат.Өнімдерді жеткізу ҚАЛАЙ жеткізу керек

Таңдау орнатылатын өріс функционалдық опциялар арқылы өшірілсе, таңдау мәні пішін параметрлері немесе таңдау параметрінің қосылымдары ретінде берілсе де, мұндай өріс бойынша таңдау орнатылмайды.
Динамикалық деректерді оқу сипатын пайдаланып, динамикалық тізімге деректерді шағын бөліктерде оқу қажеттілігін көрсетесіз
(динамикалық тізім және деректерді кэштеу арқылы деректерді алу жолдары туралы қосымша мәліметтерді төменде қараңыз). Бұл атрибутқа қарамастан, келесі шарттар қолданылады:

● Көру режимі иерархиялық тізімге орнатылса, тек ағымдағы топтың деректері және барлық негізгі элементтердің деректері (балаларсыз) оқылады.
● Ағашты көру режимі орнатылған болса, тек ашық ағаш түйіндеріндегі деректер оқылады.
● Иерархиялық шолу орнатылса (Дисплей сипаты ағашқа орнатылған) және бастапқы тармақ дисплейі Барлық деңгейлерді кеңейту күйіне орнатылған болса, динамикалық тізім деректерін бір реттік жүктеуге қолдау көрсетілмейді. Деректерді алу үшін көрсетілетін тізімде қанша түйін болса, сонша серверге сұраулар жасалады.
Бір деректерді іздеу барысында динамикалық тізім келесі шарттар орындалса, бұрын жасалған уақытша кестелерді қайта пайдаланады:
● Тізім пакеттік сұрауында негізгі пакеттік сұраудан кейін сұраулар жоқ.
● Уақытша кестелердің құрамы және олардағы өрістер пакеттік сұраудың алдыңғы орындалуынан өзгермейді.

Өз жұмысында динамикалық тізім метадеректер нысанының мәліметтерінің келесі қасиеттерінің мәндерін пайдаланады:
● пішім,
● өңдеу пішімі,
● кеңес,
● теріс мәндерді бөлектеу белгісі,
● маска,
● көп жолды режим белгісі,
● кеңейтілген өңдеу белгісі,
● құпия сөз режимі.
Деректер құрамы жүйесінің таңдауы мен параметрлерін көрсету және өңдеу кезінде сәйкес өрістің өңдеу пішімі қолданылады.

2. Шектеулер мен мүмкіндіктер

Динамикалық тізімде таңдауды орнатқанда, динамикалық тізімнің көрсету режимі Иерархиялық тізім немесе Ағаш болса, таңдау топтарға әсер етпейтінін есте сақтаңыз. «Топтар» арқылы біз ThisGroup сипаты True мәніне орнатылған каталог элементін немесе сипаттамалық түрлер жоспарын түсінеміз.
Стандартты мәліметтерге динамикалық тізім арқылы автоматты түрде қолданылатын біліктіліктер Ие, Ата-ана, Күн, Мерзім және Осы Топқа қолданылады.
стандартты құралдардеректер құрастыру жүйелері. Негізгі өрістерге динамикалық тізім арқылы автоматты түрде қолданылатын таңдауды деректер құрамы жүйесінің стандартты құралдарымен де, сұрау мәтініне шарттарды тікелей қосу арқылы да қолдануға болады. INнегізгі кестенің өрістеріне. Орналасу құралдарын пайдаланып таңдауларды қолдану нәтижесінде оларды кірістірілген сұрауларда да, виртуалды кестелердің параметрлерінде де қолдануға болады.

Динамикалық тізімдерді әзірлеу кезінде барлық динамикалық тізімдерді реттелетін сұраулармен сынау ұсынылады. Тексеру процесі кезінде тізім сұрауында кірістірілген сұраулар немесе виртуалды кестелер және оларда стандартты мәліметтердің бүркеншік аттарымен сәйкес келетін өрістер Ие, Ата-ана, Күн, кезең, Бұл Топ немесе кілт өрістері бар екеніне көз жеткізу керек. таңдау болса, онда бұл өрістер лақап аты сәйкес келетін стандартты мәліметтерге сәйкес келеді. Егер бұлай болмаса, сұрауды олар сәйкес келетіндей етіп өзгерту керек немесе
лақап аты басқаша болды.
Сұрауды қолмен жасауды таңдасаңыз, сұрауға кейбір шектеулер қойылады:
● БІРІНШІ мәлімдемені динамикалық тізім сұрауында пайдалануға қолдау көрсетілмейді. Динамикалық тізімдегі жазбалар санымен шектелген таңдауды пайдалану қажет болса, сұраудың нақты мазмұны ішкі сұрауға орналастырылатындай және жазбалар санын шектейтіндей динамикалық тізімді жасау үшін сұрауды қайта өңдеу керек. осы ішкі сұрауда алынған. Ішкі сұраудың орнына уақытша кестені де пайдалануға болады.
● Таңдау, сұрыптау және топтастыруға қолдау көрсетілмейді:

  • Мәліметтер бойынша кестелік бөліктер.
  • Өрістерді көру.
  • DataVersion өрісі.
  • PredefinedDataName өрісі.
  • Бухгалтерлік есеп кестесі кесте түрі өрісі.
  • Өріс Жинақтау тіркелімі кестесінің қозғалыс түрі.
  • Өріс типі Жоспар кестесінің сипаттамалық типінің мәндері.
  • Type өріс Type;
  • Жол типті өріс (шексіз ұзындық).
  • BinaryData түрінің өрісі.

● Subconto өрістері бойынша сұрыптауға және топтауға қолдау көрсетілмейді<НомерСубконто>және ViewSubconto<НомерСубконто>Кестелер Қозғалыстары Бухгалтерлік есеп регистрінің субконтосы.
● Жиынтық функциялары бар сұрау тілінің өрнектері болып табылатын өрістер бойынша топтастыруға қолдау көрсетілмейді.
● Негізгі кесте таңдалғанда, динамикалық тізім сұрауында келесі шектеулер болады:

  • Біріктіруге қолдау көрсетілмейді.
  • ORDER BY бөліміне қолдау көрсетілмейді. Негізгі кестесіз сұрауды пайдалану керек немесе динамикалық тізім параметрлері арқылы қажетті ретті орнату керек.

● Динамикалық тізім иерархиялық тізім немесе ағаш ретінде көрсетілсе, жазбаның кем дегенде бір ата-анасы көрсетілмейінше, жазба динамикалық тізім ретінде көрсетілмейді. Басқаша айтқанда, иерархиялық тізімнің элементін көрсету үшін динамикалық тізім сол элементтің барлық ата-аналарын тізімнің жоғарғы жағына дейін көрсетуі керек. Бұл жағдайда тізімнің жоғарғы жағында біз нені білдіреміз
динамикалық тізім арқылы көрсетілетін иерархиялық нысанның түбір элементі немесе динамикалық тізімге арналған пішін кестесі кеңейтімінің ParentTopLevel сипаты ретінде орнатылған элемент.

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

● Әрбір кесте жазбасын бірегей түрде анықтайтын кілті жоқ кесте (нысандық кестелер үшін сілтеме және регистр кестелері үшін енгізу кілті). Дегенмен, келесі кестелерді динамикалық тізімнің негізгі кестесі ретінде орнатуға болады (кілттің жоқтығына қарамастан):

● Бухгалтерлік есеп регистрінің субконто кестесі;
● MovementsSubconto кестесінен басқа есеп регистрінің барлық виртуалды кестелері;
● тұрақты мәндер кестелері (тұрақтылар кестесін қоса);
● негізгі өрістері жоқ сыртқы деректер көздерінің кестелері;
● сыртқы деректер көздерінің текше кестелері;
● жинақтау регистрінің кестелері:

  • революциялық кесте;
  • баланстық кесте;
  • айналым және баланстар кестесі.

● есептеу регистрінің кестелері:

  • нақты жарамдылық мерзімінің кестесі;
  • кесте деректері;
  • негізгі деректер.

● объектілердің кестелік бөліктерінің кестелері;
● Тіркеу кестелерін өзгерту (деректер алмасу механизмдерінде қолданылады);
● реттілік кестелері;
● Конверсиялық кестелер (кезеңдік есеп айырысу механизмдерінде қолданылады).
● Сұрауда тек сыртқы біріктіруде қолданылатын кесте.

Басқаша айтқанда, негізгі кесте көрсетілген динамикалық тізім дұрыс жұмыс істейді, егер сұранысты орындау нәтижесінде:
деректер көзі ретінде көрсетілген, негізгі кестеден алынған жолдар саны көбеймейді (белгіленген таңдауды ескере отырып). Егер сұранысты орындау нәтижесінде негізгі кестеден сұрау арқылы алынған жолдар саны көбейсе, бұл тізіммен көрсетілетін кесте жазбаларының кілтінің бірегейлігінің бұзылуына әкеледі. Бұл жағдайда негізгі динамикалық тізім кестесін пайдалануды өшіру керек.
Динамикалық тізіммен жұмыс істеу кезінде тізімде көрсетілген мәліметтерге қол жеткізу құқықтарын ескеру қажет:
● Әрқашан пайдалану сипатымен белгіленген, бірақ ол үшін динамикалық тізім бағандарынан алынған деректер ағымдағы пайдаланушыКөру құқығы жоқ. Мұндай бағандардың деректеріне қол жеткізу (CurrentData сипатын және RowData() әдісін пайдалану)
клиент тарапынан мүмкін емес.
● Ағымдағы пайдаланушыда динамикалық тізімнің негізгі өрісінде Көрініс құқығы болмаса, сол динамикалық тізімнен деректерді алу рұқсатты бұзу қатесіне әкеледі.
Тізім тізімін көрсететін динамикалық тізім үшін тізімді интерактивті түрде теңшеу опциясы жоқ.
Динамикалық тізімнің бағандарының құрамы мен параметрлері таңдау өрістерінің бүркеншік аттары арқылы сұрау өрістерімен байланысты. Таңдау өрісіне арналған сұрауда бүркеншік ат анық көрсетілмесе және өріс жүйелік болса, онда кіріктірілген тілдің ағылшын тіліндегі нұсқасы үшін өріс атауы бүркеншік ат ретінде пайдаланылады.
Көрсетілген қатынас өзгерту кезінде (немесе автоматты бүркеншік ат пайдаланылған өріс үшін бүркеншік атын анық көрсету) білдіреді.
динамикалық тізім деректерін жасайтын сұрау өрісінің бүркеншік аты, динамикалық тізім атрибутының параметрлері жоғалады, пішін элементтері көрсетілген мәліметтерді «жоғалтады», динамикалық тізім параметрлері қате болады және т.б.
Егер динамикалық тізімнің деректер көзі кезең бойынша таңдауды орнатуға мүмкіндік беретін кесте (тұрақты немесе виртуалды) болса, онда пайдаланушы осындай динамикалық тізімде көрсету кезеңін орнатса (Күн аралығын орнату... пәрмені),
көрсетілген кезең шекаралары таңдау мәндері немесе виртуалды кесте параметрлері ретінде орнатылады. Егер тілді кеңейту арқылы
деректер құрамы жүйесіне арналған сұраулар, виртуалды кестенің параметрлерінің атаулары нақты көрсетілді - көрсетілген параметрлері бар
атаулар. Деректерді көрсету немесе өңдеу кезеңін бақылауға болатын кестелер:
● тізілім кестелері (негізгі немесе виртуалды), олар үшін кезең бойынша таңдауға болады (есептеу тізілімі үшін – тіркеу кезеңі бойынша);
● құжаттардың, бизнес-процестер мен тапсырмалардың негізгі кестелері;
● құжат журналдарының негізгі кестелері;
● негізгі реттілік кестелері, реттілік шекаралық кестелер.
Динамикалық тізім сұрау параметрі массив немесе мәндер тізімі болуы мүмкін. Дегенмен, параметр мәндер тізімі болса, таңдау мәні ретінде тізімдегі бірінші мән ғана пайдаланылады. Егер динамикалық тізімде параметрлері бар сұрау пайдаланылса, параметр мәндерінің бастапқы параметрі OnCreateOnServer өңдегішінде орындалуы керек.
Динамикалық тізім деректерін көрсету кезінде келесі тармақтарды есте сақтаңыз:
● Динамикалық тізімнің сипаттарын бағдарламалы түрде өзгерткенде, тізіммен байланысты пәрмен тақталары автоматты түрде қайта толтырылмайды.
осы динамикалық тізіммен.
● Егер ұяшықта топтау режимі бар топқа бірнеше өрістер топтастырылса және топтастырылған өрістерде құсбелгі ретінде көрсетілетін өріс болса, онда бұл құсбелгі әрқашан алынған ұяшықта бірінші (сол жақта) көрсетіледі. мәтін).
Динамикалық тізімде өрнектері параметрлерді, өрістерді немесе литералдарды қамтитын өрістер үшін деректер түрін анықтау кезінде нәтиже түрі өрістер мен литералдар түрлерімен анықталады. Егер параметр мәнінің түрі алынған деректер түріне қосылмаса, оның мәні қысқартылады.
Мысалы, келесі мысалда өріс Number түрінде болады.

ТАҢДАУ
ӨТІРІК БОЛҒАНДА
ОДАН 5
Әйтпесе
&Параметр
Соңы

Параметр параметрін басқа түрдегі мәнге орнатсаңыз, сол өріске арналған динамикалық тізім 0 мәнін алады (Сан түрі үшін әдепкі мән).
Егер мұндай жағдайда басқа түрдегі параметрді таңдау қажет болса, сұрау тілі құрылымын пайдалану ұсынылады. ЭКСПРЕСС. Мысалы,
егер жоғарыда келтірілген мысалда параметрге 100 таңбадан аспайтын жолды беру қажет болса, онда параметрдің қарапайым көрсеткішін анық түрдегі cast түрі бар өрнекпен ауыстыру керек:

ТАҢДАУ
ӨТІРІК БОЛҒАНДА
ОДАН 5
Әйтпесе
EXPRESS(&параметр AS жол(100))
Соңы

Егер динамикалық тізім сұрауының ерікті мәтіні таңдау өрістерінің өрнектерінде параметрлерді пайдаланса, құрылымды пайдаланып параметрлер түрін нақты көрсету керек. ЭКСПРЕСС. Мысалы, орнына &Номенклатура AS Номенклатурапайдалану
EXPRESS(&Nomenclature AS Directory.Nomenclature) AS Номенклатура. Әйтпесе, іздеу жолағы арқылы іздеу жұмыс істеуі мүмкін
дұрыс емес немесе қателер тудырады.

3. Динамикалық тізіммен деректерді алу және кэштеу әдістері

Көрсетілетін деректерді алу кезінде динамикалық тізім үш әдістің бірін пайдаланады:
1. Дерекқордан оқу тізімде бір уақытта көрсетілетін жолдар санынан сәл артық деректер элементтері бар бөліктерде орындалады (бірақ 20-дан кем емес). Деректер серверде кэштелмеген.
2. Дерекқордан оқу 1000 деректер элементінен тұратын беттерде орындалады. Деректер серверде кэштелуде. Иерархиялық деректер кэштеледі: әрбір ата-ана үшін элементтердің 2 бетінен көп емес кэштеледі. Бір динамикалық тізімде 20 беттен аспайтын элементтер кэштелмейді. Кэштеу келесі кестелер үшін динамикалық тізім арқылы қосылады:
● іріктеу критерийлері;
● Негізгі кестеден және MovementsSubconto кестесінен басқа есеп регистрінің барлық кестелері;
● Негізгі кестеден басқа барлық жинақтау регистрлерінің кестелері;
● Негізгі кестеден басқа ақпараттық регистрдің барлық кестелері;
● Негізгі кестеден басқа есептеу регистрінің барлық кестелері;
● Орындаушы тапсырмаларының виртуалды кестесі;
● Кілттері жоқ сыртқы көздердің кестелері;
● Сыртқы көздерден алынған текшелер.

3. Дерекқордан оқу 1000 элементтен тұратын беттерде орындалады. Бірінші бөлік 1 бетке тең. Әрбір келесі бөлік 1 бетке артады (алдыңғы үлгінің соңына жеткенде). «Көру нүктесі» көрсетілген деректердің соңына жақындаған сайын, үлгі дерекқордан үлкенірек оқылады, сайып келгенде, барлық көрсетілген деректерге тең болады. Деректер серверде кэштелуде. Кэштегі және динамикалық тізімдегі жазбалардың ең көп саны - 1 000 000.
Динамикалық тізімнің негізгі кестесінде не таңдалғанына және Динамикалық оқу сипаты қандай мән алатынына байланысты деректерді оқудың сол немесе басқа әдісі қолданылады:

● Негізгі кесте қасиетінің мәні ретінде келесі кестелердің бірі көрсетілген: айырбастау жоспары, анықтамалық, құжаттар тізімі, құжат журналы, сипаттамалар түрлерінің жоспары, бухгалтерлік есеп жоспары, есептеу түрлерінің жоспары, бизнес-процесс, тапсырма, кесте бизнес-процесс нүктелері:



● Негізгі кесте қасиетінің мәні ретінде келесі кестелердің бірі көрсетілген: ақпараттық регистрдің негізгі кестесі, жинақтау регистрі, есеп регистрі, есептеу регистрі, MovementsSubconto есептік регистрінің виртуалды кестесі:

● Динамикалық оқу сипаты:
● Орнатылған: 1-әдіс пайдаланылады (әдістердің сипаттамасы жоғарыда берілген).
● Қалпына келтіру: 2-әдіс пайдаланылады (әдістердің сипаттамасы жоғарыда берілген).

● Негізгі кесте сипатында таңдау шарты кестесі немесе орындаушы бойынша тапсырмалар кестесі бар (Орындаушы бойынша тапсырмалар):
● Кесте жолын анықтайтын кілт: Сілтеме.

● Main table қасиеті SliceFirst немесе SliceLast ақпараттық регистрінің виртуалды кестесін көрсетеді:
● Кесте жолын анықтайтын кілт: RecordKey.
● Динамикалық оқу сипаты қолданылмайды.
● 2-әдіс қолданылады (әдістердің сипаттамасы жоғарыда берілген).

● Негізгі кесте сипаты жоғарыда аталғандардан басқа виртуалды тіркелім кестелерінің біріне орнатылған:

● Динамикалық оқу сипаты қолданылмайды.

● Негізгі кесте сипаты көрсетілмеген, ерікті сұрау пайдаланылады:
● Кесте жолын анықтайтын кілт: Сан.
● Динамикалық оқу сипаты қолданылмайды.
● 3-әдіс қолданылады (әдістердің сипаттамасы жоғарыда берілген).

Көрсету үшін деректер клиентке бөліктерде беріледі, олардың өлшемі деректерді оқудың 1-ші әдісіндегі бөлік өлшеміне ұқсас (осы бөлімнің басында сипатталған).
Динамикалық тізімді қамтитын пішінді жасаған кезде, әрбір көрінетін динамикалық тізім үшін 45 деректер элементі бастапқыда клиентке жіберіледі (егер тізімде 45-тен көп элементтер болса). Динамикалық тізім 45-тен астам жолды көрсетсе, жетіспейтін деректер элементтерін шығарып алу үшін пішін ашылған кезде қосымша сервер шақыруы жасалады.

4. Динамикалық тізім параметрлері

Сипат тізімінің параметрлері - «Ашу» гиперсілтемесін басу динамикалық тізімнің дисплейін орнатуға арналған пішінді ашады. Тізімді орнату деректер құрамы жүйесіндегі ұқсас операциялар сияқты орындалады.


Күріш. 2. Динамикалық тізімді шартты стильдеу

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

КЕҢЕС.Сұрыптау өрістерін нашар таңдау (сонымен қатар деректерді таңдау және топтау) динамикалық іріктеу тиімділігіне теріс әсер ететінін есте ұстаған жөн.
Қолданба әзірлеушісінің көзқарасы бойынша динамикалық тізім параметрлері өзара байланысты бірнеше бөліктерден тұрады. Динамикалық тізімнің параметрлерін басқаруға болатын негізгі сипат болып табылады LinkerSettings. Бұл нысанда жүйе іске қосылған кезде динамикалық тізімге қолданылатын соңғы параметрлерді анықтайтын параметрлердің үш жиыны бар:
● Параметрлер – конфигуратор режимінде жасалған параметрлер. Order динамикалық тізім сипаты қамтамасыз етеді жылдам қол жеткізудинамикалық тізім параметрлерін құрастырушысының Settings.Order сипатына, сондықтан келесі конструкциялар баламалы болады:
List.Order және List.SettingsLinker.Settings.Order;
● UserSettings – бұл 1С:Кәсіпорын режимінде пайдаланушы өзгертетін параметрлер;
● Бекітілген параметрлер – бұл параметрлер ендірілген тілден орнатылады. Бұл сипат сонымен қатар оның параметрлері арқылы пішінге тасымалданатын таңдау мәндерін қамтиды. Таңдау, Параметрлер, Шартты көрініс динамикалық тізім сипаттары динамикалық тізім параметрлерін құрастырушының бекітілген параметрлеріне жылдам қол жеткізуді қамтамасыз етеді. Басқаша айтқанда, бұл қоңыраулар баламалы:
List.Settings Composer.FixedSettings.Selection және List.Selection.
Динамикалық тізім үшін соңғы параметрлерді жасау кезінде әртүрлі параметрлер опциялары төмендегідей біріктіріледі:
● Параметрлердің кез келген түрі толығымен реттелетін ретінде белгіленсе, нәтижесінде алынған параметрлер реттелетін параметрлерді қамтиды
(List.ComposerSettings.UserSettings). Сонымен қатар, кез келген баптау элементтері қолжетімсіз деп белгіленсе, бұл параметрлер List.Settings Composer сипатынан алынған параметрлерге орналастырылады. Параметрлер.
● Параметрлердің кез келген түрі толығымен емес, элемент бойынша реттелетін ретінде белгіленсе, онда:
● Пайдаланушы ретінде белгіленген элементтер List.SettingsComposer.CustomSettings сипатынан алынған параметрлерге қосылады.
● Қолжетімсіз деп белгіленген элементтер List.SettingsComposer.Settings сипатынан алынған параметрлерге қосылады.
Бекітілген параметрлер(List.SettingsComposer.FixedSettings) алынған параметрлерге "сол күйінде" қосылады. Сонымен қатар, тіркелген және пайдаланушы параметрлері бірдей атаудағы параметрлерді қамтуы мүмкін емес, мысалы, шартта сол жақ мәні бірдей таңдау.

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


Күріш. 3. Пайдаланушы параметрлеріне қосуды бақылау

Терезенің төменгі жағындағы құсбелгі (3-суретті қараңыз) параметрлердің барлық түрін параметрлерге (қалыпты немесе жылдам) орналастыруға жауапты. Бұл мүмкіндік таңдау, ретке келтіру, топтау және шарттау үшін қол жетімді. Параметрлер жылдам таңдау өңдеу режимімен көрсетілсе, динамикалық тізімді көрсететін пішін кестесінің Пайдаланушы параметрлер тобы сипатында динамикалық жүйенің жылдам пайдаланушы параметрлерімен байланысты элементтері бар бос пішін тобын көрсету керек. тізімі орналасады. Топ көрсетілмесе, пайдаланушының жылдам параметрлері пішінде көрсетілмейді. Сондай-ақ, динамикалық тізім кеңейтімінің CreateCustomSettingsFormItems() әдісін пайдаланып, кірістірілген тілді пайдаланып реттелетін параметрлерді жасауды анық шақыруға болады.
Сондай-ақ, пайдаланушы параметрлерінде арнайы параметрлер элементтерін орналастыру мүмкіндігін таңдауға болады. Бұл мүмкіндік таңдау және шартты дизайн элементтері үшін қол жетімді (3-суретті қараңыз).

Динамикалық тізімді ашу кезінде жүктелетін қандай да бір арнайы параметрлер қажет болса, мұны екі жолмен жасауға болады:
● UserSettings динамикалық тізім пішін параметрін пайдалану. Бұл параметрдегі деректер пайдаланушының динамикалық тізім параметрлеріне орналастырылады.
● Динамикалық тізім пішін параметріUserSettingsKey пайдалану. Пішінді ашу кезінде осы параметрді көрсетсеңіз, онда көрсетілген кілтпен параметрлер қоймасында орналасқан пайдаланушы параметрлері пішіннің негізгі атрибуты болып табылатын динамикалық тізімге жүктеледі.

5. Динамикалық тізімде іздеу

Пішінде орналасқан динамикалық тізім көрсетілген деректерді интерактивті іздеу мүмкіндігін береді. Іздеуді келесі құралдар арқылы жүзеге асыруға болады: іздеу жолағы, іздеу диалогы, ағымдағы мәнді іздеу, іздеу журналын пайдалану және кезеңді орнату (құжаттарды көрсететін динамикалық тізімдер үшін). Іздеу нәтижесі шектеулі жазбалар жинағы болып табылады
динамикалық тізім (қол жетімді осы пайдаланушыға) іздеу критерийлеріне сәйкес келеді.
Динамикалық тізімде іздеу мүмкіндіктерін басқару үшін үш кесте сипаты бар: бақыланатын пішін, динамикалық тізімді көрсету:
● Іздеу жолының орны – іздеу жолының орнын анықтайды. Келесі мәндерді қабылдай алады: Авто, Пәрмен жолағы, Ешбірі, Жоғарғы, Төменгі.


Күріш. 4. Динамикалық тізімдегі іздеу жолын

Егер бұл сипаттың мәні Пәрмендер тақтасына орнатылса, онда іздеу жолы пішіннің пәрмендер тақтасында (егер динамикалық тізім пішіннің негізгі атрибуты болса) немесе динамикалық тізіммен байланысты пәрмендер тақтасында көрсетіледі. Пәрмен жолағында орналасқан іздеу жолағы әрқашан пәрмен жолының оң жақ жиегіне басылады (іздеу жолының оң жағында орналасқан түймелермен бірге).
Егер сипат Жоқ мәніне орнатылса, онда іздеу жолы пішінде болмайды және іздеу жолын теруді бастағанда диалогтық терезе ашылады.
Сипат Жоғарыға орнатылса, іздеу жолағы тізім пәрмен жолы мен динамикалық тізімді көрсететін кесте арасында орналасады. Сипат Төменге орнатылса, іздеу жолы динамикалық тізімді көрсететін кестеден кейін бірден орналастырылады.


● Үйлесімділік режимі сипаты Қолданбау күйіне орнатылса немесе 8.3.4 нұсқасынан ескірек болса – мән Пәрмендер тақтасы болады.
Іздеу жолына келесідей өтіңіз:
● Ctrl+F пернелер тіркесімін басу арқылы;
● Тінтуір;
● Динамикалық тізімде теруді бастағанда (динамикалық тізімнің SearchOnTyping сипатының мәнін ескере отырып).
● View State Position – көрініс күйінің қай жерде көрсетілетінін сипаттайды: қандай өрістер ізделді және қандай мәндер
әр салада ізденді. Келесі мәндерді қабылдай алады: Auto, None, Top, Bottom


Күріш. 5. Динамикалық тізімдегі іздеу күйі

Сипат Жоқ мәніне орнатылса, көрініс күйі пішінде болмайды. Нәтижесінде іздеудің аяқталғанын немесе аяқталмағанын «Іздеуден бас тарту» батырмасының қолжетімділігі арқылы анықтауға болады.
Сипат Жоғарғы мәніне орнатылса, көрініс күйі тізім пәрмен жолағы мен динамикалық тізімді көрсететін кесте арасында орналасады. Сипат Төменге орнатылса, көрініс күйі динамикалық тізімді көрсететін кестеден кейін бірден орналастырылады.
Пішін 1С: Enterprise 8.3.4 және одан бұрынғы нұсқасында жасалған болса, сипат Жоқ деп орнатылады. Пішін 1C: Enterprise 8.3.5 және одан жоғары нұсқасында жасалған болса, сипат Авто күйіне орнатылады. Бұл жағдайда мүліктің нақты құны келесідей анықталады:
● Үйлесімділік режимі сипаты 8.3.4 нұсқасына (және одан төмен) орнатылған болса – мән No;
● Үйлесімділік режимі сипаты Қолданбау күйіне орнатылса немесе 8.3.4 нұсқасынан ескірек болса – Жоғары мәні;
● Search Control Position – іздеуді басқару түймесі қай жерде пайда болатынын анықтайды. Түйме келесі ақпаратты қамтитын мәзірді ашады: пәрмендер Ағымдағы мән бойынша табу, Кеңейтілген іздеу, Іздеуді тоқтату, Мерзімді орнату (құжаттар мен журнал тізімдері үшін) және іздеу сұрауларының журналы (соңғы 5 сұрау). Сипат келесі мәндерді қабылдай алады: Auto, None, Пәрмендер тақтасы.


Күріш. 6. Динамикалық тізімде іздеуді басқару

Егер сипат Жоқ мәніне орнатылса, онда іздеуді басқару түймесі пішінде болмайды (бірақ пәрмендер Қосымша мәзір арқылы қолжетімді болады). Пәрмендер тақтасы сипатының мәні динамикалық тізімді көрсететін кестемен байланыстырылған пәрмен жолағына түймені орналастырады.
Пішін 1С: Enterprise 8.3.4 және одан бұрынғы нұсқасында жасалған болса, сипат Жоқ деп орнатылады. Пішін 1C: Enterprise 8.3.5 және одан жоғары нұсқасында жасалған болса, сипат Авто күйіне орнатылады. Бұл жағдайда мүліктің нақты құны келесідей анықталады:
● Үйлесімділік режимі сипаты 8.3.4 нұсқасына (және одан төмен) орнатылған болса – мән No;
● Үйлесімділік режимі сипаты Қолданбау күйіне орнатылса немесе 8.3.4 нұсқасынан ескірек болса – мән Пәрмендер тақтасы болады;
Пішінде пәрмендер көзі басқарылатын пішіннің бір кестесі (динамикалық тізім деректерін көрсету) болып табылатын бірнеше пәрмен тақталары болса, іздеу жолы мен іздеуді басқару түймесі тек бір пәрмен тақтасында орналасады:
● Немесе динамикалық тізімнің пәрмен жолағында (ол үшін автоматты аяқтау қосылған болса)
● Немесе қалған пәрмен тақталарының кез келгенінде.

Динамикалық тізімде іздеуді пайдалану мүмкіндіктерін қарастырайық:
● Іздеуді пайдалануға ыңғайлы ету үшін (оның ішінде өнімділік тұрғысынан) динамикалық тізімнің негізгі кестесі ретінде пайдалануға болатын барлық конфигурация нысандары үшін толық мәтінді іздеуді қосу керек. Сондай-ақ, толық мәтінді іздеу динамикалық тізімде көрсетілуі мүмкін және іздеу қажет болуы мүмкін конфигурация нысандарының барлық мәліметтерін қамтуы керек.
Егер нысан толық мәтінді іздеуден шығарылса, онда қарастырылып отырған іздеу механизмі жұмыс істейді, бірақ мұндай іздеудің өнімділігі өте төмен болады. Толық мәтінді іздеу арқылы индекстелмеген нысандарда іздеуді пайдалану ұсынылмайды.
● Қолданба шешімі болуы керек күнделікті тапсырма, ол толық мәтінді іздеу индексін үнемі жаңартады.

● Іздеу динамикалық тізімнің (және конфигурация нысанының) барлық бағандарында орындалмайды, тек кестеде көрсетілген бағандарда ғана орындалады.
● Динамикалық тізімде еркін көрсетілімі бар сілтеме түрлерінің өрістері бойынша іздеу үшін пайдаланылатын өрістер орындалады.
өкілдік қалыптастыру (мына жерден қараңыз). Көрініске енгізілген өрістер сәйкес нысанның ViewFieldGettingProcessing() өңдеушісін ескере отырып алынады.
● Негізгі кесте көрсетілген динамикалық тізімдер үшін негізгі кестеде толық мәтінді іздеу қолданылады. Негізгі кестедегі барлық индекстелмеген сілтемелер толық мәтінді іздеу нәтижелеріне қосылады. Негізгі кестені толық мәтінді іздеу нәтижесі негізгі өрістерге негізделген таңдау ретінде пайдаланылады. Толық мәтінді іздеу басқа кестелерден тізімде көрсетілген өрістерде де орындалады (егер өріс пен конфигурация нысаны толық мәтінді іздеуді пайдаланса). Толық мәтінді іздеу қосылмаса, деректер болуы мүмкін
табылды, бірақ іздеудің өзі өте баяу болады.
Толық мәтінді іздеуді орындау кезінде қате орын алса, іздеу толық мәтінді іздеуді қолданбай орындалады.
Мысалы, бұл бір әріпті іздеу кезінде орын алуы мүмкін және үлкен сансызықтар ақпараттық база, осы әріптен басталады.
● Динамикалық тізімнің негізгі кестесіндегі өріс үшін салыстыру түрі бар таңдау пайдаланылса, толық мәтінді іздеуді орындау кезінде іздеу сұрауыТаңдау мәні осы кестеден қосылады.
● Іздеу жолы сөздерге бөлінген. Бұл бөлім келесі ережелерге сәйкес орындалады:
● Бөлгіштер ретінде бос орын мен қойынды таңбалары арқылы жол үзіледі.
● Содан кейін әрбір алынған фрагмент өңделеді:
● Егер фрагмент ағымдағы сеанс тіліне негізделген күн көрінісі (уақыты бар немесе жоқ) болса, онда сөз фрагмент болып табылады.
● Әйтпесе, фрагмент бөлгіштер ретінде “,.-/\” таңбалары арқылы одан әрі бөлінеді. Бұл жағдайда әрбір алынған жол фрагменті сөз ретінде қабылданады.

● Әрбір сөз үшін «НЕМЕСЕ» арқылы біріктірілген өзіндік шарттар жинағы қалыптасады. Шарттардың бұл жиыны осы өріс алынған кестедегі берілген сөзді толық мәтінді іздеу кем дегенде бір нысанды қайтарса немесе осы өріс үшін толық мәтінді іздеу пайдаланылмаған болса жасалады. Шарттар келесідей қалыптасады:
● String түріндегі өріс үшін шарт %Word% сияқты ӨрісАты болып табылады.
● Сан түрінің өрісі үшін шарттың FieldName=Мән пішімі болады, мұнда Мән - Сан түріне түрлендірілетін сөз. Егер трансляцияны орындау мүмкін болмаса, өрісті іздеу орындалмайды.
● Сөз ағымдағы сеанс үшін анықталған әдепкі логикалық көріністе ішкі жол ретінде ізделеді. Егер іздеу сөзі көріністе табылса, ол сөз табылған көрініске сәйкес мәнді іздейді. Бұл жағдайда іздеу Пішім пішін элементінің сипаты арқылы көрсетілген көріністерді пайдаланбайды.
● Күн түріндегі өріс үшін шарт FieldName>=StartofDay(Word) ANDFieldName сияқты көрінеді.<=КонецДня(Слово). Если Слово подобно дате, в которой год
бір немесе екі цифрмен көрсетілген болса, жыл ағымдағы ғасырға қысқарады және бұл мән іздеу шартына қосылады.
● Анықтамалық өрістер үшін іздеу анықтамалық көріністі қалыптастыру үшін пайдаланылатын өрістерде орындалады. Осы өрістердің әрқайсысында іздеңіз
жоғарыда сипатталған ережелерге сәйкес орындалады. Іздеу реттелетін деректер көрінісін қалыптастыру үшін пайдаланылатын өрістерді пайдаланбайды.
Әрбір сөзге арналған шарттар жиынтығы «ЖӘНЕ» біріктірілген.
● Бастапқы нөлдері бар мәндер үшін алдыңғы нөлдері бар жолды немесе нөлдерсіз көрсетілген жолды іздеуге болады.
● Егер динамикалық тізім құжаттар тізімін немесе құжат журналын көрсетсе, сіз көрсеткен тізімді көру аралығы қажетті динамикалық тізім үшін көрініс күйін көрсету үшін сақталған пішін аймағында да көрсетіледі.
● Динамикалық тізімнің негізгі кестесі таңдау шарты болса, ағымдағы мән бойынша іздеу пәрмені қолжетімді емес.
● Табылған жол фрагменттері кестеде көрсетілгенде бөлектеледі.
● Бір баған үшін тек бір іздеу жолына қолдау көрсетіледі. Ізделіп жатқан бағанға жаңа іздеу сұрауын қосқанда, бірге қосылатын екі іздеу сұрауының орнына іздеу өрнегі ауыстырылады.
● Егер пішінде динамикалық тізімді көрсететін кестемен байланысты Іздеу жолының дисплейі (пішін элементін қосу көзі сипаты) пішін элементінің қосымшасы болмаса, Ctrl+F пернелер тіркесімін басу іздеу диалогтық терезесін ашады.


Күріш. 7. Іздеу диалогтық терезесі

Егер пішінде динамикалық тізімді көрсететін кестемен (пішін элементін қосу Source сипаты) байланыстырылған Іздеу жолының дисплейі пішін элементінің қосымшасы болса, іздеу тілқатысу терезесін ашу үшін Кеңейтілген іздеу пәрменін пайдалану керек.
● Іздеу тілқатысу терезесін пайдаланған кезде келесі тармақтарды есте сақтаңыз:
● Пернелер тіркесімін пайдаланып іздеу тілқатысу терезесін ашу ағымдағы ұяшықтың мәнін іздеу жолында пайда болады және Қалай іздеу керек қосқышының мәні дәл сәйкестік бойынша орнатылады.

● Динамикалық тізімде іздеу жолын тікелей теруді бастау арқылы іздеу тілқатысу терезесін ашу «Іздеу әдісі» қосқышының мәні жолдың бөлігі бойынша мәніне орнатылады, ал терілген мәтін «Не» терезесінде аяқталады. іздеу өрісіне.

6. Динамикалық тізіммен көрсетілетін деректерді алу

Динамикалық тізімдерді пайдаланған кезде қолданылатын таңдаулар мен іздеулерді ескере отырып, қазіргі уақытта динамикалық тізімде көрсетілетін деректерде әртүрлі әрекеттерді орындау қажет болуы мүмкін. Мұндай әрекеттерге мыналар жатады: көрсетілген ақпаратты өңдеу, мысалы, таңдалған құжаттарды қайта жіберу немесе таңдалған объектілер үшін кейбір мәліметтерді орнату, қол жетімді объектілердің тізімін жасау (дизайнмен және т.б.), мысалы, басып шығару немесе электрондық кесте құжатына сақтау.
Динамикалық тізім арқылы көрсетілетін деректерді алу үшін GetExecutableDataCompositionScheme() және
GetExecutableDataCompositionSettings().
Деректерді қабылдау мысалы:

Схема = Elements.List.GetExecutableDataCompositionSchema();
Параметрлер = Items.List.GetExecutableDataCompositionSettings();
LayoutLinker = newDataCompositionLayoutLinker();
LayoutLayout = LayoutComposer.Execute(Схема, Параметрлер);
CompositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout);
OutputProcessor = Жаңа OutputProcessorDataCompositionResultInTabularDocument;
ReturnOutputProcessor.Output(CompositionProcessor);

Мәндер жинағына деректерді алу (кесте немесе мәндер тізімі) ұқсас жолмен орындалады.
Динамикалық тізім деректерін осы жолмен алу қолданбалы шешімдерді әзірлеу кезінде ескерілуі тиіс бірқатар мүмкіндіктерге ие:
● Келесі кесте дизайнына қолдау көрсетілмейді:
● ауыспалы сызық түстері;
● тақырып суреті;
● жертөленің суреті;
● Колонтитул фонының түсі;
● Колонтитул мәтінінің түсі;
● Колонтитул шрифті;
● жертөледегі көлденең орналасу;
● Құпия сөз режимі.
● Басқарылатын пішін үшін көрсетілген шартты көрініске қолдау көрсетілмейді;
● Сілтеме түріндегі өріс бойынша иерархиялық кестеге өсу ретімен тапсырыс бергенде, бос сілтемесі бар жазбалар әрқашан бірінші орналасады.

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

1С жүйесіндегі динамикалық тізімдердің ерекшеліктері

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

Динамикалық тізімнің қалай құрылғанын және ол қандай деректерді көрсететінін көру үшін конфигураторда ол орналасқан басқарылатын пішіндерді ашу керек: мәліметтер тізімінде оның қасиеттерін ашу үшін контекстік мәзірді пайдаланыңыз және «Таңдамалы тізімге» назар аударыңыз. Сұраныс» тармағы. Егер құсбелгі жоқ болса, онда «Негізгі кесте» параметрі деректер алынатын дерекқор кестесін көрсетеді. Әйтпесе, динамикалық тізім реттелетін сұрау деректерін көрсетеді, оны тізім параметрлерін ашу арқылы көруге болады.

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

Динамикалық тізімнің тағы бір пайдалы қасиеті «Тізім параметрлері» жазуын басқан кезде ашылады. Бұл мәзір стандартты өрістер жинағын пайдаланған кезде де ақпаратты соңғы пайдаланушылар үшін қолжетімді және түсінікті етуге мүмкіндік береді. Сұрау ерікті ма, жоқ па, қарамастан, сіз «Параметрлер» қойындысын көресіз, онда мыналарды көрсетуге болады:

  • Динамикалық тізімді таңдау;
  • Топтар;
  • Сұрыптау;
  • Декорация.

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

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

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



ТАҢДАУ Номенклатура Тізім. Аты АС Аты, Қоймадағы Тауарлар Қалғандар. Қойма ретінде Қойма, Қоймалардағы Тауарлар. Қалған Саны Каталогтан Қалған Саны. Номенклатура КІМНІ СОЛ ҚОСЫЛУ ТІЗІМІ On WarehousesRemaining software NomenclatureList.Link = ProductsInWarehousesRemainings.Номенклатура ҚАЙДА

Біздің сұрауымыз «CurrentDate» параметрін пайдаланғандықтан, өңдеуді пайдаланбас бұрын оның мәнін орнатуымыз керек. Ол үшін «When CreatedOnServer» процедурасындағы пішін модулінде стандартты пәрменді пайдаланып, оған «CurrentSessionDate» функциясын тағайындаңыз. Сондай-ақ, бақылау пішінінде динамикалық тізімді көрсету және анық болу үшін өрістердің ретін өзгерту керек. «Номенклатураның қалғаны» төлсипатын пішін элементтеріне (жоғарғы сол жақ бөлік) сүйреп апарыңыз және пішіндегі кестедегі өрістердің ретін өзгерту үшін көк көрсеткілерді пайдаланыңыз.

&Серверде жасалған процедурада (Сәтсіздік, стандартты өңдеу) Параметрлер мәнін орнату ("CurrentDate", CurrentSessionDate()) EndProcedure


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

«Күн» түрінің «Қалған күні» төлсипатын қосыңыз және оны пішін элементтеріне тасымалдаңыз. Өріс оқиғаларында біз «OnChange» оқиғасын жасаймыз және динамикалық сұрауда қолданылатын «CurrentDate» параметрін орнату кодын жазамыз. Пішінді ашқан кезде пайдаланушы балансты қай күні көретінін бірден түсінуі үшін біз «When CreatedOnServer» процедурасына шағын өзгерістер енгіземіз.



&OnServerProcedureWhenCreatingOnServer(Сәтсіздік, StandardProcessing)RemainingDate = CurrentSessionDate();

Элемент Remains.Parameters.SetParameterValue("CurrentDate", RemainingDate); Процедураның соңы &Клиент процедурасы туралы Қалған күніӨзгерген(элемент)номенклатурасы қалған.Parameters.SetParameterValue("CurrentDate",RemainingDate); Процедураның соңы

Нәтижесінде біздің Динамикалық тізім пішіні кез келген күндегі теңгерімді көрсете алады.

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

Тізімдер.

Қарау