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

Программно создать колонки таблицы (В цикле)

Автор bodart, 08 дек 2019, 04:17

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

bodart

При изменении даты, у меня рассчитывается количество дней и после идет цикл, где должно создаться столько же столбцов, сколько дней в этом месяце, но в строке НовыйЭлемент.ПутьКДанным = Объект.ТабличнаяЧасть1.r; выдает ошибку "Поле объекта не обнаружено (r)". r=("День"+n); это было сделано для того чтобы были уникальные имена реквизитов. Подскажите как исправить эту ошибку?
&НаСервере
Процедура Изменении()
   // Добавить реквизит.
КоличествоДней = Сред(КонецМесяца(ТекущаяДата()), 1, 2);
n=1;
Пока  n<>КоличествоДней цикл
r=("День"+n);
ТипыРеквизита = Новый Массив;
ТипыРеквизита.Добавить(Тип("Строка"));
ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(ТипыРеквизита);
НовыйРеквизит = Новый РеквизитФормы(r,  // имя
ОписаниеТиповДляРеквизита,             // тип
"Объект.ТабличнаяЧасть1",   // путь
n,                                                    // заголовок
Истина);                                                           // сохраняемые данные
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
//Добавить элемент формы и связать его с реквизитом.
НовыйЭлемент = Элементы.Добавить("КолонкаДень", Тип("ПолеФормы"), Элементы.ТабличнаяЧасть1);
НовыйЭлемент.ПутьКДанным = Объект.ТабличнаяЧасть1.r; -- ошибка в этой строчке
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.КнопкаОчистки = Истина;
n=n+1;
КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ДатаПриИзменении(Элемент)
    Изменении();
КонецПроцедуры

Yotram

"Дай человеку рыбу, и ты накормишь его на один день, научи его рыбачить, и он будет сыт всю жизнь"

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

Рейтинг@Mail.ru

Поиск