0
- 24.12.2017 - 16:33
|
Есть элементарный справочник. Один из его реквизитов имеет тип - этот же справочник. Мне приснилось, или у такой конструкции бывают подводные камни? Я что-то подзабыл :(
| | |
1
- 24.12.2017 - 17:35
|
(0)>>Мне приснилось, или у такой конструкции бывают подводные камни? А ты где такое видел? Вообще сделать такое можно, проблем нет, никто не запрещает, вопрос только ЗАЧЕМ??? | | |
2
- 24.12.2017 - 17:39
| Теоретически возможно зацикливание при обработке цепочки элементов по этому реквизиту какой-нибудь рекурсивной функцией. | | |
3
- 24.12.2017 - 17:43
| (2) Это не теоретически, это практически будет, получить самого себя. | | |
4
- 24.12.2017 - 18:01
|
(3) Это понятно, но не факт, что это обязательно выйдет боком. Навскидку приходит в голову пример: коряво организованный справочник "Сотрудники", где совместитель ссылается на основного, у оановного - пусто. Тогда в программе где надо просто проверяется - заполнено ли поле ОсновнойСотрудник, а лезть в глубину по уровням до упора - незачем. | | |
5
- 24.12.2017 - 18:13
| (4) Ну тут тогда просто грамотность построения алгоритма | | |
6
- 24.12.2017 - 19:07
| Например, так организован спр.сотрудники в ЗиКе. Но речь не о нём. Речь О самоделке, где спр.техника содержит и автомобили, и прицепы. Так вот реквизит "прицеп" - это тип спр.техника. Вот думаю, нужно ли развязать эту конструкцию, или меньше гемора будет, если не лезть к нему.. | | |
7
- 24.12.2017 - 19:10
| ..а вспомнил о ЗиКе, потому что про эту конструкцию рассказывал Сущеня, дескать, она чем-то нехороша. Но поскольку было это 10 лет назад, забыл я, в чём там косяк :( | | |
8
- 24.12.2017 - 19:10
| В ПУБе было, ничего страшного. | | |
9
- 24.12.2017 - 19:11
| Если разнести авто и прицепы по разным уровням справочника и при выборе реквизита контролировать уровень выбранного, то можно все разрулить, ИМХО. | | |
10
- 24.12.2017 - 19:13
| ок, прислушался. Оставлю, как есть. | | |
11
- 24.12.2017 - 19:23
| Эх.. До чего же хороша была "семёрка"! Задал вопрос, тут же ответ, проблема решается мгновенно. Ностальгия.. | | |
12
- 24.12.2017 - 19:40
|
(11) а чем восьмерка то плоха? ))) просто раньше форум рос и развивался вместе с форумчанами, а сейчас все достигли лично своего уровня, кому какой надо, а молодежь в подвалах... | | |
13
- 24.12.2017 - 19:49
| Просто тут остались одни динозавры... | | |
14
- 24.12.2017 - 19:59
| тем, что для решения задач, которые в семёрке решали 1-2 спеца, в 8ке нужен целый коллектив. Трудно себе представить, чтобы на 8ке 1 чел взял и написал полноценную конфу, скажем, по производству. Девиз 8ки - "долго и дорого". Злит. | | |
15
- 24.12.2017 - 21:27
| Чем больше я работаю тем с каждым днем все меньше и меньше программирую :) Потому, что все уже изобретено, надо только знать где лежит и подобрать. Я вон для Андроида нетленку сваял, так только от того, что делать нефиг было да и интересно. А в инете уже валом. | | |
16
- 24.12.2017 - 22:20
| Любой иерархический справочник имеет такой реквизит - Родитель. | | |
17
- 25.12.2017 - 07:14
| По моему ничего не будет, хоть все реквизиты делай того же типа, что сам справочник. В 7.7 сам не раз делал, в 8.x для примера у контрагентов есть головные контрагенты. Даже если сам элемент прописать в реквизит и то не видно причин бояться ) | | |
18
- 25.12.2017 - 13:07
| Нет никаких камней, ни подводных ни надводных. | | |
19
- 25.12.2017 - 13:35
| делала. но через подчиненный справочник - деталь и ее аналоги | | |
20
- 26.12.2017 - 11:49
|
Коллеги, пьянствуете уже? Таких конструкций полно. Откройте справочник Контрагенты в типовой БП. Там реквизит Головной контрагент имеет тип того же самого справочника Контрагенты. Мало того, если он не заполнен, туда записывается ссылка на тот же самый записываемый элемент. | | |
21
- 27.12.2017 - 13:40
|
видел в 7-ке такое , для того чтобы справочник открывался как документ , то есть имел табличную часть ЗЫ подводных камней не особенно если рисовать с умыслом ЗЫ удалять сложновато бывает )) | | |
22
- 02.01.2018 - 20:36
|
реквизит того же вида, что и элемент - это ущербность проектирования БД. родитель - это группа. по идее - не содержит значений всех реквизитов справочника, а только минимальный набор. но и это тоже ущербность проектирования. с точки зрения организации хранения данных структура таблицы должна быть линейной. то есть родители - должны быть элементами другой таблицы. зная любовь 1Са пихать всё в одну кучу, могу предположить, что её бы устроил отдельный справочник или регистр сведений, содержащий все элементы родителей для всех справочников конфигурации. и это было бы правильнее. имхо. | | |
23
- 03.01.2018 - 19:02
| (23)Это в порядке бреда ?) Справочники бывают (да ну !) многоуровневые, и для каждого уровня свой регистр ? Это тянет на нобелевскую премию. Как раз нормальный подход хранить ссылку своего типа. Именно так организуются различные списки, очереди и т.д. Например требуемая последовательность техопераций. В чем конкретно ушербность проектирования ? Должна быть линейной - сказал, как отрезал. А почему не шарообразной ? Есть вообще то такое понятие как нормализация баз данных, все правда про него уже забыли. | | |
24
- 05.01.2018 - 04:19
|
23-USSR > не для каждого уровня свой регистр, а список уровней всех справочников в одном общем регистре/справочнике. справочник - предпочтительнее. т.к. в нём уже можно типовыми средствами задать многоуровневую структуру. просто элементы верхнего уровня будут названиями всех прочих справочников, а уже в каждом таком элементе свои группы и подгруппы и подпод группы. если говорить о родителях. например. есть справочник Номенклатура с группами "Материалы" и "Товары". Есть справочник "Контрагенты" с группами "Поставщики" и "Покупатели". Так вот, предполагается создание служебного справочника "РодителиВсехСправочников", в котором создаются группы "Номенклатура" и подгруппы в ней "Материалы" и "Товары", аналогично группа "Контрагенты" и в ней подгруппы "Поставщики" и "Покупатели". Одновременно справочники Контрагенты и Номенклатура делаются одноуровневыми с реквизитом Роодитель содержащим ссылку на справочник РодителиВсехСправочников. Требуемая последовательность техопераций... ка по мне так это отдельная сущность "ПоследовательностьТехОпераций", которая содержит набор ссылок на сами ТехОперации. О! Нормализация! И где в ней сказано, в нормализации, что надо хранить в записи ссылку на саму запись или ей подобную? По-моему, там что-то про однотипность сущностей было, не? А группа и элемент справочника, например, Номенклатура - однотипные сущности? | | |
25
- 05.01.2018 - 05:13
|
это если по-1Сному, то один общий справочник РодителиВсехСправочников. а если по-нормальному, то для каждого справочника должен быть свой СправочникРодителей<ИменноЭтогоСправочника>. технически я не вижу проблем такое организовать на уровне платформы. ибо кроме двух таблиц (элементов и родителей) нужен ещё и объект, который сможет всё это отобразить в форме списка, позволит работать с отборами, подборами, добавлением элементов и групп, изменением подчинённости и т.п. про неродителей зацикливание и удаление уже писали. | | |
26
- 05.01.2018 - 10:59
| Цитата:
Не пора ли освежить азы программирования? Такой объект, как дерево значений (в том или ином виде используемый во всех СУБД) - строится именно на таком принципе. Элемент хранит ссылку на родителя. Иерархический справочник по сути и есть дерево. | | |
27
- 07.01.2018 - 23:01
| 26-Ирли Бёрд > пусть хранит ссылку на родителя. я не возражаю. но это будет ссылка на другой справочник, а не этот же. | | |
28
- 07.01.2018 - 23:05
|
26-Ирли Бёрд > дерево значений и нормализация БД - это разные вещи, однако. С т.з. БД дерево значений - это связь один-ко-многим (вероятно и несколько раз, то есть с большим количеством таблиц, чем две), а не ссылки на эту же таблицу. разве не так? | | |
29
- 08.01.2018 - 14:03
|
(22) замечательно будут смотреться иерархические структуры у которых элемент родитель обладает теми же свойствами и поведением что и подчиненные. Как пример: справочник подразделений. Подход (22) может быть уместен если родитель используются исключительно для группировок/отборов | | |
30
- 09.01.2018 - 09:11
| Бред какой-то | | |
31
- 10.01.2018 - 19:09
| (0) Приснилось!!! | | |
32
- 10.01.2018 - 19:12
| (0) В справочнике контрагентов есть реквизит "головной контрагент" и никто ещё не умер) | |
| Интернет-форум Краснодарского края и Краснодара |