Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

В УФ добавляю программно колонки, как заполнить данными? (пересечение колонки и номенкл.?)

В УФ добавляю программно колонки, как заполнить данными? (пересечение колонки и номенкл.?)
Я
   SkillUp
 
28.05.19 - 17:05
Здр., наведите на мысль, добавил программно колонки в ТЧ, теперь надо заполнить? Данные есть (количество), проблема эти данные установить на пересечении новых колонок (склад) и строк (номенклатура)

Т.е.

Колонки: Склад1 Склад2
Стр:
Номенкл№1
Номенкл№2

Благодарность подсказавшему решение...
 
 
   Жан Пердежон
 
1 - 28.05.19 - 17:09
в тч колонки нельзя добавить программно
   SkillUp
 
2 - 28.05.19 - 17:10
(1) Можно! )
   RomanYS
 
3 - 28.05.19 - 17:11
(0)
Объект[0].Склад1 = Значение;

Только будь готов, что они будут теряться при каждом обращении к серверу.

(1) +1 на самом деле это не ТЧ)
   SkillUp
 
4 - 28.05.19 - 17:11
(1) Показать код?)
   RomanYS
 
5 - 28.05.19 - 17:11
*(3)
Объект.ТЧ[0].Склад1 = Значение;
   SkillUp
 
6 - 28.05.19 - 17:12
(3) Упс, разъясните пож., наверно заберу свои слова назад...
   SkillUp
 
7 - 28.05.19 - 17:12
(5) Ок, пробую...
   RomanYS
 
8 - 28.05.19 - 17:15
(4) Покажи. Если делать правильно, должно быть ИзменитьРеквизиты и добавление элементов-колонок на форму
   Жан Пердежон
 
9 - 28.05.19 - 17:15
(2) это не тч
   SkillUp
 
10 - 28.05.19 - 17:17
(8) (9) 
    //Добавляем колонки 

    Для Каждого ЭлементСклад Из объект.Склады Цикл 
        
        Список = Новый СписокЗначений;
        НовыеКолонки = Новый Массив; 
        Список.Вставить(0,ЭлементСклад.Склад);// список здесь реквизит формы "список значений" 

            
        ном = 1; 
        // заполняем массив реквизитов ТЧ 

        // элементы формы создаются конструктором "Новый РеквизитФормы" 

        Для Каждого елем Из Список Цикл 
            елем.Представление = ЭлементСклад.Склад; 
            ТипЧисло = Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,3)); 
            НовыеКолонки.Добавить(Новый РеквизитФормы(елем.Представление, 
            ТипЧисло, 
            "Объект.Товары",""+ЭлементСклад.Склад)); 
            
            ном = ном+1;    
        КонецЦикла; 
        
        ИзменитьРеквизиты(НовыеКолонки);// ключевая процедура, которая добавляет ревизиты 

        
        //добавляем элементы формы и связываем их с ревизитами 

        Для каждого Колонка Из НовыеКолонки Цикл 
            НовыйЭлемент = Элементы.Добавить(ЭлементСклад.Склад,Тип("ПолеФормы"),Элементы.Товары); 
            НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; 
            НовыйЭлемент.ПутьКДанным = "Объект.Товары."+Колонка.Имя; 
            НовыйЭлемент.ТолькоПросмотр = Ложь; 
        КонецЦикла; 
    КонецЦикла;
   SkillUp
 
11 - 28.05.19 - 17:17
(8) Ну как? )
   SkillUp
 
12 - 28.05.19 - 17:18
(9) Жан, а что это? Просто интересно...
   Fragster
 
13 - 28.05.19 - 17:20
вот тут в каше есть и добавление реквизитов, и заполнение, и создание элементов управления:
https://gist.github.com/FragsterAt/3cc9026407d96aa1258ce143fd8f34c3
   Fragster
 
14 - 28.05.19 - 17:21
и даже условное оформление на эту фигню
   SkillUp
 
15 - 28.05.19 - 17:21
(13) Изучим...
   RomanYS
 
16 - 28.05.19 - 17:22
(11) Нормально. Только упадёт, когда в названии склада пробел будет
   Жан Пердежон
 
17 - 28.05.19 - 17:22
(12) Сообщить(ТипЗнч(НовыеКолонки)); //и увидишь, что это
   SkillUp
 
18 - 28.05.19 - 17:23
(16) Ага, спасибо, упустил этот момент...
   SkillUp
 
19 - 28.05.19 - 17:27
(17) Ну да, массив, яж указал -НовыеКолонки = Новый Массив;  Просто другого способа программно ("динамически") а ТЧ документа я не нашел, только через массив...  Или я что-то напутал?
   Cyberhawk
 
20 - 28.05.19 - 17:28
елем, ном, мда
   SkillUp
 
21 - 28.05.19 - 17:30
(20) ) просто у меня, каждый раз разные склады и количество их. "Статический" вариант добавления мне не подходит, ну а так если есть кому-то что добавить, говорите...
   RomanYS
 
22 - 28.05.19 - 17:30
(19)  Сообщить(ТипЗнч(Объект.Товары));//вот это он хотел написать)
   Жан Пердежон
 
23 - 28.05.19 - 17:31
(19) точнее: Сообщить(ТипЗнч(Объект.Товары));
   RomanYS
 
24 - 28.05.19 - 17:33
(21) Ну да это объясняет, почему переменная называется "елем"
   SkillUp
 
25 - 28.05.19 - 17:35
(24) )) Тут согласен, просто бездумно копировал код... И переделывал под свои задачи... )
   Сияющий в темноте
 
26 - 28.05.19 - 18:54
Если добавить колонки к реквизиту или дочерним реквизитам,то их можно заполнить,а в колонках отобразятся данные.


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