Добрый день!

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

Нравится

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

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

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

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

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

Страница карточки (например, AccountPageV2) и детали (например, AccountRelationshipDetailV2) задаются в разных схемах со своей логикой и связаны с разными объектами и их таблицами в базе.

Александр, в моем случае это OpportunityProductPageV2 и OpportunityProductDetailV2. 

Это не меняет сути.

Подскажите, пожалуйста, Александр, где прописана логика расчета стоимости продукта для детали OpportunityProductDetailV2. Я в схеме детали не вижу методов расчета суммы. Они есть в схеме страницы детали OpportunityProductPageV2. Я считал что метод расчета колонок берется из страницы детали.

Вероятно, во встроенном БП объекта OpportunityProductInterest в скрипте CalckOpportunityAmountAfterSevedScriptTask и вызываемой им функции CalckOpportunityAmount.

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

recalculateAmount: function() {
	var price = this.get("Price");
	var quantity = this.get("Quantity");
	if (price && quantity) {
		this.set("Amount", price * quantity);
	}
}

 

К тому же бизнес-правила на странице добавления продукта работают и для детали. Почему же тогда на справочные поля (при редактировании детали в реестре) не накладываются фильтры, которые указаны в OpportunityProductPageV2? 

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

Подскажите, пожалуйста, Александр, как настроить фильтр для справочного поля в детали редактируемой в реестре. 

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

Привет,

Столкнулся с проблемой:

Версия: 7.13.4.638_SalesEnterprise_Marketing

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

Нравится

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

Добрый день!

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

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

Добрый день!

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

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

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

Коллеги, добрый день. 

 

Столкнулся с проблемой. 

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

2) Порядок полей на форме не соответствует порядку полей в конструкторе

Бизнес-правила отключил. 

Конфигурацию перекомпилировал полностью. 

Скрины вложением

Помогите понять в чём проблема ? 

 

Изображение удалено.Изображение удалено.

Нравится

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

Это может быть из-за того, что расположение полей задано в схеме кодом, слишком сложным для разбора мастером разделов. Откройте схему CasePageV2 и поищите упоминания этого поля в пакете Custom с Вашими изменениями и в других пакетах.

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

Предлагаете его переопределить?

Когда Вы меняете в мастере, оно и так переопределяется, в пакете Custom создаётся CasePageV2 с новым порядком полей. Но, видимо, в одном из пакетов выше по иерархии описано иначе и конфликтует.

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

Добрый день!

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

Спасибо!

Нравится

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

Здравствуйте! На Маркетплейс есть решение которое определяет запущенные процессы по объекту - https://marketplace.terrasoft.ru/app/processes-log-view-bpmonline

Здравствуйте! На Маркетплейс есть решение которое определяет запущенные процессы по объекту - https://marketplace.terrasoft.ru/app/processes-log-view-bpmonline

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

Добрый день! Наследуюсь от объекта Activity, далее наследуюсь уже от своей Активности .

Затем, добавляю в базовую Активность поля, которые автоматически появляются в остальных объектах. Но, чтобы можно было использовать эти поля, необходимо  делать публикацию каждого наследуемого объекта. 

Вопрос: есть ли возможность избежать такой последовательной публикации объектов?

Нравится

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

Добрый день!

Публикацию нужно делать каждого объекта.

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

Добрый день!

Публикацию нужно делать каждого объекта.

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

Сидоров Александр В.,

Спасибо!

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

Добрый день ! BPM'online v 7.13.4.638. Необходимо программно отобразить карточку входящего/исходящего звонка пользователя. Известны номер А (исходящий), номер B (входящий), тип звонка (IN/OUT). Нашел в пакете CTIBase 7.8.0 метод CallPageV2 (схеме отображения карточки звонка). Как увидеть внешнюю форму, которую реализует этот метод, и вызвать метод программно из приложения (API) ?

Нравится

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

CallPageV2 — это не метод, а страница карточки звонка. Если Вы собираетесь открывать её в БП и знаете Id записи об этом звонке, то для этого предусмотрен элемент процесса «Открыть страницу редактирования» с возможностью передать туда параметры. С его же помощью можно и открыть карточку новой записи с нужными значениями в полях.

chapter_process_designer_edit_page.png  

Элемент «Открыть страницу редактирования» содержит список возможных для редактирования страниц, среди которых нет карточки звонка. Это происходит потому, что страница звонка является системным объектом, и в результате не проходит фильтрацию данного элемента. То есть, на уровне БД в таблице SysModule у объекта с Code = «Call» колонка IsSystem = true. Если убрать признак IsSystem, то страница звонка начнет отображаться в списке страниц элемента, однако не рекомендуется этого делать, так как это может быть чревато другими непредсказуемыми последствиями в системе.

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

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

Создан новый сервер BpmOnline, настроен по инструкции в Академии.

Вход через веб-интерфейс работает без проблем, при попытке входа через мобильный клиент процесс «затыкается» на пункте «Импорт данных (Контрагент)».

Не подскажете, в чем может быть проблема?

В логах IIS строки вида:

 

2019-07-03 06:51:39 192.168.104.132 POST /0/DataService/json/SyncReply/SelectQuery - 80 Egorov_v 192.168.107.173 Mozilla/5.0+(Linux;+Android+8.0.0;+SM-G570F+Build/R16NW;+wv)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Version/4.0+Chrome/75.0.3770.101+Mobile+Safari/537.36 - 200 0 0 103
2019-07-03 06:51:41 192.168.104.132 POST /0/DataService/json/SyncReply/SelectQuery - 80 Egorov_v 192.168.107.173 Mozilla/5.0+(Linux;+Android+8.0.0;+SM-G570F+Build/R16NW;+wv)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Version/4.0+Chrome/75.0.3770.101+Mobile+Safari/537.36 - 200 0 0 100
2019-07-03 06:51:41 192.168.104.132 POST /0/DataService/json/SyncReply/SelectQuery - 80 Egorov_v 192.168.107.173 Mozilla/5.0+(Linux;+Android+8.0.0;+SM-G570F+Build/R16NW;+wv)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Version/4.0+Chrome/75.0.3770.101+Mobile+Safari/537.36 - 200 0 0 39
2019-07-03 06:51:41 192.168.104.132 POST /0/DataService/json/SyncReply/SelectQuery - 80 Egorov_v 192.168.107.173 Mozilla/5.0+(Linux;+Android+8.0.0;+SM-G570F+Build/R16NW;+wv)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Version/4.0+Chrome/75.0.3770.101+Mobile+Safari/537.36 - 200 0 0 167
2019-07-03 06:52:13 192.168.104.132 POST /0/DataService/json/SyncReply/SelectQuery - 80 Egorov_v 192.168.107.173 Mozilla/5.0+(Linux;+Android+8.0.0;+SM-G570F+Build/R16NW;+wv)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Version/4.0+Chrome/75.0.3770.101+Mobile+Safari/537.36 - 200 0 0 83
2019-07-03 06:52:18 192.168.104.132 POST /0/DataService/json/SyncReply/SelectQuery - 80 Egorov_v 192.168.107.173 Mozilla/5.0+(Linux;+Android+8.0.0;+SM-G570F+Build/R16NW;+wv)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Version/4.0+Chrome/75.0.3770.101+Mobile+Safari/537.36 - 200 0 0 2258

Не знаю, куда копать, может подскажете?

Нравится

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

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

На конференции TechPoint рассказывали о мобильной программе для спортивных ставок, которая плохо работала на демонстрации у заказчика, как оказалось, из-за плохой связи в его офисе. В Вашем случае может тоже быть что угодно. Больше подробностей можно узнать из отчёта по кнопке «Отправить лог». Если подозреваете, что дело в обновлении, попробуйте и на старом, и на новом.

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

Спасибо, Александр.

Со связью проблем нет - тестировалось на офисном wifi в том числе.

А отправить лог нет возможности - клиент "зависает" на пункте импорта контрагентов, в таком состоянии нельзя ни вернуться на предыдущий шаг на даже закрыть клиент.

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

Есть подозрение, что проблема в количестве контрагентов, которое в последние дни подскочило при подключении новых филиалов к системе.

Смотрите логи на стороне мобильного и на стороне сайта (не IIS).

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

Можно ли и как сделать горизонтальную прокрутку реестра? Ели столбики не влазят, а плиточное представление не возможно. 

Нравится

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

Поля расширяют через CSS, если оно оказывается шире экрана, включается прокрутка. Возможно, и с контейнером реестра так получится.

А вообще, горизонтальная прокрутка — зло и не нужна.

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

Всем привет!

Стоит следующая задача: заменить фильтр, на основании которого отображается список в виджете "Мои обращения" (Список обращений пользователя портала) на Главной странице портала?

Учитывая, что

1. замещение клиентских модулей запрещено

2. хочется обойтись "малой кровью"

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

4. список формируется на основании подгружаемого config

хотелось бы подложить модулю свой конфиг с нужным фильтром, но никак не могу понять, как это сделать. Может кто сталкивался?

Изображение удалено.

 Изображение удалено.

Нравится

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

Эта логика реализована в схеме «Список обращений пользователя портала» (UserCasesListModule) в функции initConfig: function(). Вероятно, проще действительно не трогать базовый, а скопировать, сделать в отдельной схеме свой аналог с нужным фильтром, а затем в дизайнере  панели итогов «Главная страница портала» указать его в свойствах блока.

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

благодарю за ответ

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

Добрый день!

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

 

 

Нравится

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

Либо старое значение сохранилось в кэше и поможет перезапуск и чистка Redis, либо оно всё же есть в настройках и нужно найти и изменить. Сам по себе планировщик не работает с почтой, он всего лишь запускает определённый БП SyncImapMail.

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

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

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