Имя: Пароль:
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ки будем очень признательны.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан