Ранее был ответ на вопрос:

"Как вариант, можно попробовать перехватить Profile в котором находятся конфиги на отображение в списочном и плиточном отображении (listedConfig и tiledConfig).

К примеру в методе initProfile после вызова this.callParent(arguments) взять this.get("Profile") и динамически изменить listedConfig и tiledConfig для изменения конфигурации колонок грида."

Как динамически изменить listedConfig? Есть ли в примере?

Нравится

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

Посмотрите примеры в Вашей конфигурации в схемах ViewGeneratorV2 и ColumnUtilities.

Посмотрите примеры в Вашей конфигурации в схемах ViewGeneratorV2 и ColumnUtilities.

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

Требуется перенести базу с прода на дев с целью тестирования.

Но возникает вопрос - когда я восстановлю бэкап и запущу IIS, у меня запустятся все БП по расписанию, чего очень нужно избежать. 

Каким образом отключить эти БП sql-скриптом до старта IIS (все имена известны), чтобы результат был аналогичен действию из библиотеки процессов? И они не стартовали?

Нравится

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

Внесите ваши процессы (их SysSchemaId) в таблицу SysProcessDisabled (список отключенных БП)

Выбрать SysSchema.Id можно по их имени запросом:

SELECT id FROM SysSchema ss WHERE ManagerName='ProcessSchemaManager' AND name IN ('MIRegCRF0', 'MICRFdatecontrolM',

'SendResolution',

'IncidentRegistrationFromEmailProcess',

'SetOrderInWorkFromOperatorSingleWindowProcess')

 

Внесите ваши процессы (их SysSchemaId) в таблицу SysProcessDisabled (список отключенных БП)

Выбрать SysSchema.Id можно по их имени запросом:

SELECT id FROM SysSchema ss WHERE ManagerName='ProcessSchemaManager' AND name IN ('MIRegCRF0', 'MICRFdatecontrolM',

'SendResolution',

'IncidentRegistrationFromEmailProcess',

'SetOrderInWorkFromOperatorSingleWindowProcess')

 

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

Коллеги, приветствую.

После добавления поля в объект и обновления пакета на целевой системе при любой попытке изменений вылетает ошибка:

Column name or number of supplied values does not match table definition.

Никто с таким не сталкивался?

Нравится

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

После добавления поля вы выполнили компиляцию?

В конфигурации выведите колонку Требукт обновления в БД и посмотрите не установлен ли этот признак. Если установлен то выполните выделив ваш объект Структура БД-Обновить для выбранных.

Если признак не установлен то выполните генерацию исходного кода, перекомпелируйте конфигурацию, очистите рэдис

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

Я правильно понимаю, что на тестовом сайте такой ошибки не наблюдается?

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

Алла Савельева,

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

Проверил соответствие колонок в конфигураторе и в БД - совпадают.

Возможно проблема связана с Кейсом - зомби. Опишу его в отдельном запросе.

Фёдоров Александр Сергеевич,

А в консоли есть какие-то ошибки?

Посмотрите профайлером какой запрос идет в базу данных.

После добавления поля вы выполнили компиляцию?

В конфигурации выведите колонку Требукт обновления в БД и посмотрите не установлен ли этот признак. Если установлен то выполните выделив ваш объект Структура БД-Обновить для выбранных.

Если признак не установлен то выполните генерацию исходного кода, перекомпелируйте конфигурацию, очистите рэдис

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

Добрый день!



Нужен совет экспертов по bpm'online marketing.

Сравниваем статистику по лидам от Google Analytics и bpm'online marketing. И заметили одно расхождение:

bpm'online marketing источником всегда ставит источник последнего входа на сайт.

Google analytics тоже всегда ставит источник последнего (за 6 месяцев) не прямого входа на сайт (причем, прямым входом Google считает даже Organic search). 



Подскажите, пожалуйста:

1. Можно ли исправить данное поведение bpm'online marketing?

2. Можно ли реализовать multi-touch модель, чтобы фиксировать все источники входа контакта на сайт (трекинг событий сайта позволяет фиксировать источники?)

Нравится

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

Информация по работе трекинга и определению источников лидов есть в соответствующих статьях. Источники перехода на сайт определяются по UTM-меткам. Переходы по сайту можно анализировать только внутри своего сайта.

Google Analytics устроена значительно сложнее и её поведение может отличаться.

Когда есть utm-метки, вопросов не возникает.

Они появляются, когда utm-меток нет. Стандартный пример:

1. Посетитель перешёл на сайт по платной рекламе (paid search), посмотрел, добавил сайт в закладки.

2. Затем по закладке перешёл на сайт и заполнил контактную форму.

В итоге Google Analytics разумно посчитает, что лид пришёл по источнику paid search, а bpm'online не сможет определить источник лида, что искажает результаты работы маркетинга

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

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

Всем доброго дня.

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

При переходе по статусам в старых записях на экран выдаётся сообщение об ошибке: "Процесс с идентификатором "<здесь разные guid'ы>" не найден".

Подскажите, пожалуйста, как можно эту ошибку исправить? Может очистить какую-либо таблицу?

Нравится

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

Уже обсуждалось тут

Григорий Чех,

Смотрел в своё время ту тему. В журнале процессов пусто. Из кейса ничего не стартует - только ошибку выдаёт.

Причём это не идентификатор процесса, это похоже на идентификатор экземпляра процесса, который теперь у приложения не получается найти.

Искал этот идентификатор через базу. Нашёл его в нескольких служебных таблицах, но раскрутить связи пока не получилось.

Фёдоров Александр Сергеевич,

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

Было аналогичное при смене стадии в разделе «Сделки». Тоже  изменялись процессы, которые привязаны к состоянию сделки (настройка кейсов) — добавили новые процессы, убрали и изменили несколько процессов.

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

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



По информации от разработчиков продукта, если элемент завершается с ошибкой из-за дедлока,  то может быть выполнен автоматический откат транзакции, поэтому и нет записей в таблице SysProcessElementData (дедлок был при попытке записи в таблицу). Такое поведение связано с ошибкой в движке процессов, которое исправлено в версии 7.11.

У Вас и так 7.11, попробуйте обновиться до последней 7.11.3 или ещё дальше.

Мотков Илья,

Очень похоже на описанное... Сейчас на 7.11.3. Будем планировать обновляться...

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

Коллеги, доброго дня! Возникла потребность выдать права на чтение всех разделов системы. Логично подумала, что выдав права к системной операции [Просмотр любых данных] я полностью ее покрою, но нет. Раздел [Журнал процессов] оказался недоступен.

Это нормальное поведение системы? И если да, то что порекомендуете?

Нравится

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

Здравствуйте! Что касается журнала процессов попробуйте данную настройку - http://prntscr.com/nafckz&nbsp;

Включите пользователя, которому нужны права на чтение всего, в группу [Системных администраторов].

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

Здравствуйте! Что касается журнала процессов попробуйте данную настройку - http://prntscr.com/nafckz&nbsp;

Алексей, спасибо! Это то, что нужно

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

Добрый день. 

Не все оповещения уходят пользователям, активность тип email, остаются в черновиках в состоянии "Не отправлено", приходится отправлять вручную. Как установить причину ? Или как отправить "разом" все оповещения за день, нету возможности выбора всех писем. Сама почта работает стабильно, проверяли. Прошу помочь.

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

Нравится

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

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

Как происходит отправка уведомлений и проблема касается только уведомлений или и других почтовsых сообщений? Скорее всего есть БПР который отправляет уведомления, проверьте какой тип отправки указан в нем, ручная отправка или автоматическая?

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

Как происходит отправка уведомлений и проблема касается только уведомлений или и других почтовsых сообщений? Скорее всего есть БПР который отправляет уведомления, проверьте какой тип отправки указан в нем, ручная отправка или автоматическая?

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

При установке пакета через интерфейс системы установка приложений возникла ошибка (из-за вручную внесённых изменений в таблицы в БД - хулигану уже настучали по рукам) и система предложила откатиться до состояния пакетов из бэкапа.

При откатывании тоже возникла ошибка и система сообщила, что восстановление из бэкапа невозможно.

При этом в интерфейсе системы и в БД пропали некоторые поля и такое ощущение, что система откатилась примерно на месяц назад.

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

Нравится

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

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

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

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

Добрый день! 



Может ли кто-нибудь подсказать, данные каких таблиц нужно переносить для полного переноса настроек мобильного приложения через SVN на разные среды?



Требуется перенести только наполнение таблицы SysMobileWorkplace?

Нравится

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

Если речь о доработанных в мастере или вручную мобильных карточках: новых и изменённых полях, деталях и подобном, то нужно смотреть, были ли изменения у схем, которые могут к этому разделу относиться. Например, для контрагента: MobileAccountGridPage, MobileAccountGridPageSettingsDefaultWorkplace, MobileAccountModelConfig, MobileAccountModuleConfig, аналогично по каждой детали. И переносить на другую базу нужные схемы.

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

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

В продолжаю изучение бизнес-процессов. Кейс следующий:

В элементе "Читать данные" в разделе "Значение каких колонок вычитать?" вывожу колонку Название (string). Затем в бизнес-сценарии хочу ее передать и проанализировать. Каким образом передаются эти значения?

Спасибо!

Нравится

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

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

string myString = Get&lt;string&gt;("myParameter");

 

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

string myString = Get&lt;string&gt;("myParameter");

 

Alex Zaslavsky,

Спасибо, попробую!

Получить и обработать коллекцию в интрпритируемом БП можно примерно так:  

var entities = Get&lt;ICompositeObjectList&lt;ICompositeObject&gt;&gt; ("ReadDataUserTask1.ResultCompositeObjectList");
var result = "";
foreach(var entity in entities) 
{
   var cityName = entity.GetTypedColumnValue&lt;string&gt;("Name");
}
Если нужна только одна прочитаная запись то получить ее можно так:
var entity = entities.FirstOrDefault();
 
Показать все комментарии