Здравствуйте. На таблице динамически создаю ТЗ
Очищаю перед выбором, другова файла
Визуально все очищенно. Но при загрузки нового файла выдает ошибку
//**
Реквизиты = Новый Массив;
//
Реквизиты.Добавить(Новый РеквизитФормы("ТаблицаНаФорме", Новый ОписаниеТипов("ТаблицаЗначений")));
//
Для Каждого Ст ИЗ Таблица.Колонки Цикл
//
Реквизиты.Добавить(Новый РеквизитФормы(Ст.Имя, Ст.ТипЗначения, "ТаблицаНаФорме"));
//
КонецЦикла;
//
//Добавим Реквизиты на форму
ИзменитьРеквизиты(Реквизиты);
//
//Добавим элементы формы
Таб = Элементы.Добавить("ТаблицаНаФорме", тип("ТаблицаФормы"));
Таб.ПутьКДанным = "ТаблицаНаформе";
//
//запретим менять положение строк и сами строки, отключим командную панель
//
Таб.ИзменятьСоставСтрок = Ложь;
Таб.ИзменятьПорядокСтрок = Ложь;
Таб.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет;
//
Для Каждого СТ ИЗ Таблица.Колонки Цикл
//
Рек = Элементы.Добавить("Колонка" + Ст.Имя, Тип("ПолеФормы"), Таб);
//
Рек.Вид = ВидПоляФормы.ПолеНадписи;
Рек.ПутьКДанным = "ТаблицаНаФорме" + "." + Ст.Имя;
Рек.Заголовок = Ст.Имя;
КонецЦикла;
//
//Заполним Таблицу
ЗначениеВРеквизитФормы(Таблица,"ТаблицаНаФорме");
ПоказатьОчищаю перед выбором, другова файла
//
Таблица = РеквизитФормыВЗначение("ТаблицаНаФорме");
РеквизитыБулево = Новый Массив;
Реквизиты = Новый Массив;
Для Каждого Колонка ИЗ Таблица.Колонки Цикл
//
Реквизиты.Добавить("ТаблицаНаФорме." + Колонка.Имя);
//
КонецЦикла;
//
ИзменитьРеквизиты( ,Реквизиты);
//Теперьудаляем таблицу с формы
ЭлементТаблица = Элементы.Найти("ТаблицаНаФорме");
Если ЭлементТаблица <> "ТаблицаНаФорме" Тогда
//
Элементы.Удалить(ЭлементТаблица);
//
КонецЕсли;
Реквизиты.Очистить();
ПоказатьВизуально все очищенно. Но при загрузки нового файла выдает ошибку
{ВнешняяОбработка.ЗагрузкаВITIL.Форма.Форма.Форма(196)}: Ошибка при вызове метода контекста (ИзменитьРеквизиты)
ИзменитьРеквизиты(Реквизиты);
по причине:
Неуникальное имя реквизита. Имя: "ТаблицаНаФорме"
ИзменитьРеквизиты(Реквизиты);
по причине:
Неуникальное имя реквизита. Имя: "ТаблицаНаФорме"
По теме из базы знаний
- Типовая борьба - личный опыт работы с типовыми конфигурациями 1С:8
- Пакетная запись таблицы значений с клиента в СУБД (ускорение построчного INSERT)
- Управление сборкой интеграция с GitLab по API для конфигурации СППР
- Интеграция Честный Знак и 1C: обмен и синхронизация для УТ11, УНФ, КА2, ERP, Розница: Расширение для работы с СУЗ, ГИС МТ, ЦРПТ
- Самые используемые методы БСП 3.1.9
Найденные решения
(4)
Реквизиты формы и элементы формы - это немного разные вещи.
Ты удалил элемент но не удалил реквизит.
смотри
вот ты добавляешь реквизиты
далее ты создаешь элементы формы, и связываешь их с созданными реквизитами.
потом удаление
В итоге таблица на форме, у тебя остался.
А ты пытаешься по новой его создать..естественно ошибка
Разве это не оно?
Реквизиты формы и элементы формы - это немного разные вещи.
Ты удалил элемент но не удалил реквизит.
смотри
вот ты добавляешь реквизиты
Реквизиты = Новый Массив;
//
Реквизиты.Добавить(Новый РеквизитФормы("ТаблицаНаФорме", Новый ОписаниеТипов("ТаблицаЗначений"))); ///Вот реквизит таблица на форме
//
Для Каждого Ст ИЗ Таблица.Колонки Цикл
//
Реквизиты.Добавить(Новый РеквизитФормы(Ст.Имя, Ст.ТипЗначения, "ТаблицаНаФорме")); //А вот добавляешь еще реквизиты - колонки.
//
КонецЦикла;
//
//Добавим Реквизиты на форму
ИзменитьРеквизиты(Реквизиты);
Показатьдалее ты создаешь элементы формы, и связываешь их с созданными реквизитами.
потом удаление
Реквизиты = Новый Массив;
Для Каждого Колонка ИЗ Таблица.Колонки Цикл
//
Реквизиты.Добавить("ТаблицаНаФорме." + Колонка.Имя); //Добавляешь реквизиты, колонки
//
КонецЦикла;
//
.....ИВСЕ ! А где реквизит ТаблицаНаФорме ?
ИзменитьРеквизиты( ,Реквизиты);
ПоказатьВ итоге таблица на форме, у тебя остался.
А ты пытаешься по новой его создать..естественно ошибка
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Реквизиты формы и элементы формы - это немного разные вещи.
Ты удалил элемент но не удалил реквизит.
смотри
вот ты добавляешь реквизиты
далее ты создаешь элементы формы, и связываешь их с созданными реквизитами.
потом удаление
В итоге таблица на форме, у тебя остался.
А ты пытаешься по новой его создать..естественно ошибка
Разве это не оно?
Реквизиты формы и элементы формы - это немного разные вещи.
Ты удалил элемент но не удалил реквизит.
смотри
вот ты добавляешь реквизиты
Реквизиты = Новый Массив;
//
Реквизиты.Добавить(Новый РеквизитФормы("ТаблицаНаФорме", Новый ОписаниеТипов("ТаблицаЗначений"))); ///Вот реквизит таблица на форме
//
Для Каждого Ст ИЗ Таблица.Колонки Цикл
//
Реквизиты.Добавить(Новый РеквизитФормы(Ст.Имя, Ст.ТипЗначения, "ТаблицаНаФорме")); //А вот добавляешь еще реквизиты - колонки.
//
КонецЦикла;
//
//Добавим Реквизиты на форму
ИзменитьРеквизиты(Реквизиты);
Показатьдалее ты создаешь элементы формы, и связываешь их с созданными реквизитами.
потом удаление
Реквизиты = Новый Массив;
Для Каждого Колонка ИЗ Таблица.Колонки Цикл
//
Реквизиты.Добавить("ТаблицаНаФорме." + Колонка.Имя); //Добавляешь реквизиты, колонки
//
КонецЦикла;
//
.....ИВСЕ ! А где реквизит ТаблицаНаФорме ?
ИзменитьРеквизиты( ,Реквизиты);
ПоказатьВ итоге таблица на форме, у тебя остался.
А ты пытаешься по новой его создать..естественно ошибка
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот