Видится мне, у многих ошибки в документе Выбытие оборудования:
Блокировки по датам надо устанавливать в разных элементах блокировки, т.к. у нас должен быть меньше даты документа ИЛИ Срок годности, ИЛИ Срок эксплуатации, а не то и другое одновременно. Если устанавливать в одном, то в блокировку не попадут записи, например, СрокГодности < Дата, СрокЭксплуатации > Дата.
Я это вижу так:
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.СрокиОборудования");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("СрокГодности", Новый Диапазон( ,Дата));
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.СрокиОборудования");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("СрокЭксплуатации", Новый Диапазон( ,Дата));
Также, когда вводим параметры виртуальной таблицы РН СрокиОборудования требуется, чтобы не все строки без даты эксплуатации попали в таблицу, а только те, у которых вышел срок годности:
| РегистрНакопления.СрокиОборудования.Остатки(
| &МоментВремени,
| ВЫБОР
| КОГДА СрокЭксплуатации = ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА СрокГодности <= &Дата
| ИНАЧЕ СрокГодности <= &Дата
| ИЛИ СрокЭксплуатации <= &Дата
| КОНЕЦ) КАК СрокиОборудованияОстатки