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

Колонка УИД в Динамическом списке

Колонка УИД в Динамическом списке
Я
   1Сергей
 
26.03.19 - 15:30
Подскажите, можно ли и как?

Программно создаваемый ДС без запроса, данные из справочника. Что-то не получается у меня

&НаСервере
Процедура СоздатьТаблицуНаФорме()
    
    // Добавить реквизит "Динамический список".

    ТипыРеквизита = Новый Массив;
    ТипыРеквизита.Добавить(Тип("ДинамическийСписок"));

    ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(ТипыРеквизита);

    НовыйРеквизит = Новый РеквизитФормы("ТаблицаДанных",    // имя

    ОписаниеТиповДляРеквизита,                                 // тип

    ,                                                        // путь

    "СписокТоваров",                                        // заголовок

    Истина);                                                // сохраняемые данные


    ДобавляемыеРеквизиты = Новый Массив;
    ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
    
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);
    
    //ЭтаФорма["ТаблицаДанных"].УстановитьДействие("ПриПолученииДанныхНаСервере", "ТаблицаДанныхПриПолученииДанныхНаСервере");

    
    // Задать текст запроса и другие свойства динамического списка.

    РеквизитСписок = ЭтаФорма["ТаблицаДанных"];
    //РеквизитСписок.ТекстЗапроса = "ВЫБРАТЬ Наименование, Код ИЗ Справочник.Товары";

    РеквизитСписок.ОсновнаяТаблица = "Справочник." + ИмяСправочника;
    
    // Добавить элемент формы и связать его с реквизитом.

    НовыйЭлемент = Элементы.Добавить("ЭлементТаблицаДанных", Тип("ТаблицаФормы"));
    НовыйЭлемент.ПутьКДанным = "ТаблицаДанных";
    НовыйЭлемент.УстановитьДействие("ПриПолученииДанныхНаСервере", "ТаблицаДанныхПриПолученииДанныхНаСервере");
    
    // Создать колонки и связать их с данными.

    НоваяКолонкаТаблицы = Элементы.Добавить("КолонкаУИД", Тип("ПолеФормы"), НовыйЭлемент);
    
    Мета = Метаданные.Справочники[ИмяСправочника];
    Для Каждого МетаРек Из Мета.СтандартныеРеквизиты Цикл
        НоваяКолонкаТаблицы = Элементы.Добавить("Колонка" + МетаРек.Имя, Тип("ПолеФормы"), НовыйЭлемент);
        НоваяКолонкаТаблицы.ПутьКДанным = "ТаблицаДанных." + МетаРек.Имя;
    КонецЦикла;
    Для Каждого МетаРек Из Мета.Реквизиты Цикл
        Если МетаРек.Тип.СодержитТип(Тип("ХранилищеЗначения")) Тогда
            Продолжить;
        КонецЕсли;
        НоваяКолонкаТаблицы = Элементы.Добавить("Колонка" + МетаРек.Имя, Тип("ПолеФормы"), НовыйЭлемент);
        НоваяКолонкаТаблицы.ПутьКДанным = "ТаблицаДанных." + МетаРек.Имя;
    КонецЦикла;
    
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ТаблицаДанныхПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
    Для Каждого СтрокаДинСписка Из Строки Цикл
        СтрокаДинСписка.Данные["КолонкаУИД"] = СтрокаДинСписка.Данные["Ссылка"].УникальныйИдентификатор();
    КонецЦикла;
КонецПроцедуры


{ВнешняяОбработка.ПросмотрОбъектов.Форма.Форма.Форма(101)}: Поле объекта не обнаружено (Данные)
        СтрокаДинСписка.Данные["КолонкаУИД"] = СтрокаДинСписка.Данные["Ссылка"].УникальныйИдентификатор();
 
 
   sqr4
 
1 - 26.03.19 - 15:35
   sqr4
 
2 - 26.03.19 - 15:37
хотя че это даст
   1Сергей
 
3 - 26.03.19 - 15:38
(1) смотрел, мой вопрос там не затрагивается даже

Мне бы пример по событию ПриПолученииДанныхНаСервере
   sqr4
 
4 - 26.03.19 - 15:43
СтрокаДинСписка.Значение.Данные["КолонкаУИД"] как я понимаю по отладке
   Timon1405
 
5 - 26.03.19 - 15:45
судя по https://wonderland.v8.1c.ru/blog/obrabotka-i-oformlenie-dannykh-dinamicheskogo-spiska/
у вас нет строчки ПолучитьКлючи()
   1Сергей
 
6 - 26.03.19 - 15:48
(5) это незачем. Есть строка:

Для Каждого СтрокаДинСписка Из Строки Цикл
   1Сергей
 
7 - 26.03.19 - 15:49
Кажется, понял. Придётся всё-таки запрос писать
   sqr4
 
8 - 26.03.19 - 15:50
(7) Для Каждого Строка из Строки Цикл
        Строка.Значение.Данные.Этажей = 100;    
    КонецЦикла;
    
У меня так работает
   1Сергей
 
9 - 26.03.19 - 15:54
(8) это да, заметил, что "Значение" пропустил.

Но, у тебя же "Этажей" привязано к чему-то? К данным каким-то
   sqr4
 
10 - 26.03.19 - 16:04
Да
   1Сергей
 
11 - 26.03.19 - 16:25
Всё получилось, всем спасибо.

ПутьКДанным у колонки должен ссылаться на данные источника. Иначе колонка не создаётся
   aleks_default
 
12 - 26.03.19 - 17:30
(0)А зачем извращения по программному созданию дин списка?
   1Сергей
 
13 - 26.03.19 - 17:48
(12) универсальная смотрелка обьектов бд

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