Имя: Пароль:
1C
1С v8
Почему это изврат?
↓ (Волшебник 21.12.2023 22:30)
0 zelenprog
 
21.12.23
12:31
Ребята, сильно не ругайте.
Создал отдельную тему, так как очень заинтересовал один момент из предыдущей моей темы.

Там был вот такой комментарий:

>> Объект["ИмяРеквизита"]
>> Но это изврат
УФ. Передать ссылку на реквизит обработки в процедуру как параметр#18

Интересно - почему это изврат?
Ведь в типовых конфигурациях, как мне кажется, очень много такого кода.

И если это действительно изврат, то как правильно надо делать, чтобы не допускать таких извратов?
1 NorthWind
 
21.12.23
12:42
(0) да нет тут никакого изврата. Вполне штатный способ обращаться к реквизиту по имени, если оно не известно в дизайн-тайме. Либо так, либо через ЗаполнитьЗначенияСвойств. Кода такого в типовых действительно завались.
2 Галахад
 
21.12.23
13:00
(0) Изврат в том что писать долго. И подсказки нет.
А так-то, так даже читабельнее.
3 SleepyHead
 
21.12.23
13:00
(0) Если тип- ДокументОбъект, СправочникОбъект, то почему нет?
4 d4rkmesa
 
21.12.23
13:05
(0) Не стоит настолько серьезно воспринимать комментарий. Это вполне рабочий код.
5 Лефмихалыч
 
21.12.23
13:19
(0) изврат в том, что ты программно заполняешь поля ввода, а не поля объекта
6 Chai Nic
 
21.12.23
13:20
(1) "штатный способ обращаться к реквизиту по имени, если оно не известно в дизайн-тайме"
Но передавать туда строковую константу, всё-таки, изврат
7 zelenprog
 
21.12.23
13:37
(5) Я сначала не точно описал задачу.

Мне нужно было заполнить реквизит объекта (обработки).
То есть в обработке на вкладке "Данные" есть реквизит.
Заполнение реквизита выполняется во внешней процедуре в общем модуле. И надо было каким-то образом передать в эту внешнюю процедуру информацию, чтобы она поняла какой реквизит надо заполнять.
8 zelenprog
 
21.12.23
13:37
(6) >> Но передавать туда строковую константу, всё-таки, изврат

А как же тогда обращаться к реквизиту, если его имя неизвестно заранее?
9 Chai Nic
 
21.12.23
14:22
(8) Строковая константа означает, что имя как раз известно заранее. Иначе бы там была переменная.
10 NorthWind
 
21.12.23
15:01
(9) а почему вы решили что автору оно известно? В примере могли просто указать строку для наглядности...
11 Valdis2007
 
21.12.23
15:24
(0) это не изврат...это "полиморфизм"!
12 zelenprog
 
21.12.23
17:24
(11) Полиморфизм в 1С??
13 Tarlich
 
21.12.23
17:56
(0)а  то что 1Ц предлагает Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита, ВыбратьРазрешенные) это не изврат ?
14 Tarlich
 
21.12.23
17:59
то же приходиться так

Для каждого зн из метаданные.спр.ном (или имя колонки тз)

Объект[зн] = .....