![]() |
|
Программный вывод ТЗ на форму обработки | ☑ | ||
---|---|---|---|---|
0
Max57
15.04.24
✎
17:44
|
Всем привет. Пишу обработку которая читает файл Exel и на основании прочитанных данных изменяет реквизиты номенклатуры. Мне нужно, чтобы после завершения её работы выводились внесенные изменения. Затем все изменения помещаются в ТЗ. При первой загрузке из Exel все отрабатывает корректно, но при следующих загрузках выходит такая ошибка. Подскажите, пожалуйста, как мне удалить реквизит с формы, чтобы исправить эту ошибку?
https://ibb.co/2Kqd0PP Для Каждого Колонка Из ТаблицаИзменений.Колонки Цикл ТипыЗначений = Новый Массив; Для каждого тТип из Колонка.ТипЗначения.Типы() Цикл Если тТип <> Тип("Null") Тогда ТипыЗначений.Добавить(тТип); КонецЕсли; КонецЦикла; МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(ТипыЗначений), ИмяТЗ)); КонецЦикла; //Если ЭтаФорма.Элементы.Количество()>3 Тогда // УдаляемыеРеквизиты = Новый Массив; // РеквизитыДляУдаления = ПолучитьРеквизиты(ИмяТЗ); // //Для Каждого РеквизитУдаления Из РеквизитыДляУдаления Цикл // //УдаляемыеРеквизиты.Добавить(ИмяТЗ+"."+РеквизитУдаления.Имя); // // Удаляем элементы формы // Элементы.Удалить(Элементы[ЗаголовокТЗ]); // //КонецЦикла; //КонецЕсли; //Если Не ЭтаФорма.Элементы.Количество() > 80 Тогда // ЭтаФорма.ИзменитьРеквизиты(,МассивРеквизитов); // КонецЕсли; ЭтаФорма.ИзменитьРеквизиты(МассивРеквизитов); эТаблица = Элементы.Добавить(ЗаголовокТЗ, Тип("ТаблицаФормы"),); эТаблица.ПутьКДанным = ИмяТЗ; эТаблица.Отображение = ОтображениеТаблицы.Список; эТаблица.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; эТаблица.ИзменятьСоставСтрок = Ложь; Для Каждого Колонка Из ТаблицаИзменений.Колонки Цикл НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), эТаблица); НовыйЭлемент.ПутьКДанным = ИмяТЗ + "." + Колонка.Имя; НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.КнопкаОчистки = Ложь; НовыйЭлемент.КнопкаВыбора = Ложь; НовыйЭлемент.РедактированиеТекста = Ложь; НовыйЭлемент.КнопкаОткрытия = Истина; КонецЦикла; //КонецЕсли; ЭтаФорма.ЗначениеВРеквизитФормы(ТаблицаИзменений, ИмяТЗ); |
|||
1
Мультук
15.04.24
✎
17:54
|
||||
2
mikecool
15.04.24
✎
17:54
|
ты добавляешь снова реквизит, ваш кеп
он на форме уже есть |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |