Как программно закрыть Документ, открытый у другово пользователя? #108815


#0 by Andrewww
Или записать в этот докуент определенный реквизит, без закрытия документа (по-моему так нельзя сделать)?
#1 by Sasha
Можно попробовать изголиться через обработкуОжидания в форме документа и константу...
#2 by Денис2
net send <ком юзера> Немедленно закрой документ, а то попадешь на бабки!
#3 by Sasha
Ну это полупрограммно, с использованием ручного привода :-)
#4 by Andrewww
Сообщения не помогаюта через обработкуОжидания не очень хочется - не правильно это как-то.
#5 by Sasha
А как хочется? :-), если сообщения не помогают, удаленное администрирование или отключение...:-). И почему через обработкуОжидания не правильно?
#6 by Andrewww
Констант придется много добавлять (точнее переменных в глобальном модуле, вероятно)
#7 by Макс 1С
а как ты это сделаешь через ОБработкуОжидания?...... пока объект заблокирован..... у тебя к нему доступа нет..... только после того как документ закроется........... а если документ не записан?...... ну и т.д.
#8 by Andrewww
Вопрос по другому (немного уже).Как закрыть программно докумен на моем компьютере (например из другово документа)
#9 by Макс 1С
если док открыт у другого пользователя, записать в него ты ничего не сможешь, либо :-)) и потом записывай, либо , но тогда придется ждать пока пользователь не закроет документ.... смысл всего этого теряется.... а если документ не записан на текущий момент, ты даже ссылку на него не сможешь передать в процедуру....
#10 by Sasha
Совет - переменные работать не будут, так как они определяются для каждого пользователя в отдельности, только константы....Можно сделать строковую константу, определится с ее форматом и ВСтрокуСРАзделителями и ИзСтрокиСРазделителями, т.е. теоретически строковая константа может в себе содержать до 999 символов, этого вполне хватает...Еще можно сделать доп. регистр и обрабочкой брать значения для константы из него...В общем, вариантов много, чтобы не делать кучу констант :-)
#11 by Andrewww
Спасибо всем. Буду думать
#12 by Sasha
Самое простое закрыть документ...В модуле формы документа:Форма.ОбработкаОжидания("ПроверкаЗакрытия",2);В принципе можно и обойтись одной константой как в
#13 by Sasha
я имел в виду недокументированную функцию Форма.ОбработкаОжидания в модуле формы документа....
#14 by Sasha
(+12) Форма.ОбработкаОжидания- пишется в теле модуля формы......
#15 by Макс 1С
- а поподробнее можно?
#16 by Sasha
Форма.ОбработкаОжидания("ИмяПроцедуры",ВремяВСекундах)Назначение:Используется ТОЛЬКО в форме! Обращение через ФОРМА.ОбработкаОжидания. Описание можно посмотреть на стандартную функцию ОбработкаОжидания в документации.Отличие вызова через ФОРМА - можно запустить дополнительную (вторую, третью и т.д.) обработку параллельно определенной в глобальном модуле. Т.е. такой запуск активизирует запуск по таймеру процедуры формы, а не процедуры в глобальном модуле. Имя указываемой в параметрах процедуры - имя процедуры этой же формы.Запуск всех процедур осуществляется от одного таймера.Останов - либо аналогично документированной ОбработкаОжидания, либо при закрытии формы - автоматически.Возврат:Возвращаемое значение - нет.Замечание:Если на форме есть реквизит с педалькой (например, поле с датой), то при нажатии на педальку и открытии формы выбора - событие не активизируется. Впрочем, процедура в глобальном модуле также останавливается.PS. Только что проверил - работает :-) ,вместо глВзятьКонтекст использовал ТекущийДокумент
#17 by doloto
чтобы закрыть уже открытый документ , достаточно егоже открыть в режиме просмотра и сразу закрыть
#18 by doloto
чтобы закрыть уже открытый документ , достаточно егоже открыть в режиме просмотра и сразу закрыть
#19 by Sasha
ИМХО не взлетит....
#20 by Sasha
(17,18) точно не взлетит :-), при открытии формы контекст распространяется только на текущего пользователя, у другого пользователя ничего не меняется......
#21 by aqua80
12. Одной константой никак не обойтись... Иначе будут закрываться все открытые документы документы.
#22 by Sasha
А вот и можно, см.10 - либо составная строковая константа, в которой при желании можно указать вообще кучу параметров, вплоть до пользователя, либо вообще можно указать только документ и все, а в процедуре проверять и если этот документ открыт, то закрывать :-)
#23 by doloto
(20,21,22) канешна от другого юзверя небудет работать.. выз тут про обработку ожидания говорили.. и в самой обработке ожидаения у конкретного , которого нужно закрыть, юзверя это запускать...
#24 by doloto
можно у всех юзверей это проделать - а закроется на самом деле токо у того у кого открыто
#25 by systemstopper
а для чего это нужно?
#26 by Sasha
(23,24) Я так понял, что это нужно для следующего....Сидишь, админишь, делать нечего, надо бы документ подправить, а он заблокирован каким-то злобным бухом, который наверняка его открыл, а сам пошел чайку покурить :-), так вот выставляем в константе заблокированный документ, а у кого он открыт тут же и закрывается, можно править что хочешь......:-)
#27 by Sasha
у конкретного юзверя ничего запускать не надо, на самом деле обработка в модуле формы запускается у всех без исключения с указанной периодичностью, а документ закрывается только тот, который выставлен в значении константы....
#28 by Andrewww
Примерно так и есть.На счет твоей обработки - похоже что работает:-)
#29 by Sasha
Представляю глаза буха, который допустим, набивает накладную на 500 позиций, а она у него молча закрывается.....:-).....быть беде, местный админ 1С точно по шее получит :-)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С