Имя: Пароль:
1C
 
Найти и удалить дубли версий объектов
0 Веселый Джузеппе
 
28.06.22
12:01
Доброго дня
Возникла проблема при обновлении КА 2.4.14 из-за дублей в регистре версий объектов
Причина понятна, точно знаю что дубль появился недавно, но вот как найти дубль и "почикать" его не могу понять, актуальной информации не смог найти.
Т.к. в регистре 2 измерения пытался следующим образом, но ничего не нашлось
ВЫБРАТЬ
    ВерсииОбъектов.Объект КАК Объект,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВерсииОбъектов.НомерВерсии) КАК НомерВерсии,
    КОЛИЧЕСТВО(ВерсииОбъектов.НомерВерсии) КАК НомерВерсии1
ИЗ
    РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
ГДЕ
    ВерсииОбъектов.ДатаВерсии >= &ДатаВерсии

СГРУППИРОВАТЬ ПО
    ВерсииОбъектов.Объект

ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВерсииОбъектов.НомерВерсии) <> КОЛИЧЕСТВО(ВерсииОбъектов.НомерВерсии)

Кто-то сталкивался? Как побороть?
1 Ryzeman
 
28.06.22
12:10
1) у тебя &ДатаВерсии не срезает нужный тебе результат? Ну мало ли..
2) ты уверен что у тебя дубли версий? Где ты их видишь? Может там связь с другой таблицей которая задвоилась...
2 Фрэнки
 
28.06.22
12:13
А зачем это "побороть" нужно? Цель в том, чтоб накатить обнову на 2.5 ?
3 Веселый Джузеппе
 
28.06.22
12:16
(1) не дает релиз накатить, ошибка по регистру, я же написал
(2) Верно
4 Веселый Джузеппе
 
28.06.22
12:18
хотя на тестовой базе 2 неделями ранее релиз встал, т.е. логически получается что было изменение данных регистра в эти 2 недели, которое сейчас не дает провести ту же операцию
накатываю не до 2.5 а до актуального 2.4
5 Ryzeman
 
28.06.22
12:23
ВЫБРАТЬ
    ВерсииОбъектов.Объект КАК Объект,
    ВерсииОбъектов.НомерВерсии КАК НомерВерсии
ИЗ
    РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
Сгруппировать ПО
    Объект, НомерВерсии
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(ВерсииОбъектов.Объект) > 1


а так что даст?
6 1Сергей
 
28.06.22
12:27
там всего 2 измерения, он не периодический независимый. Как там могут появиться дубли?
7 Веселый Джузеппе
 
28.06.22
12:27
(5) пусто
8 Веселый Джузеппе
 
28.06.22
12:28
(6) реструкторизацию на тесте разгоняю, хочу заскринить ошибку
9 1Сергей
 
28.06.22
12:28
(8) Тогда только ТИИ
10 Фрэнки
 
28.06.22
12:32
Не страдай. Очисти регистр да и все. Ну придется пользакам смириться, что при переходе с 2.4 на 2.5 версии пропали.

Там в механизме предусмотрено, что хранение данных о версиях объектов не происходит вечно - рано или поздно, но они удаляются.
11 Веселый Джузеппе
 
28.06.22
12:36
да и вообще вопрос такой, что надо бы написать регламент очистки одинаковых весрий
часто ситуация, что пользователь открывает док и "провести и закрыть" нажимает.
таким образом получается копия без изменений
база и так "пухлая" было бы прекрасно каждый день анализировать, находить "дубли" и нафиг чистить
12 DexterMorgan
 
28.06.22
12:40
(0) Храни версии объектов в отдельной базе, нафига они в рабочей
13 СвинТуз
 
28.06.22
13:06
Должен быть типовой механизм чистки версий.

Мы таблицу очистили в УТ.

25 000 000 + записей = утомляет ждать реструктуризацию.
+ написал обработку чистки. Нашел типовой механизм.
Вариантов море.
14 СвинТуз
 
28.06.22
13:06
Но учитывая объем таблицы обработка чистки запускается порциями.
Работает медленно.
Зачисти.
15 СвинТуз
 
28.06.22
13:08
Типовой механизм можно было при включении настроить.
Насколько долго хранить.

Но Боржом пить поздно.
16 Веселый Джузеппе
 
28.06.22
13:24
(13) про порционность тоже подумал, у меня всего 3кк записей
можно принципом очистки поделиться? анализ хранищи значений идет?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс