Пытаюсь решить простую задачу - нужно в скрипте "обнулить" значение поля справочника. Поле не обязательное для заполнения, значение отличное от null в него записать удается, а вот как стереть из него все?
update = new Update(Page.UserConnection, "ConsignmentCargo")
.Set("CurrentRoutePointId", Column.Parameter(DBNull.Value))
.Where("IsLast").IsNotEqual(Column.Parameter(1))
.And("ConsignmentId").IsEqual(Column.Parameter(CurrentConsignmentId));
update.Execute();
В примере это поле CurrentRoutePointId.
Через entity также установить null не удается
var entitySchemaManager = Page.Schema.SchemaManagerProvider.GetManager("EntitySchemaManager") as Terrasoft.Core.Entities.EntitySchemaManager;
var entitySchemaQuery = new EntitySchemaQuery(entitySchemaManager, "ConsignmentCargo");
entitySchemaQuery.AddColumn("CurrentRoutePoint");
entitySchemaQuery.Filters.Add(entitySchemaQuery.CreateFilterWithParameters(FilterComparisonType.Equal, "Consignment", CurrentConsignmentId));
entitySchemaQuery.Filters.Add(entitySchemaQuery.CreateFilterWithParameters(FilterComparisonType.NotEqual, "IsLast", 1));
var entities = entitySchemaQuery.GetEntityCollection(UserConnection);
foreach (var entity in entities) {
entity.SetColumnValue("CurrentRoutePointId", Column.Parameter(Guid.Empty));
entity.Save();
}