(ВНИМАНИЕ! статья в работе! Обратная связь принимается)
Как удалять документы в учетной системе?
Или вопрос в общем виде: как удалять ОБЪЕКТЫ в учетной системе?
Обычный ответ: SQL-команда delete.
Но если вы делаете долгоживущую учетную систему, рекомендую задуматься о мягком удалении документов.
Суть: не давать обычному пользователю жестко удалить объект из системы.
Вместо удаления объект помечается удаленным.
Техническим языком можно описать так: у объекта добавляется реквизит: "удален".
Удаление документ интерпретируется как изменение объекта, а именно установка реквизита "удален"
Этот принцип реализован в 1С.
О справочниках и документах см. в статье Шаблон учетной системы: основные виды объектов
Дополнительное поле
Во всех объектах системы, которые вы захотите мягко удалять, нужно будет внедрять признак удаления. Облегчить эту задачу можно с использованием базового объекта.
Эта методика описана в статье
Шаблон Учетной системы в БД: Наследование в базе
Ручное вмешательство в автогенерируемый код
обычно удаление придется переписывать, если вы пользуетесь средствами генерирующими шаблоны запросов. Команду удаления вам придется заменить на команду изменения.
Ориентировочный вид команды:
update (имя_объекта) set IsDeleted = 1
Скрытие удаленных объектов в выборках
Вам нужно отслеживать, чтобы в выборках по умолчанию не было удаленных объектов.
Как удалять документы в учетной системе?
Или вопрос в общем виде: как удалять ОБЪЕКТЫ в учетной системе?
Обычный ответ: SQL-команда delete.
Но если вы делаете долгоживущую учетную систему, рекомендую задуматься о мягком удалении документов.
Суть: не давать обычному пользователю жестко удалить объект из системы.
Вместо удаления объект помечается удаленным.
Техническим языком можно описать так: у объекта добавляется реквизит: "удален".
Удаление документ интерпретируется как изменение объекта, а именно установка реквизита "удален"
Этот принцип реализован в 1С.
Какие объекты удалять мягко
Я бы рекомендовал мягко удалять все справочники и все документы.О справочниках и документах см. в статье Шаблон учетной системы: основные виды объектов
Преимущества
В системе хранятся все объекты. Т.е. вы всегда сможете восстановить историю: кто удалял документ. Это основное преимущество больше относится к потребностям клиента/бизнеса, а не разработки, но бизнесу оно бывает очень важно и, если заложить мягкое удаление в архитектуру системы, вы сэкономите много времени в будущем.Накладные расходы
Дополнительное поле
Во всех объектах системы, которые вы захотите мягко удалять, нужно будет внедрять признак удаления. Облегчить эту задачу можно с использованием базового объекта.
Эта методика описана в статье
Шаблон Учетной системы в БД: Наследование в базе
Ручное вмешательство в автогенерируемый код
обычно удаление придется переписывать, если вы пользуетесь средствами генерирующими шаблоны запросов. Команду удаления вам придется заменить на команду изменения.
Ориентировочный вид команды:
update (имя_объекта) set IsDeleted = 1
Скрытие удаленных объектов в выборках
Вам нужно отслеживать, чтобы в выборках по умолчанию не было удаленных объектов.
Комментариев нет:
Отправить комментарий