Имя: Пароль:
1C
 
Задача на проектирование регистра сведений
0 Sedych
 
01.11.23
16:27
На форуме новичок, куда разместить не знаю. Задача вообще то с собеседования. Есть список номеров телефонов относящихся к сотруднику. Только один из них является его личным, остальные - телефоны родственников. Спроектировать регистр сведений для их хранения, который будет автоматически проверять что личный телефон сотрудника только один (не давать завести 2 записи), но не ограничивать добавление сколько угодно телефонов родственников. Пробовал все делать измерениями, или только сотрудник + номер или только сотрудник + признак родственника.
1 Волшебник
 
01.11.23
16:34
Если на собеседовании дают глупые задания, то бегите оттуда
2 Hmster
 
01.11.23
16:34
может для этого больше подойдет табличная часть?
3 yopQua
 
01.11.23
17:09
(0) три колонки сотрудник видтелефона ТЕЛЕФОН
передзаписью проверять если в таблице уже есть запись с парой сотрудник/вид телефона то отказ. могут быть нюансы в зависимости от реализации - документ с движениями, элемент справочника с ТЧ, РегСведений со стандартной формой записи или самодельной и т д
пс. в проверке надо исключить текущий записываемый элемент/запись, то что записывается
4 Sedych
 
01.11.23
17:20
От Волшебника совет вполне волшебный, но имеет ли задача решение? Телефоны к пользователям как многие к одному... но телефоны с признаком личный не так. В задаче подразумевается что контроль выполняет именно сам регистр как механизм платформы, сделать контроль программно не проблема.
5 Eiffil123
 
01.11.23
17:23
Измерения:
Сотрудник
НомерПП (число неотрицательное)

Ресурсы:
НомерТелефона

При этом считаем, что если НомерПП равен нулю, то это личный телефон, все остальные номера - не личные.

задание конечно оторвано от жизни (как обычно и бывает на собеседованиях).
6 Dmitry77
 
01.11.23
17:24
Добавить в измерение справочник с типами личный, родственник1, родственник2 и т.д. но это извращение.
7 Eiffil123
 
01.11.23
17:24
Ну или так:
Измерения:
Сотрудник (обязательно заполняется)
Родственник (может быть пустым)

Ресурсы:
НомерТелефона


Считаем, что если родственник не указан, то телефон личный.
8 Hmster
 
01.11.23
17:32
(5) НомерПП - вот тут можно поиметь много проблем
9 vi0
 
01.11.23
17:33
(4) процитируй где говорится что проверять должна сама платформа
10 Hmster
 
01.11.23
17:39
(0) как вариант можно вообще хранить данные в одном поле но как массив строк и иметь ресурс признак Множественное. Тип телефона иметь реквизит Может быть множественное
11 Garykom
 
01.11.23
17:40
(0) Посмотри как устроена Контактная Информация в типовых
Перечисление Вид/Тип КИ и в РС писать с типом
Добавить проверку для "личный"
12 majkk
 
01.11.23
17:45
(0) Элементарно

Измерения:
Сотрудник
Родственник
Ресурс:
Телефон

Пустое измерение "Родственник" означает личный телефон.
13 majkk
 
01.11.23
17:49
(1) Хорошее, кстати, задание.
14 Garykom
 
01.11.23
17:49
(12) Не расширяемо (как отделить типы родственников или разные контакты домашний/мобильный/рабочий) и не как в типовых - нафейхуа?
15 shuhard
 
01.11.23
17:50
(12) или в родственника писать сотрудника
16 shuhard
 
01.11.23
17:51
(14) у ТС-а задача без использования кода
17 AlexeyKh
 
01.11.23
17:53
(12) а если у одного Родственника 2-3-несколько телефонов?
как заведете их в своем регистре?
18 Donkey_hot
 
01.11.23
18:21
(0) Совсем без программирования не придумывается. А с минимумом:
Измерения:
Сотр,
Личный (Булево),
IDЗаписи (Строка, не редактируется пользователем)
Ресурс - Номер телефона
Перед записью набора для не_личных телефонов в ID записи пишем номер телефона, а для личных - пустую строку. Помимо решения основной задачи бонусом тут контроль дублирования телефонов родственников.
19 H A D G E H O G s
 
01.11.23
18:24
РС
Измерения
ФизЛицо - Справочник
ВидКИ - Справочник
Значение - Строка

ВидКИ содержит предопределенный элемент "ТелефонСотрудника" и расширяется добавлением "Бабушка", "Свояк", "Деревень"

А ФИО родственников хранить нельзя, так как поделка автора не сертифицирована ФСБ по ФЗ-152.
20 H A D G E H O G s
 
01.11.23
18:25
Но вообще автору не место на работе, куда он там собеседуется.
Потому что автор не готов и место не очень.
21 Garykom
 
01.11.23
18:25
(19) >ВидКИ - Справочник

с реквизитом ТипКИ - Перечисление забыл ))
22 Мимохожий Однако
 
01.11.23
18:51
Вброшу ))
номер телефона в измерение
В ресурсах
физлицо
Тип физлица (сотрудник. родственник, знакомый)
23 Волшебник
 
01.11.23
18:53
(22) Месье знает толк в извращениях!
24 Волшебник
 
01.11.23
18:55
(4) В реальности надо наоборот. Надо знать все телефоны самого сотрудника и по одному телефону каждого родственника.
25 Волшебник
 
01.11.23
19:21
(24)+ Хотя лучше знать все телефоны всех родственников. Тут принцип такой: больше знаешь — крепче спишь.
26 TStan
 
01.11.23
19:04
(0)
Измерения:
Абонент - составной тип - Сотрудники, ФизЛица, Строка; Т.к. строка все стерпит - то для родственников будут дописки - мобильный, рабочий, домашний, друг, сват, брат.
Сотрудник - тип - Сотрудники, для неСотрудника - не заполняется;
Родственник - тип - Сотрудники, для Сотрудника - не заполняется, для его родственников указывается он сам;

Ресурсы:
НомерТелефона - тип - строка;
27 TStan
 
01.11.23
19:08
(24) ТЗ есть ТЗ, "стоя и в гамаке")
28 Волшебник
 
01.11.23
19:10
(27) В гробу мы видали такое ТЗ
29 TStan
 
01.11.23
19:11
(28) несомненно, явно не из жизни
30 Волшебник
 
01.11.23
19:49
(29) Значит в этой компании есть проблемы с жизненным циклом ПО или более детально с девопсом (DevOps), т.е. с постановкой задачи, с придумыванием и согласованием ТЗ и его воплощением (разработка, тестирование, опытная эксплуатация), с обратной связью от пользователей/заказчика.
31 TStan
 
01.11.23
20:13
(30) все возможно, есть пример "нормальной" задачи на собеседование?
32 yopQua
 
01.11.23
22:40
(4) что это за лажа, может и конфигуратор запускать нельзя?
33 stopa85
 
02.11.23
06:20
В таких заданиях хотят посмотреть как человек рассуждает... Поэтому задания такие бредовые.

Мне задавали вопрос: "как оптимизировать поиск по подстроке?"
34 Bigbro
 
02.11.23
06:46
один мой знакомый дядька на собеседовании по приему на работу попросил доказать теорему пифагора.
чем поставил человека в тупик)
35 Рэйв
 
02.11.23
06:55
(0)Как вариант:-)

Сделай регистр периодическим в пределах дня и все личные номера пиши на дату ,скажем, 01:01:2000, а остальные на текущую при записи.

Тогда система  сама не даст записать еще один номер на дату 01:01:2000
36 АНДР
 
02.11.23
06:55
(34) Интересно, сколько людей окажутся в тупике прочитав это?
37 Рэйв
 
02.11.23
06:56
*в пределах секунды...А то не даст в один день и остальные записать
38 Гена
 
02.11.23
06:57
Разрешить заводить сколько угодно номеров с +7 или вообще +, если зарубежный, и только один с 8 - он и будет считаться личным.
39 breezee
 
02.11.23
06:58
Измерения: Сотрудник ТипТелефона (личный/не личный)
Ресурс: Номер телефона
+ проверка перед записью с запросом на тип и количество записей. Правильно?
40 Donkey_hot
 
02.11.23
07:02
(36) Тупил пару минут, потом вспомнил графическое доказательство)
41 АНДР
 
02.11.23
07:03
(39) если телефон у сотрудника только один, то хранить его в сотруднике. В регистре ссылка на сотрудника и телефон.
42 AAA
 
02.11.23
07:33
Телефон сотрудника и телефоны родственников - разные сущности. И к ним еще и предъявили разные требования. Поэтому одним из решений может быть 2 регистра, в одном одни телефоны, в другом другие. Решение слегка раздувает число метаданных, зато более прозрачное и понятное
43 Bigbro
 
02.11.23
08:57
в регистре физлицо и телефон.
прочую информацию о том какие из физ лиц являются сотрудниками и какие между ними родственные связи хранить в другом месте.
ну либо в этом же - в реквизитах.
например добавить "связанныйсотрудник" - если заполнен то запись относится к родственнику сотрудника. если нет - то это запись сотрудника.
вроде все.
44 Sedych
 
02.11.23
18:47
Спасибище всем огромное! Именно (6) и (7) были (из моих уст) признаны верным решением :) Остальное пока не читал, но обязательно прочту! Замечательные вы люди!
45 Волшебник
 
02.11.23
18:48
(44) 💖 И Вам спасибо, что не даёте скучать
46 Dmitry77
 
02.11.23
19:40
(44) и про извращение из (6) на собеседовании сказано было?
47 АНДР
 
02.11.23
22:23
(46) Интереснее спросить, в каком месте кода будет реализована проверка уникальности. И добить модным обменданными.загрузка...
48 Обработка
 
03.11.23
08:36
Те кто предлагает чтоб одно из измерений тип родственника был а вы думали что у меня есть более 20 двоюродных братьев и сестер тоже  столько же много? А тетей и дадей тоже хватает...
49 Donkey_hot
 
03.11.23
08:46
(48) Я вот тоже не понял, почему 80% ответов в ветке добавляют хранение самих родственников, хотя такого требования нет. Задача, как я ее понял, хранить данные вида:

Сотрудник НомерТелефона Личный
Петя      81111111111   Да
Петя      82222222222   Нет
Петя      83333333333   Нет
50 Обработка
 
03.11.23
08:57
(49) А как ты различишь родственников с одинаковыми именами?
51 АНДР
 
03.11.23
09:07
(50) Это не родственников, а сотрудников.
52 maxab72
 
03.11.23
09:10
У сотрудников есть инвентарные учетные номера.
53 Обработка
 
03.11.23
09:10
(51) Прочти задачу внимательно и свою реализацию
54 Обработка
 
03.11.23
09:11
(52) Это называется табельный номер. Ну и причем это тут?
55 Гена
 
03.11.23
09:24
(49) Угу... прям все так и разбежались давать номера своей родни с уточнением степени родства, особенно те, кто в возрасте мобилизации.
56 Donkey_hot
 
03.11.23
09:28
(50) А передо мной ставится такая задача? Разумеется, на практике тут постановку надо уточнять. Но в учебных задачах обычно практикуется принцип: не делай то, о чем не просили.
57 Donkey_hot
 
03.11.23
09:33
(55) Кстати, да, вот так и надо ответить на собесе. Слово-в-слово. И добавить: "Что за ерунду это Вы, гражданин интервьюер, выдумали?"
58 unenu
 
03.11.23
09:47
В типовых есть справочник РодственникиФизЛиц.
не суть.

Достаточно двух измерений регистра
1. ФизическоеЛицо - заполнение обязательно
2. РодственникФизЛица - заполнение не обязательно

Если измерение N2 - не заполнено, то это личный телефон. По этому условию можно выделять в списках, в условном оформлении к колонке "РодственникФизЛица" менять текст на "Личный".
Платформа сама не позволит записать несколько личных и всегда видно, что за родственник в записи, нет костыльных нумераций и прочего.

Остальные измерения и ресурсы уже не так важны и зависят от задачи.
59 Гена
 
03.11.23
09:54
(58) Если измерение N2 - не заполнено, то это личный телефон

Несерьёзно. Человек может и не знать точно степень родства. И реквизит будет незаполненным.
60 Smallrat
 
03.11.23
10:00
Измерения - Сотрудник, ВидТелефона, СтепеньРодства, Телефон
При записи проверять наличие того, что личный телефон уже есть.
61 Smallrat
 
03.11.23
10:01
условие автоматической проверки - нах, потому что структура регистра важнее тупых условий делать без кода
62 Bigbro
 
03.11.23
10:02
(59) там не вид родственника а просто родственник.
не "двоюродный племянник" а просто "дядя Гена"
всегда есть чем заполнить
63 Гена
 
03.11.23
10:06
(62) Угу... тётушка из Бразилии...
64 АНДР
 
03.11.23
10:40
(53) Во-первых: я не вижу смысл повторять написанные ранее решения удовлетворяющие условию задачи. Они отличаются нюансами, не описанными в задании и придирчивостью проверяющего (проверка условия, состав реквизитов).  
Во-вторых: Напомню собеседующему "постулат", что регистр проектируется под отчёт. ;) В "отчёте" мне всегда придётся обращаться к записи сотрудника (представление и можно получить телефон) в таблице и к регистру сведений (телефон и что туда ещё напихали). В любом случае компоновать нужно три набора данных.
P.S. Говорить или нет "Во-вторых" зависит от вашей уверенности в знании темы и позиции на которую собеседуетесь.
65 unenu
 
03.11.23
11:19
(59) о степени родства я речь не вел и в задаче это не указано. Пустое измерение N2 означает, что это не запись родственника, а физлица в первом измерении.

Зачем вообще уходите в несущественные детали: стпень родства, номер по порядку - это все чушь для задачи.
66 Valdis2007
 
03.11.23
13:28
(7) а если у одного родственника несколько номеров?
67 Valdis2007
 
03.11.23
13:31
(22) +1

номер телефона в измерение
сотрудник в измерение
В ресурсах
физлицо
Тип физлица (родственник, знакомый)
68 symbols
 
06.11.23
17:05
А если просто измерение - ВидРодственника, ресурс - телефон, а в ВидРодственика раписать предопределенный Я. И пусть система контролирует уникальность записи
69 Garykom
 
06.11.23
20:00
(64) >регистр проектируется под отчёт

Правильней - регистр проектируется с учетом отчетов