Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 17:20

Как получить индекс элемента управления?

Автор MKozzlik, 11 окт 2011, 11:46

0 Пользователей и 1 гость просматривают эту тему.

MKozzlik

Возникла такая проблема: В форме элемента справочника "Номенклатура" есть табличное поле "Характеристики", мне надо программно добавить строку в это табличное поле.. как это сделать, помогите пожалуйста

Я пытаюсь получить табличное поле методом Получить(), но для этого надо знать индекс элемента управления

Форма = НовыйЭлемент.ПолучитьФорму();
ТаблХарактеристикНоменклатуры = Форма.ЭлементыФормы.Получить(????);
СтрокаТаблицы = ТаблХарактеристикНоменклатуры.ДобавитьСтроку();
СтрокаТаблицы.Наименование = "Код 77";

has

А если просто по имени табличного поля обратится?

ТаблХарактеристикНоменклатуры = Форма.ЭлементыФормы.ИмяТабличногоПоля;

А вобще все равно имя элемента формы знать надо, чтобы индекс получить.

MKozzlik

Написала вот так:
   Форма = НовыйЭлемент.ПолучитьФорму();
   ТаблХарактеристикНоменклатуры = Форма.ЭлементыФормы.Характеристики;
   СтрокаТаблицы = ТаблХарактеристикНоменклатуры.ДобавитьСтроку();
   СтрокаТаблицы.Наименование = "Код 77";

Выдает вот такую ошибку: {Форма.Форма.Форма(155)}: Обращение к процедуре объекта как к функции (ДобавитьСтроку)
      СтрокаТаблицы = ТаблХарактеристикНоменклатуры.ДобавитьСтроку();

Что я не так делаю?

has

Если табличное поле связано с табличной частью, то добавлять надо в табличную часть. Если же именно через форму и данные табличного поля - таблица значений, то так

СтрокаТаблицы = Форма.ЭлементыФормы.ТаблХарактеристикНоменклатуры.Значение.Добавить();
СтрокаТаблицы.Наименование = "Код 77";

MKozzlik

Как раз не связано с табличной частью, пытаюсь написать вот так:

Форма = НовыйЭлемент.ПолучитьФорму();
СтрокаТаблицы = Форма.ЭлементыФормы.Характеристики.Значение.Добавить();
СтрокаТаблицы.Наименование = "Код 77";

Все равно ругается, ошибка такая: {Форма.Форма.Форма(149)}: Метод объекта не обнаружен (Добавить)
      СтрокаТаблицы = Форма.ЭлементыФормы.Характеристики.Значение.Добавить();



has

Тип значения и данные у табличного поля какой?

MKozzlik

Тип значения: СправочникСписок.ХарактеристикиНоменклатуры, Данные: Характеристики

has

Если я правильно понял, тут надо добавить в список новый элемент справочника.

НовыйЭлемент = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
НовыйЭлемент.Наименование = "Код 77";
НовыйЭлемент.Владелец = ТутНоменклатураВладелец;
НовыйЭлемент.Записать();

MKozzlik

Да, да, получилось! Спасибо большое!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск