В событии ПередНачаломИзменения поля "коммент" поставлена проверка (может редактировать только автор) и она работает, когда пользователь тычет в него мышкой. Но если переходить по строке из соседнего поля из режима редактирования через TAB, то можно перейти в поле "коммент" в режиме редактирования и проверка не работает. Подскажите как доработать?
---
Всем спасибо.
Получилось сделать через условное оформление.
Когда в первый раз начинал делать, то не понял как сделать равенство в отборе. Нужно было нажать на крестик в поле "правое значение" в отборе и выбрать поле компоновки данных.
Объект.Запчасти.Пользователь=ТекущийПользователь
---
А почему не запретить сразу при открытии формы?
---
потому что пользователи, должны мочь менять свой коммент
---
Что мешает проверить пользователя при открытии документа?
---
в документе могут быть комменты от разных авторов, свои можно менять, чужие нет.
---
И чо? Что я сказал не так? При открытии документа проверить текущего пользователя и запретить редактировать поля с чужими коментами.

В чем проблема-то?
---
Как можно выборочно заблокировать ячейки по пользователю?
---
Ты же переходишь по TAB внутри редактируемой строки. Значит ты перемещаешься между колонками. И именно по имени колонки ты определяешь имя автора коммента. И редактирование колонок ты можешь запретить при открытии/создании формы.

Или ты нарисовал такое чудо, что у тебя автор комментария содержится внутри текста самого комментария???
---
Я и спрашиваю как запретить редактирование колонки, которую заполнял другой пользователь. И разрешить редактировать ту же самую, которую ввел я.
Автор комментарий не в комментарии, конечно .))
---
УсловноеОформление
---
можно пример?
---
Нет. Бесплатно я даю только направление размышления и указываю на ошибки. А дальше только самостоятельный поиск информации и обучение. Или за деньги.
---
спасибо за направление
---
Второй вариант - у тебя одна колонка "Комментарий" и пользователи в строках. Соответственно, тебе надо запретить эту ячейку в одних строках, и разрешить в других. Ну, для этого изучи Условное оформление формы. Там можно настроить доступность ячеек в разных строках в зависимости от данных строки.
---
Автор комментария и автор документа/объекта разные?
Или это табличная часть, где каждый может добавить свой комментарий и никто не может исправить?
---
да, может быть
---
В 7ке было функция в форме диалога. В 8ке по моему предопределенная при обновлении формы()
---
Всё это звучит, как весьма корявый RLS. Почему, а, главное, зачем?..
---
Новички - они обычно такие выдумщики...
---
Не сказал бы, что я сам старичок, но даже для меня это всё выглядит очень странно.
---
Согласен насчет корявости отчасти. Зачем? Чтобы в комментах не гадили )
---
выложите код из ПередНачаломИзменения, что вы там проверяете, как запрещаете?
(по идее, там-же элемент управления, поле "Комметарий" доступ ставьте/снимайте, должно работать)
---
Процедура ЗапчастиПередНачаломИзменения(Элемент, Отказ)
 Если Элемент.ТекущийЭлемент.Имя="ЗапчастиКоммент" Тогда
  ТекущиеДанные = Элементы.Запчасти.ТекущиеДанные;
  Если ТекущиеДанные.Пользователь <> ТекущийПользователь Тогда
   Отказ=истина;
   сообщить("Редактировать описание может только пользователь, который добавлял строку");
  КонецЕсли;
 КонецЕсли;
КонецПроцедуры
при перехода по TAB можно войти в поле
---
Значит только УсловноеОформление.
---
ПриАктивизацииСтроки не подойдет? Ставьте в нем ТолькоПросмотр = Истина для ячейки и все.
---
Всем спасибо.
Получилось сделать через условное оформление.
Когда в первый раз начинал делать, то не понял как сделать равенство в отборе. Нужно было нажать на крестик в поле "правое значение" в отборе и выбрать поле компоновки данных.
Объект.Запчасти.Пользователь=ТекущийПользователь
---
вот как советовали выше, При активизации, интересный вариант

&НаКлиенте
Процедура ЗапчастиПриАктивизацииСтроки(Элемент)
 лкТекДанные = Элементы.Запчасти.ТекущиеДанные;
 Элементы.ЗапчастиКоммент.ТолькоПросмотр = Не (лкТекДанные.Пользователь = ТекущийПользователь);
КонецПроцедуры
---
Вообще не интересный и вредный.
---
ну ошибочка закралась, но в общем-то работает!
---
Рабочий - не значит интересный и правильный. В данном случае - рабочий, но вредный и совсем не интересный!