Симптомы

1) Проэкспортированные файлы в десктопе имеют 0 размер

2) В логе ошибок синхронизации есть такой текст:

Ошибка HTTP 405.0 - Method Not Allowed

Разыскиваемая вами страница не может быть отображена потому, что используется недопустимый метод (команда HTTP).

Причина

Неправильные настройки IIS

Решение

В web.config вносим изменения:

<system.webServer>
    <modules>
        <remove name="WebDAVModule" />
    </modules>
    <handlers>
        <remove name="WebDAV" />
    </handlers>
</system.webServer>

Нравится

Поделиться

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

1. Добавить в конфигураторе в Custom - действие процесса

Заголовок: Звонок в CTI-панель

Название:UsrCtiPanelCallUserTask

Скрипт:

var message = "{\"number\": \"" + PhoneNumber + "\"}";
MsgChannelUtilities.PostMessage(UserConnection, "CtiPanelCallFromProcess", message);
return true;

Добавить в этом же юзер таске параметр

Название: PhoneNumber

Подпись: Номер телефона

Тип данных: строка

И добавить два Usings

    Terrasoft.Configuration
    Terrasoft.Core.Factories

2. Добавить  в конфигураторе в Custom - замещающий клиентский модуль

Родительский обьект: ClientMessageBridge

Скоприровать Название в Заголовок.

Сохранить

Вставить код:

define("ClientMessageBridge", [], function() {
    return {
        messages: {
            "CallCustomer": {
                "mode": Terrasoft.MessageMode.PTP,
                "direction": Terrasoft.MessageDirectionType.PUBLISH
            }
        },
        methods: {
            init: function() {
                this.callParent(arguments);
                this.addMessageConfig({
                    sender: "CtiPanelCallFromProcess",
                    messageName: "CallCustomer"
                });
            },
            beforePublishMessage: function(sandboxMessageName, webSocketBody) {
                if (sandboxMessageName === "CallCustomer") {
                    // Здесь вставить дополнительный код, который будет выполняться перед звонком
                }
            },
            afterPublishMessage: function(sandboxMessageName, webSocketBody) {
                if (sandboxMessageName === "CallCustomer") {
                    // Здесь вставить дополнительный код, который будет выполняться после звонка
                }
            }
        }
    };
});

Сохранить

3. После конфигуратора в БП добавляем блок "Выполнить действие процесса", где выбираем: Звонок в CTI-панель

Указываем в параметре номер телефона для звонка.

Нравится

Поделиться

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

Вопрос

День добрый.

Версия 7.7

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

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

В данной версии, этого не достаточно, страница как была отредактирована, так она и осталась.

Как выйти из положения?

Ответ

Данное поведение связано с тем что начиная с версии 7.7 в BPM'Online используются бандлы, в которых содержатся все схемы страниц и разделов. Простое удаление замещающей схемы страницы раздела не изменяет бандл. Для возврата к исходной странице, Вам нужно создать пустой замещающий клиентский модуль для нужной Вам страницы. К примеру для страницы раздела "Лиды" он будет выглядеть так:

define("LeadPageV2", ["BusinessRuleModule", "ConfigurationConstants"],
    function(BusinessRuleModule, ConfigurationConstants) {
        return {};
});

Затем нужно сохранить созданный модуль и очистить кэш браузера.

Нравится

Поделиться

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

Симптомы

При добавлении продуктов в счет всплывает ошибка о том, что поле "Цена поставщика" обязательна к заполнению, но она заполнена. Значение в поле есть. 

Причина

Включено администрирование по колонкам для объекта "Счет" и на поле "Цена поставщика" у указанного пользователя нет права (не смотря на то, что поле заполняется автоматически).

Решение

Дать право на изменение колонки "Цена поставщика" нужному пользователю.

Нравится

Поделиться

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

Симптомы

Есть сущность, в ней несколько табов (e.g. Tab1 и Tab2), в табах field groups. Tab1 - первый слева направо, т.е. открыт по умолчанию, и видны поля. Нужно добавить поле в Tab2, закрытый / неактивный по умолчанию. Но не просто добавить, и менять скрывать / снова показывать по условию. Я это делаю путём биндинга функции на свойство "visible" в размете. Еслие поле на карточке (не в табе) или в первом (открытом) то всё работает. Если же поле находится в Tab2, то при открытии сущности бросается исключение.

В неактивном табе расположен GRID_LAYOUT на котором расположено поле с байндингом свойства "visible" на свойство/метод модели. Необходимым условием есть расположение поле в GRID_LAYOUT и наличие у поля байндинга со свойством "visible".

Решение

Обходные решения: 

1) Использовать свойство элемента "enabled" вместо "visible", то есть, вместо того что бы скрывать поле, делать поле не редактируемым.

Недостаток: поле остаётся видимым.

Достоинство: решение совместимо с мастерами.

2) Вместо контейнера GRID_LAYOUT для скрываемого элемента в качестве контейнера использовать: CONTAINER, CONTROL_GROUP или ContainerList .

Недостаток: решение не совместимо с мастером и скорей всего потребует вмешательства разработчика. Достоинство: поле будет скрыто."

Нравится

Поделиться

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

Вопрос

Высоту поля "Решение" можно изменить?

Ответ

Для решения данного вопроса необходимо изменять базовую логику приложения с помощью кода в схеме KnowledgeBasePageV2. 

Алгоритм:

1. Заместить данный модуль.

2. Для колонки «Notes» (diff) добавить в секцию «values» или «controlConfig» свойство «"height": "размер в пикселях"»).

Пример кода:

{
    "operation": "merge",
    "name": "Notes",
    "values": {
        "height": "500px"  
    }
},

 

Нравится

Поделиться

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

Симптомы

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

Тип: Terrasoft.SourceCodeException 

Сообщение: Uncaught TypeError: Cannot read property 'ColumnConfigs' of null 

Дополнительная информация: 

        Script: file:///android_asset/www/Common/Terrasoft.Mobile.Combined.js%0D%0A%09Line: 19048 

Calls sequence: 

    at Ext.define.showException (file:///android_asset/www/Common/Terrasoft.Mobile.Combined.js:33105:41

    at Ext.define.showUncaughtException (file:///android_asset/www/Common/Terrasoft.Mobile.Combined.js:1965:25

    at window.onerror (file:///android_asset/www/Common/Terrasoft.Mobile.Combined.js:1666:20)

Причина

Дублирование схем в манифесте

Решение

Вариант 1

Нужно в базовой схеме MobileApplicationManifest пакета Mobile изменить строчку

…
Models: {
    …
    Activity: {
        …
        RequiredModels: [
            'Contact''ActivityType''ActivityStatus',
            'ActivityResult''ActivityCategory''ActivityPriority', 'Contact', 
            'Account''Opportunity''Lead''ActivityParticipantRole',
            'ActivityParticipant''ActivityCategoryResultEntry''ActivityCorrespondence''Activity'

Убрать дублирующееся значение «Contact»

Вариант 2

Обновить мобильное приложение на более свежую версию

Необходимые условия и возможные ограничения

Версия BPMonline 7.1.0 - 7.5.0

Версия мобильного приложения:

   Android 7.6.2. - 7.6.3.

   iOS 7.6.2

Нравится

Поделиться

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

Симптомы

Тип: Terrasoft.ODataSecurityException%0D%0AСообщение: Недостаточно прав для изменения записи в объекте "Activity"%0D%0AДополнительная информация: %0D%0A%09{"error":{"code":"5","message":{"lang":"","value":"Недостаточно прав для изменения записи в объекте \"Activity\""},"innererror":{"message":"Недостаточно прав для изменения записи в объекте \"Activity\"","type":"System.Security.SecurityException","stacktrace":"   в Terrasoft.Core.Entities.Entity.UpdateInDB(Boolean validateRequired)\r\n   в Terrasoft.Core.Entities.Entity.Save(Boolean validateRequired)\r\n   в Terrasoft.Core.Entities.Services.EntityLazyProxy.SaveChanges()\r\n   в Terrasoft.Core.Entities.Services.ServiceContext.SaveChanges()\r\n   в System.Data.Services.DataService`1.HandleNonBatchRequest(RequestDescription description)\r\n   в System.Data.Services.DataService`1.HandleRequest()"}}}%0D%0A%0D%0A

Тип: Terrasoft.ODataSecurityException%0D%0AСообщение: Недостаточно прав для изменения записи в объекте "Activity"%0D%0AДополнительная информация: %0D%0A%09{"error":{"code":"5","message":{"lang":"","value":"Недостаточно прав для изменения записи в объекте \"Activity\""},"innererror":{"message":"Недостаточно прав для изменения записи в объекте \"Activity\"","type":"System.Security.SecurityException","stacktrace":"   в Terrasoft.Core.Entities.Entity.UpdateInDB(Boolean validateRequired)\r\n   в Terrasoft.Core.Entities.Entity.Save(Boolean validateRequired)\r\n   в Terrasoft.Core.Entities.Services.EntityLazyProxy.SaveChanges()\r\n   в Terrasoft.Core.Entities.Services.ServiceContext.SaveChanges()\r\n   в System.Data.Services.DataService`1.HandleNonBatchRequest(RequestDescription description)\r\n   в System.Data.Services.DataService`1.HandleRequest()"}}}%0D%0A%0D%0A

Тип: Terrasoft.ODataSecurityException%0D%0AСообщение: Недостаточно прав для изменения записи в объекте "Activity"%0D%0AДополнительная информация: %0D%0A%09{"error":{"code":"5","message":{"lang":"","value":"Недостаточно прав для изменения записи в объекте \"Activity\""},"innererror":{"message":"Недостаточно прав для изменения записи в объекте \"Activity\"","type":"System.Security.SecurityException","stacktrace":"   в Terrasoft.Core.Entities.Entity.UpdateInDB(Boolean validateRequired)\r\n   в Terrasoft.Core.Entities.Entity.Save(Boolean validateRequired)\r\n   в Terrasoft.Core.Entities.Services.EntityLazyProxy.SaveChanges()\r\n   в Terrasoft.Core.Entities.Services.ServiceContext.SaveChanges()\r\n   в System.Data.Services.DataService`1.HandleNonBatchRequest(RequestDescription description)\r\n   в System.Data.Services.DataService`1.HandleRequest()"}}}%0D%0A%0D%0A

Причина

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

Решение

Для решения задачи следует:

1. Если пользователь раннее не был добавлен в конфигурацию, то необходимо перейти в меню “Управление конфигурацией”, “Администрирование: Доступ к объектам”, деталь “Доступ к записям по умолчанию: Изменение” и добавить пользователя\роль;

2. Выполнить действие “Актуализировать организационную структуру” (Рис. 1, пункт 1);

3. Раздать права доступа на объекты мобильного приложения ” (Рис. 1, пункт 2);

4. Выполнить повторную синхронизацию с мобильного устройства.   

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

Рис. 1

Необходимые условия и возможные ограничения

Доступ в систему под учетной записью пользователя с правами администратора.

Нравится

Поделиться

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

Симптомы:

Ошибка: Could not load file or assembly 'SharpSvn'

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

Причина:

При обновлении клиента с 7.11.3 на 7.12.0

Решение:

Новая настройка безопасности. Чтобы можно было запускать консоль с удаленных серверов нужно в app.config консоли добавить/отредактировть параметр:

true" />

Нравится

Поделиться

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

Симптомы

Мобильное приложение не синхронизируется в онлайн режиме (в офлайн режиме – все ОК).

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

Причина

По результатам анализа, в некоторых конфигурациях IIS и .NET Framework ASP.NET обрабатывает URL (адрес сайта) таким образом, что экранируются спецсимволы. При интеграции средствами OData (мобильное приложение bpm'online) используются URL содержащие $.

Эту особенность можно выключить специальной опцией в файле «web.config».

Решение

Для этого Вам необходимо (ниже пункты, которые должен выполнить пользователь с правами системного администратора):

  1. Перейти к папке с исходными файлами приложения (например, C:\bpm\7.8.0.1681_SalesEnterprise_Softkey_MSSQL_ENU). Путь к папке произвольный. Данной информацией должен владеть системный администратор приложения;
  2. Далее в корневой папке открыть блокнотом  файл web.config;
  3. Найти секцию   (например, быстрее можно найти через поиск в блокноте (Ctrl + F);
  4. В эту секцию добавить строку:





     
  5. Сохранить изменения (просьба перепроверить, что изменения сохранились);



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

     
  6. Далее открыть второй web.config, который находится в папке с приложением «Terrasoft.WebApp» (C:\bpm\7.8.0.1681_SalesEnterprise_Softkey_MSSQL_ENU\Terrasoft.WebApp) и повторить пункты 2-5.



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



     
  7. Далее перезапустить приложение на IIS и почистить Redis.

Просьба перед внесением изменений сделать копии файлов web.config.

Хотелось бы отметить, что данная ситуация возникает только при использовании Online режима - https://academy.terrasoft.ru/documents/mobile/7-8-0/specifika-raboty-v-online-i-offline-rezhimah

Необходимые условия и возможные ограничения

Права системного администратора

Нравится

Поделиться

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