7.7 Проблема с глобальными переменными

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Артур, 17 июл 2008.

  1. TopicStarter Overlay
    Артур
    Offline

    Артур Опытный в 1С

    Регистрация:
    7 май 2008
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    1) В базе работает несколько пользователей.
    2) Я добавляю в модуле приложения переменную ДокументыДляБлокировки с словом экспорт
    в конце модуля приложения устанавливаю ее как ТаблицаЗначений.
    3) Далее запускаю обработку внешнюю которая будет добавлять в эту переменную документы если они не заблокированы.
    4) СУТЬ когда пользователь открывает форму документа в процедуре перед открытием нужно проверять нету ли этого документа в этой переменной если есть то это значит что его уже заблокировал другой пользователь который запустил внешнюю обработку значит в процедуре Перед открытием должен Отказ = 1.
    5) ПРОБЛЕМА глобальная переменная при ее создании для каждого пользователя создается ее экземпляр
    то есть если один пользователь запустит обработку и добавит в эту переменную документы то у другого пользователя все равно будет ДокументыДляБлокировки.КоличествоСтрок() = 0. Как это решить кто нибуть знает (суть такая обработка работает со списком документов и пока она их всех не обработает они все должны быть заблокированы для всех пользователей).
  2. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Пробуй через справочник.
    Ручное изменение и открытие форм блокируй (СтатусВозврата(0))
    Пользуйся им как списком значений:
    1. создавай новый элемент со значением реквизита - блокируемый документ.
    2. удаляй элементы с разблокированными документами.


    Есть вариант - использовать внешний файл, для синхронизации, но ИМХО это будет еще "тормознутие".

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