Раздача прав пользователям

Тема в разделе "Готовые продукты, вопросы, обсуждения", создана пользователем -, 3 дек 2010.

  1. Гость

    Приветствую всех у кого есть мысли касательно одной маленькой, но очень большой проблеме.

    У нас в документообороте используется иерархическая структура типа - входящий документ - резолюция - поручение - исполнение. В нашей системе раздача прав пользователю, т.е. исполнителю которому отписали допустим резолюцию, раздача прав проходит на сервере агентом. Проблема: при изменении агентом полей Readers в основном документе (главный документ иерархии), редко, но бывает что значений этих в документе просто нет. Агент тщательно залогирован, и сомнений в том что агент некорректно отработал нет. Исключается так же момент когда данный документ редактируется ке то из пользователей, т.к по документу так же ведется логирование на открытие, изменение, сохранение и т.д. В чем может быть причина, кто нибудь сталкивался с подобным? Начальство требует объяснить, но к логам придраться не могу. :rolleyes:
     
  2. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    уточните, вообще изчезло поле в главном документе или не добавились какие-то значения в него.
    логируются ли добавленные значения (правильность изменения значений) и успешность сохранения после этого? если доступ в главном рассчитывается на основании каких-то других документов, может быть так, что серверный агент не видит каких-то документов с именами, которые должны вноситься в поле Readers или агент случайно перезатирает поле, если по документу несколько резолюций.
    не вышли ли за лимит 32К для поля?
    нет ли еще агентов, полей и т.п., т.е. какого-то кода, который тоже меняет значение этого поля?
    используется ли репликация, не может быть конфликтов из-за нее? При опции слияния без конфликтов может быть так, что какие-то изменения будут потеряны, т.е. одна версия документа перезапишет другую.
     
  3. Гость

    Поле не исчезло, просто нет того значения в поле которое должно добавиться. Добавленные значения логируются, агент логируется по всем произведенным изменениям, сохранениям и т д. Так же агент выводит в лог все значения этого поля в лог после завершения работы агента, чтобы убедиться что все в порядке, но в документе этого значения никак нет. Из ваших предположений ближе к истине может быть то, что параллельно создания текущей резолюции, может создавать еще кто - либо, тем самым пытаясь передать в основной документ какие то данные. В наших случаях по времени создания резолюции расходились по 5-10 мин, могло ли это повлиять. И отсюда еще вопрос - может ли быть конфликт одного и того же серверного агента, где выполняется изменение и сохранение данных 1 документа, если агент запустить одновременно с 2 - х машин, так как агентов влияющих на изменение данной карточки больше нет? Поле не переполнялось и репликаций с базой нет.
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Проверьте внимательно код агента, может быть в каких-то ситуациях документ не сохраняется. Запуск агента на сервере инициируется пользователями или по расписанию? Если пользователями и это приводит к вышеописанным конфликтам, может быть стоит переделать приложение таким образом, чтобы агент пускался по расписанию|по добавлению новых документов и обрабатывал нужным образом документы-запросы, создаваемые пользователями (в полях запроса указывать, какой рабочий документ обновить и каким образом).
     
  5. Гость

    Уже переписывали функционал по расписанию, работало все, но министры не хотят ждать 5 минут пока его поручение перейдет к другому и в связи с этим обратно перешли к событийным агентам.
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    В этом случае, если Вы уверены, что проблема в одновременном несогласованном изменении документа экземплярами агента, запущенными с разных рабочих станций, можно попробовать реализацию блокировки, например, созданием лок-документа с полем с юнидом блокируемого.

    Добавлено
    А как часто Лотус-клиент министров проверяет приход новой почты?
     
  7. Гость

    Дело в том что лотусовой почтой они не пользуются, есть специально организованный АРМ Руководителя, который они почти не закрывают.
     
Загрузка...

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