Логика для согласования документов

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • pulat
    Junior Member
    • Oct 2019
    • 3

    Логика для согласования документов

    Привет всем. Подскажите пожалуйста, как написать логику для согласования документов с выбором пользователей или групп. Установленна обычная версия без дополнений.Возможно ли это?
  • Maximus
    Senior Member
    • Nov 2018
    • 2731

    #2
    Здравствуйте,
    В базовой версии программы есть возможность использовать формулу https://github.com/espocrm/documenta...ion/formula.md. Формула не имеет такого объема возможностей как Рабочие потоки https://github.com/espocrm/documenta...n/workflows.md или Управления бизнес-процессами https://github.com/espocrm/documenta...tration/bpm.md. Опишите пожалуйста как конкретно должна выглядеть логика?

    Comment

    • pulat
      Junior Member
      • Oct 2019
      • 3

      #3
      Originally posted by Maximus
      Здравствуйте,
      В базовой версии программы есть возможность использовать формулу https://github.com/espocrm/documenta...ion/formula.md. Формула не имеет такого объема возможностей как Рабочие потоки https://github.com/espocrm/documenta...n/workflows.md или Управления бизнес-процессами https://github.com/espocrm/documenta...tration/bpm.md. Опишите пожалуйста как конкретно должна выглядеть логика?
      Добрый день Максим.
      Имеется -
      1. автор создания заявки
      2. сотрудники для согласования
      3. Руководитель Компании

      1. Допустим создается документ на согласования, далее загружается файл, указываются надписи (текст, имя контрагента, наименование договора и др.)
      2. Выбираются пользователи или группа пользователей для согласования.
      3. отправляется на согласования.
      4. сотрудник получает в кабинете уведомления что есть заявка для согласования ставит одобрить (ставится галочка или значок или др.) если нет (описывается уведомление и возвращается автору заявки).
      5. Если все одобрили, то приходит заявка Руководителю он ободряет или нет.
      6. Автор видит что все согласованно уходит заявка в Архив.

      Comment

      • Maximus
        Senior Member
        • Nov 2018
        • 2731

        #4
        Такой алгоритм возможен только с использованием bpm (Управления бизнес-процессами).
        Last edited by Maximus; 10-30-2019, 11:36 AM.

        Comment

        • pulat
          Junior Member
          • Oct 2019
          • 3

          #5
          Originally posted by maximus
          такой алгоритм возможен только с использованием bpm (управления бизнес-процессами).
          а в этой программе есть расширение для bpm?

          Comment

          • Maximus
            Senior Member
            • Nov 2018
            • 2731

            #6
            BPM доступен только в расширении Advanced Pack https://www.espocrm.com/extensions/advanced-pack/.

            Comment

            • VikinGDM
              Member
              • Feb 2019
              • 92

              #7
              Добрый день Максим.
              Пытался сделать такое с помощью BPM. Получается довольно коряво. Реализуемо конечно несколькими вариантами, но суммарно не устраивает, а именно то что есть необходимость как в стандартной сущности "Встречи" иметь "участники", чтобы отправить е-мэйлы со ссылками "согласен/несогласен" из которых можно увидеть обратную связь этих участников. Через BPM можно либо разослать всем мыло, либо через process task запрашивать согласование. Хотя можно вообще сделать "квадратно" - отправлять мыло с ссылкой на process task. Но это уже костыли.
              А теперь вопрос )))))
              Как в кастомную сущность добавить функционал панели "Attenders"?

              Comment

              • Maximus
                Senior Member
                • Nov 2018
                • 2731

                #8
                Здравствуйте,
                "Attenders" нужно добавлять в ручную. Вы можете проанализировать код. Взгляните на эти файлы:
                1. /application/Espo/Modules/Crm/Resources/metadata/entityDefs/Meeting.json;
                2. /application/Espo/Modules/Crm/Resources/metadata/clientDefs/Meeting.json;
                3. /application/Espo/Modules/Crm/Controllers/Meeting.php;
                4. /client/modules/crm/src/views/meeting/detail.js

                Comment

                • VikinGDM
                  Member
                  • Feb 2019
                  • 92

                  #9
                  Добрый день.
                  После анализа
                  PHP Code:
                  /application/Espo/Modules/Crm/Resources/metadata/entityDefs/Meeting.json; 
                  
                  Стало очевидно, что copy/past сделать не получится. т.к. написаны прямые sql запросы:
                  PHP Code:
                    "acceptanceStatus": {
                             ...
                             "<>": "meeting.id NOT IN (SELECT meeting_id FROM contact_meeting WHERE deleted = 0 AND status = {value}) AND meeting.id NOT IN (SELECT meeting_id FROM meeting_user WHERE deleted = 0 AND status = {value}) AND meeting.id NOT IN (SELECT meeting_id FROM lead_meeting WHERE deleted = 0 AND status = {value})",
                             ... 
                  
                  Возможны ли дополнительные варианты решения данной задачи?

                  Comment

                  • Maximus
                    Senior Member
                    • Nov 2018
                    • 2731

                    #10
                    > copy/past сделать не получится. т.к. написаны прямые sql запросы.
                    A отредактировать их под себя не получится? Какого у вас типа сущность и как называется (не лейба а key_value)?

                    Comment

                    • VikinGDM
                      Member
                      • Feb 2019
                      • 92

                      #11
                      Скажу честно. С меня такое себе "программист".
                      Помочь мне правтически некому, поэтому и пишу тут.
                      На данный момент пробую через BPM. если не получится, буду пробовать ковыряться в коде.

                      Как в BPM создать Process User Task для каждого пользователе указанного в одном поле?

                      Comment

                      • Maximus
                        Senior Member
                        • Nov 2018
                        • 2731

                        #12
                        Один Process User Task на одного пользователя. Добавить список пользователей нельзя.
                        Как по мне то ваша идея с добавлением поля участников отлично подходит для согласования.

                        Comment

                        • VikinGDM
                          Member
                          • Feb 2019
                          • 92

                          #13
                          Не могли бы Вы тогда мне немного помочь с исправлением json. а то я переживаю, т.к. система уже частично боевая...

                          Comment


                          • VikinGDM
                            VikinGDM commented
                            Editing a comment
                            Подскажите, пожалуйста, какие файлы достаточно создать, чтобы после ребилда создалась новая сущность?
                        • VikinGDM
                          Member
                          • Feb 2019
                          • 92

                          #14
                          Maximus , день добрый.
                          обновился Advance pack и как я понял по realese notes появилась возможность создавать targetlink и получать результат перехода.
                          Не могли бы Вы привести пример реализации данного функционала?

                          Так же ни как не могу понять как в BPM реализовать прикрепление вложений сущности к письму.
                          Заранее спасибо за помощь.

                          Comment

                          • Maximus
                            Senior Member
                            • Nov 2018
                            • 2731

                            #15
                            Здравствуйте,
                            я уже написал в одном из ваших постов о примере как создать список участников. Пример находится здесь https://forum.espocrm.com/forum/deve...6690#post56690.

                            Comment

                            Working...