diff --git a/pkg/items/item.go b/pkg/items/item.go
index 7c34d2bb3563b338d6c3cb0baf97c4e49f58b535..2e76469c7b0a63d4cddf4ad3cd74961f1932a458 100644
--- a/pkg/items/item.go
+++ b/pkg/items/item.go
@@ -398,6 +398,16 @@ func (i *Item) Get(field string) (any, error) {
 	return i.getItemData(field)
 }
 
+// Delete удаляет значение поля Data
+func (i *Item) Delete(field string) error {
+	// Если data == nil, то нет необходимости выполнять удаление
+	if i.Data == nil {
+		return nil
+	}
+
+	return data.Delete(field, i.Data)
+}
+
 // GetSystemField возвращает описание поля для системных аттрибутов Item
 func GetSystemField(fld string) (*field.Field, error) {
 	switch fld {
diff --git a/pkg/items/item_test.go b/pkg/items/item_test.go
index fb54fc501f45281bbafd37983de3b8638d5692d4..dfcc16ee1c7b40441b5df54acc48a12b276669ca 100644
--- a/pkg/items/item_test.go
+++ b/pkg/items/item_test.go
@@ -25,6 +25,42 @@ func TestItem_Set(t *testing.T) {
 
 }
 
+func TestItem_DeleteItemData(t *testing.T) {
+	tests := []struct {
+		name    string
+		item    *Item
+		field   string
+		want    map[string]any
+		wantErr assert.ErrorAssertionFunc
+	}{
+		{
+			name:    "Simple",
+			item:    &Item{Data: map[string]any{"a": "b", "c": "d"}},
+			field:   "a",
+			want:    map[string]any{"c": "d"},
+			wantErr: assert.NoError,
+		},
+		{
+			name:    "Item data is nil",
+			item:    &Item{Data: nil},
+			field:   "a",
+			want:    nil,
+			wantErr: assert.NoError,
+		},
+	}
+
+	for _, tc := range tests {
+		t.Run(tc.name, func(t *testing.T) {
+			err := tc.item.Delete(tc.field)
+			assert.NoError(t, err)
+			if !tc.wantErr(t, err) {
+				return
+			}
+			assert.Equal(t, tc.want, tc.item.Data)
+		})
+	}
+}
+
 func TestGetField(t *testing.T) {
 	sch := schema.New(
 		"a", field.String(),