Вопрос

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

у Лида есть кейс, в котором на стадии распределения появляется задача "Распределите лид, определите стратегию взращивания лида", при нажатии на которую запускается БП Распределение лида.
Как можно реализовать аналогичное? Где можно посмотреть как это реализовано?

Глобально задача в том, чтобы преднастроенная страница отображалась в активности, но судя по всему это нельзя сделать, поэтому ищу обходные пути.

BPM'Online 7.10.0.1742

У меня такой же вопрос

4 комментария

Любовь, здравствуйте!

Описанная логика реализована в процессе "Распределение лида 7.8.0". Процесс запускается вручную. Можно сделать копию процесса, в которой элемент "Страница распределения" заменить элементом "Задача".
Предварительно в справочник "Результаты активностей" необходимо добавить три возможных результата:

  1. Интерес отсутствует
  2. Перевод в продажу
  3. Распределить позднее

Каждой записи необходимо добавить признак "Использовать только в процессе".

Далее в копии процесса необходимо удалить элемент "Преднастроенная страница" (предварительно очистив связи) и заменить его элементом задача. В исходящих условных потоках выберите результаты, в зависимости от которых, процесс пойдет по одной из веток.

Из DCM процесс можно будет вызвать как подпроцесс.

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

"Демьяник Алексей" написал:

Любовь, здравствуйте!

Описанная логика реализована в процессе "Распределение лида 7.8.0". Процесс запускается вручную. Можно сделать копию процесса, в которой элемент "Страница распределения" заменить элементом "Задача".
Предварительно в справочник "Результаты активностей" необходимо добавить три возможных результата:

  1. Интерес отсутствует
  2. Перевод в продажу
  3. Распределить позднее

Каждой записи необходимо добавить признак "Использовать только в процессе".

Далее в копии процесса необходимо удалить элемент "Преднастроенная страница" (предварительно очистив связи) и заменить его элементом задача. В исходящих условных потоках выберите результаты, в зависимости от которых, процесс пойдет по одной из веток.

Из DCM процесс можно будет вызвать как подпроцесс.

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


Алексей, спасибо за подробный алгоритм.

Поясню, что я имела в виду.
процесс "распредение лида" был приведен в качестве примера.
вообще у нас реализован свой процесс над другой сущностью . В рамках нашего процесса есть шаги, на которых пользователь должен заполнять некоторые поля. Допустим,на одном шаге 5 полей, на другом 3 и т.д. Поэтому не хочется открывать страницу редактирования полностью, а хочется открыть свою преднастроенную страничку, где только эти 5 (или 3) полей, чтоб пользователь четко видел то, что он должен заполнить и чтобы не отвлекать его остальной информацией.
но проблема в том, что преднастроенные страницы в виде задачи не отображаются в активностях, а нам нужно сделать так, чтобы как -то они отображались.
и вот я увидела кейс лида, в рамках которого есть задача "Распределите лид, определите стратегию взращивания лида", и по клику на нее открывается преднастроенная страница(судя по всему просто запускается процесс Распределения). Мне показалось, что таким образом можно решить мою проблему(отображать преднастроенную страницу в активности).
поэтому хотела узнать
1) где именно прописывается тот факт, что клик по задаче "Распределите лид, определите стратегию взращивания лида" запускает процесс распределения
2) можно ли как-то вывести преднастроенные/автогенерируемые страницы в активности (или только как вы описали через результаты активностей, но мне этот вариант не подходит, так как нужно заполнять не одно, а несколько полей и набор полей будет разным на разных шагах)

Добрый день, Любовь!

К сожалению, по страниц из БП в данный момент Активности не создаются, данное пожелание уже зарегистрировано в системе, и разработчики ядра включат данную возможность в один из ближайших релизов. Исходя из Вашего кейса рекомендуем сделать следующее - все же открывать карточку редактирования, однако скрывать "лишние" поля с помощью бизнес правил. Правила же завязать на ту колонку, по которой строятся стадии кейса.

"Кот Владимир Владимирович" написал:однако скрывать "лишние" поля с помощью бизнес правил. Правила же завязать на ту колонку, по которой строятся стадии кейса.

Это самый оптимальный вариант, пока ожидаем реализации в платформе.
При этом он довольно просто реализуется.
Описывайте поэтапную логику в JavaScript со скрытием/демонстрацией полей.

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

Добрый день, подскажите, пожалуйста, какими средствами crm можно реализовать задачу: чтобы при создании нового лида приходило уведомление менеджеру, а также создавалась задача в календаре, которая, если менеджер не выполнит указанное действие через час будет просрочена?

У меня такой же вопрос

6 комментариев

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

Задачу можно решить с помощью бизнес-процесса. Дизайн процесса будет выглядеть следующим образом:
1. Стартовый сигнал по добавлению записи в объект Лид.
2. Читать данные в лиде, где Id = Пункт 1. Id
3. Читать данные в контакте, где Id = Пункт 2. Ответственный. Подразумевается, что ответственный в лиде и есть менеджер, которому необходимо отправить уведомление.
4. Отправить письмо, в поле Кому указать Пункт 3. Email.
5. Добавить активность, в активности указать Лид = Пункт 2. Id
6. Элемент “Исключающее ИЛИ по событиям”. От этого элемента выходит два потока:
- первый поток ведет к элементу “Таймер”. В таймере указать 60 минут. После таймера добавить элемент “Изменить данные” в активности, где Id = Пункт 5. Id созданной записи, установить нужное состояние активности (в данном случае Просрочена)
- второй поток ведет к элементу “Обработка сигнала”. Элемент будет ожидать изменение состояния активности, где Id = Пункт 5. Id созданной записи, с фильтром Состояние = Выполнена.

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

Описанная задача может быть решена созданием бизнес-процесса. Логика процесса:
1) Стартовый сигнал по событию добавления записи в объект "Лид"
2) Элемент "Добавить данные" для создания записи в объекте "Активность". Необходимо заполнить поля:
Тип
Категория
Ответственный
Заголовок
Дата начала
Дата завершения
Лид
3) Элемент "Добавить данные" для создания уведомления. Необходимо заполнить следующие поля:
NotificationType: [#Справочник.Тип уведомлений.Reminding#]
Время: [#Системная переменная.Текущее значение даты и времени#]
Кому: [#Ответственный#]
Объект: [#Справочник.Объект раздела (представление).Активность#]
Уникальный идентификатор заголовка: [#Создать активность.Id созданной записи#]
4) Конец процесса.

В результате при создании лида будет запущен созданный процесс, который создаст активность и уведомление по активности

Большое спасибо за помощь. :smile:
Еще такой вопрос: если создавать активность и по активности выводить уведомление в панель - все отлично работает. Но если я вывожу уведомление по созданию нового контакта без активности, то уведомление как бы приходит, но в таком виде: 30 и звоночек не появляется.
ContactNotficationProvider в схемах присутствует. В чем может быть проблема?

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

А провайдер зарегистрирован? Подобная тема обсуждалась здесь.

Добрый вечер, спасибо за отклик.
ContactNotificationProvider шел изначально в сборке
, его тоже необходимо дополнительно регистрировать?
Не подскажите какими средствами осуществлять запуск sql скриптов в bpmonline 7.9, чтобы осуществить регистрацию?

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

Для выполнения sql запросов в системе Вы можете воспользоваться партнерским решением https://marketplace.terrasoft.ru/app/49

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

Добрый день!

Подскажите, как можно автоматически выполнить задачу по процессу в TS 3.X?
Например, стоит задача "проверить оплату". И каждую ночь система проверяет (в базе данных или с вызовом приложения), получена ли оплата.
Если получена, то необходимо закрыть задачу, как выполненную и перейти к следующему шагу процесса.

У меня такой же вопрос

6 комментариев

Владимир.
Сделать то, что Вы хотите можно прописав все необходимые действия кодом,
который выполнять в нужное время по таймеру. Для TS 3.4 и старше через
раздел JobManager, для более ранних версий, через планировщик Windows,
или какой-то свой крон. В скриптах можно и задачу закрыть, и следующую поставить.
Мы подобное делали, если нужна конкретная помощь, пишите в личку.

"Тимофеев Александр" написал:
Для TS 3.4 и старше

У клиента 3.3.2
Боюсь, upgrade будет слишком трудозатратен

Мы пользовались программой nnCron (https://ru.wikipedia.org/wiki/NnCron).
Ее версия Lite бесплатна, но обеспечивает все необходимое и ставится как сервис.
Скрипты запускаются через WSH в командной строке. Прописываем коннект к конфигурции
и выполнение скриптов. Примеры есть в SDK. В nnCron есть логи, видно когда и что запускалось.
Можно настроить выполнение скриптов без отображения. Только надо установить параметр
AsLoggedUser OFF в ini файле и запускать сервис от системного пользователя, чтобы запускались
скрипты из командных файлов.
Больше "хитростей" нет.
Если не получится, напишите, я поищу в архивах работающий пример.

Здравствуйте, Владимир!

Можно реализовать эту функциональность на уровне базы данных в триггере.

Если получена оплата, то апдейтить данную задачу и элемент процесса, который с ней связан, а после этого создавать новый элемент процесса и новую задачу, которая идет следующим шагом по процессу.

Найти элемент задачи можно по полю WorkflowItemID в tbl_Task, а искать в tbl_WorkflowItem. В tbl_WorkflowItem определить WorkflowID для следующего элемента, который нужно создать (так в базовой версии, в Вашей версии могут быть отличия).

"Савельева Алла" написал:Можно реализовать эту функциональность на уровне базы данных в триггере

Наверное, на уровне БД параметры процесса не поменять...

"Владимир Соколов" написал:Наверное, на уровне БД параметры процесса не поменять...

Такие ограничения данного варианта решения есть и описанное Вами основное, хотя на самом деле все зависит от того, какой параметр нужно передать.

В некоторых случаях можно.

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

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

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

Доброго дня.
Подскажите пожалуйста, не знаю как решить проблемку:
Делал автоматическую нумерацию задач и возникла необходимость пронумеровать все старые задачи (которые были созданы до автонумерации. Они имеют номер 0)
Если у меня последняя задача с номером 4000, то необходимо пронумеровать старые начиная с 4001+

Надеюсь на Вашу помощь.

Terrasoft XRM 3.3.2.43

У меня такой же вопрос

7 комментариев

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

Выполните обновление записей в БД. Получите список всех записей в таблице tbl_Task у которых номер равен нулю, затем для каждой полученной записи выполните update.

Также, если текущее значение счётчика хранится в системной настройке, его стоит увеличить на количество перенумерованных задач.

Да, значение счетчика хранится в системной настройке.
А автоматизировать каким-либо образом можно сие действие?

Вам же надо обновить 1 раз.

Можно написать SQL-скрипт и запустить.

Cпасибо большое за помощь

Сделал следующим образом:
alter table [Table_name] drop column 'Colomn_Name'
alter table [Table_name] add 'Colomn_name' int identity

Войдите или зарегистрируйтесь, чтобы комментировать
Публикация
  • Автор: Толмачев Дмитрий
  • Организация: Программные технологии
  • Применимо: bpm'online 7.x / 5.x
  • Дата: 15.05.2015

История одного действия

В данной статье речь пойдет о создании пользовательского действия бизнес-процесса на основе уже существующего. Думаю, что все знакомы с таким замечательным действием БП как «Выполнить задачу» (рис. 1), который позволяет настроить создание активности и поднять карточку.

1

Рис.1 http://take.ms/K3T3i

Но мое любимое свойство этого действия – это возможность за счет последующего ветвления ограничить количество предлагаемых результатов и вывести результаты в виде цветных кнопок (рис. 2)

2

Рис.2 http://take.ms/zP5L0

К сожалению его использование ранее прекращалось, как только в активность добавлялось новое поле, которое необходимо динамически заполнять в БП. А такая ситуация случалась чуть чаще чем постоянно.

Вместо этого приходилось придумывать разного рода конструкции вида:

1) Использование страницы редактирования

3

Рис 3. http://take.ms/2VBdo

2) Использование промежуточного сигнала на изменение активности

4

Рис 4. http://take.ms/OKNVH

Но оба эти варианта не позволяли увидеть «красивые кнопочки» результата. К тому же приходилось дополнительно либо искусственно ограничивать результаты, либо создавать для каждой задачи свою категорию.

Решение

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

• ActivityUserTask / Выполнить задачу [Действие]

• ActivityUserTaskParametersEditPage / Страница редактирования параметров действия «Выполнить задачу»

К сожалению, не найдя способа заместить действие решил воспользоваться старым добрым экспорт/подмена UId/импорт. Экспортировав схему ActivityUserTask заменил (везде) в ней 3 интересующие меня значения

• Название схемы: ActivityUserTask -> SmrActivityUserTask

• Заголовок: Выполнить задачу -> Выполнить настраиваемую задачу

• UId: b5c726f2-af5b-4381-bac6-913074144308 -> b5c726f2-af5b-4381-bac6-913074144309 [!]

[!] Обязательно стоит проверить на существование данный UId в таблицe SysSchema. В случае совпадения наша новая схема заменит уже существующую при импорте. Далее импортируем действие в свой пакет (я предпочитаю хранить пользовательские действия в отдельном пакете)

5

Рис 5. http://take.ms/83Tjj

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

Для удобства также создадим свою страницу редактирования на базе старой: «Добавить» -> «Страница». В качестве родительской выбирается:

• Страница редактирования параметров действия "Выполнить задачу"

6

Рис 6. http://take.ms/9sw5B

Предположим, что мы создали новый раздел «Обращение» / SmrCase и в активности добавили на него ссылку. Теперь мы хотим использовать это «Обращение» в нашем действии.

Настройка страницы

Добавим новое справочное поле на страницу:

1. Добавим «Поле параметра» в контейнер «Связи активности»

7

Рис 7. http://take.ms/Z9s1p

Свойства элемента: • Название: SmrCaseEdit • Подпись: Обращение • Тип данных: Справочник

2. Пропишем привязку поля к параметру действия (сам параметр создадим в действии чуть позже):

Необходимо на странице переопределить метод «GetActivityControlsBinding»

8

Рис 8. http://take.ms/uFEkh

    Dictionary string, Terrasoft.UI.WebControls. WebControl > customBinding = base .GetActivityControlsBinding();
    customBinding.Add( "SmrCase", Page.SmrCaseEdit);
    return customBinding;

Настройка Действия

Для начала привяжем действие к странице. Для этого в свойствах действия укажем

• Страница редактирования параметров = Страница редактирования параметров действия "Выполнить настраиваемую задачу"

Можно также указать свое изображение действия. Теперь необходимо дополнить логику нашего действия с учетом добавленного поля:

1) Добавим новый параметр в действие «SmrCase»

Название: SmrCase

Подпись: Обращение

Тип данных: Справочник

Справочник: Обращение

Схема: SmrCase

2) Изменить метод «CreateActivity», добавив обработку параметра SmrCase.

    var activity = new Terrasoft.Configuration.Activity(UserConnection);
    activity.SetDefColumnValues();
    // SmrCase
    var columnSmrCase = activity.Schema.Columns.FindByName( "SmrCase" );
    if (columnSmrCase != null && SmrCase != Guid .Empty)
    {
        activity.SetColumnValue(columnSmrCase, SmrCase);
    }
    //...

3) Изменить метод «CompleteExecuting», добавив обработку параметра SmrCase.

    var activity = parameters[0] as Terrasoft.Configuration.Activity;
    if (activity == null)
    {
        return false ;
    }
    // SmrCase
    var columnSmrCase = activity.Schema.Columns.FindByName( "SmrCase" );
    if (columnSmrCase != null)
    {
        object smrCase = activity.GetColumnValue(columnSmrCase);
        if (smrCase != null )
        {
            SmrCase = ( Guid)smrCase;
        }
    }
    //...

Добавить действие в список действий БП

В общем случае для использования, созданного нами действия можно воспользоваться элементом «Действие процесса» в свойствах которого указать:

• Действие: Выполнить настраиваемую задачу

Но если этот элемент используется действительно часто можно добавить его в общий список. Для этого необходимо зарегистрировать ее в БД. В общем случае достаточно прописать скрипт:

INSERT INTO [dbo] . [SysProcessUserTask] (
        [SysUserTaskSchemaUId] ,
        [IsQuickModel] ,
        [Caption]
        )
VALUES (
        (SELECT TOP 1 UId FROM SysSchema   WHERE ( Name = 'SmrActivityUserTask' )),
       1 ,
        'Настраиваемая задача' )
GO

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

Вот что у нас получается в результате:

9

Рис 9. http://take.ms/G2PDS

Теперь мы можем использовать свое собственное (настраиваемое!) действие для создания задачи.

Поделиться

1 комментарий

Очень помогло. Спасибо!

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

Добрый день! Появилась такая задача: добавить новое поле, тип справочник в карточку "Задача", данные подтягиваются из справочника ответственных, нужно что бы при закрытии карточки отправлялся e-mail не только ответственному и автору, а ещё и человеку из нового поля.Поле добавил, а вот проблема с отправкой. Вроде бы нужно сделать по аналогии с тем что есть(отправкой ответственному например), но зашёл в ступор, не могу найти отправную точку... Буду рад любой возможной помощи. Заранее спасибо!

У меня такой же вопрос

2 комментария

Здравствуйте, Николай!
Нужно смотреть в 'scr_TaskEdit', метод 'ProcessSendMailMessageForTask()' проверяет параметр 'NeedSendMail' страницы и вызывает метод 'ProcessSendTaskEmailByContactFieldName()', описанный в 'scr_TaskUtils'.

Спасибо!)

Войдите или зарегистрируйтесь, чтобы комментировать
Идея
Добрый день.Предлагаю доработать элемент процесса "Задача" так, чтобы была возможность создавать напоминания ответственному и, возможно, автору задачи (вкл./выкл.).
Реализована
0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!

Необходимо добавить свой пункт в меню "Действия" карточки задачи и написать обработчик события нажатия. Как это можно сделать?

P.S.: информацию по добавлению действия в раздел кое какую нашел, а вот в карточку - нет.

У меня такой же вопрос

17 комментариев

Александр, здравствуйте.

В приложении инструкция по созданию действия для стандартного раздела.

Елена, ну я же специально уточнил и скриншот приложил: мне нужно добавить действие НЕ В РАЗДЕЛ, А В КАРТОЧКУ.

Александр,

Принцип добавления действия в карточку раздела аналогичен принципу добавления действия в раздел. Разница только в схемах, в которые добавляется код обработчика. Для добавления действия в раздел обработчик добавляется в схему [Название_объекта_раздела]Section. Если необходимо добавить действие в карточку раздела - изменяется схема [Название_объекта_раздела]Page.
В вашем случае необходимо создать замещающий модуль для страницы ActivityPage и добавить в него код обработчика.

В приложении инструкция по добавлению действия, в которой добавлено описание кейса по добавлению действия в карточку раздела.

Елена,

с добавлением действия справился. Теперь встал вопрос: как из кода обработчика нажатия на кнопку в разделе "Действия" получить доступ к данным на деталях, например к списку файлов?

P.S.: данные с самой карточки получаются легко согласно статье, а вот для деталей аналогичного не нашел.

Александр,

через объект получить доступ к деталям не получится. Можно использовать select и получить данные из базы данных. Например так:

var selectFilevar = 
        new Select(UserConnection)
        .Column("Name")
        .From("ActivityFilel")
        .Where("ActivityId").IsEqual(activity.Id)

Андрей,

все бы хорошо, но вот незадача: ActivityPage - это js-страница. Поэтому, чтобы ее переопределить, приходится писать на js. Код:

this.methods.showAvtivityInfo = function() {
   var activityTitle = this.get("Id");
   var esq = Ext.create('Terrasoft.EntitySchemaQuery', {
    rootSchemaName: 'ActivityFile'
   });
   esq.addColumn('Id');
   esq.addColumn('Name');
   esq.addColumn('ActivityId');
   /*var filters = esq.filters;
   var filterNameActivityId = 'ActivityId';
   var filterActivityId = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
    'ActivityId', activityTitle);
   filters.add(filterNameActivityId, filterActivityId);*/
   esq.getEntityCollection(function(result) {
    var collection = result.collection;
    if (collection && collection.collection.length > 0) {
     var item = collection.collection.items[0].values;
     this.showInformationDialog(activityTitle);
    }
   }, this);
  };

Exception выходит на строке

esq.addColumn('ActivityId');

Текст exception: [17:51:16.813] uncaught exception: -;5<5=B :>;;5:F88 A 8<5=5< ActivityId =5 =0945=

P.S.: Поля 'ID' и 'Name' отрабатывают корректно.

Александр, у Вас опечатка:

this.methods.showAvtivityInfo = function() {

Должно быть showActivityInfo.

Попробуйте использовать Select(UserConnection), как я описывал выше.

Андрей,

опечатка не существенна, потому что я вызывал функцию ниже именно по этому имени. Сейчас поменял - не помогло.
Вы описали Select(UserConnection), это применимо для C# кода, в JS коде получаем ожидаемую ошибку.
1. При сохранении (во вложении)
2. В консоли браузера:
[14:42:41.377] ReferenceError: Select is not defined @ http://stnd-bpm-02:88/0//configuration/30e6e6890bd6a8c10768d330b68949d4…

Александр,

прошу прощения, сразу не подумал.
В таком случае, не могли бы Вы скинуть полный код замещающей страницы?

Андрей,

файл во вложении.

Методом тыка и медитированя нашел решение:

esq.addColumn('Activity.Id');

Теперь вопрос в том, как вызвать свой серверный метод?
Видимо нужно использовать DLL либо .NET Managed Assemblies отсюда, но примеров нет:(

Александр, если я правильно понял, то нужно просто дописать

click: {
         bindTo: 'showActivityInfo'
        }

Андрей,
Уверен, Вы меня не правильно поняли. Я получил idшники файлов, круто. Теперь мне нужно вызвать метод, написанный на C#. На сколько я понимаю, мне для этого нужно:
1. Создать проект со сбокой dll в VisualStudio
2. Подключить сборку к dll. Как?
3. Вызвать из js-кода метод из сборки. Как?

Александр,
действительно неправильно понял. Для того чтобы вызвать «свой серверный метод» нужно написать сервис, к которому нужно обратиться из клиента, а внутри сервиса можно вызвать «свой серверный метод».

То есть варианты DLL сборки и .Net Managed сборки не подходят?
Можно тогда инструкцию/пример по написанию сервиса и вызову его из js-кода в Террасофт?

Александр, веб-сервис пишется на любом языке программирования и регистрируется в IIS.
Потом через API сервиса вызывать его методы. Пример запроса к Google с помощью jQuery:

1) Подключить jQuery в зависимые модули нашей страницы редактирования (в примере ProductPage) модуль jQuery.
2) В коде страницы добавить define('ProductPage', ['ext-base', 'terrasoft', 'sandbox', 'jQuery' …..
function(Ext, Terrasoft, sandbox, jQuery ……
3) В обработчик нажатия кнопки добавить следующий код:
var geocodingAPI = "http://maps.googleapis.com/maps/api/geocode/json?address=Россия+Москва&sensor=true";
window.jQuery.getJSON(geocodingAPI, function (json) {
console.log('json : ', JSON.stringify(json));
});

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

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

Стоит задача импортировать данные из Excel, из одного файла в разделы - Задача, Контрагент, Контакт. (Импорт проводится регулярно)

После того, как прошел импорт, менеджер через Задачу выполняет следующие действия: Контекстное меню задачи - Позвонить - Контрагент. В открывшимся окне Звонка при нажатии на кнопку Позвонить поле Контрагент удаляется.

Техподдержка ответила, что это происходит из-за того, что после импорта не заполняется деталь [Средства связи].

Пробовала:
1. после импорта запускать скрипт, который для новых Контрагентов создавал запись на деталь Средства связи. Проблема осталась.
2. затем непосредственно в настройках импорта заполняла деталь. Не помогло.

В обоих действиях на средствах связи был номер телефона. И в карточку звонка он подтягивается.

Если же открыть контрагента, сделать какие-либо изменения (например, добавить пробел в названии, убрать пробел), сохранить запись. То в таком случае звонок из задачи осуществляется нормально.

В чем проблема не понятно.

У меня такой же вопрос

6 комментариев

Действительно, в данном случае проблема из-за того, что нет информации на детали "средства связи", после того, как Вы пересохраняете карточку, отрабатывает логика нажатия кнопки "ОК" после чего, средства связи переносятся на деталь.

Не совсем понимаю, почему нет информации на детали, ведь в импорте указаны поля, и при просмотре контрагента на детали "Средства связи" отображается :

Средства связи

Если не заполнена деталь Средства связи, при попытки позвонить выдает сообщение "Для выбранного элемента не выбраны средства связи". А тут затирает Контрагента

уточните версию продукта (например 3.4.1.100), я постараюсь воспроизвести ситуацию.

Террасофт 3.3.2.127

Марина, службе технической поддержки Вы сообщили, что проблема решена.
Если она вновь возникнет, пожалуйста, сообщите.

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

Здравствуйте! Требуется настроить планирование по работе менеджера. У менеджера есть задача обзвонить и назначить определенное количество встреч. Данная информация фиксируется через Задачи.
Как сделать настройку планирования, чтобы данная настройка отображалась в Разделе Планирования?
Пробовал сделать, но почему то не вышло.
Сделал запрос по задачам, создал настройку планирования - в поле показатель выбрал поле Количество,которые сформировано в запросе из Заголовка, выбрал функцию "Сумма".
Мне кажется, не совсем правильно выбрал показатель в настройке планирования.
При нажатии кнопки "Пересчитать факт" в разделе планирования выдает ошибку
Сообщение об ошибке: Ошибка открытия источника данных "". Оригинальное сообщение об ошибке: Operand data type nvarchar is invalid for sum operator
Как вывести в настройки планирования фактическое количество Задач в показатель? И чтобы по этому показателю можно было формировать плановые данные?

Спасибо.

У меня такой же вопрос

6 комментариев

Все настроил. в Демо базе есть пример. Вопрос снимается

Добрый день. Подскажите, пож-ста, где можно глянуть пример? в какой версии TS?

Пример можно посмотреть в демо версии

спасибо!

Здравствуйте!
Настраиваю Планирование задач по примеру в демо версии. Смотрю количество задач по Ответственным. На детали Подробно для выбранного в списке ответственного отображается 4 задачи, при этом в колонке факт основной таблицы - 0,00.
Нажимаю "Пересчитать факт" ситуация сохраняется. В чем может быть причина?

Проблема решилась настройкой прав доступа.:smile:

Войдите или зарегистрируйтесь, чтобы комментировать