|
Длина индекса | ☑ | ||
---|---|---|---|---|
0
Симпатяга
08.02.16
✎
08:50
|
Добрый день!
Есть регистр "даты отгрузок". В нем есть измерения "Наименование заказчика". Длина 1000 символов. Не индексируется. Двигается заказом покупателя. При проведении заказа с длинным наимнованием заказчика выдает ошибку "Длина ключа индекса превышает максимально допустимую". Удаляю поле - все Ок. Добавляю - ошибка. Поле не участвует в индексе, но ругается на него. Сейчас запустил ТИИ - но по ощущениям не поможет. Что я упустил? |
|||
1
Симпатяга
08.02.16
✎
08:50
|
(0) + регистр накопления
|
|||
2
Провинциальный 1сник
08.02.16
✎
08:52
|
Основной вопрос - зачем?
|
|||
3
Симпатяга
08.02.16
✎
08:53
|
(2) вопрос был другой.
|
|||
4
Cyberhawk
08.02.16
✎
08:53
|
Ты забываешь про остальные индексы, куда твое поле входит...
|
|||
5
Провинциальный 1сник
08.02.16
✎
08:54
|
(3) В 1с не принято использовать измерения-строки, это дурной тон. Используй справочник "Заказчики" в качестве измерения.
PS Любое измерения в регистре индекируется, так устроены регистры. |
|||
6
Cyberhawk
08.02.16
✎
08:54
|
А если отвечать конкретно на вопрос, то упустил ты документацию
|
|||
7
los_hooliganos
08.02.16
✎
08:55
|
А зачем такое измерение???? Засунь его в реквизит
|
|||
8
Симпатяга
08.02.16
✎
08:55
|
(4) так если стоит "не индексировать"- поле входит в индексы? Причем есть еще один регистр, в нем точно такое же поле - но всё работает.
|
|||
9
los_hooliganos
08.02.16
✎
08:55
|
А если все таки нужны итоги по наименованию заказчика, сделай его справочником. И ставь ссылку на справочник в измерение
|
|||
10
Cyberhawk
08.02.16
✎
08:56
|
(8) 1С при создании регистра накопления по умолчанию создает индекс (один) из периода и всех измерений для итоговых таблиц этого регистра
|
|||
11
Симпатяга
08.02.16
✎
08:57
|
(9) не получится. наименования заказчика всегда уникальны. в каждом заказе.
Заказ нужно закрывать по наименованию заказчика |
|||
12
Симпатяга
08.02.16
✎
08:58
|
(10) Тогда почему все работает на ргистре накопления "ЗакзаыПокупателей" с точно таким же полем.
|
|||
13
фобка
08.02.16
✎
08:58
|
(11) 1 заказ = 1 наименование?
|
|||
14
Cyberhawk
08.02.16
✎
08:59
|
(12) Покажи на картинке структуру этого регистра в дереве метаданных и тип твоего строкового измерения
|
|||
15
anatoly
08.02.16
✎
09:01
|
база файловая?
я работал в одной дочке Уралмаша - тамошние суровые проги по 5 измерений "строка 200" создавали и не парились. не знали куда еще денег потратить... а вообще за измерение "строка 1000" надо убивать изощренным методом. и потом приводить в пример на вопрос про длину индекса. |
|||
16
Симпатяга
08.02.16
✎
09:02
|
(14) http://s017.radikal.ru/i416/1602/6a/e22dd281fc8b.jpg (15) База скульная
|
|||
17
Cyberhawk
08.02.16
✎
09:03
|
(16) Так у тебя длина переменная - повезло, не встретилось там в таблице остатков пока наименования, которое вкупе с остальными измерениями превысит длину 1024
|
|||
18
Симпатяга
08.02.16
✎
09:05
|
(17) встретилось. один и тот же заказ провожу. По этому регистру проводится, по другому нет. Причем в этом гораздо больше измерений. "Плохой регистр" не могу показать.идет ТИИ
|
|||
19
los_hooliganos
08.02.16
✎
09:06
|
ограничение на индекс для файловой базы 1920 байт.
|
|||
20
los_hooliganos
08.02.16
✎
09:06
|
Видимо сам скуль офигел от такого индекса :)))
|
|||
21
Симпатяга
08.02.16
✎
09:06
|
(19) Файловый вариант информационной базы
Единственным ограничением на использование индекса при использовании СУБД, встроенной в 1С:Предприятие, является максимально допустимая суммарная длина ключа в индексе, равная 1920 байт. При попытке создания индекса с длиной ключа, превышающей 1920 байт, будет выдано сообщение об ошибке. Клиент-серверный вариант информационной базы Клиент-серверный вариант информационной базы подразумевает использование Microsoft SQL Server в качестве СУБД. В Microsoft SQL Server определены следующие ограничения на использование индексов: максимальное количество полей, участвующих в индексе, равно 16. максимально допустимая суммарная длина ключа в индексе равна 900 байт. Важно иметь в виду, что в процессе определения объектов метаданных 1С:Предприятие при попытке создания индекса, включающего более 16 полей, в клиент-серверном варианте ИБ индекс усекается справа до 16. Это повышает надежность работы системы, но может привести к некоторому снижению производительности операций над соответствующими таблицами из-за ухудшения качества усеченных индексов. |
|||
22
los_hooliganos
08.02.16
✎
09:07
|
900/2 = 450 = 449
Сделай строку 449 или даже 400 |
|||
23
Симпатяга
08.02.16
✎
09:08
|
(22) не уместится(
|
|||
24
los_hooliganos
08.02.16
✎
09:09
|
(23) Тогда реализуй отдельным справочником и ссылку на него в измерение
|
|||
25
Провинциальный 1сник
08.02.16
✎
09:10
|
Учтите, что измерения в регистре всегда участвуют в составном индексе. То есть, если у вас несколько измерений - их длины надо складывать. Именно поэтому и не надо хранить там строки.
|
|||
26
Симпатяга
08.02.16
✎
09:11
|
(25) я всё понимаю. Почему в регистре, на которуй я давал картинку, все работает?
|
|||
27
Симпатяга
08.02.16
✎
09:14
|
http://s020.radikal.ru/i708/1602/f4/3a314f4d98a1.png
В левом не работает, в правом работает! |
|||
28
los_hooliganos
08.02.16
✎
09:16
|
(27) Блин что это за имя заказчика с длиной 1000 символов?? :))
|
|||
29
Симпатяга
08.02.16
✎
09:16
|
(28) 9086010 'Задвижка шиберная DN 700 РN 1,6 МПа. Перепад рабочего давления на затворе 1,6 МПа. Под сварное соединение с трубопроводом. Вид климатического исполнения У1. Герметичность затвора по классу "А" по ГОСТ Р 54808-2011. Под электропривод "ЭПЦМ-4000" Г.18. C заводским антикоррозионным покрытием, подземная часть по ОТТ-25.220.01-КТН-215-10. Надземная часть - по РД-23.040.01-КТН-149-10. Категория коррозионной активности атмосферы С3. В несейсмостойком исполнении С0. Присоединяемая труба 720х8 с классом прочности К56 первого уровня качества по ОТТ-23.040.00-КТН-051-11. Установка - надземно. Рабочая среда - нефть по ГОСТ Р 51858-2002. Тип присоединения к электроприводу "Г"
|
|||
30
los_hooliganos
08.02.16
✎
09:17
|
(29) Что мешает засунуть это в реквизит???
|
|||
31
Провинциальный 1сник
08.02.16
✎
09:17
|
(26) Вы работаете за пределами "зоны безопасной эксплуатации" системы. Чего же вы хотите? Вам ясно говорят - так делать не надо. Хотите хранить в регистрах полное досье заказчика - используйте реквизиты, а не измерения. Измерения для другого предназначены.
|
|||
32
Симпатяга
08.02.16
✎
09:19
|
(30) в одном и том же заказе куча строк с одинаковой номенклатурой, но разными наименованиями заказчика.
Нужно видеть, какие позиции грузятся, какие нет. |
|||
33
los_hooliganos
08.02.16
✎
09:21
|
(32) Я так понимаю это набор характеристик, вот ссылки на этот набор и нужно хранить как я понимаю.
|
|||
34
Cyberhawk
08.02.16
✎
09:23
|
(18) Ты на комбинацию измерений обращай внимание, а не на одно свое
|
|||
35
vde69
08.02.16
✎
09:24
|
(16) покажи того человека который делал такой регистр!!!! и какая это конфигурация (вижу поддержку, кубики)
нафига цену включили в измерение??? я понимаю, что это некая табличная часть документа, но логично было оставить ключь "номер строки" а все эту мутотень вынести в реквизиты и ресурсы а автору советую это поле вынести из регистра в реквизит заказа |
|||
36
rs_trade
08.02.16
✎
09:27
|
А почему нельзя измерение строку делать? Расскажите. Очень интересно.
|
|||
37
vde69
08.02.16
✎
09:28
|
(36) по тому, что места в индексе занимают больше чем ссылка
|
|||
38
Провинциальный 1сник
08.02.16
✎
09:29
|
(36) Потому что все измерения включаются в один индекс, а у СУБД есть ограничения на длину индекса. В случае ссылок это по 16 байт, в случае строк - по факту.
|
|||
39
rs_trade
08.02.16
✎
09:32
|
(37)(38) ну понятно что не надо строки 1000 в индексы фигачить. а по факту если сильно надо, то все можно. никто не умрет от индекса по строке 20.
|
|||
40
ЧеловекДуши
08.02.16
✎
09:32
|
(0) 1000 символов, вы загнули.
Ты бы хоть раз прошелся бы запросиком. И выяснил бы максимальную длину ;) |
|||
41
Бледно Золотистый
08.02.16
✎
09:32
|
(35) УППшное что-то. Там и цена в измерении этого регистра типовое.
|
|||
42
ЧеловекДуши
08.02.16
✎
09:33
|
+(0) ...Что я упустил?
ПятницО :) |
|||
43
Симпатяга
08.02.16
✎
09:34
|
(35) ахахахахах. с ценой - это в москву звони, в 1с.
|
|||
44
ЧеловекДуши
08.02.16
✎
09:34
|
(8) Да, поле входит в индекс :)
|
|||
45
ЧеловекДуши
08.02.16
✎
09:35
|
(35) Реально. Цена в Измерении? :)
...Все же Пятничная ветка :)... |
|||
46
Бледно Золотистый
08.02.16
✎
09:35
|
(43) Весельчак, колись кто додумался в измерение строку(1000) запихать? Сам?
|
|||
47
ЧеловекДуши
08.02.16
✎
09:35
|
(36) Если строка не превысит 36 символов, то почему бы и нет ;)
|
|||
48
Lama12
08.02.16
✎
09:35
|
(0) Измерение - значит индексируется. Галка индексировать - это другие индексы.
Сделай справочник в него пиши строки хоть по 5000 символов. Этот справочник используй для измерения. |
|||
49
George Wheels
08.02.16
✎
09:36
|
(29) Так в измерениях же есть и Договор и Номенклатура и Характеристика и Заказ. Этого недостаточно?
|
|||
50
Симпатяга
08.02.16
✎
09:38
|
(49) учет по характеристикам не ведется. наследие 5 летней давности осталось. оттуда же и строка(1000)
|
|||
51
Симпатяга
08.02.16
✎
09:38
|
(45) а насчет цены - типовое измерение УПП. наплевался уже с ним.
|
|||
52
George Wheels
08.02.16
✎
09:41
|
(50) Ну тогда сделать справочник НаименованияЗаказчиков и использовать его в измерении.
|
|||
53
itlikbez
08.02.16
✎
09:46
|
(29) 682 символа.
|
|||
54
Симпатяга
08.02.16
✎
09:48
|
(53) +100500 Первое попавшееся взял
|
|||
55
itlikbez
08.02.16
✎
10:01
|
(54) В одном регистре больше измерений в другом меньше. В этом ответ на твой вопрос почему в другом регистре проблем пока еще нет.
|
|||
56
Симпатяга
08.02.16
✎
10:02
|
(55) так все наоборот получается. В том,где больше измерений - все работает.
|
|||
57
Симпатяга
08.02.16
✎
10:31
|
по первому регистру работает все потому, что в индексе он занимает место ниже 16-го. не используется для индекса.
всем спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |