Ребят, хелп. На форме заказа у некоторых пользователей пропадает доступность стрелочек (стандартные команды по перемещению строк табличной части). Причем сами стрелочки видны, как будто у них отключили доступность. В чем может быть проблема?
Еще пара вводных - не у всех пользователей, на некоторое время помогает очистка пользовательских настроек, потом опять проявляется. Не помогает создать элементы формы и связать их со стандартными клиентами. Для них нормальная доступность (смотрю просто отладчиком).
На скрине как это выглядит. Конфа стандартная, есть расширение. Но его отключение тоже не помогает.
Еще дополнение - была идея, что запрещено изменять порядок строк у элемента формы, но нет, все разрешено, тоже смотрю отладчиком.
---
В общем итог - это какой-то глюк то ли платформы то ли релиза.
Решить не получилось - пришлось кастомизировать. Написал по процедурке перемещения и все стало хорошо.
Код для потомков:

```1c
    &НаКлиенте
    Процедура СтрелкаВниз(Команда)

    МассивСтрок = Элементы.Товары.ВыделенныеСтроки;
    СписокНомеровСтрокКПеремещению = Новый СписокЗначений;

    Для Каждого ИД ИЗ МассивСтрок Цикл
    Строка = Объект.Товары.НайтиПоИдентификатору(ИД);
    Если Строка.НомерСтроки = Объект.Товары.Количество() Тогда
    Возврат;
    Иначе
    СписокНомеровСтрокКПеремещению.Добавить(Строка.НомерСтроки);
    КонецЕсли;
    КонецЦикла;

    СписокНомеровСтрокКПеремещению.СортироватьПоЗначению(НаправлениеСортировки.Убыв);

    Для Каждого СтрокаСписка ИЗ СписокНомеровСтрокКПеремещению Цикл
    Объект.Товары.Сдвинуть(СтрокаСписка.Значение - 1, 1);
    КонецЦикла;

    ЭтаФорма.Модифицированность = Истина;

    КонецПроцедуры

    &НаКлиенте
    Процедура СтрелкаНаверх(Команда)

    МассивСтрок = Элементы.Товары.ВыделенныеСтроки;
    СписокНомеровСтрокКПеремещению = Новый СписокЗначений;

    Для Каждого ИД ИЗ МассивСтрок Цикл
    Строка = Объект.Товары.НайтиПоИдентификатору(ИД);
    Если Строка.НомерСтроки = 1 Тогда
    Возврат;
    Иначе
    СписокНомеровСтрокКПеремещению.Добавить(Строка.НомерСтроки);
    КонецЕсли;
    КонецЦикла;

    СписокНомеровСтрокКПеремещению.СортироватьПоЗначению(НаправлениеСортировки.Возр);

    Для Каждого СтрокаСписка ИЗ СписокНомеровСтрокКПеремещению Цикл
    Объект.Товары.Сдвинуть(СтрокаСписка.Значение - 1, -1);
    КонецЦикла;
    ЭтаФорма.Модифицированность = Истина;

    КонецПроцедуры
```
---
Прав наверное каких-то не хватает.
---
А как права связаны с доступностью команд перемещения? И почему при очистке пользовательских настроек помогает? Ограничение доступов на уровне записей не используется
---
Попробовал дать пользователю у которого проявляется проблема полные права, но не помогло, так что точно не в правах дело(
---
В отладчике посмотрите в Процедуре ПриСозданииНаСервере доступность команд.
---
В отладчике посмотрите в Процедуре ПриСозданииНаСервере доступность команд.

Я же писал в самом начале - "Не помогает создать элементы формы и связать их со стандартными клиентами. Для них нормальная доступность (смотрю просто отладчиком)."

Нормальная доступность значит, что все команды доступны. Для них точно такая же доступность как и для других команд, которые ведут себя нормально.
---
Судя по скрину, это не стандартные команды, ну или не стандартные кнопки.
---
Да, об этом я тоже писал:

Не помогает создать элементы формы и связать их со стандартными клиентами. Для них нормальная доступность (смотрю просто отладчиком).

Изначально были стандартные, вели себя так же. Убрал автозаполнение командной панели, добавил кнопки, связал из со стандартными командами.
---
Магия какая то.
---
Ага, пробовал полазить в пользовательских настройках программно - не нашел никаких различий между пользователями у которых все хорошо и которых нет стрелочек. Прихожу к выводу, что напишу просто свой механизм..
---
Вообще, эти кнопки становятся активными/не активными в зависимости от того, выделена ли текущая строка в таблице.
То есть если ткнуть на любую строку таблицы, они становятся активными.
У вас не так?
---
Ну наверное и так, только если открыть форму там уже текущие данные на первой строке, поэтому они сразу активны. Если нет товаров в табличной части они действительно неактивны становятся. У нормальных пользователей. А вот у нескольких - куда не тыкнешь они неактивны.
---
https://its.1c.ru/db/metod8dev/content/2811/hdoc
---
Да, читал об этом, поэтому в самом начале написал, что
Еще дополнение - была идея, что запрещено изменять порядок строк у элемента формы, но нет, все разрешено, тоже смотрю отладчиком.

Может не очень понятно было сформулировано, но речь именно об этом. Скрин прилагается.
---
В общем итог - это какой-то глюк то ли платформы то ли релиза.
Решить не получилось - пришлось кастомизировать. Написал по процедурке перемещения и все стало хорошо.
Код для потомков:

```1c
    &НаКлиенте
    Процедура СтрелкаВниз(Команда)

    МассивСтрок = Элементы.Товары.ВыделенныеСтроки;
    СписокНомеровСтрокКПеремещению = Новый СписокЗначений;

    Для Каждого ИД ИЗ МассивСтрок Цикл
    Строка = Объект.Товары.НайтиПоИдентификатору(ИД);
    Если Строка.НомерСтроки = Объект.Товары.Количество() Тогда
    Возврат;
    Иначе
    СписокНомеровСтрокКПеремещению.Добавить(Строка.НомерСтроки);
    КонецЕсли;
    КонецЦикла;

    СписокНомеровСтрокКПеремещению.СортироватьПоЗначению(НаправлениеСортировки.Убыв);

    Для Каждого СтрокаСписка ИЗ СписокНомеровСтрокКПеремещению Цикл
    Объект.Товары.Сдвинуть(СтрокаСписка.Значение - 1, 1);
    КонецЦикла;

    ЭтаФорма.Модифицированность = Истина;

    КонецПроцедуры

    &НаКлиенте
    Процедура СтрелкаНаверх(Команда)

    МассивСтрок = Элементы.Товары.ВыделенныеСтроки;
    СписокНомеровСтрокКПеремещению = Новый СписокЗначений;

    Для Каждого ИД ИЗ МассивСтрок Цикл
    Строка = Объект.Товары.НайтиПоИдентификатору(ИД);
    Если Строка.НомерСтроки = 1 Тогда
    Возврат;
    Иначе
    СписокНомеровСтрокКПеремещению.Добавить(Строка.НомерСтроки);
    КонецЕсли;
    КонецЦикла;

    СписокНомеровСтрокКПеремещению.СортироватьПоЗначению(НаправлениеСортировки.Возр);

    Для Каждого СтрокаСписка ИЗ СписокНомеровСтрокКПеремещению Цикл
    Объект.Товары.Сдвинуть(СтрокаСписка.Значение - 1, -1);
    КонецЦикла;
    ЭтаФорма.Модифицированность = Истина;

    КонецПроцедуры
```
---
Если в строке 5 строк и выделить несколько последних строк (3, 4, 5), и сдвинуть вниз, то 3 станет 4, 4 станет 5, а 5 станет 3.
Это так и должно быть?
---
да вроде нет, должно сработать условие, что номер строки = количеству строк в табличной части?
---
Действительно. Невнимательно посмотрел, извиняюсь =)
Думал там Продолжить, а там Возврат.
---
СтрелкаВниз расскажите поподробнее, пожалуйста: как добраться до места, в котором можно переопределить поведение кнопок стрелок вашими процедурами? Или, по-другому, как ваши процедуры применить?
---
Да просто разместить на форме кнопки и назначить им эти команды
---
Стрелки недоступны, когда установлен программный отбор строк в табличной части.
Например, в ERP проявляется в заказе клиента при нажатии кнопки Заполнить - Скрывать отмененные строки.
---
Столкнулся с подобной проблемой.
Методом проб выяснил, что у группы, в которой находится таблица, установлен флаг "Только чтение".
В явном виде (даже в отладке) это не видно (галки "ИзменятьСоставСтрок" и "ИзменятьПорядокСтрок" стоят).
Однако, свойства родителя наследуются. Стандартные команды изменения состава и порядка строк недоступны.