|
УТ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) регистры сведений все проверьте, где этот документ в измерениях.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |