Есть РС. Раз в день этот регистр обновляется. Есть некий файл с набором данных, эти данные загружаются в РС, в файле могут добавляться строки, могут исчезать, существующие могут изменяться. Надо сделать так, чтобы ни в какой момент времени РС не был пустым, но старые данные из РС удалять надо (строки, которые исчезли).
Как я решил сделать:
Добавить реквизит с типом дата. В этот реквизит мы пишем дату начала загрузки. После чего ищем все записи с отличающимся временем загрузки (прошлый день). Делаем отбор по этой дате и записываем на его место пустой набор. Но это как-то коряво, как мне кажется.
Если же просто делать отбор по текущей дате обработки, и писать этот набор записей, то как я понимаю в некоторый момент времени РС полностью очистится, что недопустимо, т.к. он постоянно нужен.
Есть какие-то другие более красивые способы? Буду благодарен.
Даже полсекунды могут оказаться критичными. Оттуда данные программно берутся для проверок, а если РС будет пустым, то результат проверки может оказаться неверным.
Волшебное слово транзакция тебе о чем-нибудь говорит? :)
Если кто-то обратиться к таблице на чтение во время транзакции на запись, то он вынужден будет подождать, ибо таблица этого РС будет заблокирована.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший