После выполнения рассылки многие параметры в карточке становятся нередактируемыми (например, поле Type).
Подскажите, пожалуйста, почему так сделано и на что повлияет редактирование этого после после выполнения рассылки?
![]()
Спасибо
Нравится
Собственно, после того, как рассылка отработала, в этих изменениях «задним числом» уже нет смысла. Если нужно, создавайте копию и меняйте в ней.
По поводу типа, это реализовано в BaseBulkEmailPageV2:
{
"operation": "insert",
"name": "Type",
"values": {
"contentType": Terrasoft.ContentType.ENUM,
"layout": {"column": 0, "row": 0, "colSpan": 12, "rowSpan": 1},
"enabled": {"bindTo": "IsBulkEmailTypeEnabled"}
},
"parentName": "CommonSettingsGridLayout",
"propertyName": "items"
},
...
setBulkEmailTargetEnabled: function(value) {
if (this.isNewMode() || this.isCopyMode()) {
return;
}
var statusId = this.get("Status").value;
if (statusId === MarketingEnums.BulkEmailStatus.STARTED ||
statusId === MarketingEnums.BulkEmailStatus.STARTING ||
statusId === MarketingEnums.BulkEmailStatus.BREAKING ||
statusId === MarketingEnums.BulkEmailStatus.COMPLETED) {
this.set("IsBulkEmailTypeEnabled", false);
return;
}
if (!Ext.isEmpty(value)) {
this.set("IsBulkEmailTypeEnabled", value);
return;
}
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {rootSchemaName: "VwMandrillRecipient"});
esq.rowCount = 1;
esq.addColumn("Id");
esq.filters.add("filterMassMailing", Terrasoft.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL, "BulkEmail", this.get("Id")));
esq.getEntityCollection(function(result) {
var isEmpty = result.success && result.collection.isEmpty();
this.set("IsBulkEmailTypeEnabled", isEmpty);
}, this);
},Видно, что для определённых состояний рассылок тип всегда заблокирован.
Имеет смысл менять, если Тип был указан ошибочно (а он нужен для общей аналитики). Вот и пытаюсь узнать, на что этот Тип влияет, что его так жестко заблокировали после рассылки
Можно попробовать поменять через базу или написать и запустить БП. По идее, если рассылка уже отработала, особо повредить не должно.