Related Posts
Восстановление последовательности документов при закрытии месяца в Бухгалтерия 3.0 не завершается
Заполнение табличных частей
Формирование сводных актов выполненных работ
Ввод поступления в переработку на основании передачи сырья (между организациями)
Конспект по установке сервера 1С на linux
Получение имени компьютера и его IP локально и в терминале
Интересно. А если GUID random-based, а не time-based?
(1) Я давно уже использую алгоритм удаления помеченных с «обратной раскруткой» на основе метода получения дат из ссылок и их сортировкой от свежих к более старым, чтобы минимизировать повторные попытки удаления объектов со связями. Прежде чем это сделать я просканировал всю базу на наличие random-based ссылок и их оказалось менее 1%. Кроме того есть задумка использовать поле ВерсияДанных в качестве вспомогательного поля для сортировки, т.к. почти во всех реализациях баз данных это инкрементальное числовое значение, которое говорит нам о том, что элемент был давно или недавно изменен. Проще говоря мы можем выбрать самые «старые» или редко-изменяющиеся элементы базы и поместить их в конец списка на удаление. Это даст нам возможность минимизировать вероятность возникновения новых связей для «свежепомеченных» на удаление объектов, особенно до попадания таких документов в закрытый период.
каким алгоритмом из Гуид получаете дату?
(3) В принципе найти данный алгоритм не сложно, на многих форумах и тематических сайтах он есть:
Функция ДатаСозданияСсылки(Ссылка)
ГУИД = Ссылка.УникальныйИдентификатор();
Строка16 = Сред(ГУИД, 16, 3) + Сред(ГУИД, 10, 4) + Сред(ГУИД, 1, 8);
Разрядность = СтрДлина(Строка16);
ЧислоСек = 0;
Для Позиция = 1 По Разрядность Цикл
ЧислоСек = ЧислоСек + Найти(«123456789abcdef»,Сред(Строка16,Позиция,1))*Pow(16,Разрядность — Позиция);
КонецЦикла;
ЧислоСек = ЧислоСек / 10000000;
Возврат Дата(1582, 10, 15, 04, 00, 00) + ЧислоСек;
КонецФункции