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

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

Первое решение которое я посоветовал гораздо лучше, но в теории можно поставить запрет на запись, если порядок реквизита "ИсходныйНомерСтроки" нарушен.

К слову подумайте еще над удалением строк, не знаю можно ли это делать в вашей задаче, но это тоже логично было бы запретить.
---
Такого не существует.
---
уид вообще никак узнать нельзя?
---
еще как бывает.

в типовых сплошь и рядом в документах несколько ТЧ, иногда с десяток в одном виде документа.
связь между ТЧ идет по УИДАм.

хотя, я думаю автор имел ввиду что-то вроде

```1c
    мСтроки = ДанныеГрафика.НайтиСтроки(Новый Структура("НомерМесяца", Расш1_НомерМесяца));
    Если мСтроки.Количество() Тогда
    Элементы.ТабличноеПолеГрафика.ТекущаяСтрока = мСтроки[0].ПолучитьИдентификатор();
    КонецЕсли;
```
---
Только надо отметить, что этот УИД является уникальным только в рамках жизни формы.
---
Это Идентификатор строки в табличном поле формы и в ДанныеФормыКоллекция, и существует только при открытой форме документа, и нигде не хранится (формируется только при создании формы).
А вовсе не идентификатор строки в табличной части документа.
---
А про связь между ТЧ - так это не УИД строки. Это обычный реквизит табличной части.
---
я дал ответ в полной мере и не собираюсь измерять приборы.
---
Конечно сложно сказать без описания задачи, возможно автору нужен именно УИД строки, чаще всего его достаточно. Но если речь идет о том, чтобы запомнить адрес строки между разными вызовами формы, то тут только собственный реквизит поможет.
---
задача такая: необходимо отзеркалить табличный документ , и сделать сравнение по уидам оригинала и копии, если в оригинале изменяется порядок строк, то во время записи документа порядок строк в оригинал вернуть из отзеркаленной копии . В общем запретить пользователям изменять порядок строк в документе, но при этом оставить возможность редактирования. Пробовал ИзменятьПорядокСтрок = Ложь, но не сработало.
---
Тогда только собственный новый реквизит.
---
(5)
(11) Всем Спасибо!!)
---
Слишком сложно решаете задачу. Вам надо запретить на форме перетаскивание элементов. Это делается в свойствах табличной части. Затем снять галочку с автозаполнения командной панели табличной части и самостоятельно ее заполнить командами, но не добавлять команды по перемещению строк. После этого пользователь не сможет менять порядок строк, но сможет их редактировать.

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

Первое решение которое я посоветовал гораздо лучше, но в теории можно поставить запрет на запись, если порядок реквизита "ИсходныйНомерСтроки" нарушен.

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