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

Списъкът е неразделен атрибут за показване на информация във всяка конфигурация, създадена на платформата 1C:Enterprise 8.1. За ефективна работасъс списъци, съдържащи различни данни, програмите на платформата 1C:Enterprise 8.1 реализират удобни и мощни механизми за избор и сортиране. В.В. говори за особеностите на тяхното използване. Риболов, фирма "1С".


ориз. 1

Списъци

Какви списъци срещат потребителите? Това могат да бъдат списъци с документи в съответните списания. Почти всяка директория, пълна с данни, е представена под формата на списък, който като правило има йерархия (групи папки или подчинени елементи). Често, за да изберете елемент, програмата генерира списъци автоматично или в съответствие с логиката, заложена от разработчиците.

В почти всички списъци можете да използвате механизми за избор (освен ако не е изрично забранено от разработчика) и разнообразно сортиране (фиг. 1). В програмата тези механизми са неразривно свързани един с друг. Нека да разгледаме как да ги използваме правилно и ефективно.

ориз. 1

Механизъм за сортиране

Защо се нуждаем от механизъм за сортиране? Първо, както подсказва името, той ви позволява да сортирате списъка според желания критерий.

Второ, платформата 1C:Enterprise 8.1 активно използва механизма бързо търсене. Този механизъм ви позволява бързо да намерите желания елемент във всеки списък, като въведете първите знаци (фиг. 2). Но в динамични списъци(например списък с елементи от директория или списък с документи) бързото търсене работи само по детайли, по които е налично сортиране.

ориз. 2

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

ориз. 3

ориз. 4

Фигура 3 показва, че за списъка с документи „Продажби на стоки и услуги“ е налично сортиране по два детайла: „Дата“ и „Номер“. Информационното съдържание на прозореца за сортиране обаче не се ограничава до това. Тук можете да видите какво включва сортирането в момента(лявата страна на прозореца) и списък с всички детайли, налични за сортиране (дясна страна). Можете също така да конфигурирате желаното сортиране и неговия ред. Моля, обърнете внимание: текущият атрибут за сортиране ще бъде маркиран в списъка специален характер- стрелка, показваща посоката на сортиране. Три примера за различно сортиране (включително комбинирано) и начини за показването му в списъка са показани на фигура 5.

ориз. 5

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

Във всеки списък можете индивидуално да запишете желаното сортиране. Просто поставете отметка в квадратчето „Използване на тази настройка за сортиране при отваряне“ и щракнете върху „OK“. Системата ще запомни настройката и следващия път, когато отворите този списък, ще зададе запазеното сортиране.

Можете бързо да сортирате списъка по необходимия атрибут, като щракнете върху заглавката с името на този атрибут.

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

Механизъм за избор

Изборът е мощен механизъм на платформата 1C:Enterprise 8.1, който ви позволява ефективно да работите със списъци, дори ако те съдържат десетки или стотици хиляди елементи. Първо, нека да разгледаме как работи механизмът за избор в общия случай.

Почти навсякъде, където има списък (обикновено под формата на таблица), можете да използвате механизъм за избор, който се активира или от съответния бутон на лентата с действия, или в контекстно-зависимото меню на списъка (фиг. 3 и 4). Ако е възможен избор за желания списък, ще се отвори прозорецът „Избор и сортиране“. Той ще покаже всички възможни видове детайли, налични за избор. Списъкът с налични елементи за избор зависи от това къде ще се използва изборът. Като цяло трябва да намерите един или повече необходими елементи за избор, да посочите стойностите и да активирате конфигурираната комбинация от критерии.

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

Ако зададете няколко критерия за избор едновременно, само тези елементи, които отговарят на всички зададени критерии, ще бъдат показани в списъка.

Механизми за избор и сортиране с примери

Нека се опитаме да разрешим няколко проблема в демонстрационната база данни („Счетоводство на предприятието“, издание 1.6). Например, нека покажем документи, генерирани за контрагента "Simon and Schuster LLC" в дневника "Документи на клиента". Нека веднага направим резервация, че ще опишем правилата и стандарта за логика на избор за платформата 1C:Enterprise 8.1, без да се позоваваме на конкретна конфигурация и допълнителни възможности за обслужване, внедрени в нея.

И така, отворете дневника с документи „Документи на клиента“. В стандартно състояние, без активиран избор, всички документи на всички купувачи се показват на екрана (дори в демонстрационната база данни това заема повече от една страница).

Трябва бързо да разгледаме всички документи на контрагента Simon and Schuster LLC. Задачата се изпълнява по следния начин - отваря се прозорецът за избор, в елемента „Контрагент“ изберете контрагента „Simon and Schuster LLC“ от директорията (фиг. 6) и щракнете върху „OK“. Проблемът е решен (фиг. 7).

ориз. 6

ориз. 7

За бърза употребаЗа да направите необходимия избор, достатъчно е веднага да започнете да избирате желания критерий. Не е необходимо да поставяте отметка в квадратчето до използвания избор. Програмата ще направи това сама, след като е зададен необходимият критерий. Можете бързо да приложите конфигурираните критерии за избор, като натиснете клавишната комбинация Ctrl+Enter*.

Моля, имайте предвид също, че при посочване на стойности в елементите за избор (в нашия пример, контрагентът "Simon and Schuster LLC"), в повечето случаи механизмът за бърз избор, широко използван в платформата 1C:Enterprise 8.1, ще работи. В нашия пример беше достатъчно да въведете първите букви от името на контрагента или неговия код директно в полето за стойност за избор, да натиснете Enter или Tab и системата автоматично ще „познае“ елемента на директорията, от който се нуждаем.

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

Сега ще покажем списък с елементи, чиито имена съдържат думата „Чайник“. За да направите това, отворете директорията „Номенклатура“, извикайте прозореца за избор, в елемента „Име“ изберете условието за сравнение „Съдържа“ и посочете необходимата дума (фиг. 8).

ориз. 8

Типът сравнение „Съдържа“ не е избран случайно. Именно това ви позволява да намерите желаната дума (или част от нея) навсякъде в името на номенклатурата. Ако оставите типа сравнение „Равно“, списъкът ще покаже само онези елементи от номенклатурата, които са наименувани точно както е написана заявката. Но в нашата демонстрационна база данни няма такива елементи (т.е. нито един елемент няма да бъде показан).

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

Ако търсите не по име, а по пълно име, по-добре е да премахнете отметката от квадратчето за използване на избор по име. В противен случай изборът ще се използва както по име, така и по пълно име, което може да не винаги е необходимо (фиг. 9).

ориз. 9

За удобство при работа с елементи на директория при използване на селекции е по-добре временно да изключите показването на йерархията (фиг. 10).

ориз. 10

Като трета задача нека разгледаме само документите "Продажби на стоки и услуги" в дневника на документи "Клиентски документи". Решението на този проблем ще демонстрира особеностите на един от видовете селекция, наличен само в дневниците на документи.

Отворете дневника "Клиентски документи" и в елемента за избор "Вид документ" посочете документа "Продажби на стоки и услуги". Самата програма предоставя възможност за избор на определен тип документ от тези, включени в този журнал. За това има и персонален бутон на панела за действие (фиг. 11).

ориз. 11

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

Нека се опитаме да прегледаме в дневника на документи „Документи на купувачите“ само документите „Фактура“ за контрагенти, намиращи се в групата „Купувачи“ на директорията. Тази задача е подобна на първата, с единствената разлика, че не посочваме конкретен контрагент, а анализираме фактурите на цяла група контрагенти, които са в групата „Купувачи“.

Има няколко начина за изпълнение на задачата. Нека да разгледаме най-ефективния. Отворете дневника "Документи на купувача" и в елемента за избор "Вид документ" посочете документа "Издадена фактура". След това в елемента за избор „Контрагент“ посочваме типа сравнение „В група“. Изберете типа стойност "Контрагенти" и отворете формата за избор на контрагент. В него изберете групата „Купувачи“ (фиг. 12).

ориз. 12

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

Сега нека усложним задачата: нека разгледаме само документите „Фактура“ в дневника на документи „Документи на купувачите“, но в същото време трябва да разгледаме документите както за купувачите, така и за доставчиците. Решаваме го подобно на предишния, с изключение на един наложен критерий за избор.

На човешки език задачата е формулирана по следния начин: „покажете всички необходими документи за всички контрагенти, намиращи се в групите директории Купувачи, Доставчици, Доставчици за продажба“. Това е лесно за изпълнение - в условието за избор „Контрагент“ изберете „В група от списъка“ (фиг. 13). След това става достъпен механизъм за попълване на списъка, към който можете да добавите необходимите групи (или елементи) на директорията. Освен това списъкът може да се попълни ръчно. По аналогия с решението на предишната задача намерете желаната групаи го изберете, като повтаряте това за всеки нов елемент от списъка. Въпреки това е по-препоръчително да използвате удобен механизъм за избор, който автоматично се изпълнява от програмата. С помощта на селекцията е много по-лесно и по-бързо да попълните списъка с необходимите компоненти. След като списъкът е завършен, щракнете върху „OK“ и активирайте конфигурираните критерии за избор. Проблемът е решен.

ориз. 13

Разликата между условието за избор „В група от списъка“ и условието „В списъка“ е, че в първия случай условието ще бъде изпълнено за всички елементи на директорията, които са изрично посочени в списъка или се намират в групите, посочени в списъка. Вторият случай просто казва на програмата да проверява списъка, когато избира. Тоест, ако посочите група там, тогава самата група ще бъде включена в селекцията (като независим елемент от директорията), а елементите, които са включени в нея, няма да отговарят на критерия за избор. Възможно е да се реши проблемът „напред“ - изберете условието „В списъка“ и, като използвате селекция, добавете там всички елементи, съдържащи се в необходимите групи.

Условията за избор „Не е в списъка“ и „Не е в групата от списъка“ ви позволяват да посочите необходимите набори от данни, които не трябва да бъдат включени в селекцията. Тоест проблемът може да бъде решен по обратния начин - посочете „Не е в група от списъка“ и добавете всички групи директории там, с изключение на трите необходими (Купувачи, Доставчици, Доставчици за продажба).

И накрая, в документ „Продажби на стоки и услуги” с номер TDN00002, в табличния раздел ще покажем само номенклатурата, съдържаща думата „STINOL” в имената. Тази задача ще ни позволи да видим универсалността на самия механизъм за избор, както и колко разнообразно може да бъде използването му. Задачата се основава на реални ситуации, когато например има няколкостотин (или дори хиляди) редове в табличната част на фактурата и трябва бързо да анализирате нейния състав. В нашата демонстрационна база данни има документ „Продажби на стоки и услуги“ с номер TDN00002, който има няколко реда в табличния раздел. Въпреки факта, че в документа няма бутони за използване на селекции, извикването на селекцията е достъпно чрез контекстното меню ( десен бутонмишки).

След това налагаме критерии за подбор в контекста на номенклатурата. Веднага възниква друг въпрос - как да изберете „СТИНОЛ“, ако условията за избор на номенклатурата са доста ограничени (налични „Равен“, „Не е равен“, „В списъка“ и „Не е в списъка“). Проблемът може да бъде решен при такива условия. Избираме условието „В списъка“, отваряме вече познатия прозорец за попълване на списъка и използваме избора на елементи (фиг. 14, 1). В номенклатурния списък може да има голям брой елементи, така че няма да търсим необходимите елементи. Да използваме селекцията в списъка с артикули, като за име на артикула зададем условието за избор „Съдържа” (фиг. 14, 2).

ориз. 14

След това остава само да добавите избраните елементи към списъка за избор на документа и да приложите критериите за избор.

Полезни функции на механизма за избор

Нека разгледаме още няколко точки, свързани по един или друг начин със селекциите в системата 1C:Enterprise 8.1.

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

ориз. 15

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

ориз. 16

Още нещо полезно свойствомеханизъм за избор - поддържане на хронология на избора (фиг. 17). Програмата запомня кои селекции са зададени, така че можете бързо да се върнете към някоя от тях, като просто я изберете от падащия списък. Между другото, в прозореца „Избор и сортиране“ обърнете внимание на бутона „Избори“ (фиг. 6). Като щракнете върху този бутон, ще бъдете отведени до интерфейс, където можете да запазите и възстановите настройките за избор, така че да можете да се върнете към тях по-късно (фиг. 18).

ориз. 17

ориз. 18

И последна функция- това е анулирането на всички селекции (фиг. 19). Щракването върху бутона „Деактивиране на селекцията“ деактивира всички селекции, инсталирани в списъка. Подобно действие може да се постигне, като отворите прозореца „Избор и сортиране“ и премахнете отметката от всички активни елементи.

ориз. 19

Програмата също така има възможност за бързо търсене по номер на документ в списъци с документи или в дневници. Тази функция се извиква от бутона „Търсене по номер“ (фиг. 20) и ви позволява да намерите необходим документ, гъвкаво конфигуриране на параметрите за търсене. Документите, намерени въз основа на посочените критерии, се показват в долната част на прозореца на тази услуга и можете да отидете до желания документ.

Дизайнът „В ЙЕРАРХИЯ“ в заявките на 1C:Enterprise 8.x ви позволява да получавате подчинени елементи на йерархичен конфигурационен обект според даден избор. Днес в статията ще разгледаме пример за използването му, както и действията на платформата от страна на СУБД и влиянието му върху производителността.

Използване

Нека да разгледаме прост пример за използване на конструкцията "В ЙЕРАРХИЯТА". При изпълнение на следната заявка ще бъдат получени подчинените елементи на йерархичната директория "Продукти" за предадената стойност на променливата "Връзка".

Текст на заявката = " ИЗБЕРЕТЕ | Продукти . връзка,| стоки |. статияОТ |Справочник . Продукти AS Продукти"

|КЪДЕ |

стоки

. Връзка В ЙЕРАРХИЯТА (& връзка)

В тестовата база данни директорията „Продукти“ съдържа следните тестови данни:

Разбира се, изображението не показва всички записи в директорията. Екранната снимка показва само структурата за съхранение на данни в йерархичната директория. Таблицата с директории съхранява 10 групи от най-високо ниво, всяка от които съдържа 5 вложени групи с 200 елемента всяка. Да се ​​върнем към заявката за тест. Нека предадем връзката към групата "Група - 1" към параметъра "&Връзка" (вижте екранната снимка по-горе). Тогава резултатът от заявката ще изглежда така:Както виждаме, заявката върна връзка към самата горна група (предадена като параметър), както и вложени групи с елементите в тях. По този начин използването на конструкцията „В ЙЕРАРХИЯТА“ ви позволява удобно да получавате йерархично подчинени данни. Синтаксис на езика за заявки 1C:Enterpriseкласически SQL

много подобни в някои отношения. Но за израза „В ЙЕРАРХИЯТА” няма аналог в езика

SQL заявки

  1. тъй като, например, за изразяване на езика за заявки на платформа "B" има подобен SQL оператор "IN". Следователно работата на платформата със СУБД при използване на този оператор е интересна.
  2. Зад кулисите

Така че да започваме. Например ще използваме написаната по-рано заявка за директорията „Продукти“. Ще анализираме действията на платформата за две ситуации:

1. Ще предадем групата от най-високо ниво „Група 1“ като параметър „&Връзка“ (както направихме по-рано).

2. В параметъра ще предадем връзка към групата "Група 1 - 1", вложена в групата от най-високо ниво "Група 1".

Екранната снимка съдържа подробни коментари върху текста на SQL заявката. Накратко, заявката ви позволява да изберете подчинени елементи за групи, които са посочени във временна таблица. Остава въпросът: "Защо заявката се изпълнява два пъти?" Отговорът тук е прост: първо, заявката получава подчинените елементи за групи от първо ниво, които вече се съдържат във временната таблица (вижте точка 1). След това втората заявка извлича поделементите за подгрупите от второ ниво. Тъй като няма нито една група директории на третото ниво на йерархията, тогава това исканевече не се изпълнява.

В нашия случай втората заявка ще върне празен резултат, тъй като няма подчинени елементи за записи, разположени на 3-то ниво на йерархията (там няма групи).

3. За да получи крайния резултат от заявката, платформата генерира следната SQL заявка:

Резултатът от тази конкретна заявка може да бъде допълнително обработен от алгоритми на вградения език на платформата. По този начин, записи във временната таблица "#tt1" се използват за задаване на условието за вземане на проби от референтната таблица "_Reference41".

4. На последната стъпка платформата 1C:Enterprise 8.x изтрива временната таблица „#tt1“, тъй като тя вече няма да се използва в бъдеще.

Това завършва процеса на изпълнение на оператора “IN HIERARCHY”.Позволете ми да ви напомня, че разглежданата последователност от действия на SQL сървъра беше извършена, когато предадохме връзка към групата от най-високо ниво „Група - 1“ към заявка от страна на платформата. Но как ще се държи платформата, ако предадем връзка към групата от второ ниво „Група - 1 - 1“ като параметър „&Връзка“? Всичко ще се случи по същия начин, с изключение на следната точка: по-горе, във втория етап на изпълнение на SQL заявки от платформата, беше написано, че заявката за получаване на подчинени елементи е изпълнена два пъти - в случай на получаване на подчинени елементи за групата "Група - 1 - 1" това не е така . Заявката ще бъде изпълнена само веднъж.

Факт е, че броят на заявките за получаване на подчинени елементи зависи от броя на групите в йерархията. С други думи, ако нивото на йерархията на елемента съдържа поне една група, тогава искане от т.2.

Въздействие върху производителността

Неправилното използване на оператор в заявка може да доведе до неоптимална производителност на системата. Разглежданият оператор „В ЙЕРАРХИЯТА“ не прави изключение. Трябва да се използва с повишено внимание, тъй като значително усложнява алгоритъма за изпълнение на SQL заявки към базата данни и по този начин увеличава натоварването на СУБД сървъра.

Позволете ми да ви дам пример за неоптимална заявка, която може да доведе до тъжните последствия, споменати по-горе:

ИЗБЕРЕТЕ продукти. Връзка ОТ директория. Продукти КАТО Продукти WHERE (Продукти. Връзка В ЙЕРАРХИЯ (& Връзка) ИЛИ Продукти. Връзка В ЙЕРАРХИЯ (& Връзка1) ИЛИ Продукти. Връзка В ЙЕРАРХИЯ (& Връзка2) )

Както можете да предположите, заявката ще доведе до генериране на много SQL заявки, което ще доведе до намаляване на производителността на информационната система.

Направете си изводите!

От вас зависи да си направите изводите. Само да кажа, че операторът “В ЙЕРАРХИЯТА” се използва от платформата за системата за композиране на данни, когато условията за избор включват “В ГРУПА”, “В ГРУПА ОТ СПИСЪКА” и други. Мисля, че няма нужда да обяснявам, че с неправилни манипулации потребителите могат да настроят много сложни селекции и да увеличат натоварването на 1C сървъра и СУБД няколко пъти. Нека променим настройките само за опитни потребители.

И разбира се, когато пишете свои собствени механизми, обърнете внимание на оператора „В ЙЕРАРХИЯТА“. Много удобно от една страна и опасно от друга.

1C директориите са специализиран дървовиден обект с метаданни, който служи за съхраняване на статична справочна информация. Например в типичните конфигурации можете да видите следните изгледи: , Номенклатура, Служители, Дълготрайни активи и др. Информацията в директориите по правило не се променя често. Впоследствие справочниците се използват в почти всички счетоводни обекти като счетоводна секция или справочна информация.

По-долу ще разгледаме настройката и проектирането на директория от конфигуратора, използвайки директорията „Номенклатура“ като пример.

Основен раздел

Разделът „Основни“ определя името, синонима, представянето на обекта и описанието на целта.

Раздел „Йерархия на директорията“.

Тук се установява йерархията на директорията.

Йерархията в 1C 8.3 е от два вида - “ групи и елементи"И" елементи". Различава се по това, че в първия случай родител (папка) може да бъде само папка (група), а във втория случай родител може да бъде и елемент.

„Поставяне на групи отгоре“ - флагът отговаря за показването на групите под формата на списък.

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

Раздел Собственици

Една директория може да бъде подчинена на друга директория. От гледна точка на конфигурирането на 1C 8.3 това означава, че атрибутът „Собственик“ става задължителен за подчинения елемент. Пример за такава връзка между директории в стандартни конфигурации „Номенклатура - мерни единици“, „Контрагенти - договори на изпълнители“.

Собственикът на директорията може да бъде и следните обекти с метаданни: , .

Раздел Данни

Вземете безплатно 267 видео урока за 1C:

Най-важният раздел от гледна точка на програмист. Той съдържа подробности за директорията.

Директорията има набор от стандартни подробности, които не се редактират от програмиста 1C 8.2, списък с тях може да се види, като щракнете върху бутона „Стандартни подробности“:

Ще се спра на всеки по-подробно:

  • Това е група— атрибут с булев тип, указващ дали е група или елемент. Достъпно само в йерархичната директория. Моля, обърнете внимание стойността на този атрибут не може да бъде променена в режим 1C: Enterprise.
  • Код— подпори, тип номер или низ (обикновено низ). Номер, зададен автоматично от системата. Обикновено се изчислява като (предишен код + 1). Препоръчвам да използвате типа низ, тъй като сортирането числови стойностиНе става както трябва. Може да се използва като представяне на директория в списък и в полета за въвеждане. Обикновено се използва за търсене на елемент при въвеждане на низ. Ако трябва да премахнете полето Код, въведете нула в дължината на реда.
  • Име— задължителни данни, тип низ. Максимална дължинаредове - 150 знака. Може да се използва като представяне на директория в списък и в полета за въвеждане. Обикновено се използва за търсене на елемент при въвеждане на низ. Ако трябва да премахнете полето Име, въведете нула в дължината на реда.
  • Родител— атрибут от типа DirectoryLink.<ИмяТекущегоСправочника>. Достъпно само в йерархичната директория. Сочи към висшестоящия родител в йерархията. Ако елементът или групата са в основата на директорията, се посочва стойността Directory.<ИмяТекущегоСправочника>.EmptyLink.
  • Собственик— връзка към елемента собственик на текущия елемент на директория (група). Наличен само в подчинената директория 1C.
  • Изтриване на флаг— подпори с тип Boolean. Отговаря за показването на „знака за изтриване“ в системата. Елемент, маркиран за изтриване, се счита за неизползваем, но върху него може да останат стари движения на документи.
  • Връзка— поле от низов тип. Този атрибут съхранява уникален идентификатор на обект - GUID. Това, което виждаме в системата във визуален дисплей, наречен „връзка“, е просто представяне на обект. Не може да се променя.
  • Предварително дефинирани— булев тип, показва дали елементът е предварително дефиниран, повече за това по-късно. Не може да се променя.

Разделът „Данни“ също показва представянето на директорията в системата; преди версия 8.2.16 представянето можеше да бъде само код или име. В последните версии на платформата (започвайки от 8.3), изгледът може да бъде описан независимо в модула на мениджъра с помощта на манипулатора „ViewReceivingProcessing“.

Раздел номериране

Тук можете да зададете настройките на указателя относно номерирането. Препоръчва се използването на автономериране. Контролът на уникалността е флаг, който помага, ако е необходимо, да направи кода уникален. Ако с поставен флаг се опитате да напишете елемент на директория с неуникален код, в 1C ще получите съобщението „Кодът на директорията е станал неуникален“.

Кодова серия - определя как да номерирате указателя можете да въведете номерацията на указателя по собственик; Например, контрагентът „Рога и копита“ ще има собствено номериране на договорите - „1, 2, 3“ и т.н.

Раздел Формуляри

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

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

Раздел Други

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

Можете също така да дефинирате списък с предварително дефинирани елементи на директория на страницата. Това са елементи, които не могат да бъдат изтрити в корпоративния режим. ДО предварително дефинирани елементиМожете да се свържете директно с конфигуратора по име, например: Directories.Nomenclature.Service.

Този раздел определя и режима на блокиране - автоматичен или контролиран. Използване на пълнотекстово търсене, както и справочна информация за директорията, достъпна в режим 1C: Enterprise.

Какво е 1C директория и защо е необходима? Справочникът съхранява условно постоянна информация, т.е. информация, която остава почти непроменена за дълъг период от време. Например директорията „Номенклатура“ съдържа списък с продадени или произведени стоки. Освен това една директория може да съдържа много свойства, описващи елемент на директория.

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

След като създадем нова директория, ще видим следната картина.

Нека да разгледаме всичките му отметки.

Основен

Тук се посочва името (идентификатор в базата данни) и синоним (потребителско име на директорията). Незадължителният коментар е този, който може да обясни предназначението на директорията или да опише нейните функции.

Йерархия

В този раздел можете да конфигурирате дълбочината на влагане на елементите на директория. Използвайки тази настройка, е удобно да разграничавате и детайлизирате елементи според някои критерии. Например продуктите “Шкафове” са в една група, а продуктите “Маси” са в друга. По подразбиране, когато се създаде, директорията представя списък с елементи. Ако поставите отметка в квадратчето Йерархична директория, тогава всеки елемент може да бъде подчинен на друг елемент (група). По-долу има опции за персонализиране на този маркер и промяна на дисплея в потребителски режим.

Тип йерархия:

Йерархия на групи и елементи

С тази настройка елементите могат да бъдат вложени само в групи (папки).

Тук, както можете да видите, всички елементи и групи имат еднакви икони и всеки елемент може да бъде вложен.

Поставете групи отгоре

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

Ограничаване на броя на йерархичните нива

Ако квадратчето за отметка не е отметнато тук, влагането е неограничено.

Ако квадратчето е отметнато, можете да посочите броя на нивата по-долу.

Собственици

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

Полето "Списък на собствениците на директория" указва списъка с директории, които притежават елементите на тази директория.

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

Как програмно да разберете дали една директория е йерархична или не

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

Това е HierarchicalDirectory = Metadata.Directories.Counterparties.Hierarchical;

Следва продължение...

Споделете