Какви категории заявки могат да бъдат създадени. Формиране на заявки

От Microsoft предоставя на потребителите широки възможности за създаване и работа с бази данни. В днешно време базите данни се използват много широко във всякакви области и полета. Като цяло можем да кажем, че сега не можем без тях. В тази връзка е много важно да можете да работите с таблици на Access. Основният елемент от взаимодействието на потребителя с базата данни е заявката. В тази статия ще разгледаме по-отблизо как да създадете заявка в Access. Да започваме. Отивам!

Първо, нека да разберем какво е заявка. Това е елемент от база данни, който се използва за избор на необходимата информация от таблицата. Те се предлагат в два вида:

  • За извадка (позволяват ви да получавате данни и да извършвате операции върху тях);
  • За промяна (позволява ви да добавяте, изтривате и променяте стойности).

Сега да преминем към практиката. Отидете в раздела „Създаване“ и щракнете върху бутона „Конструктор на заявки“. В прозореца, който се отваря, изберете една или повече таблици, от които искате да изберете данни. С натискане на бутона "Изпълни" ще получите цялата информация от избраните от вас таблици. За по-конкретен избор отидете в раздела „Дизайнер“ и въведете желаната дума или число в полето „Условие за избор:“. Например искате да получите списък на всички служители, родени през 1980 г. За да направите това, въведете 1980 в колоната „Дата на раждане“ в реда „Условие за избор:“ и щракнете върху бутона „Изпълни“. Програмата незабавно ще ви даде резултат. За удобство можете да запазите създадената заявка, за да я използвате в бъдеще. Използвайте клавишната комбинация Ctrl+S и въведете името в съответното поле, след което щракнете върху „OK“.

Като зададем условието за избор на данни, получаваме желаната извадка

За да преброите стойностите в колона, можете да използвате това, което се нарича групови операции. За да направите това, в раздела „Дизайн“ кликнете върху бутона „Резултати“. В реда „Групиране“, който се появява, изберете функцията „Брой“, която ви позволява да сумирате всички ненулеви стойности. За да предотвратите показването на думата „Брой“ в заглавието на колоната, в реда „Поле“ въведете името преди указаното по-рано. Записването става по същия начин с комбинацията Ctrl+S.

Достъпът брои непразните клетки

Сега нека създадем параметрична заявка. Позволява ви да направите избор въз основа на въведения параметър. Например до дадена дата. След като отворите желаната база данни, напишете (без кавички) в съответната колона „[Посочете дата]“. Необходими са квадратни скоби. В прозореца, който се показва, въведете желаната дата. След това програмата автоматично ще направи избор въз основа на въведената от вас дата. Можете да поставите ">" (по-голямо от) и "<» (меньше) чтобы отобразить элементы раньше либо позже заданной даты. Например, список сотрудников, которые сдали отчёты до 01.07.

Как да създадете кръстосана препратка? Просто намерете бутона „Кръст“ в лентата с инструменти и щракнете върху него. След това в елемента „Crosstab“ изберете „Заглавия на редове“ в първата клетка, „Заглавия на колони“ във втората и „Стойност“ в третата. След това можете да преброите стойностите, като използвате вече споменатата по-горе функция „Брой“. Моля, имайте предвид, че ако посочите „Заглавия на редове“ във втората клетка, същото като в първата, вместо „Заглавия на колони“, тогава нищо няма да работи. Не забравяйте да вземете това предвид.

Правим кръстосано запитване в базата данни

Можете също така да направите заявка за създаване на таблица. Как се прави? Просто отворете базите данни, с които работите, след това попълнете клетката „Условие за избор“ и щракнете върху бутона „Създаване на таблица“. Не забравяйте да щракнете върху „Изпълни“. Въз основа на зададените от вас параметри Microsoft Access ще изгради нова таблица. Например списък на всички служители с тяхната информация за контакт по професия „Счетоводител“.

Когато записвате, трябва да посочите името и местоположението на новата таблица

Както можете да видите, Access от Microsoft ви позволява да правите много неща. Знаейки как да правите заявки в Access, ще се почувствате много по-уверени при работа с бази данни. Напишете в коментарите дали тази статия е била полезна за вас и задавайте въпроси по обсъжданата тема.

Всеки ден трябва да решаваме много проблеми. За успешното им решаване са необходими отговори на въпроси: от „какво е времето днес“ до „обменния курс на полската злота към руската рубла“. Интернет и търсачките ви позволяват да намерите отговори на почти всички въпроси, но с едно условие: трябва да ги зададете правилно.

Инструкции

  • Търсачките (Google, Yandex, Rambler, Mail, Yahoo и др.) са предназначени да предоставят на потребителите необходимата информация. Те правят това въз основа на заявка за търсене. Заявките за търсене могат да бъдат три типа:
  • Информационен. Потребителят търси точна информация (без значение на кой сайт е). Например: "Химн на Русия".

    Навигационен. Потребителят търси адреса на сайт, който може да съдържа информацията, която го интересува. Например: „Уебсайт на Московския държавен университет „М.В. Ломоносов“.

    Транзакционен. Потребителят е готов да предприеме някакво действие и се нуждае от информация за това. Например: „форматиране на диск.“ И така, първото нещо, което трябва да направите, когато формирате заявка за търсене, е да определите какво точно търсите.

  • Търсачката е огромна база данни, цялата информация в която е „сортирана“ в секции - ключови думи. След като зададете заявка за търсене, възниква търсене по ключова дума и се връща резултатът от търсенето.Често срещана грешка на начинаещите потребители е, че те възприемат търсачката като събеседник, който знае всичко, и задават заявка за търсене, например, така: „Можете ли да ми кажете: „Как се премахва петно ​​от чисто нова блуза? Това е коприна.“ Естествено, ползата от такова искане ще бъде минимална, много по-ефективна ще бъде следната заявка: „бяла копринена блуза за премахване на петно.“ Така че второто нещо, което трябва да направите, е да формулирате правилно искането. Тя трябва да бъде възможно най-проста и да съдържа ключови думи.
  • След като машината обработи вашата заявка, тя ще покаже резултатите от търсенето. По правило всички най-подходящи резултати се намират на първите две или три страници. Това е последвано от резултати от търсенето, които само частично удовлетворяват заявката.Има обаче ситуации, когато е необходима много рядка информация - тогава трябва да преминете през няколко комбинации от ключови думи в заявката за търсене и много внимателно да филтрирате получените данни.
  • Освен това понякога трябва да търсите рядка информация, която се „съдържа“ в популярни ключови думи. Например, ако зададете заявката за търсене „Издател на снимки на Маркс“, търсачката ще намери много снимки на Карл Маркс, издателя на Карл Маркс, но за да намери снимка на A.F. Маркс, издателят на книги, ще трябва да се потруди много, така че третото нещо, което трябва да направите, за да бъде търсенето успешно, е да сортирате правилно информацията.

    Как правилно да формулираме клиентска заявка за договореност? Клиентите често питат за това. Някои от тях дори търсят предварителна консултация: „Помогнете ми да го разбера и да формулирам молба, объркан съм.“

    Нека да го разберем.

    Исторически е имало няколко подхода към правилната заявка за разположение. Това се дължи на начина, по който констелациите като метод са се развили, заедно с други области на психотерапията и традициите на духовната практика. Когато констелациите току-що бяха навлезли в практиката (в края на 70-те - началото на 80-те години на миналия век), така наречените методи бяха на върха на популярността. „краткосрочна терапия, ориентирана към решение“. За разлика от дългата психотерапевтична работа (включително психоанализа), терапевтите започнаха да разработват методи за бърза, специфична помощ на клиента. Подобна помощ изисква ясна молба. Критериите за постигане на това искане трябва да бъдат ясно разбрани както от клиента, така и от терапевта. „Искам да получа по-висока заплата, но ако отида при шефа си да поискам повишение, ми става студено, изпотявам се и краката ми се поддават.“. Задача: отидете при шефа си за повишение, помолете го и получете това, което искате. По тази задача ще работим например 10 сесии. Накрая клиентът ще бъде попитан колко по-уверен се чувства (поне). Успешна терапия: получено повишение.

    Тъй като констелациите са, разбира се, краткосрочна работа, те започнаха „по аналогия“ да я наричат ​​група от краткосрочни терапевтични методи и да прилагат към нея същите изисквания за изискване и ефективност, които са приети в тези методи. Това беше улеснено и от интереса към съзвездията на известни специалисти по краткосрочна терапия (Матиас Варга фон Кибед и Инзе Спарер). И мисля, че имплицитно това също беше улеснено от ентусиазма на Хелингер и склонността му да говори за констелации с термини като „решение е намерено“. В ранните си творби той често говори за „премахване на симптомите“, „решаване на проблема с алкохолизма“ и т.н.

    Все още можете да срещнете "стари" аранжори, които искат от клиента конкретно формулиране на желания резултат.Дори съм срещал колеги (например Томас Хафер), които записват заявката на клиента на лист хартия и в края на уговорката проверяват дали точно тази заявка е изпълнена, т.е. състоянието на заместителите съответства на желаното състояние на клиента.

    Наред с тези исторически причини има и не винаги съзнателното желание на клиента да формулира нещо конкретно, просто защото сега ще има само една договореност, тя е скъпа и може би е чакана отдавна и „трябва да използваме шанса си добре."

    В същото време има и друг, почти противоположен подход към искането. Състои се в това, че изобщо не е необходима заявка. За това има и исторически причини, свързани преди всичко със стила на работа на Берт Хелингер.

    В ранните констелации Хелингер винаги поставя текущото и/или родителското семейство на клиента. Хелингер попита какъв е проблемът на клиента, но каквото и да отговори той, съзвездието винаги се свеждаше до работа с членове на семейството. Възниква справедлив въпрос: защо питам? По-късно, когато Хелингер формулира, че работата е със системата като цяло (а не с клиента като такъв), заявката започва да губи значението си на „разберете какво иска клиентът“ и придобива различно значение. Заявката е необходима за установяване на диалог с аранжора контакт. Тези, които са запознати с работата на Хелингер, със сигурност могат да дадат много примери за това как Хелингер отказва да направи аранжимент, след като едва чува две-три фрази от клиент. "Ти не ме уважаваш, не мога да работя с теб."

    Често Hellinger работеше, без да размени нито една дума относно заявката на клиента.

    Как един обикновен клиент може да разбере цялото това разнообразие? Основното нещо, което бих искал да предам на [моите] клиенти е, че всяко объркване (както и всяка яснота) по отношение на заявка е напълно нормално. Вашият вътрешен процес се изразява по начин, който ви е познат и естествен. И от страна на метода няма ограничения за начините за изразяване на искането. Ако можете „само“ да седнете до аранжора и да избухнете в сълзи, това е напълно достатъчно. Ако сте прекарали седмица в обмисляне на ясна формулировка и сте ми я представили, това също е нормално. Дори ако има петнадесет точки в тази формулировка и всичко е объркващо. Дори тази формулировка да се разпадне точно в момента, в който се озовеш на стола до мен.

    Следвайки Хелингер, смятам, че основното за започване на работа е уважението и контактът между клиента и аранжора. Начинът, по който се постига това, не е важен. Технически мога да работя или с ясна формулировка, или изобщо без заявка. Обикновено в дългосрочна група имам много и от двете работни места.

    Като всяко съзвездие и аз имам своите предпочитания, състояния, в които се чувствам по-комфортно. Когато работя със заявка, е по-вероятно да използвам формулировка с ниска яснота, която клиентът е готов да проучи в подредбата и да я промени, ако е необходимо, точно в процеса. Например, за мен формулировката "Искам да се омъжа за нормален човек"по-труден за работа от „Много съм самотен и бих искал да разбера как мога да придобия способността да влизам в хармонични взаимоотношения или какво пречи на това“. Първата формулировка имплицитно ме поставя в ролята на „този, който ще донесе резултати“, а втората насочва клиента към мястото, където я боли... В същото време уважавам факта, че степента на контакт с болката може да бъде такава, че се вижда само чрез липсата на желания резултат и нищо друго.

    Според моите наблюдения и опит полето отговаря най-добре на искания, които са насочени към изследването и трансформацията на болката. Чувствам, че това е основното движение, което съществува в полето - да се приближиш до едно болезнено, компресирано, отхвърлено състояние, да го докоснеш и по този начин да го направиш видимо, прието, проходимо. В широкия смисъл на думата това е прилагането на Първия ред (законът, формулиран от Хелингер) на системите: никой не е изключен. По-общо казано, нищо не е изключено. Ако болката е изключена, работи. След като болката изчезне, тя губи своето влияние и сила.

    Въз основа на това разбиране, няма никакво значение как клиентът и аз намерихме „къде боли“. Беше ли формулирано и ясно ли беше? Тази формулировка променя ли се пет пъти по време на групата или остава твърда. Или просто седяхме мълчаливо. Или клиентката плачеше, а аз седях до нея. Винаги търся невербален контакт (по-точно винаги го има, дори и да не го осъзнаваме), настройвам се на клиента и чрез тялото си усещам какво се случва с него. Понякога тази чувствителност е много ясна, понякога се проваля, но във всеки случай е налице и носи една или друга степен на контакт, в допълнение към или в допълнение към всякакви формулировки. Допълнителен контакт и яснота ще бъдат внесени от заместниците, когато започнем констелацията.

    Можете да помогнете за добър контакт, като отговорите сами на въпрос "където боли"или "какво не е наред". Отговорът може да бъде: "Тук"(в сърцето) или "майка"(връзката с майката причинява страдание) или „съпругът ми не иска дете, но аз искам“или "колегата ми ме тормози"или друга ясна или неясна формулировка. Моля, имайте предвид, че дори при пълната липса на словесна формулировка, вие „по някаква причина“ знаете, че нещо не е наред, в противен случай нямаше да дойдете в групата. Това знание обикновено има своето място в тялото ви, можете просто да посочите това място - и това ще бъде много добро, много ясно „заявление за искане“!

    Така че за мен отговорът на въпроса „какво е добра заявка за съзвездие“ е: може да бъде всяка формулировка или липса на формулировка, ако в резултат на нашето взаимодействие аз и клиентът почувстваме контакт и доверие един към друг, за да започнем работа.

    Лаборатория 2: Генериране на заявки и отчети

    Генериране на прости заявки

    1. Създайте проста заявка за избор

    Въз основа на таблицата „Учители“ създайте проста заявка за избор, която трябва да показва фамилните имена, собствените имена, бащините имена на учителите и тяхната позиция.

    За да създадете проста заявка:

    · изберете елемент от менюто „Създаване“ – „Съветник за заявки“. В прозореца „Нова заявка“, който се показва, изберете „Опростена заявка“ и щракнете върху OK;

    · в появилия се прозорец в ред Таблици/Заявки изберете таблица „Учители”;

    · преместете полетата Фамилия, Собствено име, Бащино име, Длъжност от прозореца „Налични полета” в прозореца „Избрани полета” и щракнете върху бутона „Напред”;

    · в параметърния ред „Посочете име на заявка“ въведете новото име „Длъжности на учители“ и щракнете върху бутона Край. На екрана ще се появи таблица с резултатите от заявката.

    2. Сортирайте данните за заявката по позиция и запазете заявката.

    За да сортирате данните, щракнете върху произволен ред от полето Позиция, сортирайте данните в низходящ ред (команда Записи à Сортиране à Сортиране по низходящ ред), запазете заявката и затворете прозореца на заявката.

    3. Създайте заявка за избор с параметър.

    За да създадете заявка за избор с параметър:

      създайте заявка за избор, подобна на стъпка 1 за следните полета на таблицата Учители: Фамилия, Собствено име, Бащино име.

    Вземете полето „Име на дисциплина“ от таблицата „Дисциплини“;

      дайте име на заявката „Преподавани дисциплини“ и щракнете върху бутона Край. На екрана ще се появи таблица с резултатите от заявката; отидете в режим на проектиране (команда View à Design), в реда на параметъра „Условия за избор“ за полето Фамилно име въведете фразата (също въведете скоби) [Въведете фамилното име на учителя];

    Формиране на сложни заявки

    1. Разработете заявка с параметри за ученици от дадена група, в която при въвеждане на номера на групата в прозореца с параметри на екрана да се изведе съставът на тази група.

      в появилия се прозорец в реда Таблици/Заявки изберете от списъка таблицата Ученици; прехвърлете всички полета от прозореца Налични полета в прозореца Избрани полета и щракнете върху бутона Напред;

      изберете „Подробно“ и щракнете отново върху „Напред“; в прозореца, който се показва, въведете името на групата заявка, изберете „Промяна на оформлението на заявката“ и щракнете върху бутона Край. Заявката се отваря в режим на проектиране.

      в реда „Условия за избор“ за полето Номер на група въведете фразата (въведете и скоби) [Въведете номер на група];

      изпълнете заявката (команда Query à Execute), въведете 2B в прозореца, който се появява и щракнете върху OK. На екрана ще се появи таблица с данни за учениците от група 2Б; запишете заявката и затворете таблицата със заявки.

    2. Създайте заявка, която показва оценките на студентите в дадена група по дадена дисциплина.

    За да създадете заявка, която показва оценките на студентите от дадена група по дадена дисциплина:

      Подобно на предишните заявки, създайте проста заявка с помощта на „Съветника“; изберете таблицата Студенти и прехвърлете полетата Фамилия, Собствено име, Бащино име, Номер на група в прозореца Избрани полета; От таблицата “Дисциплини” изберете полето “Име на дисциплина”; в таблицата Оценки изберете полето Оценки. Създали сте шест полета за заявка, които са свързани помежду си чрез схема на данни; щракнете върху бутона Напред и след това в прозореца, който се показва, щракнете отново върху бутона Напред; в прозореца, който се показва, въведете името на заявката „Групови оценки“, след това щракнете върху клетката „Редактиране на оформлението на заявката“ и щракнете върху бутона Край. Заявката се отваря в режим на проектиране. в реда Условия за избор за полето Номер на група въведете фразата [Въведете номера на групата], а за полето Име на дисциплината - [Въведете името на дисциплината];

      попълнете заявката; в първия прозорец, който се показва, въведете 2B, след това щракнете върху бутона OK, във втория въведете „Computer Science“ и щракнете върху бутона OK. На екрана ще се появи таблица със списък на оценките от група 2B и информатика; запишете заявката и затворете таблицата със заявки.

    3. Създайте кръстосана заявка, която ще създаде извадка, която отразява средния резултат за дисциплините в групите.

    За да създадете кръстосана заявка за средния резултат в групи по дисциплина, първо създайте „Проста заявка“ с помощта на „Съветник“ и щракнете върху бутона OK;

      изберете полето Номер на групата от таблицата Студенти, полето Име на дисциплината от таблицата Дисциплини и полето Оценки от таблицата Оценки; щракнете върху бутона Напред и след това в прозореца, който се показва, щракнете отново върху бутона Напред; в прозореца, който се показва, въведете името на заявката „Дисциплини за групово оценяване“ и щракнете върху бутона Край; запишете заявката и затворете таблицата със заявки.

    Сега можете да създадете кръстосана заявка. За това:

      използвайки „Mater“, изберете „Cross Request“ и щракнете върху бутона OK;

      щракнете върху клетката Заявки, изберете Дисциплини за групова оценка и щракнете върху бутона Напред;

      изберете полето Име на дисциплината и щракнете върху бутона Напред;

      изберете полето Номер на групата и щракнете върху бутона Напред;

      изберете функцията „Средно“ и щракнете върху бутона Напред; изберете името на заявката „Средни оценки“ и щракнете върху бутона Готово; затворете таблицата със заявки. Вижте резултатите от заявката.

    4. Разработете искане за увеличение (с 10%) на заплатите на онези учители, които печелят под 10 000 рубли.

    За да създадете заявка за промяна на заплатите на учителите:

      в реда на дизайнера на заявки „Актуализиране“, който се появява, в полето Заплата щракнете с десния бутон, за да отворите контекстното меню и изберете „Изграждане...“.

      Използвайки конструктора на изрази, въведете: [Заплата]*1,1;

      попълнете заявката, като потвърдите готовността си за актуализиране на данните;

      затворете заявката, като потвърдите нейното запазване; отворете формуляра за учители, вижте промените в заплатите за учители, които печелят под 10 000 рубли, и затворете формуляра.

    5. Създайте заявка за премахване на изключени ученици.

    За искане на изключване на ученик гр. 2G Перлов Кирил Николаевич:

      създайте „Проста заявка“ с помощта на „Съветника“; в таблицата Студенти изберете полетата Фамилия, Собствено име, Бащино име, Номер на група; щракнете върху бутона Напред и след това в прозореца, който се показва, щракнете отново върху бутона Напред; в прозореца, който се показва, въведете името на заявката „Изтекли студенти“; щракнете върху клетката „Промяна на оформлението на заявката“, след което щракнете върху бутона Край; в реда Условия за избор въведете: в полето Фамилно име - Перлов, в полето Име - Кирил, в полето Бащино име - Николаевич, в полето Номер на група - 2G;

      вижте изтрития запис „Преглед“ - „Режим на таблица“

      ако студентът, който ще бъде изключен, е избран правилно, тогава отидете в режим на проектиране и стартирайте заявката; затворете заявката, отворете формуляра Студенти (уверете се, че сте изтрили записа за студент Перлов) и затворете формуляра.

    6. Разработете заявка за създаване на база данни на отличници.

    За да създадете заявка за създаване на база данни на отлични ученици:

    o Създаване на проста заявка;

    o в таблица Ученици изберете полетата Фамилия, Собствено име, Бащино име, Номер на група, а в таблица Оценки - полето Оценки;

    o поставете отметка в квадратчето за „Сума“ и щракнете върху бутона „OK“.

    o в появилия се прозорец въведете името на заявката „Отличници”;

    o щракнете върху клетката „Промяна на оформлението на заявката“, след което щракнете върху бутона Край;

    o в реда Условия за избор на полето „Сума - Резултат: Резултат“ въведете 20 (ще считаме за отлични студенти, които са получили 20 точки на четири изпита);

    o премахнете отметката от квадратчето „Показване на екрана“;

    o въведете името на таблицата Отличници и натиснете бутона OK;

    o потвърждаване на създаването на таблицата и затваряне (запазване) на заявката;

    o отворете раздела Таблици, след това таблицата Отлични ученици. Уверете се, че таблицата е създадена правилно. Затворете масата.

    7. Разработете формуляри за всички заявки, които създавате.

    Създаване на отчет с групиране на данни

    Въз основа на таблицата „Учители“ създайте отчет, групиращ данните по длъжност.

    o отворете раздела „Създаване“ и изберете „Съветник за отчети“

    .

    o в прозореца, който се показва, изберете полетата, които ще присъстват в отчета (в този случай ще присъстват всички полета от таблицата), след което щракнете върху бутона Напред.

    o добавяне на групиране по полето “Позиция”. Преместете селекцията в полето Позиция, щракнете първо върху бутона >> и след това върху бутона Напред.

    o оставете параметрите на прозореца, който се появява, непроменени (щракнете върху бутона Напред), изберете стила на дизайн на отчета и щракнете върху бутона Напред.

    o в прозореца, който се показва, въведете името на отчета Учители и щракнете върху бутона Край. Вижте и след това затворете генерирания отчет, който се появява на екрана.

    Създайте още 3 отчета по ваш избор.

    Да приемем, че потребителят трябва да види всички документи в информационната база в един списък. Въпреки протестите на разработчика поради отрицателното въздействие върху производителността на това развитие, под натиска на ръководството беше решено да се направи такъв доклад.

    Е, тъй като задачата изисква изпълнение, нека го направим!

    Как да го направим

    Нека веднага направим резервация, че отчетът ще показва две полета: „Връзка“ и „Предадено“. Всички документи имат тези стандартни данни. Ние ще генерираме заявка за получаване на всички документи програмно, заобикаляйки колекцията от метаданни „Metadata.Documents“. За всеки елемент от колекцията ще създадем заявка към неговата таблица, като използваме детайлите „Връзка“ и „Публикувано“ и след това ще комбинираме неговия резултат с резултата от подобна заявка към друг документ.

    " ИЗБЕРЕТЕ | Док . Link AS Link,| Док . Проведено КАКТО Проведено |ОТ| Документ . ABCКласификация на купувачите AS Doc. Link AS Link,| Док . Проведено КАКТО Проведено |ОТ| Документ . AdvanceReport AS Doc| КОМБИНИРАЙТЕ ВСИЧКИ | ИЗБЕРЕТЕ | Док . Link AS Link,| Док . Проведено КАКТО Проведено |ОТ| Документ . Прехвърлен акредитив AS Doc| КОМБИНИРАНЕ НА ВСИЧКИ | . . . "

    В случай, че трябва да покажете всички подробности, налични във всички документи, тогава програмното генериране на заявка ще изглежда много по-сложно. За да не усложняваме примера, ще покажем само посочените стандартни детайли.

    При съставянето на резултата от отчета ще е необходимо да поставите генерираната заявка в основния набор от данни. Останалите действия при програмно генериране на отчет ще бъдат стандартни.

    Внедряване

    Сега по ред. След като създадем външен отчет, ще добавим към него схема за съставяне на данни. Нека добавим следната заявка като заявка в набора от данни:

    Като цяло в нашия случай няма значение какъв вид заявка ще има за набора от данни. Добавихме го само за да направим удобното персонализиране на структурата на отчета в дизайнера, тъй като в противен случай нямаше да има полета в раздела „Настройки“. Окончателната настройка на структурата на отчета е както следва:

    Сега в манипулатора на събития „При композиране на резултат“ ще деактивираме стандартната обработка и ще генерираме отчета програмно. Програмният код за генериране на отчет за системата за контрол на достъп е представен в следния листинг:

    Процедура при композиране на резултат (Резултат от документа, Данни за декриптиране, Стандартна обработка) Стандартна обработка = False ; // деактивиране на стандартния изход на отчет - ще го изведем програмноНастройки = Композитор на настройките. Настройки; // Получаване на настройки за отчет DecryptionData = newDataCompositionDecryptionData; // Създаване на данни за дешифриране LayoutLinker = newDataLayoutLayoutLinker; // Създаване на конструктор на оформление // Инициализирайте оформлението на оформлението с помощта на схемата на оформлението на данните // и предварително създадени настройки и данни за дешифриране" ) ; Layout Layout = Layout Linker. Изпълнение (схема на оформление на данни, настройки, данни за дешифриране) ; // Съставете резултата CompositionProcessor = newDataCompositionProcessor; ProcessorLayout. Initialize(LayoutLayout, , DecryptionData) ; Резултат от документа. Clear() ; // Изведете резултата в документ с електронна таблица OutputProcessor = Нов OutputProcessorDataCompositionResultInTabularDocument; Изходен процесор. SetDocument(DocumentResult) ; Изходен процесор. Изход (LayoutProcessor) ; Край на процедурата

    Всичко е стандартно. Сега основното. Трябва да заменим текста на заявката за набора от данни, преди да съставим оформлението. Както бе споменато по-горе, кодът на заявката ще бъде генериран при преминаване през колекцията от метаданни на документа. Следният списък показва програмния код за динамично генериране на текста на заявката:

    // .................................................................. DataLayoutScheme = GetLayout(" Схема на оформление на основните данни" ) ; // Вземете схемата за оформление на даннитеСхема за съставяне на данни. Набори от данни. Набор от данни1. Заявка = " " ; // Изчистване на заявката в набора от данни DocumentsConfigurations = Метаданни. документация; // Вземете колекция от метаданни на документиБрой документи = Конфигурационни документи. Количество() ; // Определяне на общия брой документи в конфигурациятаСч = 1; RequestText = " " ; За всеки документ от DocumentsConfiguration Loop Текст на заявка = Текст на заявка + // За всеки документ формираме текста на заявката за неговата таблица" ИЗБЕРЕТЕ | Док . Link AS Link,| Док . Проведено КАКТО Проведено |ОТ| Документ . " + Име на документ + " AS Doc " ; // Трябва само да заменим името на таблицата с документи в дървото с метаданни в текста на заявкатаАко сметка номер на документи тогава // Ако документът не е последният в колекцията, добавете инструкцията "COMBINE ALL" за RequestText = RequestText + // комбиниране на резултатите от заявки за документи в един списък" |ОБЕДИНЕТЕ ВСИЧКИ | " ; EndIf ; Sch = Sch + 1; Краен цикъл; Схема за съставяне на данни. Набори от данни. Набор от данни1. Заявка = RequestText; // Поставете новия текст на заявката в набора от данни LayoutLayout = LayoutLocker. Изпълнение (схема на оформление на данни, настройки, данни за декриптиране); // Съставяне на оформлението // ....................................................................

    Докладът е готов за тестване.

    какъв е резултатът

    Нека изпълним отчета в режим 1C:Enterprise. Отчетът ще бъде изпълнен успешно и ще видим списък с всички документи в информационната база.

    С всички предприети действия отчетът има всички стандартни възможности на системата за контрол на достъпа: декодиране, настройка на структурата на отчета, селекции, условно форматиране и др.

    Заявката към таблиците на всички документи не е най-оптималното решение за преглед на пълния списък с документи в информационната база, тъй като генерира относително „тежка“ заявка за СУБД. Най-правилно би било да използвате конфигурационния обект „Регистър на документи“, но това е извън обхвата на тази статия.



    Свързани публикации