Имя: Пароль:
1C
 
нарушена целостность структуры конфигурации
, ,
0 cojko
 
15.08.17
15:16
Есть три файла:

5c116dcf-3bd7-469f-b536-6b62d797099d_dynupdate_af649185-8660-43f2-ab30-9c8af7936668    4017-07-25 02:55:33
5c116dcf-3bd7-469f-b536-6b62d797099d_dynupdate_af649185-8660-43f2-ab30-9c8af7936668.0    4017-07-25 02:55:33
e0666db2-45d6-49b4-a200-061c6ba7d569_dynupdate_af649185-8660-43f2-ab30-9c8af7936668    4017-07-25 02:57:10

Выполняю запрос:
BEGIN TRANSACTION WORK

delete from Config where FileName in (
select c.filename from Config as c
inner join (
select * from (
SELECT max( modified ) over (partition by substring(FileName,0,37)) as mdt
,SUM(1) over (partition by substring(FileName,0,37)) as sm, substring(FileName,0,37) fs
, substring(FileName,48,37) sc
, *
FROM Config
WHERE FileName Like '%_dynupdate_%')as a
where a.sm != 1 ) as b
on b.mdt != c.modified and b.FileName = c.FileName)

delete from Config where FileName in (
select filename from (
select MAX(Modified) over(partition by substring(a.filename, 0, 37) ) as mdt
, *
from Config as a
where LEN(a.FileName) = 36
or a.FileName like '%_dynupdate_%'
) as b
where b.mdt != b.Modified
)

update Config set filename = substring(filename, 0, 37)
where FileName like '%_dynupdate_%'

commit WORK

Выдает ошибку:
Violation of PRIMARY KEY constraint 'ByNameNo_Config'. Cannot insert duplicate key in object 'dbo.Config'. The duplicate key value is (5c116dcf-3bd7-469f-b536-6b62d797099d, 0).

Что нужно исправить?
1 Волшебник
 
модератор
15.08.17
15:18
— Доктор, когда я делают вот так, у меня вот тут болит.
— Не делайте вот так...
2 cojko
 
15.08.17
15:19
(1) Алгоритм должен удалить 2 файл. Два других переименовать.
3 drumandbass
 
15.08.17
15:21
надо было не чего не делать перезапустить и в монопыльном режиме зайти в 1с КОНФИГУРАТОР ))))
4 Волшебник
 
модератор
15.08.17
15:21
(2) Не лезьте в базу 1С прямыми запросами, тогда не будет таких проблем.
5 cojko
 
15.08.17
15:25
Проблема началась с вот этого:
нарушена целостность структуры конфигурации

1. Выгрузил в dt. В файловой версии. Конфигурация открывается нормально.
2. Выгрузил dt из файловой загрузил в серверную версию.
Конфигурация не открывается.

Вот я и лезу.
6 drumandbass
 
15.08.17
15:25
(0) Демоническое обновление?
7 cojko
 
15.08.17
15:25
(6) Похоже да.
8 drumandbass
 
15.08.17
15:27
(7) есть такие галки проверить конфигурацию в файловой верисии делал ? ошибки кажет ?
9 Волшебник
 
модератор
15.08.17
15:27
выполни эти запросы
TRUNCATE TABLE [db].[dbo].[_ConfigChngR]
TRUNCATE TABLE [db].[dbo].[_ConfigChngR_ExtProps]
10 cojko
 
15.08.17
15:34
(8) chkdb сказал ошибок нет. При тестировании исправлении были какие-то ошибки. Но после этого не заработало.

(9) Выполнил. Теперь в конфигураторе нет прав доступа. И вместо конфигурации в описании пусто.
11 cojko
 
15.08.17
15:46
(9) Не помогло.
12 Волшебник
 
модератор
15.08.17
15:52
(10) Что-то ты не то выполнил... У тебя база живёт своей жизнью. Проверь, ту ли базу запускаешь
13 cojko
 
15.08.17
16:03
(12) Первый раз не помогло. Но я запускал твои запросы после твоих.
Второй раз я восстановил базу. И сразу применил твои запросы.
Конфигурация не открылась. Но описании было написано какая она.
14 drumandbass
 
15.08.17
16:22
(10) да не chkdb а проверка конфигурации это разные весчи ... меню/конфигурация/проверка конфигурации
15 cojko
 
15.08.17
17:42
(14) Проверил конфигурацию были ошибки. Что еще посоветуете?
16 Волшебник
 
модератор
15.08.17
17:44
Восстановиться из бэкапа
17 Волшебник
 
модератор
15.08.17
17:44
Можно ещё вытянуть из хранилища последнюю конфигурацию, загрузить её в базу и провести реструктуризацию.
18 cojko
 
15.08.17
18:30
(17) Как загрузить конфигурацию в базу, если окно конфигурации не отрывается?
В принципе база работает, только конфигурация не открывается.
19 mistеr
 
15.08.17
19:14
(18) Еще так бывает, когда загружаешь dt на другой версии платформы. Не твой случай?
20 Волшебник
 
модератор
15.08.17
19:58
(18) меню Конфигурация / Загрузить конфигурацию тоже недоступно? Можно попробовать ещё ключами запуска 1cv8.exe
22 cojko
 
17.08.17
02:00
Мне помогло:
1. Очистить кэш.
2. Выгрузить базу в файловую
3. Обновить конфигурацию до следующего релиза.
4. Залить dt в серверную базу.