Имя: Пароль:
1C
1С v8
Ошибка использования операции 'ОБЪЕДИНИТЬ' ('UNION')!?
,
0 Mikhail Volkov
 
12.07.13
15:07
На очень удаленном филиале база на 8.1 сервер 2003х86. При попытке выгрузить в dt, пишет: "Ошибка использования операции 'ОБЪЕДИНИТЬ' ('UNION'). Допустимо объединение не более 256 результатов запроса".
Думал, что SQL-ошибка, с большим трудом забрал ее SQL-бекапом, развернул на другом сервере, тоже 2003х86. Ошибка та же!?
ТиИ затыкается на "Проверка ссылочной целостности информационной базы".
Есть шансы вылечить?
1 Mitriy
 
12.07.13
15:09
думаю, надо смотреть в сторону каких-нибудь реквизитов с типом все ссылки... или что-то вроде этого...
2 Ненавижу 1С
 
гуру
12.07.13
15:09
что за SQL Server такой?
3 Ненавижу 1С
 
гуру
12.07.13
15:10
вообще то это ошибка SQL сервера
4 Жан Пердежон
 
12.07.13
15:10
через точку обращаешься к реквизитам составного типа.(регистратор.дата и т.п.)
5 ДенисЧ
 
12.07.13
15:11
Или менять текст запроса. Или апгрейдить скуль до 2008
6 Mitriy
 
12.07.13
15:11
(5) в 2008-ом ограничение не 256 таблиц никуда не делось...
7 Ненавижу 1С
 
гуру
12.07.13
15:14
(6) а в 2012?
8 dk
 
12.07.13
15:17
(4) (5) "При попытке выгрузить в dt"
9 Mikhail Volkov
 
12.07.13
15:28
(2) SQL2005
(6) SQL2008 не поможет? А SQL2012?
10 Живой Ископаемый
 
12.07.13
15:29
2(6) делось, если и база 2008 скуля а не 2005
11 Mikhail Volkov
 
12.07.13
15:33
(5) Где в конфигураторе? Я бы все временно убрал, чтобы выгрузить... думаю, что такой запрос возникает при компиляции?
12 МихаилМ
 
12.07.13
15:41
(0)
что говорит технологический журнал
и ms sql profiler ?
13 Mikhail Volkov
 
12.07.13
15:43
Проверка логической целостности. РегистрНакопления... Неверные вспомогательные данные таблицы. Значение изменено.

Но все равно не помогло!?
14 Alexey_Morov
 
12.07.13
15:44
(12)

Странно, что в MS Profiler показывает всё правильно.
15 Alexey_Morov
 
12.07.13
15:45
(12)

Может в базе в каком-то поле оказалось некорректное значение? Сработал sql injection? Тогда результат выгрузки может быть некорректным.
16 Mikhail Volkov
 
12.07.13
15:46
(14) Не, это результат ТиИ уже здесь, а MS Profiler на удаленном сервере не смотрел, связь очень хреновая...
17 МихаилМ
 
12.07.13
15:48
(15)
в 99% случаев 1c оборачивает запросы.

но все равно только ТЖ и ms sql profiler
помогут локализовать проблему.
18 Mitriy
 
12.07.13
15:52
(5) и (10) да, в 2008 этого ограничения нет... извиняюсь...
19 Mikhail Volkov
 
12.07.13
15:54
Сейчас запустил ТиИ реструктуризацию таблиц, а то на удаленном сервере ТиИ совсем затыкается...
20 Mikhail Volkov
 
12.07.13
15:55
(18) Попробую на 2008
21 Alexey_Morov
 
12.07.13
16:41
(17)

Согласен. Но это немного ухудшает производительность. Плюс не используются новые фишки MS SQL 2008-2012 (common table expression и т.д.). Так? Сколько ни ловил профайлером запросы, ни одного с CTE не поймал.
22 МихаилМ
 
12.07.13
16:47
(21)
заведите отдельную ветку. Эта ветка про другое.
23 Alexey_Morov
 
12.07.13
16:49
(22)

Админы зверствуют и против того, чтобы я заводил ветку, посвящённую новым возможностям MS SQL 2008-2012 и использованию их в 1С.

Поэтому прошу Вас завести данную ветку.
24 Mikhail Volkov
 
16.07.13
12:26
Решил лечить базу посредством ВыгрузкаЗагрузкаДанныхXML, переносить только текущий год (за одним свертку сделать). Сохранил конфигурацию, загрузил в новую файловый вариант. И тут выдало:
В процессе обновления информационной базы произошла критическая ошибка.
по причине:
Ошибка СУБД:
Длина ключа индекса превышает максимально допустимую '_InfoRe6400_ByDims_SSSSSSRSRR (_Fld6401_TYPE, _Fld6401_S, _Fld6402_TYPE, _Fld6402_S, _Fld6403, _Fld6404, _Fld6405, _Fld6406, _Fld6407RRef, _Fld6408, _Fld6409RRef, _Fld6410RRef)'

Куда копать?
25 acsent
 
16.07.13
12:28
что за регистр?
26 Mikhail Volkov
 
16.07.13
12:29
(25) Не знаю, как определить?
27 Mikhail Volkov
 
17.07.13
09:25
(25) Зашел в таблицы SQL, там таких имен нет: _InfoRe6400..., есть _InfoReg...!? Загрузил эту же конфигурацию в SQL вариант - все нормально! Выгрузил эту пустую базу в dt, загружаю в файловый вариант, и та же хрень:
Ошибка СУБД:
Длина ключа индекса превышает максимально допустимую '_InfoRe6400_ByDims_SSSSSSRSRR (_Fld6401_TYPE, _Fld6401_S, _Fld6402_TYPE, _Fld6402_S, _Fld6403, _Fld6404, _Fld6405, _Fld6406, _Fld6407RRef, _Fld6408, _Fld6409RRef, _Fld6410RRef)'
Что не хватает для файлового варианта 8.1? Давно с ней не работал...
28 Живой Ископаемый
 
17.07.13
10:01
ну вот и после того как ты загрузил в СКЛ-вариант, что тебя остановило от того, чтобы смочь ответ на вопроса (25)?
29 Mikhail Volkov
 
17.07.13
10:28
(28) Если бы он был в СКЛ-варианте, я по содержимому может быть смог определить, что за регистр. Но его там нет!
А в файловом варианте как?
30 shuhard
 
17.07.13
10:35
(27) а при чем здесь 8.1, это какой то умник в Рг сведений забубенил в измерения строку 1024
31 Живой Ископаемый
 
17.07.13
10:36
2(29) а зачем ты ищешь индекс среди таблиц? ищи его среди индексов!
32 Mikhail Volkov
 
18.07.13
07:26
(31) Да, нашел его в таблице _InfoReg6400, но она пустая!? Как определить, что за регистр?
(30) Проверяю все РС, пока не нашел...
33 Живой Ископаемый
 
18.07.13
07:31
индексы проверяй, не таблицы!
34 Живой Ископаемый
 
18.07.13
07:31
заскриптуй его. и посмотри скрипт
35 shuhard
 
18.07.13
07:31
(33) в 1С есть отдельные от Рг сведений индексы - окуеть
36 Живой Ископаемый
 
18.07.13
08:03
2(35) окуел? и как тогда объяснишь что автор не может найти то что ищет?
37 1Сергей
 
18.07.13
08:05
Ищи обработку Просмотр метаданных, чтобы определить какая таблица к какому объекту относится
38 Живой Ископаемый
 
18.07.13
08:06
http://screencast.com/t/nFDtkTYo3tT3

2(37) у не не на ТАБЛИЦЕ валится!
39 Живой Ископаемый
 
18.07.13
08:07
а, вообще да, сорри, но зачем искать обработку, это ведь две строки кода.
40 Mikhail Volkov
 
18.07.13
08:11
(37) Где, на ИТС?
(38) Ну нашел индекс _InfoRe6400_ByDims_SSSSSSRSRR, а как определить, что за регистр в 1С?
(39) Можно в студию?
41 Живой Ископаемый
 
18.07.13
08:18
в студию вносят украденный СП, обошлись одной строкой:
http://screencast.com/t/rA9VjxznnCTF
42 Mikhail Volkov
 
18.07.13
08:57
(41) У меня в 8.1 какая-то допотопная консоль запросов :(
Может, поделишься? [email protected]
43 Живой Ископаемый
 
18.07.13
09:07
2(42) и вот если я поделюсь с тобой, то как же ты собираешься открыть в 8.1 обработку предназначенную для 8.2?

v8: Мобильные "Инструменты Разработчика"
44 Живой Ископаемый
 
18.07.13
09:08
не будь Рип-ван-винклем, переходи на 8.2 ну или уж дождись сентября и переходи на 8.3
45 Живой Ископаемый
 
18.07.13
09:09
и вообще, при чем тут консоль запросов? тебе нужна строчка кода которая написана. Сооруди обработку с формой и кнопкой, чтобы по кнопке выполнялась эта строка. чтож ты как маленький совсем, а?
46 Mikhail Volkov
 
18.07.13
10:12
(30) Действительно оказался РС ДополнительныеРеквизитыНоменклатуры, у которого 7 измерений Строка, Длинна 100, Допустимая длина Переменная, т.е. может быть 1024!?
Исправить на фиксированная?
47 Живой Ископаемый
 
18.07.13
10:22
нет, не может быть 1024. может быть от 0 до 100.
48 Mikhail Volkov
 
18.07.13
10:42
Тогда что с ним не так? Кроме 7 строковых измерений, еще 3 - справочники, ресурсов нет, 1 ревизит строка 150.
49 Живой Ископаемый
 
18.07.13
10:52
а совокупно больше 1024?
50 Mikhail Volkov
 
18.07.13
11:01
Строковых: 7*100+150, вроде нет. Еще 3 измерения - справочники, их как считать?
51 Живой Ископаемый
 
18.07.13
11:01
поэкспериментируй, поставь фиксированные, поставь не 100, а 70, и 150 уменьшь до 70...
52 Mikhail Volkov
 
19.07.13
08:26
(51) Как ни странно, но помогло!? Странно, потому что это РС поставщика Рарус УАТ, его никто не менял.
(44) В центральном офисе 2 года назад перешли на 8.2, и к этому РС притензий нет. А в этом удаленном филиале давно какие-то непонятки. Поэтому не смогли перейти на 8.2.
Теперь появилась возможность лечить базу выгрузкой-загрузкой. Всем большое спасибо