Дополнение "Debugging generated script for Creatio" не работает на Oracle
При попытке запустить код C# получаем ошибку "ВОЗНИКЛА ОШИБКА: The type or namespace name 'TsiDevIRunable' does not exist in the namespace 'Terrasoft.Configuration' (are you missing an assembly reference?)
at Terrasoft.Configuration.TsiDevScriptEngine.Compile(String source, String[] assemblies)
at Terrasoft.Configuration.TsiDevDynamicCodeExecutor.Execute(String csCode)
at Terrasoft.Configuration.TsiDevESQDebugService.GetSQLFromCSharp(String sourceCode, Boolean onlySQL)"
Версия: 7.16.4 SalesEnterprise_Marketing_ServiceEnterprise Oracle ENU
Нравится
Добрый Александр.
Могли бы вы прислать код, который вы запускаете для выполнения?
Дарья Ткач,
Стандартный код что идет при входе в утилиту
#region usings and class definition using System; using Terrasoft.Configuration; using Terrasoft.Core; using Terrasoft.Core.DB; using Terrasoft.Core.Entities; // Название namespace, class и метода Run менять нельзя namespace TsiDevTemp.ScriptCode { public class ScriptClass: Terrasoft.Configuration.TsiDevIRunable { #endregion /// <summary> Выполнение кода </summary> /// <returns> Должен возвращать текст SQL запроса</returns> public string Run(UserConnection userConnection) { var esq = new EntitySchemaQuery(userConnection.EntitySchemaManager, "Contact") { RowCount = 10 }; esq.AddColumn("Id"); esq.AddColumn("Name"); var select = esq.GetSelectQuery(userConnection); select.BuildParametersAsValue = true; return select.GetSqlText(); } } }
А вообще хотел запустить
Query selectQuery = new Select(UserConnection).Top(numberCountForNumberPool) .Column(Column.Parameter(request)).Column(Column.Parameter(currentUserContactId)) .Column(Column.Parameter(currentUserContactId)) .Column("KtSimManagementInitialPoolNumbers", "KtIccid") .Column("KtSimManagementInitialPoolNumbers", "KtImsi") .Column("KtSimManagementInitialPoolNumbers", "KtMsisdn") .Column("KtSimManagementInitialPoolNumbers", "KtName") .Column(Column.Parameter(cityAndCountNumbersEntity.GetTypedColumnValue<Guid>(city.Name))) .Column(Column.Parameter(cityAndCountNumbersEntity.GetTypedColumnValue<string>(note.Name))) .Column(Column.Parameter(DateTime.UtcNow.Date)) .Column(Column.Parameter(DateTime.UtcNow.Date .AddDays((int)Core.Configuration.SysSettings.GetValue(UserConnection, "DayCountForDedicatedPoolNumbers") + 1).AddSeconds(-1))) .From("KtSimManagementInitialPoolNumbers") .OrderByAsc("KtSimManagementInitialPoolNumbers", "KtName") .Join(JoinType.LeftOuter, "KtJasperFullNumberPool") .On("KtSimManagementInitialPoolNumbers", "KtName") .IsEqual("KtJasperFullNumberPool", "KtName") .Where("KtJasperFullNumberPool", "KtName") .IsNull() .And("KtSimManagementInitialPoolNumbers", "KtMarketCodeId") .IsEqual(Column.Parameter(cityForMarketCode)); logger.Info("selectQuery: " + selectQuery.GetSqlText()); InsertSelect insertSelectQuery = new InsertSelect(UserConnection) .Into("KtJasperFullNumberPool") .Set("KtRequestId", "ModifiedById", "CreatedById", "KtIccid", "KtImsi", "KtMsisdn", "KtName", "KtCityId", "KtNote", "KtReserveDate", "KtReserveToDate") .FromSelect(selectQuery); logger.Info("insertSelectQuery: " + insertSelectQuery.GetSqlText());
Александр Тыра,
провели анализ. Описываемый вами кейс не воспроизвелся на наших средах. Предполагаем, что это может быть связано с реализованным проектным решением или конкретной сборкой Creatio. Возможно у вас есть доп. уточнения, чтобы воспроизвести кейс?