Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Помогите с созданием колонок на форме обычного приложения (форма обработки)

Помогите с созданием колонок на форме обычного приложения (форма обработки)
Я
   katerinaUniv
 
10.07.18 - 10:46
Добрый день, на форме есть поля для указания периода. По кнопке на форме обработки в обычном приложении формируются колонки "Номенклатура" и по три колонки на каждый месяц, входящий в период.
 
 
   katerinaUniv
 
1 - 10.07.18 - 10:46
ЭлементыФормы.СтрокиПлана.Колонки.Очистить();
    ЭлементыФормы.СтрокиПлана.Колонки.Добавить("Номенклатура",Тип("СправочникСсылка.Номенклатура"));
    Пока д <= ДатаПо Цикл
        //колонки

        
        стрГод = Лев(Строка(Год(д)),1)+Прав(Строка(Год(д)),3);
        ЭлементыФормы.СтрокиПлана.Колонки.Добавить("План"+"_"+стрГод+"_"+Месяц(д),Тип("Число"));
        Кол = ЭлементыФормы.СтрокиПлана.Колонки.Добавить("Факт"+"_"+стрГод+"_"+Месяц(д),Тип("Число"));
        кол.Положение = ПоложениеКолонки.НаСледующейСтроке;
        кол.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
        
        кол = ЭлементыФормы.СтрокиПлана.Колонки.Добавить("План2"+"_"+стрГод+"_"+Месяц(д),Тип("Число"));
        кол.Положение = ПоложениеКолонки.НаСледующейСтроке;
        кол.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
        
        нСтрока = тзПериодов.Добавить();
        нСтрока.Период = стрГод+Месяц(д);
        
        д = ДобавитьМесяц(д,1);
    КонецЦикла;
   katerinaUniv
 
2 - 10.07.18 - 10:46
Колонки создаются, но при двойном щелчке редактировать их не получается. Чего не хватает (кроме опыта ;) )?
   Cool_Profi
 
3 - 10.07.18 - 10:46
Что не получается?
   Cool_Profi
 
4 - 10.07.18 - 10:48
(2) Элемен управления на колонку установи
   katerinaUniv
 
5 - 10.07.18 - 10:48
Двойным щелчком отредактировать
Щелкаю по колонке в строке и ничего не происходит
   katerinaUniv
 
6 - 10.07.18 - 10:54
(4) как?
   ptiz
 
7 - 10.07.18 - 10:58
(0) Элемент связан с таблицей значений? Предполагается редактирование этих данных в форме? Тогда в таблицу тоже надо добавлять такие же колонки и заполнять свойство "Данные" для колонки.
   katerinaUniv
 
8 - 10.07.18 - 11:03
(7)все, что сделано, в коде выше. О чем вы, я не понимаю, так как впервые такую задачу делаю.
   katerinaUniv
 
9 - 10.07.18 - 11:18
ЭлементыФормы.СтрокиПлана.Колонки.Очистить();
    кол = ЭлементыФормы.СтрокиПлана.Колонки.Добавить("Номенклатура",Тип("СправочникСсылка.Номенклатура"));
    кол.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
    кол.УстановитьЭлементУправления(Тип("ПолеВвода"));
    кол.ЭлементУправления.КнопкаОткрытия = Истина;
    кол.ЭлементУправления.КнопкаВыбора = Истина;
    кол.ЭлементУправления.КнопкаОчистки = истина;
    кол.Данные = "Номенклатура";
    
    Пока д <= ДатаПо Цикл
        //колонки

        
        стрГод = Лев(Строка(Год(д)),1)+Прав(Строка(Год(д)),3);
        ЭлементыФормы.СтрокиПлана.Колонки.Добавить("План"+"_"+стрГод+"_"+Месяц(д),Тип("Число"));
        Кол = ЭлементыФормы.СтрокиПлана.Колонки.Добавить("Факт"+"_"+стрГод+"_"+Месяц(д),Тип("Число"));
        кол.Положение = ПоложениеКолонки.НаСледующейСтроке;
        кол.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
        
        кол = ЭлементыФормы.СтрокиПлана.Колонки.Добавить("План2"+"_"+стрГод+"_"+Месяц(д),Тип("Число"));
        кол.Положение = ПоложениеКолонки.НаСледующейСтроке;
        кол.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
        
        нСтрока = тзПериодов.Добавить();
        нСтрока.Период = стрГод+Месяц(д);
        
        д = ДобавитьМесяц(д,1);
    КонецЦикла;
   Zmich
 
10 - 10.07.18 - 11:29
(9). Может быть, можно по-другому, но я такого сорта задачи делаю так: описываю отдельно таблицу значений, а уже затем ее загружаю в элемент формы. Причина - так проще работать с таблицей значений. Примерно так:

ТЗ = Новый ТаблицаЗначений;
    
    ТЗ.Колонки.Добавить("Дата1", Новый ОписаниеТипов("Дата", Новый КвалификаторыДаты(ЧастиДаты.Дата)));
    ТЗ.Колонки.Добавить("Дата2", Новый ОписаниеТипов("Дата", Новый КвалификаторыДаты(ЧастиДаты.Дата)));
    
    ЭлементыФормы.ТабличноеПоле1.Значение = ТЗ;
    ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
 
 Рекламное место пустует
   katerinaUniv
 
11 - 10.07.18 - 11:49
Переделала обработку, создаю колонки в таблице значений. Как эту таблицу значений указать для элемента управления как данные?
   Zmich
 
12 - 10.07.18 - 11:52
(11). Последние две строки из (10).
   katerinaUniv
 
13 - 10.07.18 - 13:41
(12) если сделаю СоздатьКолонки(), то будут все колонки в ряд. Мне нужно, чтобы они были по три в колонке, то есть настроить видимость. Как создавать колонки вручную?
   catena
 
14 - 10.07.18 - 13:44
(13)Создай колонки, а потом редактируй положение.
   katerinaUniv
 
15 - 10.07.18 - 13:51
(14) циклом по колонкам?
   catena
 
16 - 10.07.18 - 13:53
"стрГод = Лев(Строка(Год(д)),1)+Прав(Строка(Год(д)),3);"

Не надо так делать. 
стрГод = Формат(Год,"ЧГ=");

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует