Вопрос

Здравствуйте. Разворачиваю приложение bpm on-site, на IIS Windows 7.
Но вот в чем проблема, приложение установил в IIS, путь к базе тоже вроде всё корректно прописано, НО когда запускаю приложение после ввода логина и пароля, в окне входа, появляется логотип "bpm'online", и ВСЁ, дальше ничего не происходит. Страницу не грузит, просто логотип bpm, приложение пересоздавал кучу раз с разными параметрами. Может кто-нибудь подскажет, в чем проблема может быть?

У меня такой же вопрос

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

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

Скорее всего не хватает ролей/компонент на веб-сервере IIS.
Перечень найдете по ссылке https://academy.terrasoft.ru/documents/sales-enterprise/7-10/ustanovka-…

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

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

У меня такой же вопрос

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

Александр, здравствуйте!

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

Приятной работы!

Да, спасибо помогло!)

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

Добрый день, Коллеги!
Возникла проблема с сортировкой записей в печатной форме.

Описание:
В разделе Заказ была добавлена Custom деталь с редактируемым реестром. На эту делать с помощью функционала импорта загружаем продукты из excel файла.
Во время импорта была реализована генерация порядкового номера продукта в соответствии с порядком записей в файле (Скриншот: "Порядок продуктов на детали с сортировкой по колонке порядковый номер".
Далее уже используем сортировку по колонке "Номер продукта" на детали для приемлемого вида.
Однако регистрация записей в базе происходит в произвольном порядке, и при печати файла продукты, в скачанном docx файле, не отсортированы (Скриншот: Порядок продуктов в распечатанном docx файле).

Вопрос: Как именно можно реализовать сортировку продуктов в распечатанном файле при его генерации по колонке "Номер продукта" детали, содержащей актуальную нумерацию? Возможно есть какой-то стандартный функционал сортировки при настройке печатной формы?

Заранее спасибо за помощь, Коллеги!

У меня такой же вопрос

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

Здравствуйте,
Есть справочник «Печатные формы», там открываете вашу печатную форму. Там есть закладка «Табличные части», табличные части можно изменить, и нужному полю, установить нужную сортировку. См скр:

Максим, огромное спасибо! Глупая невнимательность

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

Добрый день!
Работаю в версии 7.8. В разделе "Продажи" есть вкладка "Продукты" внутри которой есть базовая деталь "Продукты в продаже". Цель: сделать базовую деталь "Продукты в продаже" с редактируемым реестром и добавить туда дополнительные поля.
Для этого:
- создал замещающий объект OpportunityProductInterest, куда добавил свои необходимые поля;
- создал замещающий клиентский модуль OpportunityProductPageV2, куда добавил свои поля;
- создал свою схема детали "Продукт в продаже" SuOpportunityProductDetailV2 (родительский объект Базовая схема детали с реестром ( NUI )), куда добавил следующий код:

define("SuOpportunityProductDetailV2", ["ConfigurationGrid", "ConfigurationGridGenerator",
   "ConfigurationGridUtilities"],
   function() {
   return {
      entitySchemaName: "OpportunityProductInterest",
      attributes: {
         "IsEditable": {
            dataValueType: Terrasoft.DataValueType.BOOLEAN,
            type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
            value: true
         }
      },
      details: {},
      diff: [
         {
            "operation": "merge",
            "name": "DataGrid",
            "values": {
               "className": "Terrasoft.ConfigurationGrid",
               "generator": "ConfigurationGridGenerator.generatePartial",
               "generateControlsConfig": {"bindTo": "generatActiveRowControlsConfig"},
               "changeRow": {"bindTo": "changeRow"},
               "unSelectRow": {"bindTo": "unSelectRow"},
               "onGridClick": {"bindTo": "onGridClick"},
               "activeRowActions": [
                  {
                     "className": "Terrasoft.Button",
                     "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                     "tag": "save",
                     "markerValue": "save",
                     "imageConfig": {"bindTo": "Resources.Images.SaveIcon"}
                  },
                  {
                     "className": "Terrasoft.Button",
                     "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                     "tag": "cancel",
                     "markerValue": "cancel",
                     "imageConfig": {"bindTo": "Resources.Images.CancelIcon"}
                  },
                  {
                     "className": "Terrasoft.Button",
                     "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                     "tag": "remove",
                     "markerValue": "remove",
                     "imageConfig": {"bindTo": "Resources.Images.RemoveIcon"}
                  }
               ],
               "initActiveRowKeyMap": {"bindTo": "initActiveRowKeyMap"},
               "activeRowAction": {"bindTo": "onActiveRowAction"},
               "multiSelect": false
            }
         }
      ],
      mixins: {
         ConfigurationGridUtilites: "Terrasoft.ConfigurationGridUtilities"
      },
      methods: {
                addRecord: function() {
                                        var defValues = this.get("DefaultValues") || [];
                                        defValues.push({
                                                name: "Quantity",
                                                value: 1
                                        });
                                        defValues.push({
                                                name: "OfferDate",
                                                value: new Date()
                                        });
                                        this.set("DefaultValues", defValues);
                                        this.callParent(arguments);
                                },

                               
                                getFilterDefaultColumnName: function() {
                                        return "Product";
                                },

                                getGridDataColumns: function() {
                                        return {
                                                "Product.Name": {path:  "Product.Name"}
                                        };
                                }
      }
   };
});
;

- в OpportunityPageV2 переопределил базовую деталь

//Переопределение базовой детали "Продукт в продаже(OpportunityProduct)"
                        OpportunityProduct: {
                                "schemaName": "SuOpportunityProductDetailV2",
                                "entitySchemaName": "OpportunityProductInterest",
                                "filter": {
                                        "detailColumn": "Opportunity",
                                        "masterColumn": "Id"
                                }
                        }

В результате:
- поля добавились;
- имею ту же деталь, только вместо нередактируемых полей выводится строка с редактируемыми полями. То что мне и нужно, но когда я нажимаю на +, то не открывается карточка для добавления полей, а вместо этого добавляется строка с полями.
Хотелось бы сделать, чтобы октрывалась карточка, как это было в базовой детали. Возможно ли это?

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

У меня такой же вопрос

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

Здравствуйте, Кирилл.

За функционал открытия новой страницы редактирования, при нажатии кнопки "+" отвечает метод addRecord из схемы "BaseGridDetailV2". Вам стоит смотреть в сторону переноса логики данного метода в схему детали "SuOpportunityProductDetailV2".

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

Доброго дня! Стикнувся з проблемою відлагодження коду JS у версії 7.7.0.2773_BankCustomerJourney. Після заміщення сторінки ContactPageV2 та зміни ісходного коду я мушу кожного разу зафіксувати клієнтські модулі в базі даних. У попередніх версія для того щоб побачити свої зміни портібно було просто очистити кеш в браузері. Підкажіть, будь ласка, чи можна че зробити у версії 7.7. Дякую!

У меня такой же вопрос

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

Здравствуйте, вероятно, Вы работаете в режиме clientUnits useFileContent="true" когда исходные коды выгружаются в файловую систему, и разработку ведете во внешнем редакторе.
Если работать с clientUnits useFileContent="false" и разрабатывать в браузере, таких проблем быть не должно.

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

Если же вы разрабатываете во внешнем редакторе и не хотите постоянно фиксировать изменения в БД, соответствующей кнопкой в конфигураторе, для того что бы они попали в SectionBundleModule. Вы можете выключить механизм сбора файлов схем в единый SectionBundleModule. Установкой флага в веб. конфиге по адресу …\Terrasoft.WebApp в ложь: add key="UseIncludeDependenciesSource" value="false"

Який саме веб конфіг портібно встановити в false?

...\Terrasoft.WebApp\Web.config.

add key="UseIncludeDependenciesSource" value="false"
в файле
...\Terrasoft.WebApp\Web.config

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

Добрый день! Подскажите, пожалуйста, как можно сделать активными ссылки в полях карточки (версия 7.х). У нас есть 2 поля "ссылка на карту" и "ссылка на фото", в которых указаны адреса ссылок, но в в карточке они не активны. Пробовали решить эту задачу следующим образом: в пакете Custom создали модуль ActivityLink с кодом

Terrasoft.sdk.RecordPage.configureColumn("UsrShields", "primaryColumnSet", "UsrFoto", {
viewType: Terrasoft.ViewTypes.Preview
});

Terrasoft.sdk.RecordPage.configureColumn("UsrShields", "primaryColumnSet", "UsrMapReference", {
viewType: Terrasoft.ViewTypes.Preview
});

где UsrShields – таблица в БД, UsrFoto, UsrMapReference – поля. Не помогло

У меня такой же вопрос

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

Юлия, Вы используете не bpm библиотеки, а продукта terrasoft 3.x

Для 7.х

в DIFF колонки добавьте

showValueAsLink: true,
href: {
   bindTo: "getLink"
}

в METHODS реализуйте логику, которая будет возвращать url

getLink: function() {
   return {
      url: "url",
      caption: "Caption"
   }
}

Мария, добрый вечер! спасибо за ответ. В колонку вставила код и метод, ничего не изменилось.
это прописала в колонке:
{
"operation": "insert",
"name": "UsrFoto",
"values": {
"layout": {
"column": 0,
"row": 7,
"colSpan": 24,
"rowSpan": 1
},
"bindTo": "UsrFoto",
"caption": {
"bindTo": "Resources.Strings.UsrFotoCaption"
},
"textSize": 0,
"contentType": 1,
"labelConfig": {
"visible": true
},
"enabled": true,
"showValueAsLink": true,
"href": {
"bindTo": "getLink"
}
},
"parentName": "Header",
"propertyName": "items",
"index": 15
}

В методе: как Вы написали. Ссылка не активна...

Юлия, Вы пробовали отладку кода? Что пишет в консоли?
Метод нужно дополнять своей логикой. Я привела только алгоритм.

Пример можете посмотреть в BaseSchemaViewModel

Мария, добрый день! вставили такой метод:
getLink: function() {

var Foto = this.get("UsrFoto");
return {
url: Foto,
caption: Foto.displayValue
};

}
Не отображается страница. Во вложении скрин ошибки

Юлия, согласно ошибке приложение не может прочитать свойство "caption".
Для более детального анализа Вам необходимо осуществить отладку кода.

Также обратите внимание на предыдущий комментарий:

"Мария Ватулина" написал:

Юлия, Вы пробовали отладку кода? Что пишет в консоли?
Метод нужно дополнять своей логикой. Я привела только алгоритм.

Пример можете посмотреть в BaseSchemaViewModel

Наглядно посмотрите как это сделано в BaseSchemaViewModel и реализуйте по аналогии

Спасибо ооогромное!
Все получилось.

Хотелось бы еще узнать как сделать так, чтобы ссылка в новой вкладке открывалась.
Написали такой код, но он не срабатывает (target).

getLink: function() {
				var foto = this.get("UsrFoto");
				var target1 = "_blank";
				if (foto != null) {
					return {
						url: foto,
						caption: foto,
						target: target1
					};
				}
				else 
				return {};
			}

Настя, приложение bpm’online является одностраничным по своей сути. Это обозначает, что работа в приложении предполагается только в одной вкладке браузера. Вы могли это заметить, например, если откроете в разных вкладках реестр раздела и страницу добавления записи в этот раздел. Если во второй вкладке Вы произведете некие действия, то обновление не отобразится в первой вкладке, пока сама страница не будет обновлена.
Также это обозначает, что стандартный функционал открытия ссылок в другой вкладке (например, при нажатии колесиком мышки) нами не предусматривался. Даже если в приложении есть некоторые ссылки, с которыми есть возможность так работать, то это особенности браузера, а не наша функциональность.

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

И еще, если в реестре нажать на эту ссылку - она открывается в новой вкладке, это реализовано скорее всего в BaseSchemaViewModel, куда нам посоветовали посмотреть Вы и Мария. Я так думаю, что скорее всего где-то в этой функции:

		/**
		 * Выполняет открытие карточки в цепочке.
		 * @protected
		 * @virtual
		 * @param {Object} config конфигурация открываемой карточки.
		 */
		openCardInChain: function(config) {
			this.showBodyMask();
			var historyState = this.sandbox.publish("GetHistoryState");
			this.sandbox.publish("PushHistoryState", {
				hash: historyState.hash.historyState,
				silent: config.silent,
				stateObj: {
					isSeparateMode: config.isSeparateMode || true,
					schemaName: config.schemaName,
					entitySchemaName: config.entitySchemaName,
					operation: config.action || config.operation,
					primaryColumnValue: config.id,
					valuePairs: config.defaultValues,
					isInChain: true
				}

А конкретнее isSeparateMode: config.isSeparateMode || true
Может быть я ошибаюсь..

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

Настя, как вариант Вы можете открывать ссылки правой кнопкой мыши.
Да, такая логика присутствует, но только для колонки «Web».
Вы можете посмотреть как реализована колонка «Web» в разделе «Контрагенты» и доработать аналогично свое приложение.

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

На днях мы отметили релиз линейки bpm'online 7.6, а сейчас давайте взглянём на её прадедушку — Terrasoft CRM 2.6. Бесценный артефакт в отличном состоянии был недавно продан на одном из онлайн-аукционов:
коробка

Книга, которую читают, когда делать совсем нечего или когда всё уже поломано:mrgreen:
инструкция
Лысый клиент чувствует нашу заботу:wink:
диск
Бывает softkey, а это — hardkey
ключ
Интерфейс платформы 2.X. Контакты
контакты
Контрагенты
контрагенты
Задачи
задачи

Поделиться

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

"Зверев Александр" написал:Лысый клиент чувствует нашу заботу

Мне вот всегда казалось, что этот товарищ чешет затылок в поисках ответа на поставленный вопрос - чувствуют ли?
Хорошая была версия :cool:

Александр Кудряшов, возможно и так. Особенно в свете того, что он напоминает Хитмана.

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

Добрый день!

У нас стоит CRM Террасофт версия версия 3.3.1.163

Создали фильтр "Удалить" Он отбирает тех клиентов, которых надо удалить из базы.
Сейчас CRM не дает удалять записи, если в них содержится информация какая-либо. (см. вложенный файл).
Как можно отфильтрованные записи удалить все и сразу, а не по одному контакту?

Спасибо

У меня такой же вопрос

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

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

С уважением,
Группа компаний Terrasoft

Увеличьте, пожалуйста, изображение. Я догадываюсь, что это может быть. Вероятнее всего с данными контактами существуют связи с другими обьектами. И, пока данные связи не разорвутся, Вы не сможете удалить контакт. Нужно по каждому контакту пройтись и проверить связи. Или сделать запрос на тех. поддержку с указанием каких конкретно контактов удалить и что делать со связями

Да, именно так и есть - в контактах есть информация, связь с другими объектами.

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

Самым быстрым способом является SQL запрос.

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

В клиенте поля имеют название тоже что и значение Name в админке. Например: edtName, edtContactID) и выскакивает ошибка приложения "error loading from stream". Кеш чиститься каждое утро. Заметил что ошибка появляется в карточке "Задача". Картка была переделана, появились вкладки, много новых полей.

У меня такой же вопрос

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

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

По описанию трудно понять в чем суть проблемы. Рекомендую Вам не только очистить кэш приложения, но и перерегистрировать библиотеки. Также желательно активировать отладчик и посмотреть где именно происходит ошибка.

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

Необходимо заполнять в Word документах поля с чек-боксами (прикрепил скриншот), возможно ли настроить эти поля в CRM и потом ответы на них экспортировать в файл вордовский (при формировании документов)?

У меня такой же вопрос

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

Здравствуйте, Сергей.

Вы создали тему в разделе "Terrasoft CRM 2.8".

Прошу уточнить, Вы не ошиблись или речь идет о другом продукте (Terrasoft 3.X, BPMonline)?

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