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

 

Возврат функции модуля getView() содержит коллекцию кнопок (Terrasoft.Button) в массиве viewItems :

return this.Ext.create("Terrasoft.Container", {
                    id: "ModuleContainer",
                    selectors: {wrapEl: "#moduleContainer"},
                    classes: {wrapClassName: ["main-container-style"]},
                    items: viewItems});

Возврат функции модуля getViewModel(); В methods viewModel :

methods : {
onButtonClick: function () {
Terrasoft.showInformation("test");
}

В методе render модуля

render: function(renderTo) {
                var view = this.getView();
                var viewModel = this.getViewModel();
                view.bind(viewModel);
                view.render(renderTo);
         }

На странице создается контейнер и кнопка без реакции на клик.

Нравится

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

примеры по созданию кнопок есть в папке \Terrasoft.WebApp\Resources\ui\demo\button в конфигурации

Здравствуйте. Вцелом код выглядит правильно.

Убедитесь, что при добавлении кнопки( в diff), на событие onclick есть байндинг на ваш метод onButtonClick:

click: {bindTo: "onButtonClick"}

Demchenko Olha, Это модуль в который контент помещается на уровне объектов, то есть контент образуется при вызове вью динамически, без использования отдельной страницы вью где есть раздел diff 

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

Как проще всего вызвать я. карты в своем модальном окне? Окно сейчас сделал по кнопке в разделе.

Карты должны вызываться отправкой запроса, подключаются так:

<head>
    <script src="https://api-maps.yandex.ru/2.1/?apikey=API-ключ&lang=ru_RU" type="text/javascript">
    </script>
</head>

для карт существует условие полной загрузки на странице DOM-элементов, контейнера куда разместится карта, перед выполнением вызова самой карты:

В качестве контейнера может использоваться любой HTML-элемент блочного типа (например, элемент div). Карта заполнит этот элемент полностью.
 
<body>
    <div id="map" style="width: 600px; height: 400px"></div>
</body>

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

Может быть знаете путь?

Нравится

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

Вопрос добавления JS по внешнему адресу обсуждался тут.

Кстати, в маркете есть несколько дополнений по работе с «Яндекс-картами», они бесплатные, можно установить и проверить, как они решили.

А ещё на днях писал о способе добавить код на все страницы.

так добавление js по внешнему адресу не подходит для решения. Код карт высылается в ответ на Get запрос с ключом к Api. Способ конечно есть. Надо создать новый визуальный модуль. В нем создать вью модель, в которой в секцию metods поместить вызов ссылки к апи по ajax. Затем можно конструкцию ymaps  использовать в дальнейшем. Во вью модель поместить свою логику работы с картами по документации Яндекса и связать со вью. Решение с маркетплейса подсказало этот ход.

 

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

https://community.terrasoft.ru/articles/prosteyshee-modalnoe-okno-modal…;

Если у Вас уже есть окно с картами и нужно открыть его как модальное, см. тут.

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

Добрый день!

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

Пытаюсь создать условный поток с вычиткой данных о сроке действия банк.карты Контакта (Год) и (Месяц):

 

[#Читать Банк.карты.Первый элемент результирующей коллекции.Срок окончания(год)#]<="20"&&[#Читать Банк.карты.Первый элемент результирующей коллекции.Срок окончания(месяц)#]<=Месяц([#Читать Банк.карты.Первый элемент результирующей коллекции.Срок окончания(месяц)#])

 

*Желательно указать в условном потоке:

- что срок окончания(год)=Текущий год,

- что срок окончания(месяц)=Текущий месяц

Нравится

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

Екатерина, у Вас два числовых поля с номером месяца и года? Или они текстовые? В каком виде хранятся?

 

В дизайнере формул на вкладке «Системные переменные» есть «Текущее значение даты», а на вкладке «Функции» — «Месяц()». То есть можете написать «Месяц([#Системная переменная.Текущее значение даты#])». Для года функции не нашёл, можно написать числом в системную настройку, считывать оттуда и раз в год менять.

 

Или же сделать блок-скрипт, где проверять C#-кодом и результат писать в параметр логического типа. Код не привожу, он зависит от формата входных данных.

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

OsmMapsModule делает карту с надписью что использует для работы с апи OSM библиотеку js Leaflet. Я вижу что в OSMMapsModule пакета OSM нету метода для подключения сервиса маршрутизации, в этом случае как расширить модуль для вызова вот этого кода?

  L.Routing.control({
            waypoints: [
                L.latLng(57.874, 56.162), 
                L.latLng(52.574, 39.653)
            ],
            router: L.Routing....
        }).addTo(map);

 

Нравится

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

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

 

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

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

Помогите разобраться.

При компиляции выдает ошибку. 

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

Ошибка

Зависимость 'UsrPewPewService' пакета 'Custom' не найдена. Путь поиска: UsrPewPewService.cs

Нравится

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

Обратите внимание на аналогичную тему.

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

 

Если при компиляции в РФС, в Конфигурации или WorkspaceConsole, возникает ошибка: “Зависимость <имя процесса> пакета <имя пакета> не найдена. Путь поиска: ….”, поможет отключение функциональности "Процессов" : "CodeAnalyzer", посредством флага <add key="Feature-UseCodeAnalyzer" value="false" /> в конфиге приложения и WorkspaceConsole (Terrasoft.WebApp\Web.config и Terrasoft.Tools.WorkspaceConsole.exe.config),  с последующим выполнением команд: "Сгенерировать для требующих генерации" и "Компилировать все".

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

Добрый день!

Сегодня возникла проблема с подключением к веб-сокету Terrasoft Messaging Service из браузера Chrome с использованием защищенного соединения. Возникает ошибка ERR_SSL_OBSOLETE_VERSION. 

Вероятно Terrasoft Messaging Service использует протокол TLS версии ниже 1.2, которые Chrome перестал поддерживать.

Возможно ли в файле Terrasoft.Messaging.Service.exe.config указать версию TLS?

Нравится

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

Проблему для себя решили следующим образом:

1) Обновили TMS до последней актуальной версии.

2) В конфиге указали security="Tls12"

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

Литвинко Павел пишет:

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

Chrome обновил политику безопасности и требует использование более новой версии SSL сертификатов. 

Поэтому, если у Вас старый алгоритм шифрования на сертификате.



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



Тут необходимо обновить сертификат SSL на сервере с TMS. 

Как обходное решение, можно открыть в соседней вкладке браузера адрес https://[адрес TMS]:2013 

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

Дело может быть не только в сертификате. Если наблюдается с нормальным сертификатом, попробуйте обновить версию TMS. Либо же на уровне сервера отключена поддержка 1.2.

Проблему для себя решили следующим образом:

1) Обновили TMS до последней актуальной версии.

2) В конфиге указали security="Tls12"

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

Добрый день!

 

Имеется расширение от DevLabs для создания шаблонных обращений.

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

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

Нравится

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

Добрый день, Руслан, 

 

возможность создавать портальному пользователю обращение по шаблону в дополнении не реализована.

Передала вашу идею ответственной команде.

Ирина Лазоренко, благодарю, было бы полезной функцией.

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

Добрый день!

Появляется ошибка при добавлении почты Exchange в профиле BPM. При этом происходит бесконечная загрузка и почта не добавляется.

Ошибка на скриншотеИзображение удалено.

Нравится

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

Здравствуйте, Николай!

Если у Вас версия 7.16.1, то IMAP-почта может не добавляться из-за ошибки использования STARTTLS в пакете OldEmailIntegration. Возможно, и с Exchange причина та же. 

Исправление включено в  7.16.2.

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

Мотков Илья,

Добрый день!

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

У нас установлена версия 7.13

Здравствуйте, Николай!

В  таком случае, у Вас причина в другом.

Николай, судя по версии, у Вас сайт развёрнут локально. Значит, можно зайти в логи сервера в Error.log за нужный день и посмотреть, что там происходит в момент 500 ошибки. Может быть более подробная информация об ошибке и стек функций.

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

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

 

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

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

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

Нравится

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

Руслан, если по таймеру, то надо каким-то образом определять, какой Id имеется в виду. Если выйдет настроить фильтр, в который попадут только такие записи, можно использовать его.

 

Либо добавить служебное логическое поле «обработан» и программно его значение-галку снимать при смене стадии и ставить после отправки.  И фильтровать в БП по таймеру записи, где снято.

 

Хотя, если делаем обработчик события смены стадии, можно всё сделать в нём и нет смысла в отдельном БП по таймеру.

 

Вам нужно по таймеру обработать все обращения со статусом "В работе" или только последнее?

Ксензов Егор,

Мне нужно обработать индивидуально обращение, которое было возварщено из стадии OnHold и отправить уведомление именно тому ответственному, обращение которого было возвращено. Знаю как "цеплять к id" если 1 шаг это стартовый сигнал, а вот с таймером не разобрался как сделать

Шарифуллин Руслан,

здравствуйте! Тогда Вам необходимо добавить в данный процесс подпроцесс который будет обрабатывать обновленную коллекцию. В данной статье описана работа с коллекциями в БП. Это так на вскидку.

Руслан, если по таймеру, то надо каким-то образом определять, какой Id имеется в виду. Если выйдет настроить фильтр, в который попадут только такие записи, можно использовать его.

 

Либо добавить служебное логическое поле «обработан» и программно его значение-галку снимать при смене стадии и ставить после отправки.  И фильтровать в БП по таймеру записи, где снято.

 

Хотя, если делаем обработчик события смены стадии, можно всё сделать в нём и нет смысла в отдельном БП по таймеру.

 

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

Добрый день. Может кто-нибудь использовал "Вложенный отчет" в devexpress?

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

Как вообще к нему подступится, как его вызвать и как передать в него параметр?

Нравится

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

Здравствуйте, Александр.

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

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