Проще говоря, вы получаете ID
Id id = row.getProperties().get("Id").getIdValue();
Затем вы получаете исходный документ
Document document = Factory.Document.fetchInstance(os, id, null);
Затем вы получаете тот же исходный документ, сдругая ссылочная переменная
Document docCopy = (Document)Factory.Document.fetchInstance(os, id, null);
Оба документа одинаковые, здесь копия не была сделана!и, следовательно, когда вы пытаетесь зарегистрировать документ, используя:
docCopy.checkin(AutoClassify.DO_NOT_AUTO_CLASSIFY, CheckinType.MAJOR_VERSION);
docCopy.save(RefreshMode.NO_REFRESH);
Механизм выдает ошибку, поскольку документ не был извлечен в первую очередь (и, следовательно, объект резервирования не был захвачен для внесения ваших изменений).
Checkin must be performed on a reservation object.