Дополнение "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

Нравится

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

Добрый Александр.

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

Дарья Ткач,

 Стандартный код что идет при входе в утилиту

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

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