Если вы знакомы с JQuery и SPServices, я мог бы предложить способ сделать это.
В EditForm.aspx добавьте библиотеки JQuery и SPServices. используя функцию $. (document) .Ready, я бы быстро обновил элемент с помощью SPServices и просто скопировал столбец с теми же данными, так что в действительности никаких изменений не произошло. Я бы добавил в редактируемые комментарии что-то вроде «Pseduo checkout to [name], [date_time]».
Затем разрешите пользователю редактировать форму как обычно, но в добавленном вами коде вы перехватываете действие PreSave и проверяете, что лицо, пытающееся сделать сохранение, совпадает с последним измененным - если это так, сохраните как обычно, в противном случае верните false в PreSave, и вам будет отказано. Когда вы действительно разрешите сохранение, установите для комментариев редактирования что-то разумное.
Чтобы завершить это, проверьте перед выполнением псевдо-проверки, чтобы последние комментарии не содержали фразу проверки псевдо, чтобы вы могли запретить кому-либо открывать / редактировать форму, пока кто-то еще находится в середине редактирования.
Это дает дешевую и относительно простую реализацию Check-In / Check-Out для списка. Конечно, не идеально, но должно хорошо работать в большинстве сценариев (хотя не в таблице данных, поэтому вам может потребоваться предотвратить этот тип редактирования).