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

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем Asttoxa, 15 сен 2010.

  1. scrat.08
    Offline

    scrat.08

    Регистрация:
    10 сен 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    а на каких именно доках такая проблема? я не натыкалась на подобное.
  2. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Это не связано со стандартными конфигурациями! Это измененная до неузнаваемости ТиС!
    И эти документы созданы дополнительно!
  3. scrat.08
    Offline

    scrat.08

    Регистрация:
    10 сен 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    а что, сохранение одного приводит к изменению реквизитов другого? или просто к перепроведению?
  4. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    видимо рассинхронизация данных %)
    Ну так и используйте проверку на блокировку в обоих документах при открытии как указывал выше Warder.
  5. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Так точно к изменению. И причем эти реквизиты могут исправлять как в первом документе так и во втором.

    Я задал вопрос а мне так и не ответили :(
    Как работает эта блокировка при аварийном выходе?
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Да никак! Блокировка документа при аварийном выходе снимается конечно (пользователь вышел/отвалился - 1с по барабану). Самый простой выход:

    Имеем 2 дока (или больше) А - основной Б - подчиненный
    1) Создали справочник (3 реквизита номер/дата/юзер)
    2) При открытии (ПриОткрытии) документа А создаем запись в справочник
    3) При выходе (ПриЗакрытии - только самой последней строчкой) док. ее удаляем.
    4) В подчиненном доке Б (ПриОткрытии) проверяем что кто-то есть в доке А и предупреждаем. Тут тучше добавить тот же код в документ А - т.к. я понял что подчиненный документ тоже влияет.
    5) В зависимости от ситуации (не знаю всех тонкостей) при обнаружении блокировки можно открывать док. только на просмотр (ТолькоПросмотр) или вешать на форму текущую строку статуса (через обработку ожидания формы например)
    6) В ГМ добавить в процеду ПриНачалеРаботыСистемы проверку - если есть запись в справочнике и документ не заблокирован, то удалить запись (на случай аварийного выхода).


    Не нравится такой вариант - используте ВК. Как вариант- Admin_DLL

    1. Информация о пользователях
    2. Информация о зарегистрированных ИБ
    3. Информация об активных подключениях
    4. Список заблокированных документов
    5. Смена заголовка системы
    6. Установка фона в окне 1С
    7. Установка раскладки клавиатуры
    8. Отображение раскладки клавиатуры
    9. Отображение системного времени
    10. Ожидание выполнения приложения
    11. Математика: корень, CRC32, random
    12. Смена пароля пользователя.
    13. Информация о версии.
    14. Сетевой сервис
  7. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    Вставляешь в подчиненном в ПриОткрытии() проверку заблокирован ДокОснование или нет, тоже самое в ДокОсновании :)))
  8. scrat.08
    Offline

    scrat.08

    Регистрация:
    10 сен 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    пусть блокируют оба документа сразу, открылись оба - и исходный и подчиненный - вносят изменения и закрывают. Если ставить проверку до открытия файла, свободен ли связанный, то не факт, что за время редактирования тот документ не успеют занять. А если после вненсения изменений проверять то может быть ситуация: два юзера захотели изменить одновременно один и тот же реквизит, оба открыли и начали работать, внесли изменения, кто из них первым должен закрыть? если юзер 1 , то он не сможет записать изменения, пока юзер 2 не закроет, а чтобы закрыть юзеру 2 нужно чтобы 1 закрыл. Круговорот какой-то.
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Логично. Если есть ситуация что больше 2х документов - нужно блокировать все.

Поделиться этой страницей