Вход | Регистрация
 
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) универсальная смотрелка обьектов бд

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