Всех приветствую.

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

Интересует пользовались ли уже реализованными в базовой версии методами или разрабатывали свои и почему был сделан такой выбор?

Нравится

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

Например, был опыт с попытками починить календарь в 3.3.2, когда при нестандартных настройках начала недели в Windows вел себя странно.

 

Алла, а в чём твой вопрос по нынешнему календарю? Есть какие-то пожелания по доработке в новых версиях «коробки» или в отдельных дополнениях?

 

Зверев Александр,

 

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

Алла, есть справочник:

В продуктах Creatio service enterprise, customer center и bank customer journey в справочнике [Календари] можно настроить разные виды календарей, используемых в процессе обслуживания клиентов, в соответствии с условиями их сервисных договоров. Например, если ваши клиенты и сотрудники службы поддержки находятся в разных часовых поясах, настроенный календарь позволит избежать рассогласования при обработке обращений. В продуктах Creatio customer center и bank customer journey справочник используется при заполнении страницы сервиса, а в продукте Creatio service enterprise — сервисного договора.

В продукте Creatio sales enterprise в справочнике [Календари] можно настроить разные виды календарей, используемых при планировании визитов торговых представителей. Справочник используется приложениями Field force и Pharma, доступными в Creatio marketplace, при заполнении профиля пользователя и страницы врача.

Показать все комментарии

Добрый день!

Подскажите, как в системе Service Enterpise правильно настроить календарь 24x7 в справочнике Календари.

Если указывать рабочее время с 0:00 до 23:59 то при подсчёте, например, кол-ва минут

между датами регистрации и планового решения обращения с учетом  календаря 24x7, теряются минуты.

Для рас чета используется функция  GetWorkingTimeSpan из схемы TermCalculatorActions.

Пример:

Дата создания: 2019-10-01 12:21:54.0000000

Дата планового решения: 2019-10-03 12:21:39.0000000

Срок решения: 2 календарных дня.

sql datediff: 2880 минут

расчёт с учетом календаря: 2878

 

Нравится

1 комментарий
Лучший ответ

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

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

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

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

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

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

Показать все комментарии

Добрый день, коллеги!

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

На вход процесса нужно подать дату и календарь.

Можно использовать в качестве подпроцесса в своих процессах.

Прикрепленные файлы

Нравится

Поделиться

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

Здравствуйте, Руслан.

Возможно, будет удобнее выложить данное решение на marketplace, так как на community в ленте не всегда можно быстро найти нужный пост?

Показать все комментарии

Реализовал разделение календаря по сотрудникам в фильтре через кучу diff. Встал вопрос - как наполнить каждый разными данными?
По умолчанию activityCollection планировщика указан как ScheduleGridData. Соответственно, на каждый календарь на странице создаю ScheduleGridData0, ScheduleGridData1, ScheduleGridData2 и так далее и подставляю эти значения в каждый activityCollection, но календари становятся вообще пустыми. Я так понимаю, вопрос в методах отрисовки, но тогда придется переписывать половину CRM.
Подскажите, как каждый календарик наполнить своим содержимым или что нужно изменить?

Вот пример одного из календарей

{
            "operation": "insert",
            "name": "Schedule0",
            "parentName": "DataViewsContainer",
            "propertyName": "items",
            "values": {
                 "id": "ActivitySectionV2Scheduler0",
                 "selectors": {"wrapEl": "#ActivitySectionV2Scheduler0"},
                 "itemType": Terrasoft.ViewItemType.SCHEDULE_EDIT,
                 "visible": {"bindTo": "isSchedulerVisible0"},
                 "startHour": Terrasoft.SysSettings.cachedSettings.SchedulerTimingStart,
                 "displayStartHour": Terrasoft.SysSettings.cachedSettings.SchedulerDisplayTimingStart + "-00",
                 "dueHour": Terrasoft.SysSettings.cachedSettings.SchedulerTimingEnd,
                 "timeScale": {"bindTo": "getTimeScale"},
                 "period": {"bindTo": "getSchedulerPeriod"},
                 "timezone": [{}],
                 "startDate": null,
                 "dueDate": null,
	         "activityCollection": {"bindTo": "ScheduleGridData0"},
                 "selectedItems": {"bindTo": "SelectedRows"},
                 "changeSelectedItems": {"bindTo": "onChangeSelectedItems"},
                 "scheduleItemDoubleClick": {"bindTo": "onScheduleItemDoubleClick"},
                 "scheduleItemTitleMouseOver": {"bindTo": "scheduleItemTitleMouseOver"},
                 "scheduleItemTitleClick": {"bindTo": "scheduleItemTitleClick"},
                 "change": {"bindTo": "changeScheduleItem"},
                 "selection": {"bindTo": "SchedulerSelection"},
                 "floatingItemsCollection": {"bindTo": "SchedulerFloatItemsCollection"},
                 "selectionKeyPress": {bindTo: "onSelectionKeyPress"},
                 "floatingItemReady": {"bindTo": "onFloatingItemReady"},
                 "selectionKeyPressSymbols": {"bindTo": "SchedulerSelectionPressedKeys"},
                 "itemBindingConfig": {
                     "itemId": {"bindTo": "Id"},
                     "title": {"bindTo": "getScheduleItemTitle"},
                     "changeTitle": {"bindTo": "onTitleChanged"},
                     "startDate": {"bindTo": "StartDate"},
                     "changeStartDate": {"bindTo": "onStartDateChanged"},
                     "dueDate": {"bindTo": "DueDate"},
                     "changeDueDate": {"bindTo": "onDueDateChanged"},
                     "status": {"bindTo": "getScheduleItemStatus"},
                     "changeStatus": {"bindTo": "onStatusChanged"},
                     "background": {"bindTo": "Background"},
                     "fontColor": {"bindTo": "FontColor"},
                     "isBold": {"bindTo": "IsBold"},
                     "isItalic": {"bindTo": "IsItalic"},
                     "isUnderline": {"bindTo": "IsUnderline"},
                     "markerValue": {"bindTo": "getScheduleItemHint"}
                   },
                   "floatingItemBindingConfig": {
                        "caption": {"bindTo": "getSimpleModuleCaption"},
                        "width": {"bindTo": "getSimpleModuleWidth"}
                   }
}

 

Нравится

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

Смотрите, как реализовано расписание для нескольких пользователей в дополнении «Advanced schedule for bpm'online». 

Показать все комментарии

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

Нравится

2 комментария
Лучший ответ

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

 

 

Возможно вам будут полезны эти приложения 1 2 3 доступные на меркетплэйсе

 

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

 

 

Возможно вам будут полезны эти приложения 1 2 3 доступные на меркетплэйсе

 

В первом, Advanced schedule for bpm'online, как раз есть то, что Вы хотите:

Дополнение платное, но есть «тест-драйв», можно установить и посмотреть, как оно сделано.

Показать все комментарии

Добрый день!

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

Нравится

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

По умолчанию при добавлении фильтра по колонке «Дата/Время» не учитывается время. Необходимо в параметрах элемента «Читать данные» дополнительно проставлять признак «Учитывать время в фильтре» (изначально стоит false).

Показать все комментарии

Добрый день.

Подскажите, пожалуйста, была ли реализована идея Выбор календаря Google при настройке синхронизации?

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

неа. насколько я помню лепят всё в календарь #название_календаря#=название почты гугла.
и не обновляют google api. и newtonsoft тоже. безобразие sad

Здравствуйте, Станислав!

К сожалению, на текущий момент данный функционал еще не реализован в базовой версии.

Передали данную идею команде разработки для повышения приоритета.

 Коллеги, немного не по теме, но все же - Newtonsoft обновили. В bpm'online 7.11.1 версия Newtonsoft.json.dll - 10.0.3

Показать все комментарии

Добрый день.

Возникла следующая задача: у меня в карточке есть поле "Рекомендуемая дата запуска". Значение в это поле должно проставляться автоматически, как : текущая дата + 10 рабочих дней, например. Учитываться должны только рабочие дни, исключая выходные\праздники, которые указаны в календаре (использую типовой календарь в системе, там указываю время рабочего дня, а так же все нужные праздники). Как мне обратиться к данному календарю? Как мне рассчитать верно дату?

P.S: Данную дату мне нужно проставлять в определенный момент в ходе бизнес-процесса.

Нравится

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

Добрый день!

Расчет рабочего времени в обращениях с учетом праздников/выходных это результат выполнения функций, в системе нет одного объекта с помощью которого можно решить задачу.

Это комплексный механизм, последовательность и название всех задействованных функций можно определить с помощью отладки.

Рекомендую ознакомится с таблицами и связями в них (названия колонок интуитивно названы с учетом на какую таблицу они ссылаются): WorkingTimeInterval -> DayInCalendar/DayOfWeek - > Calendar.

Все задействованные схемы находятся в пакете Calendar.

Классическая задача. Например, в БП можно решить скриптом:

https://stackoverflow.com/questions/4604461/c-sharp-datetime-to-add-sub…

Показать все комментарии

Доброго времени суток, коллеги.
Использую Terrasoft CRM 3.3.2.
Подскажите, есть ли возможность заставить стандартный элемент управления "Календарь" отображать более одного месяца одновременно? И можно ли на нем выделить (подсветить) несколько несвязанных диапазонов дат? Примерно как на картинке во вложении (часть дат выделена полужирным шрифтом).

Нравится

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

Добрый день.

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

Спасибо, буду смотреть.

Показать все комментарии

Прошу пересмотреть логику отображения активностей в расписании.

1. Отображать разные виды активностей разным цветом. Например, мы в vtiger CRM меняли цвет стандартной встречи, звонка, задачи с голубого на зеленый для встреч, желтый для задач, голубой для звонков. При недельном или дневном представлении календаря очень удобно видеть критичные по времени и месту встречи, критичные по времени звонки и не критичные по времени и месту задачи.

2. Убрать наложение активностей в расписании. Если на 18.07.15 в 15:00 есть задача, звонок и начало встречи в 15:45, то их все нужно отображать в дневном или недельном представлении, не смешивая в месиво, как это есть в текущей версии бпм. нужно растягивать ячейку 15:00, чтобы туда поместились все 3 активности с отображением заголовка активности. см вложенный скриншот.

3. "Починить" фильтр по ответственному (По ответственному сотруднику). Было бы очень удобно, чтобы этот фильтр показывал активности того сотрудника, который является "ответственным" по активности, а не участником активности.

4. Доработайте бесполезную "что я могу для вас сделать" в полноценную строку поиска по всей базе CRM согласно рамок прав доступа пользователя. Чтобы введя туда "Улан" я нашел все контакты с этим именем, все упоминания в активностях и ленте, контрагентах и т.п. Поиск должен работать по нажатию Enter, а не заставлять нажимать Go.

5. Сделать быстрый поиск в реестрах Контрагент, Контакт, Продажи. Чтобы строки поиска были вверху реестра, и можно было задавать ряд параметров поиска - название, сайт и т.п. без создания каждый раз нового фильтра.

Нравится

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

Вот по всем пунктам поддержу!
Особенно про строку поиска :twisted:

Показать все комментарии