Добрый день коллеги, как загрузить в страницу деталь сразу при открытии.  Деталь отрисосывается если только октрыть соответсвующую вкладку. Мне нужно чтобы при открытии страницы все делали отрисовались. 

Нравится

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

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

 

Подскажите, а какая бизнес цель в реализации этой задачи?

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

Ivan Kuchma,

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



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



P.S Начало проблемы обсуждалось тут 

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

Добрый вечер.

Установлена библиотека Aspose.Word. При ее использовании для конвертации Печатных форм из word в pdf исчезают картинки. Кто-нибудь сталкивался с таким? Есть идеи, в чем может быть проблема?

Нравится

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

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

 

Подскажите, пожалуйста, Вы используете маркетплейс дополнение https://marketplace.terrasoft.ru/app/asposepdf-connector-creatio для формирования печатных форм в формате PDF?

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

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

 

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

Хотелось бы, чтобы пользователи подключались к серверам. на которых не выполняются вычисления и обработки бизнес-процессов, интеграции и прочее, а это было на отдельном сервере.

 

Если это возможно, прошу рассказать, как это реализовать

Спасибо!

Нравится

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

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



Выполнение фоновых процессов можно вынести в RabbitMQ (7.17.0 и выше), в таком случае не придётся увеличивать maxthreadcount и, как следствие, нагрузка на приложение снизится.



Инструкция:

1. Развернуть сервер RabbitMQ версии 3.8.0 или выше на своем сервере:

Для режима разработки: В docker (сразу с vhost): 

docker run -d --name some-rabbit -e RABBITMQ_DEFAULT_VHOST=VirtualHostName -p 15672:15672 -p 5672:5672 rabbitmq:3-management



2. Создать виртуальный хост:  https://www.rabbitmq.com/vhosts.html

Например, так:

curl -u guest:guest -X PUT http://host:15672/api/vhosts/VirtualHostName



3. Настроить ConnectionStrings.config

<add name="messageBroker" connectionString="amqp://guest:guest@host:5672/VirtualHostName" />, где VirtualHostName - название virtual host, созданного в п.2.



4. Изменить настройки в /Terrasoft.WebApp/Web.config (net framework), Terrasoft.WebHost.dll.config (net core)

 

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

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

Добрый день! Пытаюсь реализовать маску ввода телефона при помощи jQuery и InputMask, т.к. MultiMaskEdit некорректно отрабатывает на смартфонах Android. Подключил клиентские модули с кодом библиотек. Вне Creatio данные библиотеки проверены и работают. В Creatio же получаю следующую ошибку: Uncaught TypeError: $(...).inputmask is not a function

Использую следующий код:

define("HbkNewTrustNumberPage", ["HbkjQuery","HbkInputMask"], function() {
	$(document).ready(function() {
		$("#HbkNewTrustNumberPageHbkNewTrustNumberTextEdit-el").inputmask("+\\9\\96 999999999");
	});
	return {
		entitySchemaName: "",
		attributes: {},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/



 

Нравится

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

Здраствуйте, рекомендую для реализации валидации поля воспользоваться инструкцией по ссылке:https://academy.terrasoft.ru/docs/developer/interface_elements/page/pol…

Алёна Доля,

Добрый день! Валидация и маска ввода, это немного разные вещи. Меня интересует конкретно маска ввода.

Шарафутдинов Фаиль Русланович,

Здраствуйте, в таком случае реализацию рекомендую рассмотреть через DOMNodeInserted.

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

    setPhoneMask: function(that) {

                            $(document).bind("DOMNodeInserted", function(e) {

                        if ( $("#HbkNewTrustNumberPageHbkNewTrustNumberTextEdit-el")) {

                        $("#HbkNewTrustNumberPageHbkNewTrustNumberTextEdit-el").on("focus", function() {

                        $("#HbkNewTrustNumberPageHbkNewTrustNumberTextEdit-el").mask("+7(999)999-99-99", { autoclear: false, placeholder: "_" });

                          });

                        $(document).unbind("DOMNodeInserted");                      

                        }

                    });

                },

 

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

Добрый день! Подскажите, пожалуйста, реализовали маску ввода номера телефона. На ПК все отображается корректно, а через браузер на Android маска отрабатывает некорректно, например

ПК: +996 999999999

Android: +996 999999999_________

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

Использовали следующий код:

define("ScNewTrustNumberPage", ["MultiMaskEdit"], function() {
	return {
		entitySchemaName: "",
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: 
		{
			getPhoneMask: function() {
				return {
					formats: ["+996 000000000"]
				}
			}
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation" : "merge",
				"name" : "ScNewTrustNumber",
				"values" : {
					"controlConfig" : {
						"className": "Terrasoft.MultiMaskEdit",
							"mask": {
								"bindTo": "getPhoneMask"
							},
						"maskConfig": {
							"definitions": {
								"0": {
									"re": "[0-9]"
								}
							}
						}
					}
				}
			},
			]/**SCHEMA_DIFF*/
	};
});

 

Нравится

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

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

Алёна Доля,

Добрый день!

В данной статье описана валидация поля. Мне же необходимо реализовать маску ввода. Что-то вроде такого:

Шарафутдинов Фаиль Русланович,

Для реализации следуйте решению, которое обсудили с вами в обсуждении по ссылке: 

https://community.terrasoft.ru/questions/maska-vvoda-jquery-inputmask#c…

А именно реализовать маску с помощью jQuery.

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

Добрый день!

Потребовалось отловить запрос через fiddler который уходит с серверной стороны сайта.

Что пробовал

Базовые настройки в гайдах фидлера которые пробовали:

1) прописать в Terrasoft.WebApp\Web.config прокси

2) прописать в machine.config прокси

3) прописать через cmd netsh winhttp set proxy 127.0.0.1:8888)

Текст прокси



   

     

   





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

Нравится

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

Сергей, здраствуйте!

Вам может помочь в решении статья  по работе с fiddler.

Тут на видео пример https://www.youtube.com/watch?v=gnCKXw5gnzI

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

Доброго времени коллеги, возникла проблема при переносе пакета. 

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

Добавил в блок тем консультации новый раздел " Финансовые показатели": 

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

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

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

Это блок темы консультации.



Затем я делаю привязку данных в самом теме консультации:

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

Но данные не переносятся. Что я делаю не так подтолкните пожалуйста. 

Нравится

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

Добрый день.

 

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

 

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

 

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

 

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

Алла Савельева,

Вы меня не поняли, или я не так объяснил пример. У меня не переносятся данные. Как они могут появиться если их нет в новом пакете? При привязке думаю что-то не ставлю вот он и не цепляет данные которые мне нужны. 

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

 

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

Олег Нефедьев, Логи сохранились, я чекнул логи, уставка проходит успешно он сохраняет все делати, но не привязывает кнопки и не обновляет процессы  тех кнопках, которые уже были. 

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

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

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

Куда и как прописывать фильтры, пожалуйста поделитесь опытом. 

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

Я так думаю, нужно сделать по аналогии как показано на скрине? 

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

Нравится

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

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

 

Требуемую логику можно реализовать с помощью управления правами доступа на записи в таблице 'Обращений'.

 

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

Для уже существующих обращений настроить такой доступ можно также через БП, в нем с помощью элемента [Чтение данных] вычитать записи из раздела 'Продажи', после добавить подпроцесс, который для каждой записи перераздаст права доступа в зависимости от ответственного.

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

 

Требуемую логику можно реализовать с помощью управления правами доступа на записи в таблице 'Обращений'.

 

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

Для уже существующих обращений настроить такой доступ можно также через БП, в нем с помощью элемента [Чтение данных] вычитать записи из раздела 'Продажи', после добавить подпроцесс, который для каждой записи перераздаст права доступа в зависимости от ответственного.

Алла Савельева,благодарю, попробую реализовать. Частично понял.

Ислам Ибрагимжанов,

Если будут вопросы, буду рада помочь.

Алла Савельева,Не срабатывает по вашему совету(я не до конца смог реализовать наверное), скажите а если я сделаю так: 

Сработает ли? 

Ислам Ибрагимжанов, добрый день!

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

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

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

Использовать код в таком случае необходимости не будет.

Sorotiuk Anna,Спасибо ознакомлюсь и попробую сделать как вы рекомендуете. 

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

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

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

Я видел тут такой же вопрос, но там в ответе описано, что в дизайнере можно поменять, но как? Буду благодарен за помощь.

Нравится

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

Ислам Ибрагимжанов, добрый день!

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

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

Подробнее тут.

Sorotiuk Anna,

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

Ислам Ибрагимжанов,

Можете уточнить версию целиком?

Проверила на 7.13.3 - заголовок изменяется.

Sorotiuk Anna, 7.13.4.638 вот версия. Как вы изменяли и заголовок меняется? Подскажите

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

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

 

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

Нравится

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

Добрый вечер.

 

По-моему, с помощью стандартных настроек сделать такой запрет не получится.

 

Можно в конфигурации в схеме UserProfilePage переопределить видимость кнопки Mailboxes. Делать её доступной, например, только для определенного пользователя/пользователей.

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