1С для молодых хорьков

Обработка данных

Хранение данных

Каждая ссылка на прикладной объект это guid.

При генерации guid используется дата и время компьютера, поэтому из guid ссылки можно получить дату и время создания ссылки, а значит и прикладного объекта.

Каждый объект имеет штамп версии. Анализируя его можно понять, перезаписывался объект или нет.

Быстродействие операций над данными

Запись — операция намного более длительная, чем чтение. Массовых быстрых операций записи нет.

Можно считать текущую версию и посмотреть, отличается она от новой перед записью.

Также при массовой обработке можно отбирать только те объекты, у которых поля отличаются от новых значений. Это ускорит обработку и также позволит работать порциями — при прерывании процесса изменений можно будет начинать не с начала а обработать только оставшиеся не обработанными объекты.

Триггеры хранения данных

Если нужно отменить изменение объекта при записи, но нельзя вызывать отказ записи или исключение, можно считать объект из базы перед записью, заменить текущий записываемый объект полями этого объекта и позволить записи состояться.

Перед записью объект еще не записан в базе, при записи — уже записан, но транзакция еще не завершена. В случае ошибки записи или исключения транзакция будет отменена.

Перед записью можно считать состояние объекта в базе, а при записи считать новое состояние объекта и понять, какие изменения произошли.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 2

  1. rzd:

    1. Опираться на время в guid не стоит. Никто не знает откуда он получен. Касательно баз с миграциями данных
    3. Приведи пример, не раскрыта тема

    • на практике очень даже стоит. Обычно при создании элемента (если нет обменов), гуид генерируется по времени.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *