При тестировании с полными права не было проблем, все записывалось как нужно. У пользователя вышла ошибка "У пользователя недостаточно прав на исполнение операции над базой данных". Объект - Обработка в корне конфигурации. На форме это табличное поле в колонке дерева значений. У пользователя для этой обработки следующие права - Все права, Использование, Просмотр. Перед изменением поля в текущей строке, присутствует код.

```1c
    ЭлементыФормы.Дерево1.ТолькоПросмотр = Ложь;
```

и код изменения поля

```1c
    ЭлементыФормы.Дерево1.ТекущаяСтрока.ДатаИa=ТекущаяСтрока.ЗаказНаПроизводство.ДатаИa;
```
 вот для этого действия у пользователя не хватает прав.

Что нужно/можно посмотреть в программе, что бы понять в чем ошибка?
---
У пользователя недостаточно прав на исполнение операции над базой данных - это ошибка доступа RLS к какому-то объекту, который нужен в этом отчете.
---
В ЖР будет подробно написано на какие объекты и каких прав не хватает.
---
А если журнал регистрации не ведётся?)
---
включить на пару минут и потом выключить.
---
В ЖР будет подробно написано на какие объекты и каких прав не хватает ЖР есть, но ошибки там нет. Ошибка оказалось выходит не у всех пользователей.
---
Ну понятно надо смотреть ЖР только по тем у кого выходит.
---
Скорее всего прав нет на какой-то объект в дереве. Например на заказ производства.
---
Скорее всего прав нет на какой-то объект в дереве. Например на заказ производства после того как выяснилось, что ошибка не у всех, стало легче. При подробном тестировании выяснилось (лопух, нет слов, и опыта практического в отладке мало). Ошибка выходит не в каждой записи, а в той где у документа по ссылке нет ДатыИа. (у этого документа вообще нет никаких реквизитов - он в свою очередь берется из регистра). Что проверять дальше? Права на регистр, откуда приходит документ по ссылке? Или сделать запись в дерево через попытку и посмотреть на чем выходит ошибка.
---
Если у ЗаказаНаПроизводство нет поля ДатаИа, зачем написано в коде:

```1c
    ЭлементыФормы.Дерево1.ТекущаяСтрока.ДатаИa=ТекущаяСтрока.ЗаказНаПроизводство.ДатаИa;
```

?
---
Если у ЗаказаНаПроизводство нет поля ДатаИа Почему нет поля??? Конечно оно есть, я имел в виду что данных в этом поле нет никаких, даже просто точек по формату соответствующих шаблону /формату значения дата. Я бы сказал даже девственно чистое значение данных в поле, если так можно выразиться (0 бит).
---
И почему оно не тип дата? и зачем оно вообще если там не планируется хранить информацию? и самый главный вопрос зачем присваивать полю ДЗ значение из реквизита, которого там быть не может?
---
И почему оно не тип дата? Оно как раз тип Дата, а вот значение из регистра пустое, которое должно записаться в поле дерева. Раскручивать полностью зачем и почему думаю не имеет смысла, так как уйдет много времени, это все доработки делали франчази много лет назад, и разбираться что и как не уверен что нужно. Пользователи самые лучшие тестировщики (если таков нет физически), а разработчику не протестить все полностью. И за примерами далеко не нужно ходить, когда приходит обновление из 1С не всегда все работает правильно, а уж там работают не простые программисты, а золотые. Если не ошибаюсь, то физтех занимается разработкой 1С.Поэтому пока остановился на таком решении.
---
Ну это просто сильный аргумент писать говнокод - у 1С еще хуже. Если каждый на своем месте будет писать код правильно, то мир станет лучше.
---
я с вами полностью согласен, но все должно быть в жизни сбалансировано, можно вылизывать код два года в одной процедуре, все будет чисто и по всем правилам, но это будет не оправдано по времени выполнения. Поэтому какое бы ни было решение оно всегда и не полностью правильное и не полностью не правильное, так есть другие влияющие факторы, которые в теме форума не показать, да это и не нужно. В идеале вы правы, по сути нет.
---
Создать новую роль( например ДобавлениеИзменениеОбработка ) для данной обработки. Дать права пользователю на новую роль.
---
У объекта в конфигураторе есть вкладка права, там написано какие роли и какие права у роли на данный объект
---
У объекта в конфигураторе есть вкладка права, там написано какие роли и какие права у роли на данный объект С ролями все нормально, про роли написал сразу в теме , нужные права есть.
---
Дальнейшее тестирование показало, что у источника данных периодически появляется дата со следующей ошибкой чтения Ошибка при получения атрибута контекста(ДатаИа), а по сути поле чистое, дет ни даты, ни нулевой даты, нет ничего.
Тогда возникает вопрос, каким образом сделать проверку на пустую дату и эти строки вообще не заменять (пропустить)?

такая проверка не работает
```1c
    Если ТекущаяСтрока.ЗаказНаПроизводство.Ссылка.ДатаИа>Дата('00010101') Тогда
```
 выходит таже самая ошибка
---
Там не пустая дата, а NULL с ним операции сравнения не проводятся. Надо проверять на ЗначениеЗаполнено(ТекущаяСтрока.ЗаказНаПроизводство)
---
Оказалось что можно записывать и через попытку, в обработке есть подобный код, пока оставим так, осталось разобраться с правами на регистры, из которых формируется дерево.
---
У пользователя недостаточно прав на исполнение операции над базой данных - это ошибка доступа RLS к какому-то объекту, который нужен в этом отчете.
---
Спасибо, проверю, на попытке работает, но проверю RLS ради интереса сути проблемы, тему можно закрыть.