Не удается создать новый Entity
Доброго времени суток коллеги!
Следующий код создания нового экземпляра Entity возвращает Null.
EntitySchema contractSchema = UserConnection.EntitySchemaManager.GetInstanceByName("Contract");
Entity contract = contractSchema.CreateEntity(UserConnection);
Guid guid = Guid.NewGuid();
contract.SetDefColumnValues();
contract.SetColumnValue("Id", guid);
Раньше такого не было.
При попытке задать значение полей выдает ошибку "Ссылка на объект не указывает на экземпляр объекта.".
из за чего поведение кода могло измениться?
Спасибо за ранее!
Нравится
Здравствуйте!
Где именно располагается данный пример кода? В бизнес-процессе, в веб-сервисе или в каком-то другом месте?
Что в стеке вызовов исключения?
Подозреваю, что проблема в UserConnection. Видимо, данная переменная не инициализирована.
Михаил Назыров,
Здравствуйте, этот код находится в исходном коде клиента внешнего веб-сервиса.
Стек:
в Terrasoft.Configuration.Hmb.ContactIntegration.HmbGetDepositsInfoRs.CreateContract(HmbGetDepositsInfoRsResponse result, Contract contract, Contact contact)
в Terrasoft.Configuration.Hmb.ContactIntegration.HmbGetDepositsInfoRs.SendRequest(HmbGetDepositsInfoRsRequest request)
в Terrasoft.Configuration.Hmb.ContactIntegration.HmbGetDepositsInfoRs.GetClientDeposits(Guid ContactId)
в Terrasoft.Configuration.Custom.TestService.Start() в SyncInvokeStart(Object , Object[] , Object[] )
в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
Насчет UserConnection: Оно инициализируется сразу конструктором и используется до возникновения ошибки несколько раз.
public partial class HmbGetDepositsInfoRs
{
........
private readonly UserConnection UserConnection;
public HmbGetDepositsInfoRs(UserConnection userConn)
{
UserConnection = userConn;
}
........
}
Добрый день
Такое ощущение, что у пользователя (того, кто стоит за UserConnection) нет прав на создание записей в объекте Contract
Артем Гура,
это супервизор. На всякий случай проверил, права есть
Rahimberdiyev Mirzohid Muhammadjon o'g'li,
Добрый день
1) Попробуйте отладить Ваш код и дополнительно проверить UserConnection. За ним должен стоять пользователь с правами админа и с доступом на операции по типу CanManageSolution и тд.
2) Также рекомендую проверить логи приложения на наличие ошибок.
3) + провести дополнительную генерацию и компиляцию.
4) Проверить будут ли создаваться другие объекты кроме Contract.
Если все эти рекомендации не помогут, то обратитесь в тех поддержку Terrasoft для более глубокого анализа.