Добрый день. Может кто-то подскажет почему не работает событие change (не вызывается присвоенный метод при изменении поля), если у поля тип RICH_TEXT, и можно ли это обойти как-то?

Нравится

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

Доброе утро.

 

Если Вы удостоверились, что проблема не связана с ошибками в программном коде, проверьте на последней актуальной версии (её можно развернуть прямо на сайте Террасофт) воспроизводится ли ошибка. Если на самой последней версии ошибка не вопроизведется, есть 2 пути - либо обновляться до последней версии, либо писать в службу поддержки и просить у них какой-то патч (если такой есть). Если ошибка воспроизведется и на последней версии, тогда также пишите в поддержку и просите у них разъяснений.

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

Здравствуйте, после изменения цены в OpportunityProductPageV2 и LeadProductPage значения не изменяются, остаются первые введенные. Если добавить новый продукт, то его значения сохранятся. В чем может быть проблема?

Нравится

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



как ты меняешь значение цены программно или вручную?

Dima Avdoshin,

программно

Булат Хабирзянов,

если ты изменяешь поля на шарпе то проверь выполнение метода сохранения Save(), если на js посмотри не переопределен ли у тебя метод метод save onsaved и тп, также можно посмотреть не жмут ли пользователи отмену после выполнения твоего метода, проще наверное отладку поставить

а лучше кинуть сюда свой метод и описать его, а то так можно вечность гадать

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

Описание проблемы:

Имеется анонимный веб-сервис, который обрабатывает внешние запросы. Внутри сервиса как положено определяю системное подключение SystemUserConnection, для обеспечения работоспособности бизнес-процессов при работе с Entity добавляю соответствующую строку.

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

По причине того, что внутри вызываемого бизнес-процесса вызывается класс для генерации печатных форм ReportService и он никак не хочет работать с системным подключением SystemUserConnection было решено запускать процесс через ProcessEngineService.svc с предварительной аутентификацией посредством AuthService.svc.

Суть проблемы: при запросе из postman к методу моего анонимного веб-сервиса на стенде c обычным протоколом (http) отрабатывает все хорошо, на стенде с защищенным протоколом (https) возникает исключение при аутентификации «The underlying connection was closed: An unexpected error occurred on a send.».

Пробовались попытки получить cookies из системного контекста и перегнать их в ProcessEngineService.svc.

cookies = new CookieContainer();
var sourceCookies = HttpContext.Current.Request.Cookies;
for (int i = 0; i < sourceCookies.Count; i++)
{
    System.Web.HttpCookie cSource = sourceCookies[i];
    Cookie cookieTarget = new Cookie()
    {
        Domain = HttpContext.Current.Request.UserHostAddress,
        Name = cSource.Name,
        Path = cSource.Path,
        Secure = cSource.Secure,
        Value = cSource.Value
    };
    cookies.Add(cookieTarget);
}
HttpWebRequest httpWebRequest = WebRequest.Create(requestString)
                                    as HttpWebRequest;
httpWebRequest.Method = "GET";
httpWebRequest.CookieContainer = cookies;
httpWebRequest.GetResponse();

При таком подходе возникает тоже исключение «The underlying connection was closed: An unexpected error occurred on a send.», но уже при вызове метода httpWebRequest.GetResponse();

Как решить данную проблему?

Нравится

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

Ильдар, добрый день!

 

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

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

Добрый день!

Есть ли возможность установить в схеме (OpportunityProductInterest) в поле справочника значение из родительской схемы (Opportunity) того же справочника. Возился с бизнес-правилами и бп, но безуспешно.

Нравится

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

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

К сожалению, такой возможности нет.

Решил проблему костылями при помощи бизнес-правил, спасибо за ответ.

Странно конечно, удалял этот вопрос уже несколько раз, а он все равно остается )

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

nlog пишит свои логи в файл.

Пытаюсь настроить получение этих сообщений на почту. 

для этого в файл

nlog.targets.config

добавляю такой код 

       

но почта не отправляется,

при этом файл логирования  internalLogFile="D:\log\NLog.log">   даже не создается. Как разобраться в чем проблема?

nlog.config 

добавил цели

        

        

        

Нравится

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

Добрый день,  попробуйте дополнительно настроить  уровень логирования  

 

internalLogLevel="Trace",

 

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

Также посмотрите документацию по Nlog  Nlog-project.org и на Академии

 


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

Доброго дня! При налаштування Зведеної таблиці неможливо налаштувати ширину колонки.  Ось це налаштування ніяк не впливає на ширину колонки при відображенні в Дашборді.

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

 

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

 

Нравится

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

Добрий день!



У базовій функціональності системи є можливість регулювати ширину тільки першої колонки у зведених таблицях.

На відповідальну команду розробки вже зареєстровано побажання на доопрацювання.

 

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

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

Столкнулся с такой ситуацией. Для справочного поля в sql-запросе select через left join я выходил на "Название" значения (вместо айди, которое по умолчанию). Но, как выяснилось с помощью "Sys{объект}Lcz", отображались в запросе значения из другой локализации справочника, не "ru-RU". И на данный момент установлено у меня 2 локализации: RU и EN.



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

П.с. Мои коллеги подсказали, что, убрав локализацию, это повысило бы чутка быстродействие системы.

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

Нравится

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

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

 

Их можно выключить, отключив признак "активный". Это, а также список всех языков в системе можно увидеть в Languages разделе в дизайнере системы. 

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

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

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

 

IF OBJECT_ID('tempdb..#UsedCultures') IS NOT NULL

       DROP Table #UsedCultures

-- Получение списка используемых культур

SELECT DISTINCT cult.Id

INTO #UsedCultures

FROM SysCulture cult

INNER JOIN SysAdminUnit au

       ON au.SysCultureId = cult.Id

INSERT INTO #UsedCultures

    (Id)

SELECT

    SysSettingsValue.GuidValue

FROM

    SysSettingsValue

INNER JOIN SysSettings

    ON SysSettings.Id = SysSettingsValue.SysSettingsId

WHERE

    SysSettings.Code = 'PrimaryCulture'

-- Получение списка таблиц, из которых нужно удалять данные

DECLARE TableNamesCursor CURSOR FOR

SELECT

        t3.TABLE_NAME AS ChildTableName  

FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS t1 

        INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS t2 ON t1.UNIQUE_CONSTRAINT_NAME = t2.CONSTRAINT_NAME

        INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS t3 ON t1.CONSTRAINT_NAME = t3.CONSTRAINT_NAME

WHERE

       t2.TABLE_NAME = 'SysCulture'

       and t2.COLUMN_NAME = 'Id'

       and t3.COLUMN_NAME = 'SysCultureId'

DECLARE @TableName SYSNAME

OPEN TableNamesCursor

FETCH NEXT FROM TableNamesCursor INTO @TableName

WHILE @@FETCH_STATUS = 0  

BEGIN  

       PRINT @TableName

       DECLARE @Sql NVARCHAR(MAX);

       SET @Sql = 'DELETE FROM ' + @TableName + '

            WHERE SysCultureId NOT IN (SELECT Id FROM #UsedCultures)';

       PRINT @Sql

       EXECUTE sp_executesql @Sql

       FETCH NEXT FROM TableNamesCursor INTO @TableName

END

CLOSE TableNamesCursor

DEALLOCATE TableNamesCursor

DELETE FROM SysCulture

WHERE Id NOT IN (SELECT Id FROM #UsedCultures)

IF OBJECT_ID('tempdb..#UsedCultures') IS NOT NULL

       DROP Table #UsedCultures

K.Ivan,

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



Нет, удалять англ. культуру не собираемся.



Проблема в том, что меняются данные в таблице локализации, а не в таблице справочника.

Не подскажете, как обеспечить сохранение данных в справочнике, а не в таблице локализации? Или как привязать таблицу локализации объекта к пакету?



И после Вашего ответа я поставил на русской культуре признак "по умолчанию", с англ. признак убрался, но признак "активный" на англ. культуре не даёт снять (серый чекбокс).

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

 

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

Доброго дня коллеги, а есть такой скрипт для PostgreSQL?

Носуля Роман Викторович,



Роман, добрый день!

 

BEGIN;

-- Получение списка используемых культур

CREATE TEMP TABLE "UsedCultures" ON COMMIT DROP AS

SELECT DISTINCT cult."Id"

FROM "SysCulture" cult

INNER JOIN "SysAdminUnit" au

ON au."SysCultureId" = cult."Id";

INSERT INTO "UsedCultures" ("Id")

SELECT "SysSettingsValue"."GuidValue"

FROM "SysSettingsValue"

INNER JOIN "SysSettings"

ON "SysSettings"."Id" = "SysSettingsValue"."SysSettingsId"

WHERE "SysSettings"."Code" = 'PrimaryCulture';

-- Получение списка таблиц, из которых нужно удалять данные

DO $$

DECLARE

TableNamesCursor REFCURSOR;

TableName varchar;

BEGIN

OPEN TableNamesCursor FOR

SELECT kcu.TABLE_NAME

FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu

INNER JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc

ON ccu.CONSTRAINT_CATALOG = rc.UNIQUE_CONSTRAINT_CATALOG

AND ccu.CONSTRAINT_SCHEMA = rc.UNIQUE_CONSTRAINT_SCHEMA

AND ccu.CONSTRAINT_NAME = rc.UNIQUE_CONSTRAINT_NAME

INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu

ON kcu.CONSTRAINT_CATALOG = rc.CONSTRAINT_CATALOG

AND kcu.CONSTRAINT_SCHEMA = rc.CONSTRAINT_SCHEMA

AND kcu.CONSTRAINT_NAME = rc.CONSTRAINT_NAME

WHERE ccu.COLUMN_NAME = 'Id'

AND ccu.TABLE_SCHEMA = 'public'

AND ccu.TABLE_NAME = 'SysCulture';

--Удаление локализаций

LOOP

FETCH TableNamesCursor INTO TableName;

EXIT WHEN TableName IS NULL;

RAISE NOTICE 'Deleting from table %', TableName;

EXECUTE format('DELETE FROM %I WHERE "SysCultureId" NOT IN (SELECT "Id" FROM

"UsedCultures")', TableName);

END LOOP;

CLOSE TableNamesCursor;

END $$;

DELETE FROM "SysCulture"

WHERE "Id" NOT IN (SELECT "Id" FROM "UsedCultures");

COMMIT

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

Всем добрый день.

Кто-то сталкивался/реализовывал объединение дублей непосредственно в Деталях? Такая возможность есть или объединение работает только на справочниках и разделах?

Нравится

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

Евгений, здравствуйте!



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

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



На ответственной команде разработки уже зарегистрирована идея по реализации функционала слияния записей на деталях.

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

Добрый день! Можно ли изменить страницу благодарности после оценки обращения? Изменить логотип с bpm online на creatio?

А так же подскажите, как добавить поле комментарий на страницу, которая открывается после нажатия на "смайлик" для оценки обращения

Нравится

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

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



Изменить изображение на странице благодарности Вы можете в системной настройке [Логотип спасибо за оценку] (ImageThanksForRaiting), которая предназначенная для указания логотипа. По умолчанию отображается стандартный логотип crm Creatio, но вы можете загрузить пользовательский. В системной настройке есть кнопка «очистить значение», после нажатия на неё появится кнопка «Выбрать файл» и вы можете выбрать необходимое Вам изображение.

Рекомендуемый формат изображения: .PNG. Тип: изображение, Размер: не меньше 1280х900 px.





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

В системе должен быть пользователь SysPortalConnection.

Он должен быть с типом "Пользователь портала", с портальной лицензией и активный.

Пароль пользователя должен совпадать со значением во внутреннем конфиге в ключе UserManagementSauPassword.

Во внутреннем конфиге (папке с бинарными файлами\Terrasoft.WebApp\Web.Config)

Должны быть раскомментированы следующие строки

<add key="UserManagementSauName" value="SysPortalConnection" /> 

<add key="UserManagementSauPassword" value="тут пароль" /> 

После изменений в конфигах необходимо перезапустить сайт и очистить Redis.

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

В числовых полях, для которых назначено округление (и для которых оно не назначено тоже) в Creatio, и которые не заполнены (например, пользователь импортирует из excel свои данные заполняя карточку какую-нибудь, и там не все ячейки заполнены), отображается ЦИФРА, а не пустое поле. Сейчас обратила внимание на данную проблему, есть ли какое-либо решение?

 

Нравится

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

Это не проблема. Так работает система, так как для всех числовых полей системы на уровне ядра прямо в БД установлено значение по умолчанию - 0. Это происходит потому что в СУБД нет для числовых колонок такого понятия, как пустое значение. Если число, то обязательно 0. Так же если логическое, то FALSE.

Это не проблема. Так работает система, так как для всех числовых полей системы на уровне ядра прямо в БД установлено значение по умолчанию - 0. Это происходит потому что в СУБД нет для числовых колонок такого понятия, как пустое значение. Если число, то обязательно 0. Так же если логическое, то FALSE.

Владислав Литвинчук,

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

Добрый день!

Описанное Вами поведение не является ошибкой и соответствует базовой логике, которая присуща всем полям.

Если поле имеет тип - Число или Дробное число, то значение 0 или 0,00 - это пустое значение, то есть поле не заполнено.

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

Значения 0 или 0,00 является пустым значением, они отображаются в пустых полях для того, чтобы визуально пользователи понимали формат поля.

 

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

Жмурко Сергей,

Спасибо за объяснения) к сожалению, да, заменить на текстовое поле не получится..

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