Добрый день, коллеги!
У меня возникла задача по запуску хранимой процедуры с карточки контакта. Я на карточке добавил действие, где вызываю бизнес процесс. Из бизнес процесса выполняю вызов хранимой процедуры.
Ниже код вызова бизнес процесса из ContactPageV2:
GetCLStatus: function() {
var ContactId = this.get("Id");
var ContactName = this.get("Name");
var ContactBirthDate = this.get("BirthDate").toDateString();
var ContactTranslitName = this.get("TsTranslitName");
var ContactAdminUnitId = Terrasoft.SysValue.CURRENT_USER.value;
var ContactCLStatus;
var processArgs = {
sysProcessName: "CLCheckClientProc",
parameters: {
Id: ContactId,
FullName: ContactName,
BirthDate: ContactBirthDate,
TranslitName: ContactTranslitName,
AdminUnitId: ContactAdminUnitId,
CLStatus: ContactCLStatus
}
};
ProcessModuleUtilities.executeProcess(processArgs);
}
Еще ниже уже код вызова хранимой процедуры (сценарий в БП):
var sContactId = Get<string>("Id");
var sName = Get<string>("FullName");
var sBirthDate = Get<string>("BirthDate");
var sTranslitName = Get<string>("TranslitName");
var sAdminUnitId = Get<string>("AdminUnitId");
//var sName = "Иван Иванов";
string sCLStatus = "XXX";
var userConnection = Get<UserConnection>("UserConnection");
DataValueTypeManager dataValueTypeManager = userConnection.DataValueTypeManager;
var textDataValueType = new TextDataValueType(dataValueTypeManager);
StoredProcedure storedProcedure = new StoredProcedure(userConnection, "ACCCHECKCLIENT")
.WithParameter("sName", sName)
.WithParameter("dob", sBirthDate)
.WithParameter("sTranslitName", sTranslitName)
.WithParameter("sContactId", sContactId)
.WithParameter("sSysAdminUnitId", sAdminUnitId)
.WithOutputParameter("sStatus", textDataValueType) as StoredProcedure;
storedProcedure.Execute();
sCLStatus = storedProcedure.Parameters.FindByName("sStatus").Value as string;
Set("CLStatus", sCLStatus);
При таком вызове мне в базу пишутся только нечитаемые символы. Если в коде C# не читать из параметров, а вызывать напрямую, к примеру, "Иван Иванов" – все ок.
Отсюда я делаю вывод, что проблема либо при передаче параметров в БП, либо при начитке параметров в сценарии.
Подскажите, пожалуйста, в чем может быть проблема? Есть ли какая-то возможность посмотреть вообще, что передается в параметры бизнес процесса? Есть может какая-то возможность отладки БП?