Имя: Пароль:
1C
1С v8
v8: Ошибка sdbl: выход за пределы размерности результата
0 lEvGl
 
гуру
19.07.11
10:41
Доброго всем здоровья
Вот появилась такая пакость, появилась, насколько смог уловить хронологию событий, сразу после конвертации под 8.2(хотя не факт, может через два три часа после, с подачи какого то оперед. действа пользовательского характера - обработок на изменение чего либо не запускал, административных действий тоже не было).
Началось с того что при попытке завести нового пользователя ИБ выскочила ошибка:

Попытка вставки неуникального значения в уникальный индекс:
Microsoft OLE DB Provider for SQL Server: Невозможно вставить повторяющуюся ключевую строку в объект "dbo.v8users" с уникальным индексом "ByName".
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1


После чего пошел в ТиИ, попробовал протестировать с исправлением - почти сразу вывалилось с ошибкой из заголовка темы, попробовал просто протестировать - дошел до журнала документов контрагентов и получил аварийное завершение приложения, повторное тестирование закончилось тем же. Подскажите люди добрыяяяяя, чего делать

платформа - 8.2.14.519
конф - УПП 1.2.24.1
sql - 2005 на win serv 2003 R2
1 GoldenDawn
 
19.07.11
10:44
(0)платформа?!
2 Mkonst
 
19.07.11
10:46
Проверь v8users на наличие пустых/битых ссылок..
3 rs_trade
 
19.07.11
10:53
(2) ты не определишь по содержимому таблицы что там битое, а что нет.

можно грохнуть индекс, сделать что надо, а потом посмотреть что за дубли там вставляются. только если индекс грохать, сначала надо подготовить скрипт для его обратного создания.
4 Mkonst
 
19.07.11
10:57
(3) как-то все сложно... для начала я бы запросом посмотрел/оценил что находится в таблице...
5 lEvGl
 
гуру
19.07.11
10:58
(1) 14.519 - баговая?
(2) странное дело.... выборка из скл показывает не все записи, в списке пользователей в конфигураторе их гораздо больше
6 lEvGl
 
гуру
19.07.11
10:58
(2)сопсно свиду битого ничего нет
7 rs_trade
 
19.07.11
11:00
вообще этот индекс ByName по одной колонке Name. Может из за пустых значений каких то?
8 lEvGl
 
гуру
19.07.11
11:02
(7) выбрать * из v8users(в sql) - все заполнено и нормально, настораживает что записей там маловато как то
9 Mkonst
 
19.07.11
11:03
(8) а консолью запросов из 1с ???
10 rs_trade
 
19.07.11
11:03
1. У таблицы лезешь в индексы.
2. На индексе ByName правой кнопкой Script Index Aa - DROP AND CREATE
3. Выделяешь и выполняешь только код удаления индекса.
4. Создаешь пользователя.
5. Смотришь дубли в таблице. Избавляешься от них.
6. Создаешь индекс назад.
11 lEvGl
 
гуру
19.07.11
11:10
(9) не пойму из какой таблицы выбрать?
12 Mkonst
 
19.07.11
11:15
(11) я предполагал что это "пользователи" но походу это ни то..
13 lEvGl
 
гуру
19.07.11
11:16
(12) это  справочник
14 Mkonst
 
19.07.11
11:22
что-то не могу найти таблицу v8users !?
15 rs_trade
 
19.07.11
11:36
какие нафиг справочники. таблица служебная, в базе. dbo.v8users. вы где ищете то, в метаданных что ли?
16 lEvGl
 
гуру
19.07.11
11:40
(15) да пнятно, что дбо, только от того не легче
17 rs_trade
 
19.07.11
11:43
(16) проблема развернуть таблицы базы, проскроллить вниз и увидеть таблицу?
18 Mkonst
 
19.07.11
11:47
(17) странно, но после скролинга

dbo.Config
dbo.ConfigSave
dbo.DBSchema
dbo.Files
dbo.Params
dbo.sql_to_1c
<---- Все
19 lEvGl
 
гуру
19.07.11
11:54
(17) какая проблема? если бы я ее не видел не чего не говорил бы, с чего ты взял что я ее найти не могу ?
20 lEvGl
 
гуру
19.07.11
11:55
в (13) объяснил, что пользователи - это справочник конфы. что не понятного то
21 lEvGl
 
гуру
19.07.11
12:08
в общем решил, rs_trade сказал все правильно, только делал я мышой - свойства индекса, уникальный галка - снял, создал(перезаписал существующего) в программе пользователя ИБ(после этого в выборке появились все записи), увидел задвоения, удалил их, поставил уникальность индекса на место, спасибо за помощь
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший