Вопрос

Добрый день!

Подскажите, как в системе 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:

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

Пользователи платформы Terrasoft 3.X, которые начинают готовиться к наступлению нового 2016 года с начала лета, могут заметить, что список лет в календаре системы заканчивается 2015 годом.

есть и другие картинки на эту тему

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

1. Запустите программу Администратор Terrasoft (файл TSAdmin.exe) в папке Program Files\Terrasoft\Bin.
2. В программе нажмите Ctrl+F для открытия окна поиска, введите в поиск «enm_years» и нажмите кнопку «найти»:
рис. 1

3. Справа в дереве выберете найденный сервис «enm_Years», кликните по нему дважды. Откроется список годов в системе:

рис. 2

4. Нажмите слева кнопку «Новый» -> «Значение перечисления»:

рис. 3

5. Создастся новый год. В нём во всех трёх полях введите «2016» вместо того, что там есть:

рис. 4

6. Повторите пункты 4-5 для нужного числа лет.
7. Обязательно в конце сохраните правки (Ctrl+S), закройте TSAdmin (Администратор Terrasoft) и перезапустите TSClient (сама система Terrasoft).
8. Год должен появиться:

рис. 5

Поделиться

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

А можно же было и Upgrade на 7.х предложить :D

Спасибо за материал!

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