Нравится

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

Добрый день, почему то при создании лендинга не заполняется Шаг 2 (в системных настройках так же указал 

URL сервиса приёма данных со страниц лендингов)

 

Нравится

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

Здравствуйте, Сакен!

На этом этапе важно понять, Вы создаете лендинг в кастомном (пользовательском) типе или базовом?

Если кастомном, то следуя информации указанной в статье на Академии, при создании объекта Вам необходимо было актуализировать наполнение скриптами для страницы редактирования web-формы. На этом шаге нужно было выполнить SQL запрос, после выполнения которого открыть созданную в конфигурации схему и пересохранить. По результату при создании лендинга в разделе "Лендинги и Web-формы" отобразился бы скрипт, который необходимо разместить в коде посадочной страницы.

Детальная информация о настройке, описана в статье на Академии: https://academy.terrasoft.ru/docs/developer/elements_and_components/marketing_campaigns/web-to-object._integraciya_s_pomoschyu_lendingov_i_veb-form#title-2294-8 

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

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

Уважаемая колеги!
Обращаюсь к вам со следующей задачей: 
1.Надо произвести запрос к внешнему API-сервису с конкретными входными параметрами. 
2. В ответ получаем данные в формате XML․ 
3.В качестве результата вывести данные из полученного файла на странице пользователя. 
4. Следующим шагом сохранить эти данные в БД. 
 Есть у вас шаблон для реализации описанной задачи или какие-либо рекомендации по ее выполнению?  
 

Нравится

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

Nerses, в дизайнере бизнес-процессов есть элемент вызова веб-сервиса, но в нынешней реализации он поддерживает только JSON, а не XML.

То есть Вам нужно будет обращаться к сервису и получать XML-ответ кодом. Пример есть тут.

 

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

 

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

 

Поскольку работа с XML будет выполнятся на C# из блока-скрипта, сохранение в базу можно сделать там же, используя класс Insert или Entity.Save. Второй вариант позволит при сохранении запустить какую-то дополнительную логику на объекте или в БП на событии создания, первый сохраняет в обход срабатывания событий.

 

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

 

А вот если бы это был вызов веб-сервиса, возвращающего JSON, можно было бы без написания кода произвести сохранение в базу полученной коллекции элементом создания записи. Но пока для XML такого нет.

В системе для пунктов 1-3 нет специальных классов, вы реализуете эту функциональность используя либо стандартные классы .net, либо подключая любые библиотеки которыми вы хотите пользоваться.

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

Нравится

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

Ошибка возникает из-за того, что поле обязательное для заполнение.

0 в числовых полях считается незаполненным значением. Снимите обязательность поля (либо бизнес правило, либо в самом объекте)

Ошибка возникает из-за того, что поле обязательное для заполнение.

0 в числовых полях считается незаполненным значением. Снимите обязательность поля (либо бизнес правило, либо в самом объекте)

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

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

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

версия мобильного приложения 7.10

 

из-за чего может возникнуть такой конфликт?

старая версия моб приложения и обновленный хром совсем никак не смогут сосуществовать?

Нравится

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

Здравствуйте, Анна!

 

У нас нет как таковой поддержки старых версий приложения. Рекомендуем использовать актуальную версию приложения, сейчас это 7.16.1. 

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

При попытке выгрузки списка, выдается ошибка "Неполадка сервера". Дело в том что мы увеличили количество столбцов до 50 и после этого перестали экспортироваться списки больше ~25, ограничение в web.config на количество выгружаемых строк увеличено до 40 000, есть ли возможность выгрузить большее количество строк?

 

Нравится

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

Такие большие массивы мы через ODATA в Excel Power BI выгружали

Если сайт развёрнут локально, то ещё можно брать информацию напрямую запросами к базе. Или сохранить в файл, используя Management Studio, или подключаться к базе прямо из Excel по кнопке на вкладке «Данные».

 

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

Здравствуйте, Сакен!

 

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

 

Такое поведение ещё может быть, если в системной настройке "Количество записей в пачке для экспорта в Excel" стоит слишком больше значение. Коробочное значение равно 2000.

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

Добрый день,

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

Нашла на портале похожий вопрос, но не до конца понятен код.

https://community.terrasoft.ru/questions/kak-otobrazat-tab-po-usloviu-v-74

спасибо!

Нравится

3 комментария
Лучший ответ
1) Для получения роли советую использовать любезно написанный Севостьяновичем Ильей Сергеевичем миксин по ссылке https://community.terrasoft.ua/tags/opredelit-rol
2) Дальше передать в функцию полученный результат (работает способ начиная с версии 7.12.4, описано в описании релиза https://academy.terrasoft.ru/documents/bpmonline-release-notes-7-12-4 в модуле "OAuth20AppPage")

visibleTab: function(role){
    if(Role1){
        var tab = this.$TabsCollection.get("Tab1"); // "Tab1" - имя вкладки
        tab.set("Visible", true); // "Visible" - ключ свойства, true - значение свойства
    }
    ......
}

3) Через Init при загрузке страницы все это запускаем (думаю роли меняютьяся не часто потому отслеживание изменения в реальном времени не нужно)
1) Для получения роли советую использовать любезно написанный Севостьяновичем Ильей Сергеевичем миксин по ссылке https://community.terrasoft.ua/tags/opredelit-rol
2) Дальше передать в функцию полученный результат (работает способ начиная с версии 7.12.4, описано в описании релиза https://academy.terrasoft.ru/documents/bpmonline-release-notes-7-12-4 в модуле "OAuth20AppPage")

visibleTab: function(role){
    if(Role1){
        var tab = this.$TabsCollection.get("Tab1"); // "Tab1" - имя вкладки
        tab.set("Visible", true); // "Visible" - ключ свойства, true - значение свойства
    }
    ......
}

3) Через Init при загрузке страницы все это запускаем (думаю роли меняютьяся не часто потому отслеживание изменения в реальном времени не нужно)

Александр Тыра,

cпасибо!

Находите в элементах diff вашу вкладку: "name": "Tab62a4b2e3TabLabelGridLayout1729d7bb" - пример.
Далее в "values":{
//прописываете
//видимость по функции
"visible": {
                        "bindTo": "IdUser1"
                    },
}
После в
methods{

//пишите функцию:
IdUser1:function(){
            var x;
   x=Terrasoft.SysValue.CURRENT_USER.value;
            if (x==="id вашего пользователя - можно найти в сотрудниках"){
                return true;    
}else{
return false;
}

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

Добрый день.

Вопрос следующий:

согласно документации по настройке входа на портал создал контакты и ссылки, как я могу изменить заголовки этих данных, "Сапорт" изменить на Тех.поддержка, "важные ссылки" на "инструкции".

Прикрепленные файлы

Нравится

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

Сакен, это документация по 7.15, а у Вас на скриншоте — 7.10. В версии 7.15 заголовков у этих полей вообще нет и панель со ссылками появляется слева, а не справа. Посмотрите в тексте файла NuiLogin.aspx в папке с сайтом, возможно, эти заголовки прописаны там. Если нет, то страница логина генерируется на уровне ядра. Нужно смотреть документацию по версии 7.10, возможно, там есть о персонализации конкретно в ней.

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

Добрый день.
Есть несколько  вопросов по обслуживанию БД MSSQL.
1. Есть ли рекомендации вендора по обслуживанию таблиц CRM в БД? Например, как часто нужно обновлять статистику, перестраивать индексы и т.д.
2. Какой допустимый процент фрагментации индексов для таблиц? Для примера:

  • SysProcessElementData
  • SysProcessLogData 
  • SysProcessElementLog
  • Activity
  • Contacts

Спасибо.

Нравится

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

Добрый день.

В нашем плане по обслуживанию БД мы руководствуемся следующими правилами:

  • если фрагментация до 10%, то такие индексы мы пропускаем
  • если размер индекса менее 1000 страниц, то такие индексы мы не анализируем, так как их фрагментация практически ни на что не влияет
  • при фрагментации от 10% до 30% проводится реорганизация индекса
  • при фрагментации более 30% проводится перестроение индекса

 

При этом нужно учитывать некоторые нюансы.

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

Online перестроение индекса доступно только в Enterprise Edition. Во всех других изданиях перестроение проводится в offline-режиме, т.е. таблица становится недоступной для пользователей.

Если БД работает в режиме full recovery model, то нужно иметь ввиду, что перестроение индексов является логируемой операцией, т.е. следует ожидать резкого увеличения объёма журнала транзакций. Если увеличение объёма критично, то можно перестоение заменить на реорганизацию, однако в этом случае процесс будет идти несколько дольше.

Мотков Илья,

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

Это очень индивидуально. Можно ориентироваться на деградацию производительности. Т.е. если через неделю после дефрагментации появляются заметные подтормаживания, значит расписание нужно запланировать таким образом чтоб не доводить до этого. Если система не используется 24\7, то можно проводить данную акцию каждый день в нерабочие часы. Т.е. нет чётких критериев.

 

P.S. Ещё рекомендуется регулярно обновлять статистику.

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

Не могу понять в чем ошибка... помогите разобраться...

https://[url_app]/0/ServiceModel/EntityDataService.svc/ActivityCollection?$filter=CreatedOn ge datetime'2018-12-01T00:00' возвращает ошибку - см. аттач.

Нравится

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

<message xml:lang="">Unrecognized 'Edm.DateTime' literal 'datetime'2018-12-12T00:00'' in '13'.</message>

Очень интересно...

https://[url_app]/0/ServiceModel/EntityDataService.svc/ActivityCollection?$filter=CreatedOn ge datetime'2018-12-12' - а вот так заработало...

Как оказалось, если нужно с часовым поясом, то надо «/0/ServiceModel/EntityDataService.svc/ActivityCollection?$filter=CreatedOn ge datetime'2018-12-01T00:00:00' », так работает.

А еще в статье  путаница: 

где-то в примере указывают ?select=Id, а где-то $select...

по факту работает так:

$filter=CreatedOn ge datetime'2018-12-01'&$select=Id...

В спецификации тоже везде с долларом.

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