1c управлявани форми. Програмно добавяне и редактиране на управлявани елементи на формуляр
Формив 1C:Enterprise са предназначени за показване и редактиране на информация, съдържаща се в базата данни. Формулярите могат да принадлежат към конкретни конфигурационни обекти или да съществуват отделно от тях и да се използват от цялото приложно решение.
Например директория Номенклатураможе да има няколко форми, които ще се използват за конкретни цели - редактиране на елемент от директория, показване на списък и т.н.:
Заедно с това може да има общи формуляри, които не принадлежат към конкретни конфигурационни обекти - общи формуляри.
Основни форми
Всеки конфигурационен обект може да се използва за извършване на някои стандартни действия. Например, за всяка директория може да се наложи да покажете списък с нейните елементи, да покажете отделни елементи от директорията, да покажете група от директорията, да изберете елементи и групи от елементи от директорията. За всеки документ списъкът с такива действия ще бъде много по-малък: преглед на списък с документи, избор от списък с документи и преглед на отделен документ.
За да се гарантира, че такива стандартни действия се извършват с данните на обектите на приложното решение, за всеки от тях има набор от основни форми, които ще се използват при извършване на съответните действия. Всяка от формите, подчинени на този обект, може да бъде назначена като основна. Например в директорията НоменклатураМогат да съществуват следните основни форми:
И документа Получаване на стоки и услугисъставът на основните форми ще бъде различен:
По този начин, ако потребителят иска да види списъка с директории Номенклатураили списък с документи Получаване на стоки и услуги, системата ще отвори съответния формуляр, определен като списък на тези обекти.
Автоматично генерирани формуляри
Важна характеристика на системата 1C:Enterprise 8 е механизмът на автоматично генерирани формуляри. Този механизъм освобождава разработчика от необходимостта да създава всички възможни форми за всеки конфигурационен обект. Разработчикът просто трябва да добави нов конфигурационен обект и самата система ще генерира в правилните моменти от работата на потребителя необходимите форми за показване на информацията, съдържаща се в този обект.
По този начин разработчикът трябва да създаде свои собствени форми на обекти на приложно решение само ако те трябва да имат разлики (различен дизайн или специфично поведение) от формите, автоматично генерирани от системата.
Свързване на формуляр с данни
Дали даден формуляр принадлежи към определен конфигурационен обект не определя състава на данните, които се показват във формуляра. Фактът, че формулярът принадлежи например към директория Номенклатура, ви позволява да го зададете като една от основните форми за тази директория, но по никакъв начин не определя какви данни ще показва този формуляр и какво ще бъде поведението му.
За да се асоциира формуляр с данни, се използват подробности за формуляра, които показват списъка с данни, показани от формуляра. Всички формуляри сами по себе си имат едно и също поведение, независимо какви данни показват. Въпреки това, един от атрибутите на формуляра може да бъде определен като основен атрибут за него (той е маркиран с удебелен шрифт), в който случай стандартното поведение на формуляра и неговите свойства ще бъдат допълнени в зависимост от това какъв тип има основният атрибут на формуляра:
Например, ако даден документ е зададен като основен атрибут на формуляр Получаване на стоки и услуги, то при затваряне на формуляра системата ще поиска потвърждение за записване и осчетоводяване на този документ. Ако зададете, да речем, директория като основен атрибут на формуляра Номенклатура, тогава такава заявка за потвърждение няма да се появи при затваряне на формата.
Структура на формата
Основната характеристика на формулярите е, че те не са начертани от разработчика в детайли, „пиксел по пиксел“. Формуляр в конфигурация е логическо описание на състава на формуляра. А конкретното разполагане на елементи се извършва автоматично от системата при показване на формата.
Показаната част от формуляра (видима за потребителя) се описва като дърво, съдържащо елементи на формуляра.
Елементите могат да бъдат полета за въвеждане, квадратчета за отметка, радио бутони, бутони и т.н. Освен това елемент може да бъде група, която включва други елементи. Една група може да бъде представена като панел с рамка, панел със страници (отметки), самата страница или команден панел. Освен това елементът може да бъде таблица, която също включва елементи (колони). Структурата на елемента описва как ще изглежда формата.
Цялата функционалност на формата е описана под формата на подробности и команди. Детайлите са данните, с които работи формата, а командите са действията, които трябва да бъдат извършени. По този начин разработчикът в редактора на формуляри трябва да включи необходимите детайли и команди във формуляра, да създаде елементи на формуляр, които ги показват и, ако е необходимо, да подреди елементи в групи.
Въз основа на това логическо описание системата автоматично генерира външния вид на формата за показване на потребителя. В този случай системата взема предвид различни свойства на показаните данни (например тип), за да подреди елементите на формуляра възможно най-удобно за потребителя.
Разработчикът може да повлияе на подреждането на елементите с различни настройки. Той може да определи реда на елементите, да посочи желаната ширина и височина. Това обаче е само допълнителна информация, която да помогне на системата да покаже формуляра.
Във формуляри разработчикът може да използва не само командите на самия формуляр, но и глобални команди, използвани в командния интерфейс на цялата конфигурация. Освен това е възможно да се създадат параметрируеми команди, които ще отварят други формуляри, като вземат предвид специфичните данни на текущия формуляр. Например, това може да бъде извикване на отчет за салда в склада, който в момента е избран във формуляра за фактура.
Клюев В.В.
http://prof1c.kklab.ru
РАБОТА С СУИЧЕВЕ
Моля, вземете предвид всички потребители на услугата на сайта - публикувам материали в раздела за начинаещи!!!
8.2 Управлявани формуляри
Докато изучават поведението на управляваните формуляри, програмистите или разработчиците на интерфейси се сблъскват с въпроса къде са превключвателите в управляваните формуляри и как да ги добавят към формуляра. Това е малко нещо, но е неприятно, че много време се изразходва за такива дреболии, въпреки че това време може да бъде изразходвано за разработване и оптимизиране на алгоритъма, а не за проектиране на формата.
Така че, нека създадем празна конфигурация, за да разберем въпроса, или да изберем някоя типична.
Отидете до групата, съдържаща директории, и добавете нова директория, за да експериментирате. Бих искал да отбележа, че конфигурацията трябва да има основния режим на стартиране - управлявано приложение.
И така, нека създадем нова директория и добавим атрибута "Property1", с тип "Boolean"
Сега нека отидем в раздела Формуляри и да добавим нов формуляр.
И така, контролираният формуляр е създаден, сега нека работим с формуляра и да намерим къде се намира превключвателят.
Ето нашата форма и на нея виждаме нашия реквизит, но под формата на знаме
И така, какво сбъркахме?
Нека да погледнем в свойствата на подпорите, за да видим дали има превключване към типа контрол.
И виждаме, че полето Switch не е тук! (Къде сгрешихме?
Очевидно типът контрол на формуляра зависи от типа данни, нека се върнем към свойствата на формуляра, а именно раздела с подробности, и променим свойствата на нашия атрибут - а именно неговия тип „Boolean“, на тип „Число ”.
Сега нека се върнем към свойствата на контролата и да проверим дали изгледът на контролата е добавен към неговите свойства - - - И ура, виждаме изгледа там - Switch Field.
Сега погледнете формата, какво виждаме:
Виждаме - 3 стойности по подразбиране, 3 превключвателя, но имаме нужда от два от тях, отидете отново до свойствата на атрибута и погледнете свойствата „Брой колони“ там
За 2 - задайте Брой колони - 2.
Това може малко да спре уморен програмист)), но сега и той, и ние го знаем!
8.2 Редовни форми.
Скучно с ключове в обикновени форми.
Има такива моменти и те се случват), когато трябва да промените готова форма, която вече има някои превключватели, и трябва да добавите друг превключвател към тази форма. Тук възниква някаква досада, която отнема много време и то не време за програмиране на кода, а загуба на време, за да се покажат тези ключове на потребителя.
Така че нека да разгледаме един пример. Има такъв документ за коригиране на разписки в 1C UPP - определено съществува. Веднъж трябваше да добавим превключватели към него, така че да бъдат начертани малко по-различни записи за счетоводството. Какъв е проблемът, изглежда, че трябва, трябва, ще го направим. Но тази форма вече има 2 радио бутона.
Ето как изглежда формата, в която трябва да добавим още ключове
В раздела Разширени бихме искали да поставим още два бутона за избор. Така че първата стъпка е смело да добавим нов контролен елемент на мястото, от което се нуждаем и да го поставим.
Изглежда, че всичко е просто. Създаваме нов атрибут с тип „Число“ и вмъкваме 2 ключа, единият от които ще може да записва данни в атрибута, а другият не.
Добавете нов контролен елемент - Switch, добавете Switch2 в таблицата с номера и описание на ключовете, задайте Switch1 първи в групата и натиснете OK. Поставете създадените контроли върху формуляра. Ние актуализираме конфигурацията на базата данни (F7) и я стартираме за отстраняване на грешки.
При изпълнение (при създаване на нов документ в режим 1C:Enterprise) виждаме, че колкото и да се опитваме да щракаме върху Switch2, нищо не се случва. Елементите не работят както трябва. Тук има един трик.
Върнете се към конфигуратора. Изберете елемента от менюто Form -> Set traversal order... (важно е формулярът да е отворен на екрана)
За да работят нашите превключватели, трябва да нарушите автоматичната поръчка и да се съгласите с ръчна. И го поставете във формата, така че нашите превключватели да вървят един след друг в ред.
ДОБРЕ. Актуализирайте конфигурацията и опитайте да я стартирате.
Страхотен. Всичко работеше.
Допълнително - видео (без звук, така че всичко е ясно)
Всички знаем, че компанията 1C имаше много различни версии на платформата 1C; сега ще се интересуваме от една от най-новите версии към момента на писане на тази статия, това са версии 1C 8.2 и 1C 8.3. Ако ви се е налагало да работите и в двете версии, тогава най-вероятно забеляза разлики в интерфейсите на тези версии, за потребителите те се различават само по външен вид. По същество избор редовно или управлявано приложениеказва на системата кои форми да покаже, за да стартира, редовно или контролирано, както и кой клиент на приложението ще се използва по подразбиране, дебел или тънък. За по-подробна информация относно клиентите прочетете статията „Какви са дебелите и тънките клиенти в 1C, както и техните разлики“.
Редовно 1C приложение (обикновени форми, обикновен интерфейс, версия 1C 8.2)
В 1C 8.2 е възможно да се работи само с редовни форми, в режим на редовно приложение. Изображението по-долу показва базата данни в режим на работа „обикновено 1C приложение“ (обикновени форми).
Управлявано 1C приложение (управлявани формуляри, управляван интерфейс, версия 1C 8.3)
На платформата 1C 8.3 можем да работим както с обикновени форми (в режим на съвместимост), така и с управлявани. освен това управляваните форми имат два вида дисплей, това е стандартно и такси. Пример за конфигурация 1C 8.3 със стандартни управлявани форми е показан по-долу, а след него е показан интерфейсът „Такси“.
Каква е разликата между обикновено и управлявано 1C приложение?
Както вече разбрахме обикновено приложение и управлявано приложение са тези видове стартиране на програма 1C. Освен това, в зависимост от стойността на типа стартиране на 1C ( редовно или управлявано приложение), конкретен интерфейс ще бъде зареден по подразбиране ( редовни или управлявани форми), следователно има толкова много синоними за това понятие. Бихме искали да отбележим, че разликите в интерфейсите са доста значителни, управляваният интерфейс е напълно преработен. По принцип това са всички разлики, които обикновените потребители на програмата 1C виждат. Що се отнася до програмистите, управляваният интерфейс изисква писане на модифициран код, тъй като разработката вече се извършва в 1C 8.3, а не в 1C 8.2, оттук и всички произтичащи от това последствия. Кодът също трябва да бъде разделен на клиент и сървър; това се посочва с помощта на съответните директиви в конфигуратора.
В тази статия ще се запознаем с основните аспекти на работата с управлявана форма в 1C 8.3. Какво е формуляр и за какво служи? Формата е основният обект, чрез който потребителят взаимодейства с програмата. Тоест, използвайки формуляра, потребителят въвежда информация в програмата и информацията, необходима на потребителя, също се показва на формуляра.
Основната задача на разработчика от всякаква форма (управляван или редовен) е да предостави на потребителя удобен механизъм за взаимодействие с програмата.
Платформата 1C има способността да генерира всякаква форма на обект, но обикновено при разработването на приложни решения програмистите сами конфигурират формулярите.
Въпросите за работа с управлявани форми по-специално и с управлявано приложение като цяло са разгледани подробно в книгата „Основи на разработката в 1C: Такси. Управлявана разработка на приложения в 12 стъпки". Тази книга ще бъде истинска помощ за тези, които тепърва започват да се запознават с разработването на управлявани приложения.
Книгата „Основи на разработката в 1C: Такси“ е идеална за тези, които вече са започнали да програмират и изпитват определени трудности с тази тема, както и за тези, които програмират от дълго време, но никога не са работили с 1C управлявани форми.
- Без сложни технически термини;
- Повече от 600 страници практически материали;
- Всеки пример е придружен от чертеж (екранна снимка);
Промо код за 15% отстъпка - 48PVXHeYu
Понякога изглежда, че изучаването на езика за програмиране в 1C е сложно и трудно. Всъщност програмирането в 1C е лесно. Моите книги ще ви помогнат бързо и лесно да овладеете програмирането в 1C: и „Основи на разработката в 1C: Такси“
Научете програмиране в 1C с помощта на моята книга „Програмиране в 1C в 11 стъпки“
- Без сложни технически термини.
- Над 700 страници практически материали.
- Всяка задача е придружена с рисунка (екранна снимка).
- Сборник задачи за домашна работа.
- Книгата е написана на ясен и прост език - за начинаещ.
- Книгата се изпраща по имейл в PDF формат. Може да се отвори на всяко устройство!
Ако този урок ви е помогнал да разрешите някакъв проблем, харесали сте го или сте го намерили за полезен, тогава можете да подкрепите моя проект, като дарите всяка сума:
Можете да платите ръчно:
Yandex.Money - 410012882996301
Web Money - R955262494655
Присъединете се към моите групи.