|
Программное изменение наименования элемента справочники | ☑ | ||
---|---|---|---|---|
0
Григорополисец
26.08.22
✎
15:52
|
Уважаемые форумчане, ни раз мне уже помогавшие!
Вот у меня, казалось бы, элементарный вопрос. Как программно изменить стандартный реквизит элемента справочника? В общем, предыстория. На предприятии есть уже весьма старенькая 1С Бухгалтерия 8.3 (8.3.10.2667) 2017 года для целей управленческого учёта. В ней когда-то, ещё до меня, был создан справочник "Объекты направления". По сути, он очень похож на справочник "Подразделения", но имеет свои особенности, и поэтому он отдельный. Недавно выяснилось, что ситуация зашла в тупик. Понасоздавали кто что горазд и путаются. Теперь меня попросили это дело выровнять, присвоив отдельным элементам такое же наименование, что и у соответствующего подразделения. А оставшимся "без пары" добавить к началу наименования дописку "не исп." И вот тут самое интересное. Скажу сразу: в справочнике "Объекты направления" реквизит "Наименование" стандартный. Сам код, который, пожалуй, трудным не является, выглядит вот так. Элемент_ОбъектаНапр_Из_ПравойКолонки_ТЧ = Справочники.ОбъектыНаправления.ПолучитьПоНаименованию("Ла-ла-ла", Истина); Элемент_ОбъектаНапр_Из_ПравойКолонки_ТЧ.ПолучитьОбъект(); Элемент_ОбъектаНапр_Из_ПравойКолонки_ТЧ.Наименование = Подразделение_Из_ЛевойКолонки_ТЧ.Наименование; Элемент_ОбъектаНапр_Из_ПравойКолонки_ТЧ.Записать(); Вот тут выдаётся ошибка "Поле объекта недоступно для записи (Наименование)". Пробовал, полазив по форумам, добавить непосредственно перед строкой переименования моё любимое. Элемент_ОбъектаНапр_Из_ПравойКолонки_ТЧ.ОбменДанными.Загрузка = Истина; Но итог уже с другой ошибкой: Поле объекта не обнаружено (ОбменДанными)! Я ещё полазил по форумам. И на этом всё! Пишу вам в каком-то недоумении! Ведь решение, как всегда, очевидное, но только я его не могу найти! Буду очень сильно признателен за ваши ответы и мнения! |
|||
1
Kassern
26.08.22
✎
15:54
|
(0) "ПолучитьПоНаименованию" - это что, новый метод какой-то платформенный?
|
|||
2
Beduin
26.08.22
✎
15:55
|
Ты в ссылку пишешь
|
|||
3
Григорополисец
26.08.22
✎
15:55
|
(1) Прошу прощения!!! Описка! Писал по памяти. НайтиПоНаименованию() конечно же!!!
|
|||
4
Kassern
26.08.22
✎
15:56
|
Откройте отладку и проверьте типы данных. С ходу у вас ошибка. Вы получаете объект, но не присваиваете его какой либо переменной.
|
|||
5
МКК
26.08.22
✎
15:56
|
+(2)
|
|||
6
Kassern
26.08.22
✎
15:56
|
Поэтому вы пытаетесь ссылку записать, а записывать можно только объекты
|
|||
7
Kassern
26.08.22
✎
15:57
|
ТвойОбъект=Элемент_ОбъектаНапр_Из_ПравойКолонки_ТЧ.ПолучитьОбъект();
|
|||
8
Kassern
26.08.22
✎
15:57
|
И вот это дело - прям кровь из глаз "Элемент_ОбъектаНапр_Из_ПравойКолонки_ТЧ"
|
|||
9
Григорополисец
26.08.22
✎
16:00
|
(2) Подождите, так я же вроде прописал в коде
Элемент_ОбъектаНапр_Из_ПравойКолонки_ТЧ.ПолучитьОбъект(); Разве после этого я не выхожу на редактирование самого объекта? |
|||
10
Kassern
26.08.22
✎
16:01
|
(9) нет, это не клюшки.
|
|||
11
Kassern
26.08.22
✎
16:01
|
В отладке вы можете прекрасно в этом убедиться
|
|||
12
Григорополисец
26.08.22
✎
16:16
|
(11) Да. совершенно верно!
А помогла конструкция Объект = Элемент_ОбъектаНапр_Из_ПравойКолонки_ТЧ.ПолучитьОбъект(); Объект.Наименование = Подразделение_Из_ЛевойКолонки_ТЧ.Наименование; Объект.Записать(); Даже стыдно теперь, что не разобрался! Сердечно благодарю за то, что помогли!!! |
|||
13
rudnitskij
26.08.22
✎
19:25
|
(12) не ждал вопросов такого уровня сложности в 22м году)
|
|||
14
mikecool
26.08.22
✎
20:17
|
(12) не используй Объект, УФ тебя поругают
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |