Имя: Пароль:
1C
 
Создание колонок в таблице значений при загрузке УФ
0 TolikoSprosit
 
29.03.16
11:21
Произвольная форма
ПредварительныеЗаказы - реквизит на форме (ТаблицаЗначений)

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Тч = з.Выполнить.Выгрузить();
ПредварительныеЗаказы.Загрузить(Тч);

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

Почему после выполнения кода на форме не появляются колонки?(ПредварительныеЗаказы вообще не отображается)
Как сделать чтобы колонки появились?
1 TolikoSprosit
 
29.03.16
11:33
По простому не получится, я так понял, нужно колонки по отдельности создавать или в конфигураторе наделать.

Решения в пару строк не существует?)
2 mikecool
 
29.03.16
11:33
СоздатьКолонки вроде еще надо ЭУ
3 mikecool
 
29.03.16
11:34
ТабличноеПоле.СоздатьКолонки (TableBox.CreateColumns)
ТабличноеПоле (TableBox)
СоздатьКолонки (CreateColumns)
Синтаксис:

СоздатьКолонки()
Описание:

Удаляет старые колонки и загружает новые колонки из источника данных.

Доступность:

Толстый клиент.
Пример:

ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаДанных;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();


--------------------------------------------------------------------------------

     Методическая информация
4 TolikoSprosit
 
29.03.16
11:35
(3) Доступность:

Толстый клиент.

На УФ не летит.
5 TolikoSprosit
 
29.03.16
11:45
Нужен ответ только на этот вопрос:

Решения в пару строк не существует?)
6 Fragster
 
гуру
29.03.16
11:49
безвоздмездно:
&НаСервере
Процедура УдалитьИДобавитьРеквизитыИЭлементыТаблицы(КолонкиСтарые, КолонкиНовые, ИмяРеквизита, ИмяЭлемента = Неопределено, ОбновлятьРеквизиты = Истина)
    
    Если ИмяЭлемента = Неопределено Тогда
        ИмяЭлемента = ИмяРеквизита;
    КонецЕсли;
        
    МассивУдаляемыхРеквизитов = Новый Массив;
    Для каждого Колонка Из КолонкиСтарые Цикл
        Элементы.Удалить(Элементы.Найти(ИмяЭлемента + Колонка.Имя));
        Если ОбновлятьРеквизиты Тогда
            МассивУдаляемыхРеквизитов.Добавить(ИмяРеквизита + "." + Колонка.Имя);
        КонецЕсли;
    КонецЦикла;
    ИзменитьРеквизиты(, МассивУдаляемыхРеквизитов);
    
    МассивДобавляемыхРеквизитов = Новый Массив;
    Для каждого Колонка Из КолонкиНовые Цикл
        Если ОбновлятьРеквизиты Тогда
            Реквизит = Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, ИмяРеквизита, СформироватьСиноним(Колонка.Имя));
            МассивДобавляемыхРеквизитов.Добавить(Реквизит);
        КонецЕсли;
        Элемент = Элементы.Добавить(ИмяЭлемента + Колонка.Имя, Тип("ПолеФормы"), Элементы.Найти(ИмяЭлемента));
        Элемент.ТолькоПросмотр = Истина;
    КонецЦикла;
    ИзменитьРеквизиты(МассивДобавляемыхРеквизитов, );
    
    Для каждого Колонка Из КолонкиНовые Цикл
        Элемент = Элементы.Найти(ИмяЭлемента + Колонка.Имя);
        Элемент.ПутьКДанным = ИмяРеквизита + "." + Колонка.Имя;
        Элемент.ГоризонтальноеПоложениеВПодвале = ГоризонтальноеПоложениеЭлемента.Право;
    КонецЦикла;
    
КонецПроцедуры
7 TolikoSprosit
 
29.03.16
12:01
(6) Спасибо большое, но я такое тоже смогу написать(хотя теперь и не надо)
Хочется "СоздатьКолонки", но для УФ)(именно что-то платформенное и короткое)
8 TolikoSprosit
 
29.03.16
12:03
Нужен ответ только на этот вопрос:

Решения в пару строк не существует?) (4)