Программа-ассистент для работы с 1С:Документооборотом


При внедрении 1С-Документооборота пришлось облегчать жизнь пользователям и себе с помощью этой программки.

Задачи, которые решает ассистент-монитор.

  1. Позволяет не держать запущенным постоянно клиента 1С
    Документооборот экономит лицензии.
    Висит в трее, глаза не мозолит.
  2. Уведомляет пользователя о поступивших ему задачах.
    В трее всплывает окно (см. скриншот). Как выяснилось при внедрении у большей
    части сотрудников почтовый клиент не запущен постоянно – поэтому были
    постоянные оправдания у руководства «я не видел этих задач». Данная программа
    принудительно запускается (при запуске) на всех рабочих местах и просто так не
    выключается. Пока пользователь может ее выключить через Диспетчер задач, но за
    это бьют рублем, поэтому не выключают.
  3. Показывает пользователю его текущие невыполненные
    задачи. Позволяет открыть их в клиенте 1С Документооборот.

  4. Показывает, в каких проектах участвует
    пользователь.

  5. Показывает список текущих замещений на
    предприятии.

  6. Обрабатывает протокол, для открытия ссылок
    на документы, задачи из уведомительных писем, сформированных в 1С Документооборот.
    Небольшое примечание: письма из 1С Документооборота у меня формируются с
    указанием ссылки, которая начинается с «docs1c:\». Это было
    сделано, чтобы обособить ссылки Документооборота от других ссылок, формируемых из
    других систем 1С. Кроме этого, это позволяет дать команду системе открыть именно
    Документооборот. 

 

При необходимости
открытия задачи или ссылки (из писем) запускает клиента 1С Документооборот, но,
если клиент уже запущен, то передает команду ему и тот открывает что надо. Для
этого перед открытием контролируется название главного окна у клиента. Данное
название должно быть указано в настройках Документооборота в пункте «Заголовок
программы» и программе — в модуле «Core.cs» в функции «LoadDefaultSettings» в
переменной processHeader. 

 

Программа связывается с
1С Документооборот через web-сервис
«DMService». При авторизации используются как Windows-авторизация, так и 1С-авторизация.
Решена проблема с 1С-авторизацией под кириллическими именами (NET-клиенты по умолчанию не может
авторизоваться в 1С, передавая кириллическое имя – отличаются протоколы). В 99% используется windows-авторизация. DMService
пришлось немного допиливать – измененная конфа лежит в исходниках.

При внедрении Документооборота
пришлось строить ему экологическую нишу на предприятии. Ее основные параметры:

  1. Документооборот
    используется как средство управления предприятием. Его задача – доводить до каждого
    пользователя: что он должен сделать помимо своих постоянных (рутинных) задач.
    Поэтому Документооборот подключен у всех пользователей предприятия, имеющих
    доступ к компьютерам (около 300 человек). Как см. тут //infostart.ru/public/60733/.
    На текущий момент это задачи по согласованию договоров и заявок на ДС,
    ознакомления с приказами и распоряжениями, задачи выполнения этапов проектов.
    Также в Документообороте хранятся приказы, должностные и прочие инструкции. В
    Документообороте включена подсистема управлением доступами. При формировании задачи (ЗадачаИсполнителя) пользователь получает уведомление 3 способами: по почте, через программу-ассистента и через клиента Документооборота.
    В этой части наличие программы-ассистента очень важна. Без нее не взлетает.
    Причина указана выше.
  2. Все Пользователи
    в документообороте имеют windows-авторизацию.
    Это важно – иначе у всех пользователей в Документообороте будет одинаковый
    пароль и доверия к такой системе хранения данных не будет. Передача своих
    учетных данных другому пользователю карается рублем. Для решения проблемы ухода в отпуска и командировки используется подсистема Документооборота «Делегация прав».
  3. Документооборот
    подключен к 1С УПП, которая используется как управленческая база предприятия. Из
    УПП идут несколько видов связей:
    a.   
    Формирование и контроль согласований.
    b.   
    Запросы на получение инструкций пользователей по использованию
    документов УПП.
    Тут всплыла
    большая какашка от 1С – клиент 1С не может использовать windows-авторизацию на Web… Пришлось включать
    1С-авторизацию в Документообороте, но пароли для этого уже генерировались автоматически и пользователи их не знают.
  4. Документооборот
    не является клиентом почты, но пользователи могут посылать из него письма. Ссылки на документы и задачи при этом формируются в формате, указанном выше.

 

29 Comments

  1. Willforre

    Скачал, сравнил с 1.3.3.7 — конфигурация достаточно сильно изменена. Предполагаю, что не все доработки связаны с обеспечением работы монитора. Как отфильтровать «лишнее»?

    Reply
  2. mugr

    Изменения находятся в модулях

    ОбработкаЗапросовXDTO*

    +Поиск подстроки «docs1c»

    +зМоиПроцедуры.ПодключитьОбработчикИнтеграцииСМонитором()

    +КонтрольДинамическогоОбновленияКонфигурацииГлобальный.ОбработчикИнтеграцииСМонитором()

    Вроде ничего не заблы

    Reply
  3. mugr

    (3) seducer, Да, не стал выкладывать сборку.

    Откомпилируйте в MSVS2010 или выше. Должна подойти любая редакция.

    Reply
  4. seducer

    (2) Я правильно понимаю, что «ассистент-монитор» — это exe-шник, который запускается при старте системы? Но в архиве его нет.

    Reply
  5. Willforre

    еще вопрос: что такое «Строка соединения для запуска КЛИЕНТА 1С-предприятия» в файле core.cs?

    Reply
  6. mugr

    (5) Willforre,

    если вы про переменную _1CConnectionString — то она используется для запуска клиента 1С — в ней прописаны сервер и база. Используется в функции Start1CProcess.

    Reply
  7. RomaH

    что-то не скачивается архив разработки

    Reply
  8. RomaH

    «DMService пришлось немного допиливать – измененная конфа лежит в исходниках.»

    сравнил с конфигурацией поставщика — в модуле все изменения закоментированы

    а что там все-таки различается?

    Reply
  9. RomaH

    на вашей cf заработало

    осталось вычленить «дописки» для встраивания в типовой ДО

    и разобраться с исходниками — зачем там задержки по 25 секунд и ссылки на общий список баз

    иногда странное поведение — открыло базу — и открыла задачу 10 раз, потом подумало и открыла базу с одной задачей еще раз

    Reply
  10. mugr

    (9) RomaH, открытие сразу нескольких задач признак того, что 1С не запустилось, при команде ассистенту «открыть ссылку». При этом создается файл, который 1С ищет и по нему открывает Задачу. Тут только одно — добиваться запуска 1С-клиента с результативностью 100%. Что тоже не всегда выходит…. Задержка в 25 секунд с этим и связана — она подбиралась на нескольких машинах по результатам запуска Документооборота. Ее задача — если не открылась 1С, то попытаться это сделать повторно. Короче «костыль» т.к. #цензура#ы работающие в 1C не предусмотрели нормального API по работе с ихней прогой для стороних разработчиков….

    По поводу вычленения дописок — сравните с типовой 1.3.3.7 — вроде все высвечивается.

    Reply
  11. ivdic

    Вещь очень полезная! но хотелось бы без доработки (модификации) конфигурации, ибо каждый раз вносить изменения при обновлении плохое занятие

    Reply
  12. ivdic

    Опишите поподробнее (по шагам) как настроить? Адрес web сервера ставить свой?

    Reply
  13. mugr

    (12) ivdic,

    1. Поставить документооборот.

    2. Подключить Документооборот к web-расширению 1С. Проверить, что Документоборот запускается в браузере. Надо запомнить путь в строке браузера.

    3. У нужных пользователей включить windows-аудентификацию.

    4. В Microsoft Visual Studio 2010 открыть проект DocsMonitor.sln

    5. Найти Core.cs. В нем найти функцию LoadDefaultSettings

    6. изменить значение переменной dmServiceUrl. формат: «путь из браузера»+»/ws/dm.1cws». Должно получится подобно: http://srvhv4.creation.zenith.ru/1c82Docs/ws/dm.1cws.

    7. Откомпилировать. Проверить работоспособность.

    8. Откомпилировать SetupDocsMonitor по успешному испытанию. Установить нужным пользователям.

    Если НЕ будет использоваться моя конфигурация, и (соответственно) dm-сервис имеет другую структуру, то в проекте надо найти Web-reference «Docs». Зайти в его Properties и поменять Web reference URL на тоже, что в dmServiceUrl+»?wsdl».

    Reply
  14. mugr

    (11) ivdic, Добро пожаловать в 1С! Сдесь, не перекорежив конфигурацию поставщика (т.е. самого 1С) это сделать нельзя (как в прочем и вообще внедрить ее. Поэтому и куча прочих изменений). А поставщик к просьбам пользователей глух (а может и не глух, а просто положил свой болт на них)…

    В общем старая, избитая со всех сторон, ноющая тема…

    Reply
  15. ivdic

    (14) давно знаком с данной ситуацией.. 3 года веду 1с документооборот 35тыс. документов в базе.. куча внедренных доработок..и каждый раз правка при очередном обновлении конфигурации. Много раз обращался в 1с с реально нужными предложениями, реализованными в других СЭД и даже код представлял как сделать -полный игнор.. Жаль что руководство фирмы так относится к пользователям.. Проблема наличия ассистента (агента) дано назрела. Делал через майл агент, который висит у пользователей в трее и еще позволяет уведомлять sms -кой но не чаще 1 раз в 30 минут (ограничение сервиса mail.ru) . Естественно уведомление не через почту намного перспективнее.

    Reply
  16. Atori-kun

    (9) RomaH, у Вас получилось «вычеленить» дописки? Мозг сломал, не могу понять откуда ноги растут.. З.Ы. Сравнивал с типовой, но там и других изменений масса, так что особо не помогает. Автору ассистента большое спасибо за разработку — аналогов нет, но просьба как можно чаще комментировать измененные модули…

    Reply
  17. Himikuda

    Подскажите как настроить сей продукт? У меня база крутится на одном сервере sql, а web сервер поднят на другом, использую apache.

    Reply
  18. mugr

    (17) Himikuda,

    программа не работает с sql на прямую!

    необходимо подключить 1С-базу к апачу.

    кроме того, лучше было бы, чтобы через апач шла windows-авторизация до базы. Тогда проблем с первичной настройкой будет меньше.

    Reply
  19. Himikuda

    (18) mugr

    База опубликованна на Apache

    в настройках вашей программы :

    Адрес Web-сервиса имя сервера/имя публикации/ws/dm.1cws

    Стр. соединения с 1С вот в этом поле что прописывать в моем случае?

    Reply
  20. mugr

    это строка для запуска 1С из под консоли.

    формат [Имя.сервера][ИмяБазы]

    т.е. если окне запуска 1С написано так:

    Srvr=»srvbase1.creation.zenith.ru»;Ref=»1c82docs»;

    то строка запуска будет так:

    srvbase1.creation.zenith.ru1c82docs

    Reply
  21. Himikuda

    (20)

    Спасибо за ответ, заработало на 50%

    задачи от меня видны, а задачи мне не видны))))

    Reply
  22. mugr

    Возьмите мою конфигурацию. Там правлены некоторые ошибки

    Reply
  23. Himikuda

    (22)

    так и не чего не заработало

    Reply
  24. mugr

    (23) Himikuda,

    надо разбираться конкретно.

    то, что работает это точно, т.к. связка проги и документооборота используется уже 2 года.

    Reply
  25. sasha_war87

    А никто не заморачивался с переносом данного функционала на Документооборот 2.0?

    Reply
  26. xandrster

    Программа заточена под Документооборот КОРП, для ПРОФ — выдавала только задачи от пользователя. Для работы с ПРОФ нужно поставить XDTO пакет DM от корпа, добавить руками в общем модуле ПРОФа из КОРПа некоторое количество кода и поправить запрос в функции ПолучитьСписокЗадачПоИсполнителю.

    Reply
  27. xandrster

    (21) Himikuda, Это потому что у тебя ПРОФ, а у автора КОРП.

    Reply
  28. Himikuda

    Возможно адаптировать под ПРОФ и цена вопроса?

    Reply
  29. mugr

    (28) Himikuda, цена зависит от объемов работ.

    — Тут их не много в плане изменений конфы.

    — А вот внедрение на месте сложно оценить. Напишите на fig#list.ru

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *