Имя: Пароль:
1C
1С v8
УТ11.0 не позволяет удалять документы программно
0 Единорог
 
04.09.15
11:46
УТ11.0 не позволяет удалять документы программно.

Если кто сталкивался с такой проблемой - отзовитесь.
Объектов помеченных на удаление очень много. База гигов 500 и похоже, никогда не чистилась.

Задача удалять помеченные на удаление документы за последний месяц фоновым заданием по ночам.

В отдельном общем модуле (режим привилегированный - включен)
С попыткой получения монопольного доступа (без монопольного доступа можно только без проверки ссылочной целостности удалять).

Добавил проверку методом НайтиПоСсылкам(...)
Вручную исключил из массива ссылки на которые найдены ссылки с последующим удалением без проверки.
Разные документы удаляются кроме одного вида документа.
Что не делаю ничего не помогает.
Причем, такая особенность: в отладчике смотрю массив ссылок после удаления = в массиве там где были ссылки указано "Объект не найден" и удаление проходит в попытке без ошибок!!!

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

Что я не пропустил? Подскажите плиз!!!
1 mikecool
 
04.09.15
11:49
незавершенная транзакция
2 Единорог
 
04.09.15
11:50
И ещё, я все это делаю на тестовой базе, там никого больше нет. Монопольный режим устанавливается. Но меня больше интересует метод Объект.Удалить() в цикле с предварительным исключением связанных ссылок из массива ссылок.
3 Единорог
 
04.09.15
11:52
(1) Но другие документы удаляются (приходная, расходная, ЗаказКлиента, ЗаказПоставщику...) а тот вид документа который мне нужно не удаляется.
4 mikecool
 
04.09.15
11:53
Отказ в призаписи или другом событии
вариантов навалом
5 Desna
 
04.09.15
11:53
запусти ее в толстом клиенте и удаляй что хочешь
6 Единорог
 
04.09.15
11:55
(5) Нужно чтобы по ночам сама запускалась - Как установить толстый клиент?
7 Единорог
 
04.09.15
11:57
(4) Прошел отладчиком - заходит в модуль документа - отказа нет. Ссылки в массиве показываю "Объект не найден..." иначе попытка в цикле методом Объект.Удалить() вызывала бы исключение.
8 rabbidX
 
04.09.15
12:02
(7) cron какой-нибудь попробуйте.
9 Desna
 
04.09.15
12:02
найди и уничтожь....
10 rs_trade
 
04.09.15
12:04
В УТ 11 рекомендовано удалять объекты с помощью обработки - УдалениеПомеченныхОбъектов. В Администрировании находится.
11 Единорог
 
04.09.15
12:05
В идеале было бы проверить методом НайтиПоСсылкам(...) и отобрать то что можно удалить методом Объект.Удалить()
(9) Куда уже круче метода Объект.Удалить()
?
12 Единорог
 
04.09.15
12:07
(10) А эту обработку как поставить на исполнение по ночам на автомате? Тем более, что она вылетает с ошибкой "Недостаточно памяти на сервере 1С" еще в самом начале запуска после дня раздумий...
13 rs_trade
 
04.09.15
12:08
(12) Утечки. Обновиться бы. Платформу или конфу.
14 Единорог
 
04.09.15
12:09
Нужно удалять документов 20-50 за день. Быстро и без тормозов. А это только если написать самому программно, а теперь вопрос КАК? Другие виды документов удаляет а один вид нет.
15 Славен
 
04.09.15
12:11
(12) допили обработку, впили период в ней.
16 Единорог
 
04.09.15
12:14
(15)  Эта обработка пошаговая - её допиливание может затянуть процесс получения удовольствия надолго. Тем более, что я пользую те же методы что и она, а значит, скорее всего она ничего не даст нового.
17 Единорог
 
04.09.15
12:16
Подозреваю что проблема кроется в ТЧ этого документа в котором записываются созданные им подчиненные документы.
В обработке я отлавливал этот тип документа предварительно и  очищал ТЧ от ссылок. Потом удалялись те документы, на которые эти ссылки были (они тоже были помечены на удаление автоматом самим основным документом), и только после этого я брался за этот матерински документ.
18 Единорог
 
04.09.15
12:17
Всю эту кухню с созданием из одного документа других документов делали до меня. Я знаю не по наслышке, что это зло. Но проверка в итоге показывает что на документ нет ссылок! А эти материнские документы все равно не удаляются(((
19 Единорог
 
04.09.15
12:21
Другими словами:
ЭТАПЫ:
1. Удаляем ссылки на подчиненные доки из ТЧ "СозданныеДокументы"
2. Удаляем сами созданные документы (они тоже помечаются на удаление кода помечаем на удаление материнский док)
3. Проверяем и удаляем материнский док.
/******************************************
но тут засада = ссылок на документ нет, удаление проходит без ошибок а при этом документы остаются нетронутыми в базе.
20 Единорог
 
04.09.15
12:25
Потомкам завещаю! Не делайте так как сделали умельцы до меня! Не создавайте из одного документа другой... ИБО... Окажетесь у того камня где я сейчас...
21 mikecool
 
04.09.15
12:27
(20) бгг. ничего не понятно, но ты имхо не далеко ушел от умельцев до тебя
22 Единорог
 
04.09.15
12:28
(21) Я и не претендую на славу победителя. Иначе не просил бы о помощи.
23 Единорог
 
04.09.15
12:31
(21) Начинаешь работать с базой, в которой полтора десяток фамилий разработчиков в комментах мелькают. Там понаписали столько, и такого... Что теперь сиди и разбирайся...
24 Единорог
 
04.09.15
12:41
(1) Для меня загадка то, что после цикла удаления с методом Объект.Удалить() в отладчике, в модуле массив ссылок показывает ссылки на существующие документы как "Объект не найден..."
КАК?
25 olegves
 
04.09.15
12:45
(0) ТИИ
26 Мутабор
 
04.09.15
12:45
тии
27 Единорог
 
04.09.15
14:09
Поставил ТТИ. Завтра посмотрим.
28 Единорог
 
11.09.15
16:56
Сделал ТИИ -  к сожалению ничего не изменилось.
29 Nuobu
 
11.09.15
16:57
(0) Может, когда удаляешь, то нумерация не может нормально проставиться.
Посмотри в документе ф-ю "ПередУдалением".
30 Единорог
 
11.09.15
17:00
(27) Там проходит все без отказа. Я прошел отладчиком по всем кругам процесса удаления. Все проверки проходит нормально, отказ = Ложь.
31 Nuobu
 
11.09.15
17:00
(30) В подписках?
32 Единорог
 
11.09.15
17:04
В подписках не встречается.
33 jsmith82
 
11.09.15
17:09
Вот это детектив!!!
34 Единорог
 
11.09.15
17:10
Задачу пришлось решать другим способом. Ссылки помеченных на удаление пришлось отлавливать перед созданием нового документа, очищать реквизиты и ТЧ и использовать старые объекты, на которых нигде нет ссылок вместо создания нового документа.
35 Единорог
 
11.09.15
17:11
Я знаю, что это неправославный подход к делу, но он работает.
36 mehfk
 
11.09.15
17:31
Не перевелись на Руси костылеклепатели, велосипедоизобретатели, да копрокодеры.
37 Единорог
 
11.09.15
17:35
(36) Есть где-то в конфе это магическое упоминание... Просмотрел весь список глобального поиска. Не нашел.
Что делать?
38 Единорог
 
11.09.15
17:37
Тот же код удаляет нормально другие документы. А этот должен иметь какие-то связи. Вопрос ГДЕ? Где искать?
39 yavasya
 
11.09.15
17:43
поиск ссылок на объект
40 Единорог
 
11.09.15
18:03
(39) В датах запрета изменения нашел я такую ссылку. Но документы актуального периода. И программно они записываются перезаполняются и перепроводятся свободно.
41 Единорог
 
11.09.15
18:15
(40) Прошел отладчиком по Процедуре проверок в датах запрета. Все оставили Отказ = Ложь. Не меняет это дела.
42 MaxS
 
11.09.15
18:30
Если конфигурация нетиповая, то везде при записи нужно проверить наличие:
Если ОбменДанными.Загрузка Тогда
    Возврат;
КонецЕсли;
В документах, в подписках на событие...
И если есть уверенность в своих действиях, удалять в режиме ОбменДанными.Загрузка = Истина.
43 Ненавижу 1С
 
гуру
11.09.15
18:33
Еще триггеры посмотрите в субд
44 Единорог
 
15.09.15
01:05
Посоветуйте плиз FAQ по триггерам, чтобы к 1С поближе были.
45 hhhh
 
15.09.15
05:57
(44) регистры сведений все проверьте, где этот документ в измерениях.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс