Вопрос

Добрый день. После обновления до версии 7.13.3 при компиляции получаю ошибку:

The type or namespace name 'Http' does not exist in the namespace 'System.Net' (are you missing an assembly reference?) FILE <Название пользовательского Web сервиса>

Данное пространство имён есть в .NetFramework 4.7.

Кто с таким сталкивался?

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

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

Добавьте в ваш пользовательский сервис

using System.Net.Http;

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

На эту строчку и ругается компилятор.

Коновалов Игорь,
В 7.13 правда не нахожу библиотеки System.Net.Http.
Могу посоветовать скачать ее и добавить во внешние сборки

Попробовал добавить библиотеку во внешние сборки, система скомпилировалась без проблем

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

Здравствуйте, если я добавлю к контакту некоторое булево поле, как при выборе его из обращения произвести отбор по этому полю?

 

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

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

Ринат, здравствуйте!

На вашем втором скриншоте есть выпадающий список (там где "ФИО") в этом списке должно будет появиться добавленное поле. 

Так же через, по второму скриншоту, нажав на "Вид" Вы сможете вывести колонку в реестр модального окна

Гриценко Игорь, а как сделать чтобы он по умолчанию этот отбор применял и пользователю не пришлось руками этот отбор вбивать. Делаю что-то на подобии "неактивных" пользователей.

Rinat,
Добрый день!
Данную фильтрацию можно сделать
1. либо через бизнес правила:
1) через код https://academy.terrasoft.ru/documents/technic-sdk/7-13/primer-primenen…
2) через мастер страницы (https://monosnap.com/file/ooYS71HNPA5gozrb204C1N5gCvCNeU)

2. либо в коде через параметр фильтрации атрибута
пример:

attributes: {
			"Contact": {
				lookupListConfig: {
					"filters": [
                        function() {
                            var filterGroup = Ext.create("Terrasoft.FilterGroup");
                            var galochaFilter = Terrasoft.createColumnFilterWithParameter(
                            	Terrasoft.ComparisonType.NOT_EQUAL, "Galocka", true);
                            filterGroup.add("filter1", galochaFilter);
                            return filterGroup;
                        }
                    ]
				}
 
			}
		}

 

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

Как в элементе "задача" БП добавить связь с новым разделом.

По умолчанию в связях объект отсутствует.

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

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

Посмотрите обсуждение в этом посте и в этом тоже.

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

Всем доброго времени суток!
Подскажите как можно передать в карточку редактирования нового заказа некоторых параметров - http://prntscr.com/n0jpjt ?
Для открытия карточки редактирования использую:
 

var config = {
			isStartRecord: true,
			pageSchemaName: "MobileOrderEditPage"
		};
		Terrasoft.util.openEditPage("Order", config);

 

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

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

Подскажите, есть несколько активностей (задач) в процессе, их нужно выставить на:

1. одну на начальника подразделения (заведена функциональная роль - но выбрать нет возможности). Существует ли какой вариант?

2. другие задачи распределять автоматически на других сотрудников входящих в другую функциональную роль.

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

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

Стандартная возможность настройки такой функциональности отсутствует, это можно реализовать в элементе 'Задание-сценарий' бизнес-процесса.

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

в карточке контрагента при выстраивании взаимосвязей в виде диаграммы система выдает ошибку SqlException

Из-за чего может быть такое поведение?

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

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

Добрый день!
Без логов и информации в консоли трудно что то понять.
Определенно что то не то происходит в RelationshipDiagramService. Далее можно отследить, в каком месте происходит ошибка

Используйте профилировщик sql запросов для нахождения причины SqlException и ее устранения

Обратитесь в службу поддержки Террасофт, это базовый функционал - они помогут Вам разобраться.

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

Как выяснилось, у контрагента в поле Parent был внесён его собственный идентификатор, в результате запрос иерархии взаимосвязей вызывал исключение: "Выполнение инструкции прервано. Максимальная рекурсия 100 была использована до завершения инструкции."

Для исправления ошибки достаточно удалить ссылку на родителя в контрагенте (подставить свой Id):

update Account
  set ParentId = null
  where Id = N'665E1BDF-54FA-4231-BE2D-9D4305D91BE3'

 

Да, это решило проблему. Спасибо.

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

Всем доброго времени суток. Версия 7.12.

Добавил деталь на нестандартную страницу (по сути карточка без объекта, выведенная на место страницы раздела), при открытии страницы получаю ошибку в консоли:

Параметр MasterRecordId не инициализирован в детали UsrDetail, hash страницы #SectionModuleV2/UsrPage/

Сама деталь при этом выглядит странно - отображаются только заголовки колонок, без содержимого. При вызове updateDetail деталь не обновляется.

Как правильно инициализировать деталь?

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

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

От кого унаследована ваша нестандартная страница?

Вероятно, дело как раз в нестандартной странице раздела. Параметр MasterRecordId используется в базовой схеме детали BaseDetailV2 и схеме BaseEntityPage, которая с деталями взаимодействует. В отличие от неё, самодельная страница раздела с этим параметром не работает, что и приводит к неверной работе детали.

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

Раздел создан сторонним пользователем

ошибка вылетает в методе, когда он пытается обратиться к элементу name контейнера в файле all-combined.js

needFlatten: function(e, t) {
        var a = t || !1;
        return (a = !Ext.isEmpty(e.name)) || (Ext.isArray(e) && e.length > 0 ? a = !Ext.isEmpty(e[0].name) : Ext.isObject(e) && Terrasoft.each(e, function(e) {
            a = this.needFlatten(e, a)
        }, this)),
        a
    },

трэйс начинается условно от ViewModelSchemaValidationMixin.js в методе getSchemaDuplicates 

здесь соотвественно всё останавливается на методе Terrasoft.JsonDiffer.getFlatObject

getSchemaDuplicates: function(schema) {
				const viewConfig = schema.viewConfig;
				const messageConfig = {};
				const result = [];
				const pathDelimiter = Terrasoft.JsonDiffer.pathDelimiter;
				const flatViewConfig = Terrasoft.JsonDiffer.getFlatObject(viewConfig, {identifyItemByPath: true});
				Object.keys(flatViewConfig).forEach(function(path) {
					const name = path.split(pathDelimiter).pop();
					const formattedPath = path.split(pathDelimiter).join(".");
					const diffObject = flatViewConfig[path];
					const caption = diffObject.caption ||
						(diffObject.labelConfig && diffObject.labelConfig.caption) ||
						"";
					messageConfig[name] = messageConfig[name] || [];
					messageConfig[name].push({
						path: formattedPath,
						caption: caption
					});
				});
				Object.keys(messageConfig).forEach(function(name) {
					if (messageConfig[name].length > 1) {
						result.push({
							name: name,
							items: messageConfig[name]
						});
					}
				});
				return result;
			},

В чем может быть причина? И буду рад советами по отладке такого клиентского кода, когда я пытался в all-combined.js ставить брэйкпоинты, у меня словно всё зависало просто

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

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

Посмотрите тут и тут

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

ни та ни та причина. причина оказалась в свойстве

"contentType": Terrasoft.ContentType.DROPDOWN

после того, как закомментировал его, всё заработало. Только теперь я не могу найти что это за свойство и какие значения оно может принимать помимо DROPDOWN и есть ли вообще у него такое значение?

{
	"operation": "insert",
	"name": "ITExecutor",
	"values": {
		"enabled": false,
		"layout": {
			"contentType": Terrasoft.ContentType.DROPDOWN,
			"colSpan": 12,
			"rowSpan": 1,
			"column": 12,
			"row": 0,
			"layoutName": "Header"
				  },
		"bindTo": "ITExecutor"
				},
	"parentName": "Header",
	"propertyName": "items",
	"index": 1
}

 

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

разобрался. свойство "contentType" должно находится внутри "values", а не "layout"

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

Добрый день всем.

 

Коллеги, подскажите почему данная конструкция не взлетает 

assembly.CreateInstance("Terrasoft.Configuration.ContactSchema")

всегда получаю ошибку

"Constructor on type 'Terrasoft.Configuration.ContactSchema' not found."

Хотя у любых других Классов их инстансы я получаю. Я понимаю что в Terrasoft.Core есть методы по получению Инстенсов по Имени или через UID схемы. Но мне в задачи требуется создать Инстенс схемы, или через данную конструкцию, что описал выше или через Activator.CreateInstanse. Помогите пожалуйста как правильно работать со схемами таблиц через данные конструкции. Спасибо.

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

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

Добрый день!
У ContactSchema нет конструктора без параметров.

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

И как правильно тогда мне создать Инстенс Контактов, Контрагентов ?

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

Власов Михаил Викторович,

Можно так

var contact = new Terrasoft.Configuration.Contact(_userConnection);

Если вас интересует именно через рефлексию, то нужно смотреть описание каждого класса, создавать параметры и передавать их в конструктор. Подробнее в https://docs.microsoft.com/ru-ru/dotnet/api/system.reflection.assembly…

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

Добрый день!

Возможно кто-нибудь ранее сталкивался с проблемами в мобильном приложении на iOS. Приложение постоянно намертво зависает при создании/редактировании активностей. Очистка кэша помогает ровно до первого раза. Пользователи устройств на android таких проблем не испытывают. С интернетом и свободным пространством на телефоне проблем нет.

Десктопная версия BPM 7.12, мобильная 7.13.

Чем могут быть вызваны проблемы в мобильном приложении на iOS? Может ли кто-нибудь посоветовать метод борьбы с данными проблемами? 

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

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

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

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

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

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

Мотков Илья,

Спасибо за ответ!

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