А по делу...
А причем тут это? Какой даты? Да только ты меняешь дату действия записи справочника - сразу находи документы, которые этой смене противоречат, заблокируй это дело, и дай userу сообщение. Что тут военного? А при смене даты документа - наоборот, проверяй все ли аналитики соответствуют и не зацепищь ли ты ссылающиеся документы. Только напиши этот механизм максимально универсально - оно окупится. Геммор, конечно. но раз написав по-человечески, потом проблем сильно не собираешь. А то что-же: все сервер сделает на FK, Unique Index, процедурах и триггерах, а ты сделаешь простенькую формочку у клиента (конечно поработав с метаданными) и будешь пить пиво? Так не бывает. А насчет великих... Дак приехал бы к нам с запада кто-нибудь и написал бы к примеру ЗАРПЛАТУ. С нашим жизнерадостным правительством и правильным теоретическим подходом он бы годика через два повесился.А смена даты при условии наличия ссылающихся документов допустима? Процедуркой-триггером проверим? Ну-ну.
А серьезно, все дело в длинной транзакции, пока пользователь заполняет документ. И я не вижу нормальных способов сделать ее короткой при сложном документе. UpdateObject - хорошо, но где при этом все FK, триггера и т.п .? Геммор еще покруче. User, заполняющий документ из 500 позиций ( и конечно его не сохраняющий периодически, сколько ему не говори), видит результаты свой работы в конце. (Там нельзя, там товар закончился и т.п.). Вот в период этой длинной транзакции хотелось бы иметь "передаваемую" блокировку внесенной аналитики (т.е. блокировка для редактирования аналитики начинается с первого документа, выбравшего строку аналитики и заканчивается сохранением последнего живого документа, в котором она тоже выбрана , а для выбора - блокировка, если кто-то редактирует эту аналитику. И желательно не так, как у вас в статьях - может случится при дисконнекте мертвая блокировка, но добрый дядя сисадмин всем поможет). Если ты скажешь - что это вредно для здоровья, то уж и не знаю... Все это сделано на холостом упдате, на with lock для таблицы блокировок аналитик, доп.транзакции и ID сurrent_transaction. Какие дырки на взаимном холостом упдате? И кстати, при внесения аналитики в документ применяется короткая транзакция записи в таблицу блокировок, начинающаяся с холостого упдате. Вся фишка в снятии мертвых блокировок, а для этого применяется with lock в транзакции документа по current transaction в таблице блокировок и для предупреждения дырок - внесение в таблицу блокировок заголовочной записи по транзакции с пустой аналитикой (в момент выбора первой аналитики) Уборка в таблице блокировок – кооперативная, при вызове справочника и входе в режим редактирования. В двух словах трудновато….
А насчет не там смотрел по программам: ну-ну, назови если видел, если это конечно не сов.серетно.

А по поводу for update. В документации F 1.5 эта конструкция в with lock указана опционально. т.е. может быть, а может не быть. Как понимать - дело только в формировании пакетов и на поведение блокировки никак не влияет? Извини, но я об твою статью глаза сломал, но что-то этого не увидел.