Добрый день.

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



1) Вшить в раздел Контрагенты фильтр или группу, которую нельзя снять. Идельно - дать пользователю возможность выбирать 1 из групп, но запретить любую прочую фильтрацию, или доступ к реестру без группы.

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

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

Нравится

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

Данил. Вам стоит смотреть в сторону замещения метода initQueryFilters в разделе. Он будет фильтровать записи при загрузке раздела и физически снять его пользователи не смогут.

В лиде делать выбор не из объекта Контрагенты, а из объекта, построенного на VIEW (заодно и покажете только те поля, которые хотите показать).

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

о возможностях его работы на BPM где почитать? поиском не ищется по сайту

Нравится

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

Вам сюда

ATTENTION!

Террасофт ложил болт на гео-штуки (ну кроме планирования) в field sales в версиях 7.8, 7.9. Только с 7.10 появилась функция отслеживания на карте (поправьте кто-нибудь, если неправ)

Варфоломеев Данила,

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

Что касается предыдущих версий, то в и в них GPS координаты хранились в базе данных в таблице "Результат выполнения чек-ина/аута" - [CheckInOutResult]. И на основании этого объекта можно создать, например, справочник и там выводить колонки с gps-координатами. Таким образом и в указанных версиях можно было отслеживать координаты.

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

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

Вопрос по календарю, он отображается в формате 7 дней и планирование активностей начинается с 00-00, я не слышал чтобы пожарные или девушки с низкой социальной отвественностью использовали CRM, можно календарь заточить под график обычных людей?  чтобы активности начинались с 08-00 и не приходилось ночные часы перелистывать? а выходные (сб, вс) по умолчанию скрыть ,на планшете и так места мало 

Нравится

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

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

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

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

Нигде не могу найти средства разработки bpmonline sales. Может кто-нибудь знает, где их можно достать

Нравится

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

Установили по инструкции с сайта -  7.10.3.1182 Service Enterprise:

Windows Server 2016 Standard(RUS),

SQL 2016 (RUS),

Redis 3.2

X5650 (2 cpu), 8 gb mem.

Долго открываются страницы по ссылкам с главной страницы.

Подскажите, что можно посмотреть-подкрутить.

Нравится

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

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

Попробуйте очистить кэш Redis сервера. Запустить redis-cli.exe, и выполнить команду flushall.

Мотков Илья,

Спасибо попробуем.

Мотков Илья пишет:

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

Попробуйте очистить кэш Redis сервера. Запустить redis-cli.exe, и выполнить команду flushall.

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

 

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

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

При корректной настройке системы - страница должна открываться в пределах 2-3 секунд.

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

Коллеги, доброго времени суток!

Помогите, пожалуйста, а то я уже всю голову об монитор разбил.

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

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

Заранее благодарен.

Нравится

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

Да, забыл сказать, что есть еще одна проблема. Когда делаешь добавление одной записи, то используется страница редактирования объекта детали, что позволяет производить различные автовычисления и "подтягивание" значений элемента основного лукапа. Т.е. если я выбрал Продукт, то автоматом можно подтянуть и тип продукта, и прайс и т.д. В случае множественного добавления все эти автовычисления не срабатывают на вновь добавленные записи. Как я полагаю, эту проблему придется решать уже функцией на странице редактирования основной сущности, которая и будет в результате рефрешить деталь. Но для этого надо решить главную проблему из моего поста выше.

это всё из-за ̶с̶п̶а̶й̶с̶о̶в̶ handleAfterInserted. Попробуйте вот это в методах прописать

handleAfterInserted: function(response) {
	if (this.Ext.isEmpty(response) || !response.success) {
		this.hideBodyMask();
		return;
	}
	this.hideBodyMask();
	this.reloadGridData();
}

 

Варфоломеев Данила,

пасиб, добрый человек! все заработало как надо

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

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

Пытаюсь реализовать сортировку справочного поля типа ENUM.

attributes: {
			"LeadType": {"isRequired": false},
			"Stage": {
				"lookupListConfig": {
					"filters": [
						function() {
							var filterGroup = Ext.create("Terrasoft.FilterGroup"), {
								sortProperty: "Number"
							});
							filterGroup.add("ActiveStage",
								Terrasoft.createColumnFilterWithParameter(
									Terrasoft.ComparisonType.EQUAL,
										"UsrShowInMiniPage", "1"));
							filterGroup.logicalOperation = this.Terrasoft.LogicalOperatorType.AND;
							filterGroup.add("Sort",
								Terrasoft.createColumnFilterWithParameter(
									Terrasoft.ComparisonType.GREATER_OR_EQUAL,
										"Number", "0"));
							return filterGroup;
 
						}
					]
				}
			}
		},

Предположил, что sortProperty не срабатывает из-за отсутствия такой колонке в запросе, поэтому добавил еще одно условие, как все-таки правильно это сделать?

Нравится

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

А если вот так?

"Stage": {
	"lookupListConfig": {
		"filters": [
			function() {
				var filterGroup = Ext.create("Terrasoft.FilterGroup"), {
					sortProperty: "Number"
				});
				filterGroup.add("ActiveStage",
					Terrasoft.createColumnFilterWithParameter(
						Terrasoft.ComparisonType.EQUAL,
							"UsrShowInMiniPage", "1"));
				filterGroup.logicalOperation = this.Terrasoft.LogicalOperatorType.AND;
				filterGroup.add("Sort",
					Terrasoft.createColumnFilterWithParameter(
						Terrasoft.ComparisonType.GREATER_OR_EQUAL,
							"Number", "0"));
				return filterGroup;
 
			}
		],
		"columns": ["Number"]
	}
}

 

Добрый день.

Добавьте свойство orders в lookupListConfig. К примеру:

"Owner": {

    lookupListConfig: {

        columns: ["Name"],

        orders: [

            {

                columnPath: "Name",

                direction: Terrasoft.OrderDirection.DESC

            }

        ]

    }

},

Терещук Сергей,

Сортировка таким образом не работает. Ни при указании колонки "Name", ни при какой-либо другой колонки. Direction также не влияет на порядок отображения

Варфоломеев Данила,

Сортировка также не работает, тем не менее, колонка "Number" добавляется в ответ от сервера

Проблема в том, что Террасофт запилил поддержку orders только в BasePageV2. Если у вас мини-карточка или какая-то другая карточка, которая не наследуется от BasePageV2, то сортировка работать не будет. Но всегда можно заместить родителя и реализовать в нем сортировку по аналогии с базовой карточкой

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

Добрый день, подскажите пример реализации открытия кастомной страницы через Чекбокс. На странице Визита раздела Активности.



Для создания самой страницы воспользовался данной статьей https://academy.terrasoft.ru/documents/technic-sdk/7-10/zhiznennyy-cikl…



На ней же сказано следующее:

Затем страницу нужно добавить в кэш:
 
Terrasoft.PageCache.addItem("MyPageSchemaName",Terrasoft.configuration.MyPageUtils.getPageData());
Теперь маршрут настроен на страницу MyPage. Для открытия маршрута необходимо выполнить соответствующую команду:
 
Terrasoft.Router.route("myPage", Terrasoft.configuration.MyPageUtils, ["My page data"]);

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

Нравится

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

Павел, здравствуйте!

 

Пользовательскую страницу Вы реализовываете в пользовательской JS схеме (тип страницы «Модуль»). А на checkbox’е (где она реализована) Вы должны ее вызвать.

По поводу примера. На текущий момент нет нормальной возможности расширять действия на визите. В следующей версии десктопа (7.11.1) такая возможность появится. Есть статья с примерами (см. https://www.dropbox.com/s/wddrbvgv186juvr).

Вильшанский Дмитрий, Благодарю.

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

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

Нравится

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

Добрый день!



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



Вы описываете работу сотрудника. Почему это не сделать через бизнес-процесс? Это ведь менее трудозатратный процесс, чем программирование.



На такой-то стадии заполните такие вот колонки, на второй стадии уже другие колонки и т.д.

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

Необходимо с определенной периодичностью (например 1 раз в день) экспортировать определенный справочник (с ранее подготовленным форматом экспорта) в xls/csv формате и ложить его на сервер, чтобы он был доступен по http. 

Подскажите как это можно реализовать?

Можно ли создать БП с действием "Запустить экспорт №3" и положить его на сервер

Как альтернатива - отправить экспортированный файл на определенную почту

Нравится

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

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

Такого функционала в приложении пока нет, но мы передадим данное пожелание в отдел разработки для реализации данного варианта автоматизации в будущих версиях приложения.

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