Дополнение "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. Возможно у вас есть доп. уточнения, чтобы воспроизвести кейс?