Как работят шаблоните с правила?
Шаблонът с правила е готов скелет за правило. Той определя кой тип правило се оценява (RuleType) и кои параметри участват. В долния редактор текстът е показе...
Шаблони с Правила за Технически параметри

bbDeleteКликнете върху друг елемент на 1920×1080 екрана или попитайте плаващия ИИ асистент за ролята и капаните му.
Шаблонът с правила е готов скелет за правило. Той определя кой тип правило се оценява (RuleType) и кои параметри участват. В долния редактор текстът е показен шаблон: имената на параметрите стоят в означения `<име>`. При запис разпознатото означение става в съхранения текст символ `%` и числото на флага. Маската ParameterFlags пази този набор. Проверката при запис и сравнението за еднакви шаблони гледат маската, не свободната формулировка около означенията. Колоната Текст показва имената без скоби.
Ако сесията не е валидна, нито една от петте команди не отваря прозорец. Когато базата е заключена или няма връзка със сървъра за данни, прозорецът се отваря заключен и това замества режима от достъпа.
Отворете страница Данни, група Обков и Аксесоари, и от стрелката на Правила изберете Шаблони с Правила. Групата и командата се виждат и командата е включена, когато сте влезли и имате достъп до обков. Прозорецът зарежда шаблоните за обков. Режимът тръгва като само за четене. При достъп само за цени остава без редакция. При пълен достъп до обкова става за редакция. Заглавието става Шаблони с Правила за Обков и Аксесоари.
Отворете страница Данни, група Работа, и от стрелката на Правила: изберете Шаблони с Правила. Групата и командата се виждат според достъпа до работа. Режимът на отваряне обаче гледа достъпа до обков, със същите стъпки като при обкова: само за четене, без редакция при цени и за редакция при пълен достъп. Заглавието става Шаблони с Правила за Труд.
Отворете страница CNC, група Обработка, и от стрелката на Правила: изберете Шаблони с Правила. Командата се вижда при достъп до обработки. Прозорецът тръгва за редакция, освен когато базата е заключена или няма връзка със сървъра. Заглавието става Шаблони с Правила за Обработка.
Отворете страница Инструменти, група Потребителски съобщения, и от стрелката на Правила: изберете Шаблони с Правила. Командата се вижда при достъп до потребителски съобщения. Режимът е като при обработката. Заглавието става Шаблони с Правила за Потребителски съобщения.
Отворете страница Данни, група Технически параметри, и натиснете Шаблони с Правила. Командата е в самата група, не под стрелка. Тя се вижда при достъп до технически параметри. Режимът е като при обработката. Заглавието става Шаблони с Правила за Технически параметри.
В ресурса на формата заглавието е Шаблони с Правила. Конструкторът го подменя преди показване с едно от петте заглавия по-горе. Отдолу са ОК и Откажи. ОК е бутонът за приемане, Откажи е бутонът за отказ. Няма бутон за смаляване и прозорецът не стои в лентата на задачите. Докато фокусът е в падащ редактор, Esc и Enter не затварят прозореца.
Откажи затваря прозореца, без да минава през проверката и без да записва. ОК първо затваря редактора на таблицата и пуска проверката на шаблона. Ако тя не мине, прозорецът остава отворен. Ако мине, записът тръгва. Записът праща променените редове към сървъра и вдига признак, че данните са сменени. AcceptChanges не се вика. Прихваща се само грешка от типа FaultException. Тогава излиза „Грешка при съхраняването на записи в базата данни. ще продължите ли редакцията?“ със заглавие Внимание!. Да оставя прозореца отворен и този запис не минава. Не затваря прозореца, без този запис да е минал.
Delete в текстовия редактор на шаблона не пуска Изтрий и не маха реда от таблицата. Същото спиране важи и за друг текстов редактор на формата.
След затваряне от Обков и Аксесоари или от Работа материалите се презареждат, ако в това отваряне е минал запис и е включено Презареди материалите автоматично. Резултатът на диалога не се гледа: Откажи след успешен Запази пак презарежда. След затваряне от обработка, потребителски съобщения или технически параметри презареждането тръгва само когато резултатът е ОК, записът е минал и същото Презареди материалите автоматично е включено.

Какви команди има на лентата и в менюто на шаблоните?
Над таблицата е лентата Стандарт. На нея са само осем команди: Запази, Презареди, Ново, Изтрий, Преглед за Печат, Печат, Експорт и Параметри:. Няма изрязване, копиране и поставяне, няма импорт от Excel и няма Ctrl+Shift+F. Когато прозорецът не е за редакция, Запази, Ново и Изтрий са изключени, падащият списък Тип правило: е само за четене, текстовият редактор е само за четене и списъкът Налични параметри: е изключен. Презареди, Преглед за Печат, Печат, Експорт и Параметри: остават включени.
- Запази (Ctrl+S) първо проверява шаблона, после записва променените редове и презарежда списъка, ако е имало какво да се запише. Ако проверката спре на Да, записът не тръгва и списъкът не се презарежда. Ако сървърът върне FaultException, излиза същото съобщение като при ОК. Да ви оставя върху същите данни. Не презарежда списъка, без този запис да е минал. - Презареди (F5) пита, ако таблицата има незаписани промени или текстовият редактор е променен. За обков и за труд въпросът е „Искате ли да запазите промените в шаблона с правила?“. За обработка е „Искате ли да запазите промените в шаблона с правила за обработка?“. За потребителски съобщения е „Искате ли да запишете промените в шаблоните за правила на потребителски съобщения?“. За технически параметри е „Искате ли да запишете промените в шаблоните за правила на технически параметри?“. Отказ оставя екрана както е. Не презарежда без запис. Да първо се опитва да запише. Ако проверката там спре на Да, списъкът не се презарежда. Ако сървърът откаже записа и изберете Да, презареждането спира. Не на грешката от сървъра презарежда списъка, без този запис да е минал. Ако няма промени, презарежда без въпрос. - Ново включва долната секция, маха фокуса от текущия ред и подготвя празен шаблон от типа, който в момента е избран в Тип правило:. Списъкът за типа и надписът му се включват, включително когато предишният ред е бил използван шаблон. Ако след зареждане няма нито един ред, се подготвя празен шаблон с първия тип за този режим и формата чака нов ред. - Изтрий (Del) пита „Сигурни ли сте, че искате да изтриете избраните колони?“ със заглавие Въпрос, когато има избран ред. Не не трие. Да маха избраните редове, които вече са в таблицата. Махането се записва с Запази или ОК. Ако няма избран ред, въпросът не излиза. Delete в текстовия редактор не стига до тази команда. - Преглед за Печат отваря прегледа на таблицата, когато печатането е достъпно. Когато не е, командата не прави нищо. - Печат (Ctrl+P) печата таблицата, когато печатането е достъпно. Когато не е, командата не прави нищо. - Експорт пуска експорт на таблицата във формат Xlsx. - Параметри: е филтър с отметки, не бутон. Празен, показва всички редове. С избрани параметри оставя само редовете, чиято маска съдържа всеки избран параметър. Изборът се помни за следващото отваряне на същия прозорец. Бутонът за изчистване на полето маха филтъра.
Десен бутон върху ред отваря меню само с Изтрий. Ако щракването не е върху ред, менюто не се отваря. Докато клетка от таблицата е отворена за писане, менюто не се показва. Изтрий в менюто е същата команда като на лентата и е изключено, когато прозорецът не е за редакция.


Какви са колоните, дизайнерът на шаблони и валидацията при запис?
Виждат се, отляво надясно, колоните Тип Правилo, Текст и Код на шаблона. Могат да се изберат няколко реда. Под заглавията има ред за филтър. Над колоните няма панел за групиране. Под таблицата е навигаторът между записите. Бутоните му за добавяне, отказ, редакция, край и махане са скрити.
Тип Правилo е типът на правилото. За обков и за труд списъкът е Съединения, Крило, Профил - Код и Материали. За обработка, потребителски съобщения и технически параметри списъкът е само Профил - Код, Съединения и Крило. Когато прозорецът е за редакция, тази колона може да се редактира в таблицата. Текст не приема фокус и показва форматирания текст. Ако шаблонът не може да се прочете, клетката остава празна. Код на шаблона е само за четене, подравнен вдясно, и се попълва от типа на правилото и маската на параметрите, когато маската има стойност.
Отдолу е секцията Дизайн на Шаблони. В нея са Тип правило:, Налични параметри: и текстовият редактор. Заглавието на падащия списък не се показва и празна стойност не се приема. Списъкът Налични параметри: показва имената на параметрите, които са допустими за избрания тип и още не са в текста. Двоен щрак върху име вмъква `<име>` на мястото на маркирания текст. Знакът `%` не се въвежда от клавиатурата. Разпознатите означения се оцветяват в синьо, останалият текст остава черен. Смяната на Тип правило: презарежда списъка с параметри за новия тип.
Проверката тръгва, когато текстовият редактор е променен: при ОК, при Запази, при Презареди, който първо записва, и при напускане на ред. При използван шаблон се заключват Тип правило: и надписът му. Текстът не се заключва от това, че шаблонът се използва.
Ако редът вече е записан, шаблонът се използва и новата маска се различава от записаната, излиза „Не можете да смените шаблона, защото в момента се използва. Ще продължите ли?“ със заглавие Внимание!. Да връща фокуса в текстовия редактор и спира записа. Не връща дизайнера към реда в таблицата и проверката минава, без промененият текст да се запише в реда. Докато това предупреждение е в сила, останалите проверки за параметри не се пускат.
Ако маската на използван шаблон не е сменена, или шаблонът не се използва, се проверяват задължителните параметри. Липсващ параметър пита „Параметърът {0} е задължителен за този шаблон! Ще продължите ли?“. За обков е задължителен Аксесоар 1. Ако типът не е Крило, задължително е и Количество. Ако типът е Крило, трябва да има точно един от Количество и Крило: и двата липсващи, и двата налични, водят до „Дефиницията на шаблона трябва да съдържа параметър {0} или {1}. Ще продължите ли?“. За труд са задължителни Работа и Количество, в този ред. За обработка е задължителна Операция по обработка, а после поне едно от Позиция и Функция. Ако и двете липсват, текстът е „Един от параметрите: {0} не е дефиниран!“, където {0} са двете имена. За потребителско съобщение е задължително Съобщение. За технически параметър е задължителен Технически параметър. На всеки от тези въпроси Да връща фокуса в текстовия редактор и спира записа. При съществуващ ред Не връща дизайнера към реда в таблицата и продължава, без промененият текст да се запише; при нов, още недобавен ред Не оставя текста в редактора и продължава, без редът да се добави в таблицата.
След тези проверки параметър извън валидната маска за типа пита „Параметърът {0} не е съвместим с типът правило, използван от този шаблон! Ще продължите ли?“. При повече от един такъв параметър текстът е „Параметрите {0} не са съвместими с типът правило, използван от този шаблон! Ще продължите ли?“. При тип Крило маската маха параметрите, които не могат да стоят заедно с вече въведените. Да и Не действат както при въпросите за задължителен параметър.
Ако проверките минат и редът е нов, същият тип със същата маска вече в таблицата пита „Не можете да добавите два шаблона от тип {0} с еднакви параметри. Ще продължите ли?“. {0} е името на типа. Да връща фокуса в текстовия редактор и спира записа. Не оставя текста в редактора и продължава, без новият ред да се добави в таблицата (при ОК прозорецът се затваря без него). При вече записан ред тази проверка за дублиране не се пуска.
Ако няма предупреждение, в реда на таблицата се слагат суровият текст, новата маска, типът от Тип правило: и видът шаблон на прозореца. Нов ред получава нов идентификатор и влиза в таблицата. Към сървъра това отива с Запази или ОК.
Същите шаблони се избират от редактора на правила. Ново там първо гледа текущото правило. Ако задължителните му параметри липсват, излиза „Новото правило няма всички необходими параметри!“ и прозорецът за избор не се отваря. Иначе се отваря Избор на шаблон за същия вид шаблони. На лентата му Инструменти е само филтърът Параметри:, със същото скриване на редове, чиято маска не съдържа всеки избран параметър. Колоните са Категория, Текст и Код на шаблона. Таблицата не се редактира. Двоен щрак върху ред приема избора и затваря прозореца, както ОК. ОК е бутонът за приемане, Откажи е бутонът за отказ. Ако при ОК няма избран ред, излиза „Моля изберете един елемент от този списък!“ със заглавие Внимание! и прозорецът остава отворен. Откажи не създава правило. При приет ред новото правило взема идентификатора на шаблона, съхранения му текст и типа на правилото. Ако няма набор, към който да се върже, излиза предупреждение и редът не се добавя.
