Аппараттық және бағдарламалық қамтамасыз етуді орнату

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

1C: Enterprise платформасы басқарылатын пішін элементтерін бағдарламалы түрде қосуға және өзгертуге мүмкіндік береді. Бұл не үшін қажет болуы мүмкін екенін көрейік.

Пішінді бағдарламалық өзгерту бірнеше жағдайда қажет болуы мүмкін:

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

Басқарылатын пішінде бағдарламалы түрде қосуға, өзгертуге және жоюға болады:

  • деректемелер;
  • жергілікті командалар;
  • элементтері.

Бұл әрекеттердің барлығы серверде ғана мүмкін.

Бағдарламалық пішінді өзгертуде шектеулер бар:

  • Бағдарламалық түрде қосылған атрибуттарды/пәрмендерді/элементтерді ғана жоя аласыз. Конфигураторда жасалған нысандарды бағдарламалы түрде жоя алмайсыз.
  • Атрибутты негізгі ретінде тағайындау мүмкін емес.

Пішін командаларын өзгерту

Нысанға арналған командалар құрамын басқару үшін Басқарылатын пішінжинағы бар Командалар

    қосу (< ИмяКоманды >)

    Саны ()

    Табу (< ИмяКоманды >)

    Жою (< Команда >)

Пәрмендер жинағы клиентте де, серверде де қол жетімді. Жинақты өзгерту (Қосу () және Жою () әдістері) серверде ғана мүмкін. Клиентте де, серверде де элементтердің санын (Табу () және Саны () әдістері) іздеуге және алуға болады.

Пішін командаларымен жұмыс істеу мысалы ретінде өңдеушіні шақыратын «Тарихты өзгерту ...» тақырыбымен жаңа ChangeHistory пәрменін жасайық. Display History() . Жасау пішін ашылған кезде орындалады.

&Серверде
Процедура OnCreateOnServer(сәтсіздік, стандартты өңдеу)
Команда = Командалар. қосу( «Өзгерістер тарихы»);
Команда . Әрекет =;
Команда . Тақырып = «Өзгерістер тарихы...»;
EndProcedure
&AtClient
Процедура Қосылған_ДисплейТарихы(Пәрмен)
// команда әрекеттері
EndProcedure

Пәрмен өңдеушісі пішінде орналасуы және &AtClient компиляция директивасы болуы керек.

Пішін мәліметтерін өзгерту

Пішін атрибуттарының құрамын оқу функциясы арқылы орындалады Мәліметтер алу(< Путь >) бұл FormAttributes түрінің массивін қайтарады. Функция параметрі ата-аналық атрибутқа жолды көрсетеді (жол ретінде). Параметр өткізілмесе немесе бос жол көрсетілсе, жоғарғы деңгейдегі тіркелгі деректері қайтарылады.

Мәліметтерді өзгерту әдіспен орындалады EditRequisites(<Қосымша мәліметтер>, <Алынатын мәліметтер>) объект Басқарылатын пішін. Опциялар Қосымша мәліметтержәне Алынатын мәліметтер Form Requisite түрінің элементтері бар массивтер жіберіледі.

Назар аударыңыз!

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

Сатып алушы деп аталатын жаңа пішін төлсипатын жасайық:


AddedAttributes = Жаңа массив;
Қосымша мәліметтер. Қосу(Жаңа пішін төлсипаты(«Сатып алушы», New TypeDescription («Анықтамалық анықтама. Қарсы тараптар»), «Клиент»);

// Атрибуттар құрамындағы өзгерістер
);

Пішін элементтерін өзгерту

Объектінің элементтерінің құрамын басқару Басқарылатын пішінжинағы бар Элементтер. Коллекцияның бірнеше әдістері бар:

    Кірістіру (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    қосу (< Имя>, < ТипЭлемента>, < Родитель >)

    Саны ()

    Табу (< Имя >)

    Жылжыту(< Элемент>, < Родитель>, < МестоРасположения >)

    Жою (< Элемент >)

Elements жинағы клиентте де, серверде де қолжетімді. Жинақты өзгерту (әдістерді енгізу () , Қосу () , Жылжыту () және Жою () ) тек серверде қолжетімді. Клиентте де, серверде де элементтердің санын (Табу () және Саны () әдістері) іздеуге және алуға болады. Коллекция элементтері болуы мүмкін:

  • GroupForm;
  • TableForms;
  • FormField;
  • ButtonForms.

Пішін элементтеріне оқиға өңдегіштерін бағдарламалы түрде тағайындауға болады. Осы мақсатта әдіс SetAction(< ИмяСобытия>, < Действие >) .

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

Пәрменді және онымен байланысты түймені қосу:

// Топ құру
Команда = Командалар. қосу( «Өзгерістер тарихы»);
Команда . Әрекет = "Connected_Display History"; // Пішінде көрсетілген аты бар процедура болуы керек
Команда . тақырыбы = «Өзгерістер тарихы...»;
// Түймешік жасаңыз және оны пәрменмен байланыстырыңыз
Элемент = Элементтер. қосу( «Өзгерістер тарихы», Type("FormButton" ));
Element.CommandName = «Өзгерістер тарихы»;

Атрибутты және онымен байланысты енгізу өрісін қосу:

// Қосылған мәліметтердің сипаттамасы
AddedAttributes = Жаңа массив;
Қосымша мәліметтер. қосу(Жаңа пішін төлсипаты («Сатып алушы», Жаңа түр сипаттамасы ( "Анықтамалық сілтеме. Қарсы тараптар"), «Тапсырыс беруші» ));
// Атрибуттардың құрамын өзгерту
EditAttributes(AddedAttributes);
// Енгізу өрісін құру және төлсипатқа сілтеме жасау
Элемент = Элементтер. Қосу("Тұтынушы" , Түр("FormField" ));
Элемент . Көрініс = ViewFormFields. Кіру өрісі;
Элемент . PathToData= «Сатып алушы» ;

Пішін элементіне оқиға өңдегішін тағайындау:

ItemSatıcı. SetAction(«Ол өзгерген кезде», "Plug-in_BuyerOnChange");

&AtClient
Процедура Plugin_BuyerOnChange(элемент)
// Оқиға әрекеттері
EndProcedure

Назар аударыңыз!

Әдісті пайдаланып кодтан оқиға өңдеушілері ретінде орнатылатын процедуралар SetAction(), Connected_ префиксін пайдалану ұсынылады.

Назар аударыңыз!

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

Клюев В.В.

http://prof1c.kklab.ru

ҚОСУЛАРМЕН ЖҰМЫС

Сайт сервисінің барлық пайдаланушыларын ескеруіңізді сұраймын - материалдарды Бастауыш бөліміне орналастырамын !!!

8.2 Басқарылатын пішіндер

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

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

Сонымен, жаңа каталог жасап, «Логикалық» түрі бар «Props1» деректемелерін қосамыз.

Енді «Пішіндер» қойындысына өтіп, жаңа пішінді қосыңыз.

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

Сонда біз нені дұрыс істемедік?
Басқару элементінің көрінісіне ауысу бар-жоғын білу үшін тіректердің қасиеттерін қарастырайық.
Біз Switch Field бұл жерде жоқ екенін көреміз! (Біз қай жерде қателестік?

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

Енді басқару элементінің қасиеттеріне оралайық және оның қасиеттеріне басқару элементінің View қосылғанын тексерейік - - - Ал urra, біз онда көріністі көреміз - Switch өрісі.

Енді пішінге қараңыз, біз не көреміз:

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

2 үшін - орнату Бағандар саны - 2.

Бұл шаршаған бағдарламашыны аздап тоқтатуы мүмкін)), бірақ қазір оны ол да, біз де білеміз!

8.2 Жалпы пішіндер.

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

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

Пішін осылай көрінеді, оған қосымша қосқыштарды қосу керек


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

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

Жаңа басқару элементін қосу - Коммутаторлар саны мен сипаттамасы бар кестеде Switch2 қосыңыз, Switch1-ді топта бірінші етіп орнатыңыз және ok түймесін басыңыз. Құрылған басқару элементтерін формаға орналастырамыз. Дерекқор конфигурациясын жаңартыңыз (F7) және жөндеу үшін іске қосыңыз.

Орындалған кезде (1С: Кәсіпорын режимінде жаңа құжатты жасау кезінде) біз Switch2-ге қанша басуға тырысқанымызбен, ештеңе болмайтынын көреміз. Элементтер қажетінше жұмыс істемейді. Мұнда бір ерекшелік бар.
Конфигураторға оралыңыз. Пішін -> Өткізу ретін орнату ... мәзіріндегі элементті таңдаңыз (форманың экранда ашық болуы маңызды)


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

ЖАРАЙДЫ МА. Конфигурацияны жаңартып, іске қосып көріңіз.
Жақсы. Барлығы жұмыс істеді.

Қосымша - бейне (дыбыс жоқ, сондықтан бәрі түсінікті)


1С пайдалану кезінде жүйе автоматты түрде жасайды қолданылатын ерітінді. Олар 1С:Кәсіпорын жүйесінде ақпаратты ұсыну (көрсету) үшін негіз болып табылады.

1С формасының құрылымы

Form in – форма құрамының логикалық сипаттамасы. элементтер пішіннің қалай көрінетінін сипаттайды. Пішін элементтерін орналастыруды жүйе ол көрсетілген кезде автоматты түрде орындайды.

Пішіннің көрсетілген бөлігі (пайдаланушыға көрінетін) пішін элементтерін қамтитын ағаш ретінде сипатталады (төмендегі суретті, «Пішін элементтері» өрісін қараңыз):

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

«1С нысанының элементтері»

[жасыру]

Пішін элементтерінің тобы ретінде ұсынылуы мүмкін

  1. жақтау панелі,
  2. беттері бар панель (бетбелгілер),
  3. нақты бет,
  4. пәрмендер тақтасы.

Пішіннің бүкіл функционалдығы келесідей сипатталады:

  • мәліметтер (форма жұмыс істейтін деректер);
  • командалар (орындалатын әрекеттер).

Басқарылатын пішіннің көрінісін теңшеу

Басқарылатын пішіннің көрінісін пайдаланушымен теңшеу

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

«Көбірек» - «Пішінді өзгерту»

«Қосымша» - «Пішінді өзгерту» пәрмені:

«Пішінді өзгерту» түймесін басқаннан кейін 1С пішінінің параметрлері терезесі шығады:

[жасыру]

Сонымен қатар, пайдаланушы режимінде келесі әрекеттерді орындауға болады:


  • пішіндердің ретін өзгерту, оларды бір бағаннан екінші бағанға жылжыту (жұмыс үстелі екі бағанда ұйымдастырылған болса), бірақ жұмыс үстеліндегі бағандардың санын өзгерту мүмкін емес;
  • ақпаратты бөлек терезелер түрінде көрсету (навигация командасын шақырған кезде Shift пернесін басып тұрыңыз).

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

Басқарылатын пішіннің сыртқы түрін әзірлеуші ​​ретінде теңшеу

Әзірлеуші ​​элементтердің орналасуына әсер ете алады әртүрлі қондырғылар. Ол элементтердің ретін анықтай алады, олардың ені мен биіктігін көрсете алады, сондай-ақ пайдалана алады:

  • пішіннің өзі командалары;
  • бүкіл конфигурацияда қолданылатын жаһандық командалар;
  • ағымдағы пішіннің нақты деректерін ескере отырып, басқа пішіндерді ашатын параметрленетін пәрмендер.

Сурет (1С әзірлеушісінің пішінін өзгерту)

[жасыру]

1С формасын әзірлеу кезінде сізге:

  1. пішін редакторында формаға қажетті мәліметтер мен командаларды енгізу;
  2. оларды бейнелейтін пішін элементтерін құру, элементтердің орналасу ретін анықтау, ені мен биіктігін көрсету (қажет болса);
  3. элементтерді топтарға орналастырыңыз (қажет болса).
  1. Пішін элементтерінде рөлге негізделген көріну параметрлерін пайдаланыңыз (атрибуттарды арқылы қарау және өңдеу, пішін өрістерінің рөлдер бойынша реттелетін көрінуі, рөлдер бойынша пәрмендерді пайдалану) үлкен санконфигурациядағы рөлдер (бірнеше ондаған). Оның орнына келесі әдістерді қолдану керек:
    • пайдаланушы үшін белгілі бір рөлдердің болуына байланысты пішіннің сыртқы түрі мен функционалдығында күшті айырмашылықтармен - жеке формаларды әзірлеу, пайдаланушы құқықтарының белгілі бір жиынтығы үшін мамандандырылған;
    • шамалы айырмашылықтармен - кодта рұқсат тексерулерін орындаңыз. Сонымен қатар, көрінуді бағдарламалық бақылау пішінді ашу жылдамдығын төмендетуі мүмкін екенін есте ұстаған жөн, бұл ұсынылған тәсілдер арасында таңдау кезінде ескерілуі керек.
  2. Конфигурация пәрмені интерфейсінде, негізгі бөлім пәрмен интерфейсінде және жұмыс кеңістігінде рөлге негізделген көріну параметрлерін пайдаланыңыз бастапқы бет. Оның орнына пәрмен интерфейсі бөлімдерінде және оған енгізілген нысандарда рұқсаттар параметрін пайдалану керек командалық интерфейснемесе жұмыс кеңістігіне. Бұл пайдаланушы үшін басқарылатын интерфейс әрекетінің болжамдылығын жақсартады, сонымен қатар қателерді жоюды жеңілдетеді.

Көбірек егжей-тегжейлі ақпарат«1С:Enterprise 8.3-те пішіндермен жұмыс істеу» курсында пішіндермен жұмыс істеу үшін, http://www.1c.ru/rus/partners/training/uc1/course.jsp?id=161.

1. Енгізу өрісі
2. Құсбелгі ұяшығы
3. Ауыстыру

Кіру өрісі

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

Тізімнен таңдау (SelectFromListMode)

Басқа пішіннен таңдау (Таңдау түймесі)

Басқару түймелері

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

Процедура pvНоменклатура таңдау регламенті(элемент, бағыт, стандартты өңдеу)
//Енгізу өрісі үшін деректерді таңдаңыз
// бұл жағдайда сілтеме Номенклатура
Сұраныс = Жаңа сұраныс;
Сұраныс.Мәтін=
«ТАҢДАУ
| Номенклатура. Элемент ретінде сілтеме
| FROM
| Анықтамалық номенклатура AS Номенклатура
|ТАПСЫРЫС БОЙЫНША
| Номенклатура.Код»;
TZНоменклатура = Сұраныс.Орындау().Жүктеп салу();

//енгізу өрісінде көрсетілген каталогтың ағымдағы элементін іздейміз
CurrentElement = TKNomenclature.Find(Element.value);

Егер CurrentItem = Анықталмаған болса
// егер элемент табылмаса, индекс нөмірін орнатыңыз
// мәндер кестесінен тыс, себебі ең бірінші элементі
// мәндер кестесінде 0 индексі бар
CurrentIndex = -1;
Әйтпесе
// егер элемент табылса, оның индексін алыңыз
TekIndex = T3Nomenclature.Index(TekElement);
EndIf;

// түймені басуға байланысты жаңа индексті есептеңіз
// айнымалының алдында минус Бағыт - тәртіпте
// жоғарғы көрсеткіні басу жоғарыдағы элементті көрсетті
// сондықтан төменгі индекспен
NewIndex = CurrentIndex-Direction;

// каталогтағы элементтердің санын алу
// бірді алып тастаңыз, себебі 8.1-дегі барлық жинақтар 0-ден басталады
Элементтер саны = ТК номенклатурасы Саны () -1;

Егер NewIndex< 0 Или НовИндекс >Содан кейін элементтер саны
// егер өзгерген кезде индекс мәндер кестесінен тыс болса
// яғни. оның саны ең үлкен индекстен үлкен немесе 0-ден аз
// мәнді өзгертпеңіз және ол туралы пайдаланушыға хабарлаңыз
alert («Сіз каталог шегіне жеттіңіз»);
Әйтпесе
// жаңа мән тағайындау, "Өнім" - мәндер кестесі бағанының аты
Element.value = TKNomenclature.Get(NewIndex).Product;
EndIf;

EndProcedure

Құсбелгі ұяшығы

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

Ауыстыру

Коммутатор мүмкін болатын аз саннан бір мәнді таңдау үшін қолданылады (бестен артық емес), ал мәндерді біріктіру мүмкін емес, Мысалы: адамның жынысын таңдауға жарамды. Тағы бір мысал: компания өнімге 3 жеңілдіктің бірін берді делік, ал жеңілдіктер жиынтық емес:

Бұл жағдайда радио түймелерді пайдаланудың ыңғайлылығы олардың әрқайсысының «Таңдалатын мән» қасиетінде орнатылған қандай да бір мәнге ие болуы мүмкін екендігінде болуы мүмкін. Содан кейін «5% жеңілдік» 5 немесе 0,05 мәнін сақтай алады.

Радио түймелерді пайдалану кезінде есте сақтау керек үш маңызды нәрсе бар:

      Бірінші радиотүйменің «FirstInGroup» қасиеті болуы керек (бұл мысалда бұл «5% жеңілдік» радио түймесі).

      Мағынасы бойынша бір топқа қатысты қосқыштар басқа пішін элементтерімен үзіліссіз айналып өту реті параметрінде кезекпен жүруі керек. Айналып өту тәртібі «Форма -> Айналып өту ретін орнату» мәзірінен орнатылады, үшін бұл мысалол келесідей көрінеді:

  1. Таңдалған мәннің түрі "FirstInGroup" қасиеті бар қосқыш арқылы орнатылады.
Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!