Вопрос
Можно ли через метод SetColumnValue присвоить значение равное null
21 апреля 2020 22:49
Подскажите, можно ли через метод SetColumnValue, присвоить значение справочного поля равное null?
Нравится
2 комментария
Лучший ответ
4 мая 2020 23:59
Можно через: entity.SetColumnValue("OwnerId", null); или entity.ForceSetColumnValue("OwnerId", null); При сохранении, возможно, придется отключить валидацию, если поле обязательное Прим: для справочных полей необходимо явно дописывать "Id" в конце названия колонки.
22 апреля 2020 13:02
Алла, да, можно. Например, в ContactCareerSchema:
var contactSchema = entitySchemaManager.GetInstanceByName("Contact"); var contactEntity = contactSchema.CreateEntity(UserConnection); if (contactEntity.FetchFromDB(Entity.GetTypedColumnValue<Guid>("ContactId"))){ contactEntity.SetColumnValue("AccountId", null); contactEntity.SetColumnValue("DepartmentId", null); contactEntity.SetColumnValue("JobId", null); contactEntity.SetColumnValue("JobTitle", String.Empty); contactEntity.SetColumnValue("DecisionRoleId", null); contactEntity.Save(); }
А если речь о клиентском коде, и там такое бывает. В BaseSchemaViewModel есть функция:
/** * Clears the values of the columns of the schema by setting null. Clears the parameter of changed values. * @protected */ clearEntity: function() { Terrasoft.each(this.columns, function(column, columnName) { if ((column.type === Terrasoft.ViewModelColumnType.ENTITY_COLUMN) && !column.isCollection) { this.setColumnValue(columnName, null, {preventValidation: true}); } }, this); this.changedValues = {}; },
4 мая 2020 23:59
Можно через: entity.SetColumnValue("OwnerId", null); или entity.ForceSetColumnValue("OwnerId", null); При сохранении, возможно, придется отключить валидацию, если поле обязательное Прим: для справочных полей необходимо явно дописывать "Id" в конце названия колонки.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать