Имя: Пароль:
1C
 
Удаление помеченных объектов в Бухгалтерии
,
0 Soulseller76
 
29.06.21
14:27
Всем привет.
Есть 1С:Бухгалтерия и есть в ней 100500 (но это не точно, возможно больше) элементов, помеченных на удаление. Их надо удалить из базы НАСОВСЕМ.
Но как это сделать? Если я пытаюсь запустить обработку "Удаление объектов" через стандартные и выбираю там не все, а выборочно, но можно смело ждать пару дней. Потом база вывалиться в ошибку, что-то с переполнением индексов.
Если запустить фоновое задание на удаление помеченных объектов, то начиная с 4.06 оно работает, периодически вываливаясь в ошибку с тем же индексом, я снова его запускаю и так мы вроде как куда-то движемся, но похоже стоим на месте.

Итак, вопрос! Как мне удалить помеченные на удаление объекты, если стандартные функции не работают?!
1 ДенисЧ
 
29.06.21
14:29
Очевидно - если не работают стандартные, то нужно взять нестандартную...
2 Soulseller76
 
29.06.21
14:30
(1) Например?
3 Garykom
 
гуру
29.06.21
14:30
(0) Итак, вопрос! Как мне перевести 4 слона в запорожце, если машина то четырхместная?!
4 TormozIT
 
гуру
29.06.21
14:30
5 ДенисЧ
 
29.06.21
14:30
(2) Их много.
(3) Слонов 4? В машине 4 места? В чём проблема?
6 Garykom
 
гуру
29.06.21
14:31
(5) Так и у ТС проблема подобная
Его слабенькая машина просто не тянет 1С
7 Soulseller76
 
29.06.21
14:31
(4) спасибо!!!!!!!!
у меня есть данный функционал, но именно этой его частью я не пользовалась
8 Soulseller76
 
29.06.21
14:32
(6) Это сервер. И да, он слабый, но он не мой. Мне его для тестов дали )))))))))))))
9 Garykom
 
гуру
29.06.21
14:33
Не понимаю проблемы написать подобную обработку самому
Или просто взять получше комп и там даже стандартная вполне заработает
10 Garykom
 
гуру
29.06.21
14:33
(8) Ну так базу к себе на свой личный комп/сервер и вперед ))
11 acanta
 
29.06.21
14:34
Все сразу может быть дольше чем несколькими частями. Размер транзакции подбирать или наоборот, выгрузить непомеченные в пустую базу.
12 d_monah
 
29.06.21
15:06
(3) Открыть запорожец,загрузить слона
13 d_monah
 
29.06.21
15:07
(12) В цикле естественно
14 acanta
 
29.06.21
15:27
Да, спасибо. Вообще немного не понятно, как определить этот самый размер транзакции/пакета, когда его фиксируют или можно как то в отладчике посмотреть? Особенно в случае вложенных транзакций.
15 acanta
 
29.06.21
15:29
В субд это возможно (т.е. у транзакции есть какие то свойства, хотя бы для чтения или параметры регулируемые)?
16 ДенисЧ
 
29.06.21
15:30
(15) А зачем для этого субда, если это можно в 1с сделать?
17 acanta
 
29.06.21
15:32
В 1С? просветите пож-ста..
18 mistеr
 
29.06.21
15:45
(0) Главное никому не говорить, что именно за ошибка. Да и какая разница, ведь "эта ваша 1С не работает!!11", так?
19 ДенисЧ
 
29.06.21
15:49
(17) Выбрать помеченные на удаление
пока естьНеобработанные цикл
  взять очередные N
  проверить сслыки
  удалить
конецЦикла
20 Garykom
 
гуру
29.06.21
15:57
(19) А если ссылки циклические?
Два помеченных на удаление объекта друг на друга ссылаются?
21 acanta
 
29.06.21
15:57
(19) а типовая (или системная, уже простите, не помню) где-то позволяет выставить эту N поменьше или побольше?
22 Soulseller76
 
29.06.21
16:02
(18) Наша любимая 1С всегда неправильно работает ))))))))))))))
23 ДенисЧ
 
29.06.21
16:03
(20) Вторым проходом.
(21) В типовых можно явно указать, какие объекты пытаться удалять
24 acanta
 
29.06.21
18:31
Я уже плохо помню, но в 7ке на рекомендациях к 1с совместимо было написано что количество строк в одном документе не желательно больше 1000. Это при размерности номера в 4 знака, а если документ имеет движения то 500. В любой типовой это было в закрытии периода. При том, что в 8ке больше регистров и есть разные версии и разрядности, то удаление по 100 уже помеченных объектов (без движений, но с несколькими табличными частями) за проход вполне логично..
25 acanta
 
29.06.21
19:09
Еще была фраза что до какой то цифры увеличение количества объектов в транзакции увеличивает время фиксации линейно, а после - зависимость квадратичная (переходит в параболу). Логично, что длина номера строки подобрана так, чтобы время фиксации одного объекта не уходило далеко по своей параболе. А в остальном, транзакция используется как средство для отката всей базы в случае сбоя.
26 acanta
 
29.06.21
19:11
При удалении помеченных объектов состояние системы (грубо говоря баланс) не полетит.
27 acanta
 
29.06.21
20:44
Информация о графике количество объектов-время фиксации транзакции по 7ке была на ИТС. Если поделитесь аналогичной для 8ки будем очень признательны.