Имя: Пароль:
1C
1С v8
Реквизит vs. Регистр сведений
0 JochenPeiper
 
10.10.11
12:18
Народ!

Для реализации одного механизма требуется сопоставление склада и склада резерва.
Одному складу ВСЕГДА будет соответствовать ОДИН склад резера.
Как лучше реализовать сопоставление?
Через реквизит "СкладРезерва" или через регистр сведений "Склад - Склад Резерва"

Спасибо!
1 Wobland
 
10.10.11
12:18
и на зачем тут регистр заводить? голосовалку? ;)
2 Rie
 
10.10.11
12:20
Если человеку каждый раз хочется лазить ещё в одну таблицу (для других целей и даром не нужную) - то почему бы и не завести регистр сведений?
3 Рэйв
 
10.10.11
12:20
(0)РС только если нужно хранить историю..а так - реквизита вполне хватит
4 Wobland
 
10.10.11
12:20
(2) может, у него зарплата от количества таблиц зависит
5 МихаилМ
 
10.10.11
12:30
каждый вздох - таблица

все что не относится к  сущности (модели объекта) -

в другие сущности.

тем более сопоставления.
6 Reset
 
10.10.11
12:32
В регистр. Дабы не утежелять чтение объекта везде и всегда, только для "одного механизма".
7 Рэйв
 
10.10.11
12:33
(6)Не утяжеляя чтение объекта, ты утяжеляешь базу лишней сущностью.
8 mikecool
 
10.10.11
12:34
(7) а тут уже надо смотреть в корень - хз что там за механизм будет...
9 vde69
 
10.10.11
12:35
регистр сведений делается в двух случаях

1. разделение прав на записть справочника и свойств
2. требуется переодичность

все остальное - от лукавого
10 mikecool
 
10.10.11
12:37
(9) у меня доп признаки для документа вынесены в РС
11 guitar_player
 
10.10.11
12:39
(10) согласен, зачем при чтении лишнее читать в (9) этого нет
12 Reset
 
10.10.11
12:40
(7) Я сказал только свое мнение. Конкретное решение на самом деле может зависить от многих факторов. Но если упростить до "реквизит vs регистр" - то мое мнение таково. Все лишешнее - из объекта убрать. Не навязываю.
13 Irbis
 
10.10.11
12:41
(12) Если убрать все лишнее отстанутся только код и наименование.
14 Aleks73
 
10.10.11
12:42
В регистр. но - если человек умеет с ним пользоваться (в отчетах кода надо будет писать больше). А потому что данные будут выглядеть наглядней.
15 Aleksey
 
10.10.11
12:46
(9) 3. Для совместимости с будущим обновлением
Т.е. завел РС и голова не болит, что новое обновления затрет твой реквизит
16 ЧУК
 
10.10.11
12:47
Решение через реквизит:

Минусы:
- В таблицу справочника добавляется колонка и для всех складов будет хранится значение Склада резерва.

- Если вдруг для склада необходимо будет два склада резерва, то все придется переделывать.  

- Чтение и запись эл. спр. Склады будет выполняться дольше.

Плюсы:
- Простота реализации.
- Легко получать значение склада резерва.
- Во всех отчетах можно будет группировать, отбирать по складу резерва.

Решение через рс:
Минусы:
- Для получения склада резерва лишнее соединение с таблицей рс.
- Пользователь наверняка захочет в форме элемента спр. Склад видеть склад резерва - придется код писать.

Плюсы:

- хранится столько записей соответствий Склад - Склад резерва сколько действительно необходимо. Т.е. никакой избыточной информации.

- складов резерва для одного склада можно сделать много. и вообще возможности модификации такого механизма намного шире.

- не тягаем за складом - склад резерва при любом чтении и записи эл. спр. склад.

Выбор метода реализации зависит от задачи. Мне больше нравится через рс. Уверен что пользователи что-то забыли и только реквизитом будет не обойтись.
17 Skylark
 
10.10.11
12:48
(15) это вам не семерка, "затирание" реквизиту мало грозит
18 Skylark
 
10.10.11
12:50
А насчет "излишеств" - сколько планируется записей в справочнике "Склады"? Десятки тысяч?
Более жизненно ИМХО просто десятки максимум.
Так что реквизит вряд ли что-то заметно "утяжелит"
19 Aleksey
 
10.10.11
12:50
(17) Угу и на форму он автоматом добавиться? Или каждый раз будешь глазками сравнивать, так ничего нового в этом справочнике на форме не появилось
20 Aleksey
 
10.10.11
12:52
(16) Так вроде бы в 8.2 в конфигураторе можно пошаманить и запись в РС  будет как реквизит видеться
21 Конфигуратор1с
 
10.10.11
12:53
Если в принципе, то в справочник нужно добавлять  реквизит, если он будет заполнен у большинства элементов и будет использоваться часто, если нет - то регистр сведений. В данном случае, справочник склады обычно маленький, поэтому проще реквизит
22 Aleks73
 
10.10.11
12:54
(21) Сас себе противоречишь
23 Fragster
 
гуру
10.10.11
12:54
если конфа на поддержке - то я за РС.
ну и никогда не говори "всегда" ;)
24 ЧУК
 
10.10.11
12:57
(20) Т.е. можно отображение на форме элемента справочника связанного с этим справочником значения из какого-то рс решить только настройками свойств объектов конфигурации?
25 Конфигуратор1с
 
10.10.11
12:57
(22) в чем же?
26 Irbis
 
10.10.11
12:58
(24) Да. И даже  интеракитвный ввод и прочую хню, по крайней мере в 8.1
27 vde69
 
10.10.11
12:59
для регистра есть например такие подводные камни как подписка на событие, RLS и тд

например совсем не просто сделать подписку на изменение значения элемента справочника и т.д.
28 Aleks73
 
10.10.11
13:01
(25) см (21)
"справочник нужно добавлять  реквизит, если он будет заполнен у большинства элементов..., если нет - то регистр сведений. В данном случае, справочник склады обычно маленький, поэтому проще реквизит"

Вывод неправильный .
Твое правило: если х = 1 то А, иначе Б
Состояние х = 1
Вывод: Б
29 vde69
 
10.10.11
13:01
(27) или например контроль уникальности чего-то

кроме того такое поле не выведешь в динамический список, проблеммы с сортировкой по нему....
30 Sammo
 
10.10.11
13:05
(9) Еще в случае, когда на миллион записей данное значение будет заполнено у нескольких сотен...
31 ЧУК
 
10.10.11
13:08
(26) С использованием эл. формы поле ввода?
32 Irbis
 
10.10.11
13:10
Зачем? Табличное поле или используй перейти
33 ЧУК
 
10.10.11
13:13
(32) Через таб. поле понятно как. Я уж было подумал что можно связать с полем ввода.
34 Конфигуратор1с
 
10.10.11
13:28
(28) Ну собственно тут не совсем противоречие. Если в справочнике склады будет большинство реквизитов заполнено (а в маленьком справочнике оно так и будет) то нужно реквизит.
35 Irbis
 
10.10.11
13:30
А не лучше ли прямо в доке определять склад резерва и не засорять справочник?
36 Aleksey
 
10.10.11
13:33
(35) на основании чего? Причем это нужно сделать прозрачным для пользователя
37 Irbis
 
10.10.11
13:35
(35) На основании решения пользователя.
38 Aleksey
 
10.10.11
13:39
(37) Пользователь выбрал склад А, автоматом должен выбраться резерв со склада Б
Если он выбрал склад АБВГД, то соответсвенно резерв со склада XYZ

А если он будет выбирать кучу реквизитов ... так может и сумму не рассчитывать на основании цены и количество, а пусть сам менеджер ручками считает, "На основании решения пользователя."
39 Irbis
 
10.10.11
13:44
(38) А как арифметика от воли пользователя меняется. А вот склад резерва вполне может. Потому что если связь "жесткая" один в один, реквизит вообще не нужен ни в справочнике, ни в документе.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший