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

1. PeRom 51 28.03.08 14:57 Сейчас в теме
Есть такая задачка: по одному событию отправляются сообщения нескольким пользователям и открываются периодически, напоминая о ДЕЛЕ(определённое событие). ДЕЛО может сделать любой из тех, кому пришли сообщения. После того, как ДЕЛО сделано, все сообщения закрываются и больше не появляются.
Реализовано с помощью документа, но как закрыть все документы из-под одного пользователя???
Может кто подскажет что-нить?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. CheBurator 2696 29.03.08 01:17 Сейчас в теме
кругом одни ...
могут ли авторы изъяснятся кратко и ясно?
> закрыть все документы из-под одного пользователя???
варианты:
- иеются в виду документы открытые в сеансе текущего пользователя и эти документы должны быть закрыты в этом же сеансе?
- имеются в виду открытые документы в сеансах других пользователей и их надо закрыть из постороннего сеанса?
..
рекомендуется посмотреть здесь http://www.rikcenter.ru/downloads.php, пункт 11
3. O-Planet 6439 31.03.08 23:24 Сейчас в теме
Изначально неверная стратегия оповещения. Я бы колдовал в обработке ожидания и использовал внешние файлы. Началось ДЕЛО - появился файл. Как только ДЕЛО сделано - генерирую ГДЕ-ТО команду, которая говорит, что пора сматываться. Команда - это тоже, по сути, внешний файл. Все в моей программе просто бы ожидало появление таких вот командных файлов и реагировало бы на них адекватно.

Если кажется сложным, то еще вариант - сносить систему, чтобы документы у пользователей гарантированно закрылись :)
4. CheBurator 2696 31.03.08 23:45 Сейчас в теме
> генерирую ГДЕ-ТО команду, которая говорит, что пора сматываться.
ха! пишешь одно, а делаешь другое!
ОбработкаОжидания - нафига мне что-то регулярно проверять? мне хочется от этого "что-то " получить сигнал, тем более если это "что-то" нерегулярное...
5. support 4451 01.04.08 10:00 Сейчас в теме
можно проверять проведение документа из модуля формы с помощью форма.обработкаожидания только запрос должен быть через Если текущийдокумент().проведен()=1 Тогда
форма.закрыть()
6. O-Planet 6439 01.04.08 16:01 Сейчас в теме
Че, вообще, опрос чего-то в цикле - это вполне стандартный прием. В микропроцессорной технике - вообще чуть ли не единственный способ управления процессами.
7. vasilykushnir 63 01.04.08 16:13 Сейчас в теме
А вы мне лучше скажите есть ли на примете обработка, которая "расскажет", кто открыл в данный момент конкретный док (естественно в режиме редактирования).
8. Shaman100M 1151 01.04.08 18:49 Сейчас в теме
можно пропарсить журнал регистрации
9. vasilykushnir 63 02.04.08 08:48 Сейчас в теме
850 мег как-то в напряг парсить, да и не очень красивое решение - хотелось бы нечто поэллегантнее...
10. Shaman100M 1151 02.04.08 09:39 Сейчас в теме
зачем 850, можно меньше.
http://infostart.ru/profile/8196/blogs/261/

Ну, или http://www.forum.mista.ru/topic.php?id=299198&format=pda&forum=1c (выдержки) :

1. Поэлегантнее, можно хранить список открываемых документов, а чтобы не править все модули доков, подправить глобально вызываемые процедуры, типа глПроверкаРазрешенияРедактирования() и ОткрытьЖурнал()

2. "..... Если автору нужно получить список не открытых , а заблокированных документов (можно и на просмотр док открывать) и база на SQL Server , то можно блокировки отслеживать средствами SQL Server

н-р, так ( http://www.1csql.ru/materials/articles/admin.html~215f0936-22e3-7c28-bba3-24a92fcb8b9a )

правда еще нужно логирование сделать , чтобы понять какому юзеру процесс принадлежит ( http://www.1csql.ru/materials/articles/develop.html~49e72144-3910-2323-ade1-bc42f7e4d100 )

Но это только для формата SQL. "

11. vasilykushnir 63 02.04.08 11:36 Сейчас в теме
Shaman100M, спасибо - попробую в этом направлении покопать.
12. CheBurator 2696 03.04.08 01:09 Сейчас в теме
> Че, вообще, опрос чего-то в цикле - это вполне стандартный прием. В микропроцессорной технике - вообще чуть ли не единственный способ управления процессами.
//
вы чего, совсем тупые...?
мне не надо постоянно мониторить! у меня событие - НЕРЕГУЛЯРНОЕ и ВАЖНОЕ! и дергать обработкойожидания нет никакого интересу... моя задача - не проверять! а НЕ ПРОПУСТИТЬ!
то что ты предлагаешь: это типа стрельбы дробью каждые 5 минут широким веером в течение года, а мне стрельнуть-то надо всего один раз по команде "начался охотничий сезон" - причем заметь! не я каждые 5 минут спрашиваю "начался охсезон?.. начался охсезон! ....начался охсезон", а мне по матюгальнику объявили на весь лес: товарищи начался охсезон!
13. O-Planet 6439 03.04.08 02:01 Сейчас в теме
:) Как ни странно, когда я впервые увидел программу построенную по "такому" принципу, я долго ругался. А было это в КБ одном, которое ЧПУ программит. Но сейчас я знаю точно, что 90% любого ПО так и работает, опрашивая в цикле на каком-то уровне какой-то стек состояния. 1С - не исключение, потому что разные события виндовские - это о том же. Так что для всех наших адресных посылок на высоком уровне - где-то внизу подло крутятся опрашивающие циклы, которые их ожидают постоянно. Это селяви на самом деле...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот