Имя: Пароль:
1C
1С v8
Тип данных ресурса
, ,
0 Phil_McLaren
 
26.02.13
07:33
1. Два ресурса 60% (3)
2. Составной тип 40% (2)
Всего мнений: 5

Добра!
Заспорили тут, да рассудит нас миста
Создается РС, у кого в одном из ресурсов может храниться  справочникСсылка или число. Я считаю, что нужно делать ресурс составного типа, мой коллега - что заводить два ресурса разных типов и сравнением числового с 0 (в запросах и вне их) понимать, где лежит реальное значение.
Погуглил, с ходу официальных рекомендаций не нашел
Мнения?
Замучу голосование, пожалуй, вдруг все окажется не проще пареной репы)
1 skunk
 
26.02.13
07:34
а нулл проверять не судьба?
2 Phil_McLaren
 
26.02.13
07:38
(1) да проверять-то можно как угодно, вопрос не в этом, а в решении проверять ли вообще или использовать "выразить", в запросах например. В наборе записей и того проще с составным
Проблемы нет, я не спрашиваю совета, я спрашиваю мнения, как вы в таких случаях строите регистр
3 skunk
 
26.02.13
07:44
по мне оба варианта какие-то не очень ... в обоих случаях идет денормализация базы ... стоит ли задача того
4 Phil_McLaren
 
26.02.13
07:48
(3) и на ваш взгляд как же быть?
5 Phil_McLaren
 
26.02.13
08:21
ап
вяло, миста, вяло. Я не вижу ваших мнений
6 Rovan
 
гуру
26.02.13
08:23
(5) в 1м варианте выигрываешь в использовании места и в удобстве программирования,
во 2м в скорости работы с данными

Так что вопрос из серии "Что больше - час или километр ?"
7 aka AMIGO
 
26.02.13
08:30
"регистр строится" под конкретную задачу.. вернее, под ситуацию.
а так - только пустотрясение пространства.
8 Тролль главный
 
26.02.13
08:34
а если нужно хранить именно 0?
9 patapum
 
26.02.13
08:42
(0) в ресурсе хранится справочник ссылка или число - хреновый регистр. постановку задачи в студию!
10 Steel_Wheel
 
26.02.13
08:43
(0) Объектный тип лучше примитивного, т.к. при построении индекса значение примитивного типа полностью включаеся в индекс, от чего индекс становится большим
11 Fragster
 
гуру
26.02.13
08:44
(10) при составном типе индекс по 2-м колонкам вообще
12 Fragster
 
гуру
26.02.13
08:44
(9) ихобретают доп.свойства, наверное
13 Fragster
 
гуру
26.02.13
08:44
изобретают
14 1Сергей
 
26.02.13
08:45
в любом случае, физически колонок становится больше одной
15 Тролль главный
 
26.02.13
08:45
(10) чем это индекс по целочисленному полю хуже индекса по UUID?
16 Phil_McLaren
 
26.02.13
08:45
(6) не думаю, что это час или километр. все-таки это два подхода к реализации одной простой задачи. никакой катастрофы в любом случае не будет, просто интересно, какой вариант следует выбрать "по канону", так сказать

(7), (9) точнее - это тип цены или цена, извлекаться будет пока только из реализации и заказа. вряд ли контекст так уж важен. Боюсь вдаваться в детали, ветка легко может уйти в сторону

(8) точно не нужно
17 Тролль главный
 
26.02.13
08:47
(16) вариант №3
три ресурса:
1. перечисление ТипХранимогоРесурса
2. число
3. ссылка
18 1Сергей
 
26.02.13
08:47
(6) см (14)
19 Phil_McLaren
 
26.02.13
08:48
(14) вот мне как раз это и не нравится. Логически значение одно, если нет технических "НО", то не вижу смысла класть его в два хранилища.
20 Тролль главный
 
26.02.13
08:48
(6) выигрыш в использовании места - вранье
21 ДенисЧ
 
26.02.13
08:49
справочник.
три реквизита - тип, ссылка, число. В РС - ссылка на этот справочник.
22 Тролль главный
 
26.02.13
08:49
(21) для всех цен? круто
23 1Сергей
 
26.02.13
08:49
(19) представь, если бы ты программировал не на 1С, а на чём-то другом подключенном к SQL. Где нет составных типов
24 1Сергей
 
26.02.13
08:50
(21) а смысл? если, например, каждая запись будет уникальной
25 Steel_Wheel
 
26.02.13
08:53
(15) Отсутствием масштабируемости. Например, нам надо завести еще один реквизит в этом "справочнике" или доп. характеристику. Колонка со ссылкой -- по прежнему одна, а колонка с доп. реквизитом идет в наш индекс.
(11) Еще лучше :)
(16) По "канону" сделать "обертку":
- легко расширять
- индекс в регистре не пухнет
26 Тролль главный
 
26.02.13
08:54
(25) а то, что для каждой цены отдельный элемент справочника, причем для одинаковых цен разного товара нельзя использовать скорее всего один и тот же элемент
27 patapum
 
26.02.13
08:57
(16) сделай еще один тип цены "фиксированная", когда цена задается числом пиши в этот тип цен. а в РС - всегда тип цен
28 Phil_McLaren
 
26.02.13
08:57
(21) вот это явно перебор. Особенно при записи цен

(23) хороший вопрос. Не могу придумать альтернативы дополнительному полю
29 Тролль главный
 
26.02.13
08:58
(28) это логически на уровне 1С составное поле одно, на уровне СУБД их несколько
30 Steel_Wheel
 
26.02.13
09:01
(26) Ничего страшного, разницы нет.
Гораздо хуже, если мы потом захотим добавить скидку, наценку, налог, Рекомендуемую цену, категорию покупателя и еще какую-нибудь важную информацию. Во что превратится твой регистр, особенно, если он -- один из популярных в типовой (типа "ТоварыНаСкладах")
31 Steel_Wheel
 
26.02.13
09:01
к 30: разницы нет по сравнению с добавлением одной колонки численного типа, т.к. ссылка -- тоже число
32 Phil_McLaren
 
26.02.13
09:04
(27) вариант хороший, но значения, стоящие за типом цен, не меняем. Либо задаем тип цены, либо абсолютную цену, чтобы потом извлечь или саму цену, или сначала тип, а затем вычислить цену.
33 Тролль главный
 
26.02.13
09:08
(30) ага, ну давайте вообще откажемся в ресурсах от примитивных типов
34 ice777
 
26.02.13
09:09
нефиг плодить лишние сущности.
а так- творите что хотите, только не плакайте.)

Два ресурса
35 Phil_McLaren
 
26.02.13
09:12
(34) эм...так "два ресурса" или "нефиг плодить"?)
36 ice777
 
26.02.13
09:19
(35) в моем понимании лишняя сущность- составной тип.
я меряю мерой не количества :)
37 mzelensky
 
26.02.13
09:19
Я за составной. Просто потому как это более расширяемо и меньше гемора при программировании

Составной тип
38 H A D G E H O G s
 
26.02.13
09:21
Так

Составной тип
39 H A D G E H O G s
 
26.02.13
09:21
или так

Два ресурса
40 kosts
 
26.02.13
09:21
т.к. информация разнородная

Два ресурса
41 H A D G E H O G s
 
26.02.13
09:21
И не слушай всякие мудроважные вещи про денормализацию и прочую херню.
Просто сделай и посмотри что будет.
Будет лажать производительность - перейди на другой вариант.
42 H A D G E H O G s
 
26.02.13
09:23
Ветке уже 2 часа.
За это время можно было сделать все и провести тестирование.
Раз 10.
43 Тролль главный
 
26.02.13
09:24
(37) ну и в чем расширяемость? думаешь, если ты тип расширить решишь, то достаточно только галочку нажать?
а логику менять?
44 mzelensky
 
26.02.13
09:25
(43) а тебе логику что так что так менять! Поэтому сразу нужно писать под "потенциальное" расширение и тогда, если таки понадобится, просто еще одно условие дописывается (на новый тип данных) и все.
45 kosts
 
26.02.13
09:27
(44) Всё одно, что так, что этак, всё равно потом переделывать запросы, в случае чего...
46 mzelensky
 
26.02.13
09:29
(45) да. Просто в одном случае система перестанет работать, а в другой работать будет, но с ограничениями (т.е. ток для тих типов, для которых прописана логика) - но это я чисто про вопрос расширяемости.

В любом случае запрос\логику прийдется корректировать
47 Phil_McLaren
 
26.02.13
09:34
(42) да я в принципе сложа руки не сижу. Сделал через составной тип, работаю себе дальше -)
Может еще переделаю, вас послушаю, нагрузочно потестирую, если придется

(45) только в случае с составным и выборкой через ВЫРАЗИТЬ результат все равно будет, даже если один из типов из состава ресурса убрать. Добавлять новый тип (теоретически) и того легче, запросы и запись в регистр вообще трогать не нужно будет. А если будет два ресурса, то геморроя хватит по каждому направлению
48 МихаилМ
 
26.02.13
09:37
если Вы проектируете прототип программы, а не рабочее решение
то составной тип, как идеологически близкое решение
+ быстрая разработка.

если рабочее решение - то выстройте ссылочную связ иерархии
таблиц.

нужно добиться строгой типизации.

любая неодносзначность типов - зло.
49 Тролль главный
 
26.02.13
09:40
(46) иногда лучше перестанет, чем будет, но окажется полная хрень
50 mzelensky
 
26.02.13
09:42
(48) Не совсем согласен. У меня РС есть где в измерении объект может быть ссылка на один из 100 справочников. Т.е. тип данных "Любой справочник ссылка".

Если идти по твоему решению, то получается ,что мне нужно 100 регистров сделать.
51 mzelensky
 
26.02.13
09:43
(49) ну решать то тебе. чего ты меня уговариваешь :)
52 kosts
 
26.02.13
09:43
(47) Пытаться предугадать будущие хотелки совершенно нет смысла. Жизнь она такая, постелишь соломки тут, а она сверху кирпич бросит =)
Я бы отталкивался от того однородная информация или разнородная (цена и тип цены считаю, например, разнородной).
53 Phil_McLaren
 
26.02.13
09:47
(48) хм, а ссылочная связь иерархии таблиц всегда означает отсутствие нестрогой типизации? Если тип поля как потенциального источника связи может не являться ссылочным, нужно устранять неопределенность даже ценой расширения таблицы?
54 МихаилМ
 
26.02.13
09:49
(50)
значит У Вас прототип программы.
подобная вольность  однозначо идентифицирует программу-прототип. разрабатываемую быстро и кое-как, по принципу мегагерцы все стерпят.

вобщем 1с -среда разработки прототипов.
55 МихаилМ
 
26.02.13
09:56
(53)

путем создания новой таблицы.
при проектировании  БД каждый чих - это прежде всего таблица. кондидат на новую сущность.

и только потом кондидат на расширение с-в существующей сущности - поля таблицы.

достаточно разрешить халявить и энтропия, как джин который вылетит и кувшина.
56 mzelensky
 
26.02.13
10:04
(54) расскажи это всем тем, кто работает с типовыми конфами 1С. Выходит, что абсолютно все уже десяток лет работают с прототипом...бедные, как мне их жалко...и ведь даже не подозревают, работают себе и все.
57 Phil_McLaren
 
26.02.13
10:05
(55) интересный Вы персонаж, уважаемый. Мысль строгая, речь сдержанно-образная, невнимательная грамматика и какая-то небрежная вальяжность. Нечастый Вы фрукт, посмею заметить -)
Люди интереснее 1с)
Мнение я понял, информацию принял.
58 МихаилМ
 
26.02.13
10:08
(57)
с граммотностью - беда.
59 GANR
 
26.02.13
10:12
2 регистра с одинаковым набором измерений и у каждого свой ресурс
60 Phil_McLaren
 
26.02.13
10:14
(59) и преимущества? Особенно по сравнению с двумя ресурсами
61 МихаилМ
 
26.02.13
10:17
(56)

все уже лет 20, начиная с 1с 2.0,

работают с прототипами. бедные.

и это было нормально, пока функционал типовых конфигураций не
усложнился.

не припомню чтобы я и Вы переходили на "ты"
62 Анцеранана
 
26.02.13
10:22
(0) Надо определять "по смыслу". Т.е. возможна ли ситуация (когда-нибцдь в будущем, даже если ее нет сейчас) , когда у объекта присутствуют обе характеристики одновременно -  и справочник и число...Если нет - то можно и составной тип выбрать. Если да - придется разделять сущности ибо ошибка.  Но по поводу (6) "легче программировать и  меньше места занимает" -  я бы сильно поспорил. Поэтому воздержусь.
63 GANR
 
26.02.13
10:48
(60) А вы прикиньте, что будет занимать меньше места на диске?
2 + 2 = 3.9999999999999999999999999999999...