Имя: Пароль:
1C
1C 7.7
v7: Проблема с SQL базой
0 mishaPH
 
27.02.12
16:01
Столкнулся с проблемкой.
База 7.7. на скуле 2005.
База рабочая, но при попытке обновления таких как добавление общего реквизита валится с ошибкой

http://fotki.yandex.ru/users/mishaph/view/475458?page=0

Такое уже было когда-то. помогло загрузить выгрузить в дбф. но вот снова.

Как полечить и с чего начать. Ругается как я понял на табличку подчиненных доков. проблема с дублями индексов
1 andrewks
 
27.02.12
16:03
как сдруживал? патчил?
2 ДенисЧ
 
27.02.12
16:03
Лечить просто
drop table _1scrdoc и потом пересчёт служебных данных
3 mishaPH
 
27.02.12
16:03
(1) да было еще до меня. патчили помоему длл. стандартно
4 mishaPH
 
27.02.12
16:04
(2) удалял уже. в ней нет ничего страшного, она восстанавливается. но опять возникает зараза.
5 andrewks
 
27.02.12
16:06
я думаю, не будет лишним заюзать http://infostart.ru/public/82018/

возможно, что ряд глюков уйдёт сам собой
6 mishaPH
 
27.02.12
16:10
(5) мерси. гляну. но это по сути нипричем.
7 andrewks
 
27.02.12
16:11
(6) как знать, как знать...
8 mishaPH
 
27.02.12
16:12
(7) не думаю. тут еще 5 баз так или иначе крутятся проблем нет.
9 mishaPH
 
27.02.12
16:12
а тут. база к тому-же в УРБД видимо какой-то глюк на переф прошел и что-то не уникальное для всех свалилось в цб.

и вот при смене мд при пересчете перекрестных ссылок валится
10 mishaPH
 
27.02.12
16:13
точнее после пересчета ссылок при создании индексов таблички ссылки документов валит
11 Злой Бобр
 
28.02.12
00:08
(0) Сначала в базе порядок наведите, а потом уже меняйте структуру. Дубли ИД у вас, помоему ж понятно скуль вам написал. )))
12 Cthulhu
 
28.02.12
00:17
(9): ах, урбд.
тогда хуже. у тебя ИД документа задвоился. найти в дх+дт, убить и пересоздать.
13 mishaPH
 
28.02.12
06:08
(11) спасибо кэп. Итак понятно что дубли.
(12) найти бы его еще
14 Mikeware
 
28.02.12
08:00
(13) какие проблемы в поиске?
15 mishaPH
 
28.02.12
08:03
(14) когда были дубли при переходе дбф на скл и ругалось конкретно на ИД дока или справочника тут просто- лез в табличку, смотрел что за док и смотрел в базе какой из них надо прибить. тут ссылки и составной ключ. Но в принципе все те-же ссылки на доки. счас попробую по ИД дока в ключе поискать дубли.
16 ЧеловекДуши
 
28.02.12
08:03
Чет было это уже... Народ так и любит грабли, то вынь 7 поставит и хвастается о работе тормознутой БД, то сервер 2008 воткнет и ноет о крахе сортировки :)

+ ТиИ еще не предлагали?
Так же на всякой случай запусти переиндексацию и проверку самого скуля :)
17 mishaPH
 
28.02.12
08:05
(16) 2005 скуль тут нипричем. ТИИ для скл баз и для ошибок подобных - это как мертвому припарка. ТИИ не исправлет ИД доков одинаковые
18 Mikeware
 
28.02.12
08:06
(15) прямо в мессаге две ссылки - 1TQKMC1 и полная на парентвал - которая оканчивается на 7. И это по графе отбора с идом 744
Более чем достаточно...
19 Mikeware
 
28.02.12
08:07
(16) ТиИ вообще для микробазенок...
20 mishaPH
 
28.02.12
08:08
1TQKMC1 я правильно понял. что это ИД дока? и теоретически стоит сначала поискать в табличке доков?
21 Mikeware
 
28.02.12
08:17
(20)это -док, из которого идет ссылка на справочник по графе
22 Mikeware
 
28.02.12
08:18
загляни ты в ДДС, "там все написано"©
23 toypaul
 
гуру
28.02.12
08:19
(20) структуру в dds смотри. чего как в первый раз замужем
24 mishaPH
 
28.02.12
08:19
старею. давно с подобной фигней не общался.
25 Mikeware
 
28.02.12
08:34
У меня смешнее - пришлось в базу добавлять 4 вида документа.  Нахрена пи этом 1с шерстит весь журнал - непонятно. мало того, что занимает эта фигня поти час так еще и дважды падала по невыясненым причинам. После обновления - добавленные документы опять нерабботоспособны (падает по ошибке памяти при входе в док)...
пришлось перематериться, сгенерировать структуру таблиц, добавить их прямо во время работы, и заменить мд. взлетело.
возгордился, почувствовал себя умнее 1сников 10летней давности :-)))
26 zak555
 
28.02.12
08:36
(25) объём БД какой ?
27 Mikeware
 
28.02.12
08:40
(26) чуть менее 60
28 mishaPH
 
28.02.12
13:41
проверил джорнал на ид дока 1TQKMC1 док с таким ИД один

в табличке 1SCRDOC также для дока 1TQKMC1  и парентвал B1  DK     7 тоже 1 запись.

правда смотрел на дбф выгрузив туда для удобства
29 mishaPH
 
28.02.12
13:42
744 не понял что такое
30 Mikeware
 
28.02.12
13:43
(229) ид графы отбора
31 Mikeware
 
28.02.12
13:43
(28) "мэне яша напэл"
32 Mikeware
 
28.02.12
13:45
Иши в этом документе две ссылки на справочник вида 488 с идом "     7  "
33 mishaPH
 
28.02.12
14:01
(32) в данном доке несколько строк в табличной части со справочником контрагенты с ИД 7
34 mishaPH
 
28.02.12
14:08
+ 33 данному контрагенту только 1 запись в табличке контрагентов.
35 Mikeware
 
29.02.12
09:59
(33) и все они - по одной графе отбора?
36 mishaPH
 
29.02.12
13:08
В общем нашел я тип дока на который ругается.
Это док в табличной части которой перечислены доки разные, по ним делается проводки по книге покупок. в табличной части доки закрывающие + суммы по ним.

нашел док первый на который ругается.
удалил все строки кроме 2х записей по одному контрагенту.

при пересчете служебных данных выдает ошибки о дублировании индекса.

далее по табличке смотрю запросом по ид дока и парентвалу по которым дает дубль.

SELECT     ROW_ID, MDID, PARENTVAL, CHILD_DATE_TIME_IDDOC, CHILDID, FLAGS
FROM         _1SCRDOC
WHERE     (CHILDID = '  2cnkmc1') AND (PARENTVAL = 'B1  DK    8S           ')

выдает действительно 2 записи
       MDID    PARENTVAL                                         CHILDID  
10222    744    B1  DK    8S              20111031EAEAY8  2CNKMC1      2CNKMC1    2
16611    744    B1  DK    8S              20111031EAGG40  2CNKMC1      2CNKMC1    8


в ддс файле к табличке
I=CHILD                          |Child Referenc|1     |CHILDID,MDID,PARENTVAL  

т.е. действительно индекс будет дубль. как оно это делает я даже не знаю. видимо что-то в доках которые в табличке перечислены х.з. что там. раз оно дает одинаковый PARENTVAL одинаковый
37 mishaPH
 
29.02.12
13:21
и еще не пойму одной фишки. 8S это ИД контрагента из дока который в табличной части того на который ругается. зачем это в табличке ссылок доков не пойму.
38 mishaPH
 
29.02.12
13:22
кроме того. до этого "битого" дока существует еще 10к однотипных. но ругается только на этот, причем его пересоздание не помогает. т.е. создаю такой-же с таким-же наполнением - ругается.
39 mishaPH
 
01.03.12
09:13
гм. новые подробности.

грохаю табличку 1SCRDOC.
перезаписываю этот док. в табличке появляется запись о ссылке этого док ана другой как и полагается 1 запись.
Делаю пересчет служебных данных. и система делает уже 2 записи, соответственно после попытки индексации таблички наступает аллес.
40 Mikeware
 
01.03.12
09:17
(39) Интересно...
правда, нафига пересчет служебных данных нужен?
зы. что за графа отбора с номером 744?
сколько объектов впихиваются по этой графе из дока?
что говорит товарищ профайлер при "пересчете"?
41 mishaPH
 
01.03.12
09:25
(40)
1. пересчет делается автоматом например при добавлении в графы отбора документов или при добавлении в план счетов нового субконто. я просто инициирую этот пересчет чтобы выявить эту ошибку
2. 744 это по видимому ИД дока в метаданных типа вид дока на который ссылается записываемый 2CNKMC1
вообще при записи дока в ссылки идут запись по каждой строке т.к. 1 строка дока это ссылка на какой-то док.

профайлером пока не смотрел.
42 Mikeware
 
01.03.12
11:09
(41) 744 - это идентификатор графы отбора.
сделай в 1сква что-нибудь типа select $ГрафаОтбора.Контрагент - и увидишь...
или разбери гкомпом.
43 mishaPH
 
01.03.12
11:12
(42) гм. я так и подумал что это что-то связано с графами отбора не даром в этом индексе код контрагента. А что я там увижу? вопрос то в том, почему на скл базе он скатина по данному доку делает 2 записи а в дбф 1
44 Mikeware
 
01.03.12
11:14
(43) я щазз уже материться начну...
45 mishaPH
 
01.03.12
11:18
спокойствие. я до таких тонкостей еще не опускался. У меня тут возникло сомнение. данная запись появляет при проведении дока т.е. это ссылка на запись регистра получается а не дока. есть графа отбора контрагенты и там как раз регистр этого дока.
46 mishaPH
 
01.03.12
11:24
+ 45 док делает 2 проводки по каждой строке + и -
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс