0
SkillUp
17.11.20
✎
17:26
|
Здравствуйте, не могу удалить колонки из реквизита формы таблицы значений ("данные"). Они только очищаются. После удаления остается 1 одна, как и должно быть. Но визуально (на стороне пользователя) вижу все колонки ТЗ и они просто пустые...
Создаю колонки:
ЭлементыФормы.Данные.Колонки.Очистить();
Данные.Очистить();
МассивСкладов = ПолучитьВсеСклады();
КолонкиТаблицы = Данные.Колонки;
ОчереднойНомерКолонки = 0;
ТекущаяКолонка = КолонкиТаблицы.Найти("Номенклатура");
СдвинутьКолонку(ТекущаяКолонка, ОчереднойНомерКолонки);
Для Каждого Склад ИЗ МассивСкладов Цикл
СтрокаБезСимв = УбратьЛишниеСимволы(Склад);
НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[СтрокаБезСимв];
Если НомерСоответствияТекущейКолонки = Неопределено Тогда
НомерСоответствияТекущейКолонки = МассивСкладов.Количество();
мСоответствиеТиповЦен.Вставить(СтрокаБезСимв, мСоответствиеТиповЦен.Количество());
КонецЕсли;
// Колонки.
ТекущаяКолонка = КолонкиТаблицы.Найти(СтрокаБезСимв);
Если ТекущаяКолонка = Неопределено Тогда // надо вставить
КолонкиТаблицы.Вставить(ОчереднойНомерКолонки, СтрокаБезСимв, Новый ОписаниеТипов("Булево"), Склад, 25);
ОчереднойНомерКолонки = ОчереднойНомерКолонки + 1;
Иначе
СдвинутьКолонку(ТекущаяКолонка, ОчереднойНомерКолонки);
КонецЕсли;
// Все, что за пределами, надо удалить.
Для НомерУдаляемойКолонки = ОчереднойНомерКолонки По КолонкиТаблицы.Количество() - 1 Цикл
КолонкиТаблицы.Удалить(ОчереднойНомерКолонки);
КонецЦикла;
ЭлементыФормы.Данные.СоздатьКолонки();
КонецЦикла;
Удаляю:
Счетчик = Данные.Колонки.Количество()-1;
Пока Счетчик >= 0 Цикл
Колонка = Данные.Колонки[Счетчик];
Если Колонка.Имя = "Номенклатура" Тогда
Прервать;
КонецЕсли;
Индекс = НовМассиСкладов.Найти(Справочники.Склады.НайтиПоНаименованию(Колонка.Заголовок));
Если Индекс = Неопределено Тогда
ЭтаФорма.Данные.Колонки.Удалить(Колонка);
КонецЕсли;
Счетчик = Счетчик - 1;
КонецЦикла;
|
|