• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Форма.ПолучитьАтрибут("Цена"+к)

  • Автор темы Дайнеко
  • Дата начала
Д

Дайнеко

Как-то столкнулся с этой ерундой. На форме отчета несколько реквизитов: Цена1, Цена2,...
Чтобы не писать повторяющиеся строки, хочу пройти по ним циклом.
Код:
		Для к = 1 По КолЦен Цикл
Цена = Форма.ПолучитьАтрибут("Цена"+к);
КонецЦикла;	// к
Так что происходит!
* Ошибку не выдает.
* В Отладчике равно "НеизвестныйОбъект"
* С именем ошибиться не могу. Копирую значение имени поля "Цена"+к и вставляю в Отладчик. Выдает значение.

Я придумал, как выкрутится, но все-таки, в чем причина?
 
V

vbs

А так :
Цена = Форма.ПолучитьАтрибут("Цена"+Строка(к));
 
Д

Дайнеко

За пацана держишь! :lovecodeby:
Нешто я не проверил, что выражение "Цена"+к дает что надо, и не проверил в отладчике тупо с фразой "Цена1"
 
V

vbs

За пацана держишь!
Да ладно, не в обидку написано.
Просто Цена1 в отладчике выглядит нормально, а параметр для передачи в ПолучитьАтрибут формируется криво
Так что, если пробовал
Цена = Форма.ПолучитьАтрибут("Цена"+Строка(к)); - сдаюсь и я
 
P

puh14

Шаблон("["+Цена + к+"]")

Надыбал в



А причина наверно в том, что получитьатрибут() возвращает некую ссылку, а не значение атрибута. Собственно описание функции шаблон это подтверждает.
 
Д

Дайнеко

А причина наверно в том, что получитьатрибут() возвращает некую ссылку

Спасибо, я стразу так и решил проблему, через Шаблон(). Интересно было понять суть. Согласитесь, некая нечеткость в 7-ке с пониманием ПолучитьАтрибут(). При обращении к объекту спр-ка или док-та метод выдает Значение реквизита. А в диалоге дает ссылку на элемент формы. И здесь не срабатывает семерочное тождество элементу формы и его значению.
В 8-ке с этим по-четче.
 
K

KiR

Дайнеко, ну дык сколько 7 лет и сколько 8ке... Было бы ужасно если бы в 8 до сих пор такие глупости сохранились
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!