Имя: Пароль:
1C
1C 7.7
v7: Легла база
0 Patrio_
O_Muerte
 
02.02.13
20:41
Выручайте други.
База 1с77 на SQL 2008 R2 при добавлении графы отбора в журналах база упала и не встает. Даже в конфигуратор не пускает.
Ранее я уже пытался выяснить что это за проблема, оказалось что малину портит графа отбора "Контрагент", которая присутствует полях неопределенного типа.

---------------------------
Конфигуратор
---------------------------
SQL State: 23000
Native: 1505
Message: [Microsoft][ODBC SQL Server Driver][SQL Server]Выполнение инструкции CREATE UNIQUE INDEX прервано, поскольку обнаружен повторяющийся ключ для объекта с именем "dbo._1SCRDOC" и индекса с именем "CHILD". Повторяющееся значение ключа: ( 2J1AQЦ , 1019, B1 1A 8TK ).

SQL State: 01000
Native: 3621
Message: [Microsoft][ODBC SQL Server Driver][SQL Server]Выполнение данной инструкции было прервано.

---------------------------
ОК
---------------------------

Вот текст ошибки.
Вот таким запросом я выбирал записи на которые эта скотина ругается.
select *
from (
select *, count(*)over(partition by PARENTVAL, MDID, CHILDid) cou
FROM [base26].[dbo].[_1SCRDOC])t
where cou>1

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

НомСтр MDID ParentVal Дата время ChildID Flags

2006405    1019    B1 1A 2XL 20120711EAEAY8 2GFB3Ц 2GFB3Ц 1    
2006310    1019    B1 1A 2XL 20120711EAGG40 2GFB3Ц 2GFB3Ц 8    
2040205    1019    B1 1A 2XL 20120710EAGG40 2GFC0Ц 2GFC0Ц 8    
1987356    1019    B1 1A 2XL 20120710EAEAY8 2GFC0Ц 2GFC0Ц 1    
2019997    1019    B1 1A 2XL 20120727 0 2H2BAЦ 2H2BAЦ 8    
2008355    1019    B1 1A 2XL 201207276PKMPC 2H2BAЦ 2H2BAЦ 1    
2042206    1019    B1 1A 3JN 20120705EAEAY8 2G7TZЦ 2G7TZЦ 1    
2044248    1019    B1 1A 3JN 20120705EAGG40 2G7TZЦ 2G7TZЦ 8    
2032170    1019    B1 1A 5QT 20120705EAEAY8 2G7UKЦ 2G7UKЦ 3    
2004848    1019    B1 1A 5QT 20120705EAGG40 2G7UKЦ 2G7UKЦ 8    
2047160    1019    B1 1A 6FF 201207266CZQOW 2H0WKЦ 2H0WKЦ 1    
2028141    1019    B1 1A 6FF 20120726 0 2H0WKЦ 2H0WKЦ 8    
2169983    1019    B1 1A 8TK 20120914 0 2J1AQЦ 2J1AQЦ 8    
2172344    1019    B1 1A 8TK 201209146F96SG 2J1AQЦ 2J1AQЦ 1    
2019445    1019    B1 1A 9MV 20120705EAGG40 2G7TZЦ 2G7TZЦ 8    
2019359    1019    B1 1A 9MV 20120705EAEAY8 2G7TZЦ 2G7TZЦ 1    
2024828    1019    B1 1A AMRЦ 20120711EAGG40 2GFB3Ц 2GFB3Ц 8    
2004018    1019    B1 1A AMRЦ 20120711EAEAY8 2GFB3Ц 2GFB3Ц 1    
1991339    1019    B1 1A AMRЦ 20120710EAEAY8 2GFBBЦ 2GFBBЦ 1    
2018190    1019    B1 1A AMRЦ 20120710EAGG40 2GFBBЦ 2GFBBЦ 8    
1983539    1019    B1 1A AMRЦ 20120725 0 2GYU3Ц 2GYU3Ц 8    
2036866    1019    B1 1A AMRЦ 20120725682HIO 2GYU3Ц 2GYU3Ц 1    
2043732    1019    B1 1A AO4Ц 20120726 0 2H0WKЦ 2H0WKЦ 8    
2003385    1019    B1 1A AO4Ц 201207266CZQOW 2H0WKЦ 2H0WKЦ 1    
2129961    1019    B1 1A ASKЦ 201209146F96SG 2J1AQЦ 2J1AQЦ 1    
2150997    1019    B1 1A ASKЦ 20120914 0 2J1AQЦ 2J1AQЦ 8

Пардон, таблица немного нечитабельная.

Вычитал что можно просто поудалять из журнала документы родители, но э то как то не сильно кошерно. Хотя можно сначала поудалять, запустить базу (чтоб все пересчеты закончились и уже потом заново записать туда все документы).
1 Patrio_
O_Muerte
 
02.02.13
20:42
UPDATE _1sentry SET DATE_TIME_DOCID=_1sjourn.DATE_TIME_idDOC
FROM _1sentry (nolock), _1sjourn (nolock)
WHERE _1sentry.DOCID=_1sjourn.idDOC AND
     _1sentry.DATE_TIME_DOCID<>_1sjourn.DATE_TIME_idDOC

Эту штуку запускал, не помогло.
2 Patrio_
O_Muerte
 
02.02.13
20:45
Пришел к выводу что документы, на которые ругается 1с -это "Выписки", я именно там нашел реквизит неопределенного типа, в которых указан контрагент.
3 ЧеловекДуши
 
02.02.13
20:48
Судя по трабле... (0) Ты хоть Бекапы сделал? :)
4 ЧеловекДуши
 
02.02.13
20:50
"добавлении графы отбора в журналах база упала"

Что за графа? По какому реквизиту это делал?
Что за тип реквизита?
5 ДенисЧ
 
02.02.13
20:57
очисти 1SCRDOC и запусти конфигуратор. Что скажет?
6 Patrio_
O_Muerte
 
02.02.13
20:58
Про бекапы не напоминайте :)
Есть бекап с четверга на пятницу, а вот с пятницы на субботу нет).
7 Patrio_
O_Muerte
 
02.02.13
20:58
Добавил графу отбора "Агент" тип "Справочник".
8 Patrio_
O_Muerte
 
02.02.13
20:59
Реквизит из шапки двух документов "Счет" и "Расходная накладная".
9 Patrio_
O_Muerte
 
02.02.13
20:59
(5)Сейчас проверю
10 Patrio_
O_Muerte
 
02.02.13
21:02
Нашел решение, мол сначала отключить уникальность по этим трем полям в ддс-ке, запустить, прогнать все процедуры предусмотренные, сделать бекап :) и уже потом удалить задвоенности и включить уникальность.
11 vde69
 
02.02.13
21:02
все на копии!!!

мд копируешь в новое место, делаешь ФАЙЛОВУЮ пустую базу, удаляешь в конфигураторе колонку отбора, сохраняешь

далее в основной базе удаляешь dds и копируешь подправленый мд, в скуле даже дропать ничего не обязательно....
12 Patrio_
O_Muerte
 
02.02.13
21:03
(11)Так точно
13 Patrio_
O_Muerte
 
02.02.13
21:23
(5)После очистки таблицы подчиненных доков база загрузилась (произведя пересчет ссылок естесственно).
Но я правда до этого к этой базе выполнил этот запрос:
//
//UPDATE _1sentry SET DATE_TIME_DOCID=_1sjourn.DATE_TIME_idDOC
//FROM _1sentry (nolock), _1sjourn (nolock)
//WHERE _1sentry.DOCID=_1sjourn.idDOC AND
//      _1sentry.DATE_TIME_DOCID<>_1sjourn.DATE_TIME_idDOC
//
Сейчас буду эксперементировать дальше.
14 Patrio_
O_Muerte
 
02.02.13
21:26
А в прошлый раз очистка этой таблицы мне не помогла, пришлось откатываться из бекапа.
15 Надсмотрщик
 
02.02.13
21:35
(14) Не пора ли клюшки поучить?
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой