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

Мы работаем на нескольких базах разработки. И, соответственно, изменения переносим через SVN. Когда один разработчик создает, например, справочник, привязывает данные. А второй на своей базы обновляется, то схемы подтягиваются, но автоматически  НЕ обновляется структура БД, НЕ устанавливаются данные, НЕ устанавливаются SQL скрипты, НЕ генерируется исходные коды. И приходится всё это делать вручную. Может есть в веб-конфигах какие-то параметры, чтобы это выполнялось автоматически? А то очень не удобно работать в таком режиме.

Нравится

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

Добрый день! За это отвечают параметры в web.config в директории WebApp:

    <add key="AutoUpdateDBStructure" value="true" />

    <add key="AutoInstallSqlScript" value="true" />

    <add key="AutoInstallPackageData" value="true" />

    <add key="AutoRegenerateSchemaSources" value="true" />

Были такие подозрения. Спасибо большое.

ну следует сказать, что работает сие - "когда как"

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

А так же сразу скажу что в Данных необходимо использовать только тип "Установка", а не "первичная установка" и для каждой колонки несущей данные необходимо вручную устанавливать признак "обязательно для заполнения"

1) Во первых это позволит в случае чего - установить ручками (у данных с таким типом в контекстном меню доступен пункт "Установить выбранные")

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

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

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



Настраиваю процесс с отправкой письма. В теле письма хочу использовать параметры элементов из процесса, но как это сделать? Попробовал для проверки вставить код http://prntscr.com/gg187o, который используется для ссылки на элементы, но не сработало http://prntscr.com/gg18xr

Нравится

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

Раньше делали через формулу. Создаёте параметр процесса (например MyBody, строка неогр. длины), создаёте "Формулу", в параметр MyBody кидаете будущее тело письма через форму. Далее создаёте элемент Email, указываете все параметры, кроме самого тела письма, заходите в расширенные параметры элемента и присваиваете параметру Body ваш параметр MyBody

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

На данный момент шаблон письма в элементе БП Send email можно только выбрать из списка. А как задать его через параметр? 

Нравится

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

ну по факту по моему это ID-шник из справочника шаблонов.

Севостьянов Илья Сергеевич пишет:

А почему тогда не сделали стандартно, как в других элементах БП: выбор из справочника или параметр?

 

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

При реализации возможности передачи шаблона как параметр в любом случае необходимо читать данные шаблона и передавать id. Отстутствие возможности выбрать шаблон в качестве параметра устраняет возможные ошибки в работе с данными (передача id не той записи\справочника), а если всё же нужно передавать именно параметр, Вы можете добавить элемент чтения данных из шаблон email сообщения, после чего передать прочитаное тело письма в тело письма в режиме Произвольное письмо.

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

Логвин Андрей Витальевич пишет:

Вы можете добавить элемент чтения данных из шаблон email сообщения, после чего передать прочитаное тело письма в тело письма в режиме Произвольное письмо.

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

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



И письмо приходит в таком виде:

Владимир, если есть доступ к тексту с макросами, их можно обработать с вызовом функций из библиотеки MacrosHelper. Больше можно узнать из кода её функций.

 

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

День добрый! Есть ли возможность увеличить количество знаков после запятой в модуле итогов? 

Нравится

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

Здравствуйте, Олег!

На данный момент базовая логика приложения не позволяет изменять формат отображения значений в некоторых типах графиков.

 

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

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

Добрый день, подскажите, как реализовать дополнительный функционал для Глобального поиска в разделе "Объектов". Добавив в него возможность искать "Объект" по Адресу(деталь на странице "объекта").

Нравится

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

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

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

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

А что в справочнике "Тип средства связи" означает "Шаблон для формирования гиперссылки в реестре"? Позволит ли этот шаблон отображать ссылки на Google+, VK и другие соцсети по введенному Id?

Как использовать этот шаблон?



Или есть другие способы отображать ссылки на соцсети контактов?

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

Нравится

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

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

 

После обсуждения данного вопроса с разработчиками и анализа базовых схем приложения пришли к такому выводу:

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

Спасибо, Илья!

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

Добавлю ссылку на похожее обсуждение: https://community.terrasoft.ua/questions/novoe-sredstvo-svazi-s-tipom-k…

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

Деталь продукты в заказе интерактивно рассчитывается с учетом валюты. Что нужно сделать чтобы мое созданное поле также учитывало валюту как это организовано в детали продукты в заказе?

Нравится

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

Здравствуйте. Столкнулся с проблемой получения дополнительных данных.

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

Пробовал решить двумя способами.

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

var modelName = "Account";
var model = Ext.ClassManager.get(modelName);
 
var queryConfig = Ext.create("Terrasoft.QueryConfig", {
    modelName: modelName,
    columns: ["Id", "Name", "Type"]
});
 
model.load(account.get("Id"), {
    queryConfig: queryConfig,
    success: function(record) {
     // ???
    },
    failure: function(record, operation) {
        // ???
    },
    scope: this
});

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

Ext.callback(callbackConfig.success, callbackConfig.scope, [true]);

Вторым способом заместил View и Controller и в Controller-классе в методе onLoadRecord попытался вызвать безрезультатно Account.Store.getById.

Хотя, при прочих равных в файле PharmaMobileActionScheduleVisit пакета PharmaMobile аналогичная строка с "волшебным" Store работает.

var type = ActivityType.Store.getById(Terrasoft.Configuration.ActivityTypes.Visit);

Может код из первого варинта поместить в замещенный onLoadRecord? Или есть другие варианты? Прошу помощи в решении задачи.

Нравится

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

Отвечу сам на вопрос решением. Оно оказалось простым.

При добавлении custom-правила вызовом 

Terrasoft.sdk.Model.addBusinessRule

(функция executeFn), в месте возврата данных model.load (success) необходимо вставить Ext.callback. Полным решение выглядит примерно следующим образом:

var modelName = "Account";
var model = Ext.ClassManager.get(modelName);
 
var queryConfig = Ext.create("Terrasoft.QueryConfig", {
	modelName: modelName,
	columns: ["Id", "Name", "Type"]
});
 
var failureFn = function(exception) {
	Ext.callback(callbackConfig.failure, callbackConfig.scope, [exception]);
};
 
model.load(account.get("Id"), {
	queryConfig: queryConfig,
	success: function(rec) {
 
		var type = rec.get("Type");
 
		record.changeProperty("FIELD-NAME", {
			hidden: type === "TYPE-VALUE"
		});
 
		Ext.callback(callbackConfig.success, callbackConfig.scope, [true]);
	},
	failure: failureFn,
	scope: this
});

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

Terrasoft.DataUtils.loadRecords

 

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

Коллеги, добрый день! Пишу скорее от отчаяния :( В 10.2 нами была выявлены две фундаментальные проблемы:

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

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

В результате какие-либо изменения существующих процессов становятся практически невозможными. Мысли?

Нравится

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

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

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

Ваше заявление некорректно. Данное поведение в базовой вопроизводится, но в случае если базовая стандартными средствами обновлена с 10.1 на 10.2. Я не проверял (если надо могу) на это выглядит на 10.1,  но здесь присутствующие коллеги, которые еще на 10.1 работают легко подтвердят гипотезу. 

UPD. Проверил на клиентской 10.1 - воспроизводлится на ура:

1) Значение, присвоенное по умолчанию параметру элемента процесса можно истребить только вместе с элементом процесса.

2) Значение присвоенное по умолчанию параметру процесса можно истребить только с этим параметром

3) про "Отправить e-mail" вы и без меня все знаете!

Таким образом мы имеем неслабый косяк в 10.1 который при обновлении переехал и в 10.2.

Добрый день!

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

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

Кейс будет исправлен в 7.11.0.

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

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

Версия 7.10.

На странице списка Активностей есть такой фильтр:

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

Как я понял, параметры фильтра задаются внутри функции initFixedFiltersConfig, в схеме ActivitySectionV2.

1. Я правильно понимаю, что фильтрация ведётся по детали Участники события?

2. Можно ли как-нибудь отменить множественный выбор по этому фильтру? Хотелось бы чтобы одномоментно показывался только один сотрудник.

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

Нравится

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

Здравствуйте, это фиксированные фильтры, а следовательно они сделаны по инструкции: https://academy.terrasoft.ru/documents/technic-sdk/7-10/dobavlenie-v-razdel-bloka-bystryh-filtrov



Почитайте код метода initFixedFiltersConfig в активити секции пакета NUI, там увидите код фильтров и по каким колонкам он фильтрует.



Что касается пунктов меню, они для Овнер фильтра запрограммированы в следующей схеме:​​​​​​​ 

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