gifts2017

Универсальная подсистема «Подписи/согласования документов»

Опубликовал Александр Венгер (venger) в раздел Программирование - Практика программирования

Подсистема позволяет включать для разных видов документов функцию "Подписи/согласования" с отдельно настраиваемыми списками пользователей, которые могут подписывать тот или иной вид документа.
Основная суть подсистемы, состоит в том, что пока все, кто указан в настройках, не подпишут тот или иной записанный в базу документ, он не может быть проведен, хотя менять его можно. А когда он уже подписан, хотя бы одним человеком, он не может быть изменен, когда подписали все, то он сразу становится проведенным и также не может быть изменен или удален, никем кроме администратора, который имеет возможность снять за всех или поставить за всех подписи в экстренных случаях для этих целей.
Причем подсистема "умеет" рассылать уведомления по электронной почте тем, кто должен подписывать тот или иной документ, о необходимости его подписать, а также уведомления о том, что документ уже всеми подписан и проведен.
Подсистема рассчитана на установку и работу в любой конфигурации, с минимальными изменениями самой конфигурации. Используются внешние компоненты:  1С++, FormEx, Rom-Mail. Подробное описание настройки, использования и установки читайте в pdf-файле в архиве с демо-конфигурацией.

Подробное описание настройки, использования и установки читайте в pdf-файле в архиве с демо-конфигурацией, а в двух словах, имеем мини-модель мини-бизнес-процесса, которую, за счет гибкости настроек, можно использовать в разных логических смыслах;-)
Например, один из простейших вариантов, это просто когда, например, главбух и/или топ-менеджера должны «одобрить подписью» какой-то важный вид документа, вводимый подчиненными, и только тогда он будет проведен и недоступен для редактирования. Например, какое-то ежемесячное «распределение прибыли» или «выдача З/П», или «приход партий товара», или правильно заполненная «ГТД». Тут я привожу названия видов документов условно.
Или, например, посложнее, когда, скажем, пользователь формирует «заказ поставщику» из потребностей фирмы. Потом согласовывает его с поставщиком (предварительная стадия заказа), а уже после этого рассылает уведомление руководителям, о том, что заказ необходимо «одобрить», т.е. он уже согласован с поставщиком, после чего он подписывается всеми, автоматически проводится и пользователь заявляет его поставщику, т.е. уже окончательная стадия заказа.

Эту подсистему можно установить и использовать в одной конфигурации совместно с другими моими подсистемами, например, с этими:

Универсальная подсистема «Дополнительные права документов» + «Сканы документов»
http://infostart.ru/public/71084/

Как их установить совместно также описано в pdf-файле к этой подсистеме в разделе "Примечание к установке".

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
DocsSignaturesDB.zip
.zip 913,98Kb
03.08.10
201
.zip 913,98Kb 201 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Венгер (venger) 03.08.10 14:09
(0) Кому надо подробнее ознакомиться с описанием и возможностями, прежде чем качать разработку, он может скачать pdf-файл с описанием отдельно отсюда:
1Cv77_ManualDocsSignatures.zip
2. Максим Шуйский (maxpiter) 03.08.10 14:48
(1) сюда еще добавить, в письме от любимой базы, не только название документа но и ссылку на документ, при клике на которую позиционируемся на оном.
Многие топ-манагеры понятия не имеют где и как найти этот самый документ в любимой базе 1С ;)
3. Дмитрий Литовченко (kompas-dm) 03.08.10 14:54
(0) Спасибо, возьму на обкатку. Один клиент просит подобное .
4. Александр Рытов (Арчибальд) 03.08.10 15:03
Иллюстрация законов Паркинсона средствами 1С :D
5. Александр Венгер (venger) 03.08.10 15:18
(4) Такое скорее об УПП 8.х можно сказать;-))))
6. Павел Зайцев (pzu) 10.09.10 10:28
как насчет такой же системы для v8?
7. Alex Melnichuk (Amel2010) 22.09.10 15:49
У кого-то работает демо-база?
У меня выдает: __КлассФабрикаСобытий__::ПодписатьФабрикуНаСобытияСистемы(Перехватчик Перехватчик=) : Поле агрегатного объекта не обнаружено
Перехватчик.СнятьПерехватСобытийПроведенияДокумента(СокрЛП(Метаданные.Документ(Сч).Идентификатор));
{__КлассФабрикаСобытий__@M
__КлассФабрикаСобытий__.ПодписатьФабрикуНаСобытияСистемы(__Перехватчик__);
{Глобальный модуль(65)}: __КлассФабрикаСобытий__::ПодписатьФабрикуНаСобытияСистемы(Перехватчик Перехватчик=) : Поле агрегатного объекта не обнаружено
Перехватчик.СнятьПерехватСоб

при старте системы
8. Александр Венгер (venger) 23.09.10 11:50
(7) Свежую сборку внешних компонент взяли, в каталог базы dll'ки положили? В каталоге программы старых версий не лежит случайно?
9. Alex Melnichuk (Amel2010) 24.09.10 14:24
у меня заработало (уж не помню после чего).
Так что извините
10. www2000 www2000 (www2000) 03.09.12 15:12
У меня такая же фишка реализована, только с возможностью формировать список подписантов в зависимости от различных условий. Например в зависимости от значения какого-либо реквизита документа будет тот или иной список.
11. Григорьев Анатолий (ToJIuK) 19.03.14 17:45
а для работы Данной подсистемы , нужна компонента оперативный учет ? Она будет работать на обычной Бухгалтерии? Просто попытался адаптировать под свою конфу (на базе Бух), пишет ошибку "Неизвестный язык 'С'"- посмотрел код , в запросах используется строчка
"С ТекДатаЗапроса По ТекДатаЗапроса", а из помощника стало ясно что нужен Журнал Расчетов. Попробовал сделать в запросе "ПЕРИОД С"
, Но тогда при попытке поставить подпись в табличную часть Добавляется пустая строчка. Как обойтись без этого Журнала Расчетов???
12. Александр Венгер (venger) 20.03.14 20:53
(11) Я тестил на платформах где все четыре компоненты есть, и бух учет, и оперативный учет, и расчет и управление распр. ИБ. Но как бы и без оперативного учета по идее должно работать, да и к журналу расчетов это отношения иметь не должно, ошибка во всяком случае, т.к. :

Применение конструкции "С ... По ..." приводит к тому, что выборка записей из журнала расчетов проводится по времени действия записей журнала расчетов, определяемых реквизитами журнала расчетов "ДатаНачала" и "ДатаОкончания", а не временем их ввода в журнал. Более подробно о двойственности временного представления журналов расчетов см. выше, в главе «Работа с Журналами расчетов».


Т.е. выборка то все равно происходит, и без слова "Период"... Т.е. ошибку в языке давать из-за журнала расчетов не должно.

А к чему запрос то, в котором выдает ошибку?

Там не к справочнику запрос случаем?
13. Григорьев Анатолий (ToJIuK) 20.03.14 21:31
(12) venger, Сегодня ещё раз попробовал на Демо-базе Поменял Везде в запросах "С ПО" на "Период С ПО" и вроде заработало ) значит проблема где-то в спр.Пользователи . У меня в базе его тоже нет, но есть спр.Сотрудники , я вроде везде вделал ссылку на него, т.е (Права нормально устанавливаются), а вот при нажатии кнопки "Подпись" появляется пустая строчка. Просто очень трудно делать отладку и узнать где ошибка , так как у меня в почему-то если я ставлю точку останова в обработках то программа её игнорирует. Кто то видел такое?
14. Александр Венгер (venger) 21.03.14 15:03
(13) Так может там поле типа спр.Пользователи, а проставляется туда значение типа спр.Сотрудники? Вот он и не преобразовывает и получается пустое поле?
15. Артем (nexochyka) 02.10.14 16:54
Спасибо. То что искал, только не хватает отчета по Согласующим и дате согласования, а так же отсутствие согласования у конкретных подписантов. Не могу разобрать (опыта маловато:) подскажите как сделать
16. Александр Венгер (venger) 02.10.14 17:10
(15) > подскажите как сделать

Легко, берешь и ... делаешь;-)

З.Ы. Уже пару лет с 7-кой не работал, кстати;-)
17. Артем (nexochyka) 03.10.14 08:39
Сурьёзный совет... Спасибо, очень помогло ;-) Будем искать :-)
18. Алекс Маслюков (Alex_1066) 03.10.14 13:52
Хорошая разработка. Плюсую.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа