Имя: Пароль:
1C
1С v8
8.3. Создаю новый РС,в св-вах измерение - строка 10,допустимая длина переменная
,
0 aka AMIGO
 
23.03.17
13:43
В надежде, что длина допускается переменная, пытаюсь записать в регистр строку длиной 15.
Обрезается строка до 10.

Т.е. допускается длина только меньше-равно 10??

А если укажу "Допустимая длина - Фиксированная", то короткая строка справа будет заполняться пробелами?
А если "Переменная", то пробелов справа не будет?

ЗЫ. Руководство разработчика лежит на столе, статья про РС прочитана. Ответа нет.
1 Митяйский
 
23.03.17
13:44
А если укажу "Допустимая длина - Фиксированная", то короткая строка справа будет заполняться пробелами?
А если "Переменная", то пробелов справа не будет?

Ага
2 aka AMIGO
 
23.03.17
13:45
(1) Ясненько. Спасибо.
3 ДемонМаксвелла
 
23.03.17
14:16
(0) по умолчанию строка длиной 10. Можно увеличить.

Но вообще лучше справочник сделать.
4 aka AMIGO
 
23.03.17
14:38
(3) Поздно.. :)
5 vladko
 
23.03.17
15:06
использование в измерениях регистра строк - признак быдлокода.
6 DrShad
 
23.03.17
15:14
(5) +1
еще и неограниченной длины
7 butterbean
 
23.03.17
15:15
(5) число можно?
8 DrShad
 
23.03.17
15:19
(7) легко
9 youalex
 
23.03.17
15:48
(5) штрихкод, например.
10 dezss
 
23.03.17
16:36
(6) а че, можно поставить неограниченную?
вроде ж в измерениях нельзя...
один фиг 900 и точка)))
11 dezss
 
23.03.17
16:38
(0) а при чем тут рс, собсна?
Это такое описание типа. Это не только в РС, но и везде.
Вернее не только лишь везде, мало где. (с)
12 ДемонМаксвелла
 
23.03.17
16:42
(10) неограниченную нельзя. Но не 900 там, а поболе.
13 dezss
 
23.03.17
17:00
(12) максимальная длина ключа для всех измерений 900 байт, вроде.
Так что длина строки в 2 раза меньше и это если нет других измерений)
14 dezss
 
23.03.17
17:03
(12) чета по одной из первой ссыкок яндекса.

Не используйте в регистрах слишком много измерений, особенно, если среди них есть поля строковых типов. Для ориентировки можно считать, что поле типа число занимает 16 байт ключа индекса, строка - 3*n байт (где n - максимальная длина строки), дата - 8 байт, булево - 1 байт, ссылка на один объект - 16 байт, ссылка на несколько объектов - 20 байт.
15 dezss
 
23.03.17
17:16
(12) А вот про SQL

Составной ключ

До этого момента мы обсуждали индексы, созданные на базе одного поля таблицы. Но индекс может быть создан на основании нескольких полей. В этом случае существует только одно ограничение – длина ключа индекса не должна превышать 900 байтов. Если индекс построен по полям с фиксированным размером, сумма длин этих полей должна не превышать эти 900 байт, если индекс построен по полям с переменной длинной, сумма максимальных размеров полей может превышать 900 байт, но само значение сумм по каждой записи не может быть больше 900 байт. Например в таблице есть два поля переменной длины по 500 байт. SQL Server позволяет создать составной (композитный) ключ на базе этих двух полей, если нет записей, сумма длин по обеим полям превышает 900 байт.
16 Nuobu
 
23.03.17
17:20
(15) blob, text
17 Nuobu
 
23.03.17
17:23
(0) - ты указал максимальный размер строки.
"переменная" - значит, что если у тебя строка на шесть символов, то остальные четыре не заполнятся пробелам.
Про это почитай разницу между nchar, char, nvarchar, varchar.
18 dezss
 
23.03.17
17:23
(16) это ты к чему?
19 ДемонМаксвелла
 
23.03.17
17:33
(13) ты прав

саму строку в конфигураторе можно сделать длиной 1024

но в реальности не даст записать строку длиннее 450, будет ошибка СУБД изза длины индекса
20 ДемонМаксвелла
 
23.03.17
17:35
21 ДемонМаксвелла
 
23.03.17
17:39
(19) +это для базы на MS SQL Server
22 ДемонМаксвелла
 
23.03.17
17:41
вот кстати еще одна причина не использовать большие строки - можно словить ошибку СУБД при записи в регистр
23 Злопчинский
 
23.03.17
19:40
(5) ну вот есть измерение типа Справочник.Контрагенты
- там что содержитяс В ЭТОМ КОНКРЕТНОМ ПОЛЕ ЗАПИСИ. не строка?
24 youalex
 
23.03.17
22:45
(23) нет. binary(16)
25 dezss
 
24.03.17
08:18
(23) нет, там типа ссылка. И длина у нее 16 байт.
26 FIXXXL
 
24.03.17
09:05
строку использовать можно, но осторожно
а вот в составной тип примитивные не надо пихать

выкручивался пару раз так: составной тип - в ресурсы, в измерение число
число уникальное в пределах набора
но мне нужно было хранить а-ля строки документа с полем составного типа
как там у ТС - хз
27 FIXXXL
 
24.03.17
09:08
для справки ТСу: число (15.2) - 13знаков до точки и два после ;)
28 1dvd
 
24.03.17
09:12
(14) >> булево - 1 байт

Какое расточительство! целых 8 бит под однобитную сущность :)
29 dmpl
 
24.03.17
09:46
(5) Категоричные суждения - признак неопытности.
30 dezss
 
24.03.17
10:02
(28) сам в шоке, но делать нечего))))
31 dmpl
 
24.03.17
10:05
(28) Зато экономим на адресе внутри байта ;)
32 dezss
 
24.03.17
10:21
(31) э...а можно поподробней?
на каком адресе экономим?
33 dmpl
 
24.03.17
10:23
(32) Ну ты запихал в 1 байт 8 флагов. Как узнать какой где? А в индексах?
34 dezss
 
24.03.17
10:27
(33) Чета туплю...
Нифига не понял...
Ну запихал. И при чем тут индексы? %)
35 dmpl
 
24.03.17
11:14
(34) Тебя просят прочитать одно поле - а у тебя байт со значениями от 0 до 255. А то и не просто прочитать, а отобрать записи.