Получение уид программно

1. user1619761 13.08.21 09:40 Сейчас в теме
Здравствуйте. Может кто подсказать , как программно получить уникальный ид номера строки из табличной части документа?
По теме из базы знаний
Найденные решения
15. MikhailDr 13.08.21 12:42 Сейчас в теме
(14) Так и контекстное меню можно точно так же сформировать. Там даже код писать не надо, все команды есть на вкладке стандартных команд.
user1619761; +1 Ответить
17. MikhailDr 13.08.21 12:50 Сейчас в теме
(16) Ну и в догонку, на будущее. Порядок строк можно отследить по такому реквизиту как "ИсходныйНомерСтроки" (сидит в табличной части, создается платформой), он тоже живет только пока жива форма, но после любых изменений в таблице можно смотреть порядок этого реквизита, если числа идут не по порядку, значит порядок строк изменен.

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

К слову подумайте еще над удалением строк, не знаю можно ли это делать в вашей задаче, но это тоже логично было бы запретить.
user1619761; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 13.08.21 09:41 Сейчас в теме
3. user1619761 13.08.21 09:45 Сейчас в теме
(2) уид вообще никак узнать нельзя?
4. VmvLer 13.08.21 09:48 Сейчас в теме
(2) еще как бывает.

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

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

мСтроки = ДанныеГрафика.НайтиСтроки(Новый Структура("НомерМесяца", Расш1_НомерМесяца));
Если мСтроки.Количество() Тогда
	Элементы.ТабличноеПолеГрафика.ТекущаяСтрока = мСтроки[0].ПолучитьИдентификатор();
КонецЕсли;
5. MikhailDr 13.08.21 09:51 Сейчас в теме
(4) Только надо отметить, что этот УИД является уникальным только в рамках жизни формы.
6. FatPanzer 13.08.21 09:52 Сейчас в теме
(4) Это Идентификатор строки в табличном поле формы и в ДанныеФормыКоллекция, и существует только при открытой форме документа, и нигде не хранится (формируется только при создании формы).
А вовсе не идентификатор строки в табличной части документа.
8. FatPanzer 13.08.21 09:54 Сейчас в теме
(4) А про связь между ТЧ - так это не УИД строки. Это обычный реквизит табличной части.
7. VmvLer 13.08.21 09:54 Сейчас в теме
(6) я дал ответ в полной мере и не собираюсь измерять приборы.
9. MikhailDr 13.08.21 10:00 Сейчас в теме
Конечно сложно сказать без описания задачи, возможно автору нужен именно УИД строки, чаще всего его достаточно. Но если речь идет о том, чтобы запомнить адрес строки между разными вызовами формы, то тут только собственный реквизит поможет.
10. user1619761 13.08.21 10:16 Сейчас в теме
(9) задача такая: необходимо отзеркалить табличный документ , и сделать сравнение по уидам оригинала и копии, если в оригинале изменяется порядок строк, то во время записи документа порядок строк в оригинал вернуть из отзеркаленной копии . В общем запретить пользователям изменять порядок строк в документе, но при этом оставить возможность редактирования. Пробовал ИзменятьПорядокСтрок = Ложь, но не сработало.
11. FatPanzer 13.08.21 10:20 Сейчас в теме
(10) Тогда только собственный новый реквизит.
12. user1619761 13.08.21 10:25 Сейчас в теме
13. MikhailDr 13.08.21 12:27 Сейчас в теме
(10) Слишком сложно решаете задачу. Вам надо запретить на форме перетаскивание элементов. Это делается в свойствах табличной части. Затем снять галочку с автозаполнения командной панели табличной части и самостоятельно ее заполнить командами, но не добавлять команды по перемещению строк. После этого пользователь не сможет менять порядок строк, но сможет их редактировать.

В идеале сделать это программно в событии "При создании на сервере", чтобы иметь возможность в случае необходимости все же менять порядок строк, но это уже доп. опция.
user1619761; +1 Ответить
14. user1619761 13.08.21 12:35 Сейчас в теме
(13) если отключить автозаполнение, и добавить по новой все кнопки, то можно доступность им ограничивать, только вот через контекстное меню доступность вроде бы остается
15. MikhailDr 13.08.21 12:42 Сейчас в теме
(14) Так и контекстное меню можно точно так же сформировать. Там даже код писать не надо, все команды есть на вкладке стандартных команд.
user1619761; +1 Ответить
16. user1619761 13.08.21 12:43 Сейчас в теме
(15) понял,большое спасибо!!
17. MikhailDr 13.08.21 12:50 Сейчас в теме
(16) Ну и в догонку, на будущее. Порядок строк можно отследить по такому реквизиту как "ИсходныйНомерСтроки" (сидит в табличной части, создается платформой), он тоже живет только пока жива форма, но после любых изменений в таблице можно смотреть порядок этого реквизита, если числа идут не по порядку, значит порядок строк изменен.

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

К слову подумайте еще над удалением строк, не знаю можно ли это делать в вашей задаче, но это тоже логично было бы запретить.
user1619761; +1 Ответить
18. user1619761 13.08.21 13:29 Сейчас в теме
(17) не прокатило это решение, после отключения автозаполнения командной панели при открытии документа выскакивает ошибка (значение не является значением объектного типа (Код)), и при переходе в конфигуратор в другую строку закидывает. Все равно большое спасибо за подсказки ))
19. MikhailDr 13.08.21 13:35 Сейчас в теме
(18) Ну тут сложно сказать, надо код смотреть. Скорее всего в документе в командную панель были добавлены команды не из числа стандартных и система ругается на их отсутствие. Возможно вы не все вернули из того, что там было изначально.
20. user1619761 13.08.21 13:38 Сейчас в теме
(19) Да сейчас попробую исправить , наверняка что то пропустил ))
21. user1619761 13.08.21 15:52 Сейчас в теме
(19) с автозаполнением разобрался, надо было сначала новые команды добавить а потом старые удалить, и все, ошибок не выскакивает ))
22. MikhailDr 13.08.21 16:00 Сейчас в теме
23. user1619761 13.08.21 16:06 Сейчас в теме
(22) еще раз огромное спасибо))
Оставьте свое сообщение
Вакансии
Ведущий разработчик 1С
Москва
зарплата от 200 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 170 000 руб.
Полный день

Аналитик 1С: ERP (оперконтур)
Москва
зарплата от 180 000 руб. до 250 000 руб.
Полный день

Аналитик 1С: УХ
Москва
зарплата от 180 000 руб. до 250 000 руб.
Полный день

Аналитик 1С: ЗУП
Москва
зарплата от 180 000 руб. до 250 000 руб.
Полный день