powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Нужна система документооборота собирать "галочки"
25 сообщений из 32, страница 1 из 2
Нужна система документооборота собирать "галочки"
    #34567162
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколькоя смог понять из рекламных обзоров большинства систем документооборота - это программы реализующие пресловутый DocFlow, при этом максимум что можно насобирать по пути етого Flow - это к-нить замечаний типа Одобрям, Согласовано и проч. Содержательная часть переносится в прикрепленный документ, доступный для измененния целиком и полностью и можно только отследить историю его изменения.

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

Возможны варианты вето.
Необходима маршрутность, но не the must.

Состав строк, полей и чекбоксов может меняться от документа к документу.

Есть готовые системы такого рода???
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #34567531
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Деление документа на отдельные составляющие есть в "мотиве". Http://motiw.ru
А вот есть ли у них возможность раздавать права на отдельные блоки - не знаю.
Маршрутность там сделана вроде бы неплохо.

С уважением.
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #34568051
WJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Советую обратить внимание на BPM-системы. Документооборот получите в полном объеме, плюс все преимущества BPM, такие как интеграция, разработка веб-приложений, дизайнер, мониторинг.
Это только сначала кажется, что сейчас налажу документооборот - и будет счастье! Но потом захочится привязать его к бизнес-процессам, затем раскладывать информацию в разные системы... ПМСМ, сейчас покупать "чистый" документооборот - это все равно что покупать кассетный видеомагнитофон.
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #34568486
maximkr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TrackStudio Enterprise посмотрите, там это есть:
http://www.trackstudio.ru
http://www.trackstudio.com
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #34570165
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем большое! Даже не ожидал что такие системы существуют.

Действительно полезный формум!!!
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #34570546
Itman2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть рабочий бесплатный продукт NauDoc.
http://www.naudoc.ru/go
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #34573572
rbc5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне больше нравится ESCOM.DOC (www.emd.ru) Софтина продуманная, удобная и чудно настраиваемая.
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #34573574
rbc5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подробнее с ESCOM.DOC можно познакомиться на сайте itas.emd.ru
Это не реклама :-) Просто софтинка действительно заслуживает внимания!
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #34573885
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rbc5Подробнее с ESCOM.DOC можно познакомиться на сайте itas.emd.ru
Это не реклама :-) Просто софтинка действительно заслуживает внимания!

Если то что написано в этом документе (см.вложение) - правда, то я бросаю заниматься C# и начинаю писать программы с использованием ЭТОГО инструмента.

Не говоря уже о том что похоже это идеально подходит нашим нуждам.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Нужна система документооборота собирать "галочки"
    #35676897
MaxFil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexsalog,

да, система может многое для управления процессами и документами. Если Вы занимаетесь автоматизацией в данной области то использование ESCOM.DOC в качестве платформы и инструмента разработчика может оказаться выгоднее, чем писать систему с нуля. В качестве примера вот ссылка на статью с примером настройки готового решения в системе ESCOM


Разработку в системе можно освоить самостоятельно. Есть так же и специальные учебные курсы.
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35676901
MaxFil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.itas.emd.ru/doc/article.php
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35677905
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
документы в Lotus Notes как раз и строятся из полей к которыйм у разных пользователей разный доступ и потом все это собирается и синхронизируется воедино через сервер Lotus Domino.
Продукт большой тяжелый и главное - дорогой.
Why CORBA is DEAD?
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35678569
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexsalog
Если то что написано в этом документе (см.вложение) - правда, то я бросаю заниматься C# и начинаю писать программы с использованием ЭТОГО инструмента.
Не говоря уже о том что похоже это идеально подходит нашим нуждам.

В соседнем топике я писал про MS CRM 4. Зачем бросать C# ? Берите CRM, рисуйте в нем недостающие формы документов, раздавайте права, а на всевозможные события вешайте обработчики на C# :)

Вот пример обработчика для входящего счета на on create, который проверяет, имеет ли юзер полномочия создавать для документа именно с таким содержанием согласовательную подпись.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Collections;
using Microsoft.Crm.Sdk;
using Microsoft.Crm.SdkTypeProxy;
using System.Diagnostics;
using System.Globalization;
using System.Web.Services.Protocols;
using Microsoft.Crm.Sdk.Metadata;

namespace Consulting.Elit.Plugins
{
    using CrmSdk;

    class SignCheker : Microsoft.Crm.Sdk.IPlugin
    {
        public void Execute(IPluginExecutionContext context)
        {


            Microsoft.Crm.Sdk.DynamicEntity image = (Microsoft.Crm.Sdk.DynamicEntity) context.InputParameters.Properties["Target"];

            if (image.Properties.Contains("new_invoicesignature"))
            {
                ColumnSet cs = new ColumnSet();
                cs.Attributes = new string[] { "new_expensesinvoice" };

                CrmService service = Helpers.GetCrmConnection();

                invoice inv = (invoice)service.Retrieve(EntityName.invoice.ToString(), ((Microsoft.Crm.Sdk.Lookup)image.Properties["new_invoicesignature"]).Value, cs);

                if (inv.new_expensesinvoice != null)
                {
                    cs.Attributes = new string[] { "new_controllerexpenses" };

                    new_centerexpenses cex = (new_centerexpenses)service.Retrieve(EntityName.new_centerexpenses.ToString(), inv.new_expensesinvoice.Value, cs);
                    
                    if (cex.new_controllerexpenses != null)
                    {
		                if (cex.new_controllerexpenses.Value != context.UserId)
                        {
                            throw new InvalidPluginExecutionException("У Вас нет прав на создание Согласовательной подписи");
                        }
                    }
                    else
                    {
                        throw new InvalidPluginExecutionException("В Центре Затрат не указан Контролер");
                    }
                }
                else
                {
                    throw new InvalidPluginExecutionException("В связанном Счете не задан Центр Затрат!");
                }
            }
            else
	        {
                throw new InvalidPluginExecutionException("Согласовательная подпись может быть создана только из Счета");
            }

        }
    }
}
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35678632
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strizhВот пример обработчика для входящего счета на on create, который проверяет, имеет ли юзер полномочия создавать для документа именно с таким содержанием согласовательную подпись.

ужас конечно. Типа будущее...
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35682082
MaxFil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafm,

да, уж, но зато универсально... проверите всё что захотите.

В ESCOM.DOC это выглядит так:

function Action3Execute(CustomDocument $Document, WorkflowModelAction $Action, ValueList $Data){
$Params = $Document->GetRow(
'Dates.PlanEndDate',
'FinProps.TypeCurrency',
'Actors.Approver',
'Actors.Concorder');
$this->CheckActionConditions( //вызов процедуры проверки условий
$Params->ReadInteger('FinProps.TypeCurrency') == 0, "Необходимо указать вид валюты!",
$Params->ReadInteger('Dates.PlanEndDate') == 0, "Необходимо указать срок исполнения!",
$Params->ReadInteger('Actors.Concorder') == 0, "Необходимо указать Согласующих!",
$Params->ReadInteger('Actors.Approver') == 0, "Необходимо указать Утверждающего!");
}
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35682388
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFiliscrafm,

да, уж, но зато универсально... проверите всё что захотите.

В ESCOM.DOC это выглядит так:

В Искре это выглядит так
В общем моя реплика касалась больше не кода, а того, что это вообще нужно кодить.
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35682898
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFil, Iscrafm, вы бы хоть код мой посмотрели. Я ж таким длинным кодом не просто на пустое значение реагирую :)
А вы приводите код анализа пустых значений - это же уровень ссылочной целостности/значений полей на уровне структуры таблиц, а я писал про уровень бизнес-правил.
В данном случае код проверяет, имеет ли право этот юзер создать новую запись подписи для этого документа. Если вы заметили, код обращается к 3 таблицам. Фактически, это код триггерной функции на before insert для одной из таблиц CRM, обращающийся к двум другим таблицам. А просто ссылочную целостность и обязательные поля кодить в MS CRM 4, не нужно, конечно же. Здесь это уровень графической рисовалки объектов, которая генерит метаинфу, таблицы, вьюшки и триггеры.
Причем, заметьте, код такого рода функций на события для MS CRM 4 может быть на следующих языках:
vb.net, c#, c++.net, T-SQL

Хотя чего это я пиарю M$ ? В условиях кризиса - дорого. Разве что - пиратствовать.
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35682917
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strizh,
я уточнил что код не имел ввиду. Код как код. Меня смутил сам подход - программировать Полномочия. Т.е. такие понятия как ролевой доступ, когда каждому пользователю предоставляется доступ к тем задачам, которые ему разрешены, отдыхает.
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35683480
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmМеня смутил сам подход - программировать Полномочия. Т.е. такие понятия как ролевой доступ, когда каждому пользователю предоставляется доступ к тем задачам, которые ему разрешены, отдыхает.

Гм. Вот стандартный экран CRM 4 для настройки одной из Ролей юзеров.
С помощью этого стандартного средства (Параметры-Администрирование-Роли безопасности) можно назначить полномочия для всех групп объектов (привожу картинку для объектов нашего финансового модуля). Но вот как с помощью этого средства назначить кроссобъектные связи ? Ответ - никак, надо писать код, подобный приведенному мной выше. И, к сожалению, я не знаю ни одной системы, где бы код в таком случае не пришлось писать. Кто-то знает ?
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35697438
200drive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я знаю )
Делаем и скоро будет готово.
С удовольствием познакомлю с тем что делаем
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35744507
Фотография Папа Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strizh
В соседнем топике я писал про MS CRM 4. Зачем бросать C# ? Берите CRM, рисуйте в нем недостающие формы документов, раздавайте права, а на всевозможные события вешайте обработчики на C# :)

Вот пример обработчика для входящего счета на on create, который проверяет, имеет ли юзер полномочия создавать для документа именно с таким содержанием согласовательную подпись.
....

Здравствуйте!

Плохим примером напужали людей. Ай. Ай. Ай.

После регистрации в приложении у пользователя свой профиль и ему ничего вне его профиля
попадать НЕ ДОЛЖНО. А устраивать кучу проверок при каждой CRUD-операции это бардак.
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35745026
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Папа Игорь
Плохим примером напужали людей. Ай. Ай. Ай.

После регистрации в приложении у пользователя свой профиль и ему ничего вне его профиля
попадать НЕ ДОЛЖНО. А устраивать кучу проверок при каждой CRUD-операции это бардак.

Согласен. Пример не очень. Вот более.
Скрипт срабатывает на on create для заголовка бюджета подразделения (создаем бюджет на новый месяц) - копирует строки бюджета из эталона.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Collections;
using Microsoft.Crm.Sdk;
using Microsoft.Crm.SdkTypeProxy;
using System.Diagnostics;
using System.Globalization;
using System.Web.Services.Protocols;
using Microsoft.Crm.Sdk.Metadata;

namespace Consulting.Elit.Plugins
{
    using CrmSdk;

    public class BudgetLineCopy : Microsoft.Crm.Sdk.IPlugin
    {
        public void Execute(IPluginExecutionContext context)
        {
            Microsoft.Crm.Sdk.DynamicEntity entity = (Microsoft.Crm.Sdk.DynamicEntity)context.PostEntityImages.Properties["Image"];
            Guid id = (Guid) context.OutputParameters.Properties["Id"];

            CrmService service = Helpers.GetCrmConnection();

            ColumnSet cs = new ColumnSet();
            cs.Attributes = new string[] { "ab_budgetline1id", "ab_name", "ab_budgetclauseid", "ab_plan", "ab_fact" };

            QueryExpression qe = new QueryExpression();
            qe.EntityName = EntityName.ab_budgetline1.ToString();
            qe.ColumnSet = cs;

            if (entity.Properties.Contains("new_unitbudjet"))
            {
                ConditionExpression ce = new ConditionExpression();
                ce.AttributeName = "ab_businessunitid";
                ce.Operator = ConditionOperator.Equal;
                ce.Values = new object[] { ((Microsoft.Crm.Sdk.Lookup)entity.Properties["new_unitbudjet"]).Value };

                FilterExpression fe = new FilterExpression();
                fe.FilterOperator = LogicalOperator.And;
                fe.Conditions = new ConditionExpression[] { ce };

                qe.Criteria = fe;
            }
            else
            {
                throw new InvalidPluginExecutionException("Насяльника, не харасо бюдзет биз падрасделения саставать");
            };

            BusinessEntityCollection bec = service.RetrieveMultiple(qe);

            foreach (ab_budgetline1 bl in bec.BusinessEntities)
            {
                new_linebudget nlb = new new_linebudget();
                nlb.new_name = bl.ab_name;
                nlb.ab_budgetclauseid = bl.ab_budgetclauseid;

                nlb.new_fakt = new CrmMoney();
                nlb.new_fakt.Value =  0 ;
                nlb.new_plan = new CrmMoney();
                nlb.new_plan.Value =  0 ;

                nlb.ab_budjetid = new Lookup();
                nlb.ab_budjetid.type = EntityName.new_budjet.ToString();
                nlb.ab_budjetid.Value = id;

                nlb.ab_budgetline1id = new Lookup();
                nlb.ab_budgetline1id.type = EntityName.ab_budgetline1.ToString();
                nlb.ab_budgetline1id.Value = bl.ab_budgetline1id.Value;

                nlb.transactioncurrencyid = new Lookup();
                nlb.transactioncurrencyid.type = EntityName.transactioncurrency.ToString();
                nlb.transactioncurrencyid.Value = new Guid("{025A76E3-720C-DD11-BBBF-00E081798038}");

                if (entity.Properties.Contains("new_unitbudjet"))
                {
                    nlb.new_businessunitline = new Lookup();
                    nlb.new_businessunitline.type = EntityName.businessunit.ToString();
                    nlb.new_businessunitline.Value = ( (Microsoft.Crm.Sdk.Lookup) entity.Properties["new_unitbudjet"] ).Value;
                }

                if (entity.Properties.Contains("new_year"))
                {
                    nlb.new_year = new Picklist();
                    nlb.new_year.Value = ( (Microsoft.Crm.Sdk.Picklist) entity.Properties["new_year"]).Value;
                }

                if (entity.Properties.Contains("new_month"))
                {
                    nlb.new_month = new Picklist();
                    nlb.new_month.Value = ( (Microsoft.Crm.Sdk.Picklist) entity.Properties["new_month"]).Value;
                }

                nlb.ownerid = new Owner();
                nlb.ownerid.type = "systemuser";
                nlb.ownerid.Value = ((Microsoft.Crm.Sdk.Owner)entity.Properties["ownerid"]).Value;

                service.Create(nlb);
            }
         
        }
    }
}
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35803441
A4E
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
A4E
Гость
На правах Оффтопа:
iscrafm
В Искре это выглядит так
Коллега, а подскажите, чем вы записываете столь красивые демо-ролики на флеше. Под win7 есть psr, конечно, но это не то...
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35803494
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A4E,

на этом .
стандартная версия.
...
Рейтинг: 0 / 0
Нужна система документооборота собирать "галочки"
    #35803709
Enot5467
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересная статья по теме
http://www.computerpress.ru/Article.aspx?id=9646
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Нужна система документооборота собирать "галочки"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]