|
Программное удаление документов |
☑ |
0
Штурман
12.05.16
✎
08:51
|
Как удалить программно помеченные на удаление объекты?
Если пользоваться кодом
Помеченные = НайтиПомеченныеНаУдаление();
Найденные = 0;
УдалитьОбъекты(Помеченные, Истина, Найденные);
Для каждого Ссылка из Найденные Цикл
СтрСообщения = "Объект не удален: " + СокрЛП(Ссылка[0]);
СтрСсылка = ", используется в " + СокрЛП(Ссылка[1]);
Сообщить (СтрСообщения + СтрСсылка);
КонецЦикла;
Выдает:
"Ошибка при вызове метода контекста (УдалитьОбъекты)
УдалитьОбъекты(Помеченные, Истина, Найденные);
по причине:
Должен быть установлен монопольный режим
"
Другой же код:
WshShell = Новый COMОбъект("WScript.Shell");
WshShell.AppActivate("1C: Предприятие");
WshShell.SendKeys("%");
WshShell.SendKeys("{ENTER}");
WshShell.SendKeys("{RIGHT}");
WshShell.SendKeys("{RIGHT}");
WshShell.SendKeys("{UP}");
WshShell.SendKeys("{UP}");
WshShell.SendKeys("{UP}");
WshShell.SendKeys("{UP}");
WshShell.SendKeys("{UP}");
WshShell.SendKeys("{ENTER}");
WshShell.SendKeys("{ENTER}");
WshShell.SendKeys("{TAB}");//Таб
WshShell.SendKeys("{TAB}");//Таб
WshShell.SendKeys("{RIGHT}"); //право
WshShell.SendKeys("{ENTER}");
WshShell.SendKeys("{ESC}");
На самой последний посыл кнопки отмены и других вообще не реагирует
|
|
1
ДенисЧ
12.05.16
✎
08:52
|
Дык... Выгони всех пользователей и останови все регламенты...
А потом уже удаляй
|
|
2
Штурман
12.05.16
✎
08:58
|
(1) В первом случае никого в базе вообще нет, только 1 админ, под которым собственно и выполняется задание, проверяю на файловой базе
Во втором случае непонятно, почему дальше кнопки в последнем диалоге, где нужно нажать всего лишь пару кнопок уже не посылаются нажатия клавиш
|
|
3
Guk
12.05.16
✎
09:01
|
(2) если программа говорит, что режим не монопольный, значит он не монопольный...
|
|
4
Jofa
12.05.16
✎
09:01
|
(2)Проверь не запущены регламентированные задания !
|
|
5
Штурман
12.05.16
✎
09:04
|
(4) нет, не запущены
(3) так если вручную мышкой Операции - Удаление... покликать, то все удаляется по этим же пользователем, а вот опработка лишь сообщение выдает, которое привел выше
|
|
6
Jofa
12.05.16
✎
09:05
|
А как ты это проверил?
|
|
7
Штурман
12.05.16
✎
09:07
|
(6) Через активных пользователей, фоновые задания обычно висят
|
|
8
Рэйв
12.05.16
✎
09:16
|
(0)
Выполни код УстановитьМонопольныйРежим(Истина)
оно напишет тебе какие компы и сеансы тебе мешают
|
|
9
Штурман
12.05.16
✎
09:25
|
(8) Странно, данный код ничего не выдал, но после него код из (1) заработал нормально и удалил помеченные объекты.
Осталось только со вторым кодом разобраться, почему программно клавиши не посылаются
|
|
10
Рэйв
12.05.16
✎
09:32
|
(9)Просто ты не устанавливал принудительно монопольный режим, а ему было надо и само оно не могло:-)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший