Имя: Пароль:
1C
 
Програмное удаление реквизитов на форме
0 myr4ik07
 
05.02.16
19:02
Хочу удалить реквизиты на форме

&НаКлиенте
Процедура ПодразделениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    ИзменитьРеквзитыФормы();
КонецПроцедуры

&НаСервере
Процедура ИзменитьРеквзитыФормы()
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    прЛинии.Ссылка,
    |    прЛинии.НомерЛинии,
    |    прЛинии.Код
    |ИЗ
    |    Справочник.прЛинии КАК прЛинии
    |ГДЕ
    |    прЛинии.Подразделение = &Подразделение
    |
    |УПОРЯДОЧИТЬ ПО
    |    прЛинии.Код";
    Запрос.УстановитьПараметр("Подразделение", Объект.Подразделение);
    
    МассивЛиний = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Код");
    
    УдаляемыеРеквизитыТЗ = Новый Массив;
    ТЗ = СтрокиРабочийТабель.Выгрузить();
    
    Для каждого Линия Из МассивЛиний Цикл        
        ИмяКолонки = "_"+сокрп(УбратьНули(Линия));
        
        УдаляемыеРеквизитыТЗ.Добавить(ЭтаФорма.Элементы["СтрокиРабочийТабельАктивно"+ИмяКолонки]);
        УдаляемыеРеквизитыТЗ.Добавить(ЭтаФорма.Элементы["СтрокиРабочийТабельПлан"+ИмяКолонки]);
        УдаляемыеРеквизитыТЗ.Добавить(ЭтаФорма.Элементы["СтрокиРабочийТабельФакт"+ИмяКолонки]);
        УдаляемыеРеквизитыТЗ.Добавить(ЭтаФорма.Элементы["СтрокиРабочийТабельПлан1"+ИмяКолонки]);
        УдаляемыеРеквизитыТЗ.Добавить(ЭтаФорма.Элементы["СтрокиРабочийТабельФакт1"+ИмяКолонки]);
        
        //УдаляемыеРеквизитыТЗ.Добавить(ЭтаФорма.Элементы["ГруппаЛиния"+ИмяКолонки]);
        //УдаляемыеРеквизитыТЗ.Добавить(ЭтаФорма.Элементы["ГруппаВремя"+ИмяКолонки]);
        //УдаляемыеРеквизитыТЗ.Добавить(ЭтаФорма.Элементы["ГруппаНачало"+ИмяКолонки]);
        //УдаляемыеРеквизитыТЗ.Добавить(ЭтаФорма.Элементы["ГруппаКонец"+ИмяКолонки]);

    КонецЦикла;
    ЭтаФорма.ИзменитьРеквизиты(, УдаляемыеРеквизитыТЗ);

КонецПроцедуры




пишет


{Документ.РобочийТабель.Форма.ФормаДокумента.Форма(788)}: Ошибка при вызове метода контекста (ИзменитьРеквизиты)
    ЭтаФорма.ИзменитьРеквизиты(, УдаляемыеРеквизитыТЗ);
по причине:
Недопустимый путь к реквизиту. Путь: "ПолеФормы"


подскажите пожалуйста, что где ошибся?
1 mikeA
 
05.02.16
19:26
УдаляемыеРеквизитыТЗ.Добавить("СтрокиРабочийТабель.Активно"+ИмяКолонки)

смысл в том что в этом массиве система ожидает получить СТРОКИ

отсюда и "ПолеФормы" в сообщении об ошибке. это Строка(ЭтаФорма.Элементы["СтрокиРабочийТабельАктивно"+ИмяКолонки])

что, свой табель пилишь, с преферансом и поэтессами? ))
2 myr4ik07
 
05.02.16
19:59
(1) точно, спасибо боьшое, я уже чуть матюки не вводил туда, а оно не работало и все, а сейчас все норм, благодарю!
3 MRAK
 
06.02.16
22:31
(0) если релиз позволяет, попробуй расширения