Имя: Пароль:
1C
1С v8
Поле флажка в таблице формы документа
0 paramedic
 
10.09.24
11:17
ВКП! Есть расширении табличной части документа реквизит типа Булево. Надо его вывести в таблицу документа в виде флажка.
Т.к. это расширение, то вывод только программно.
Делаю поле с видом ПолеФлажка, но выводится только в виде Да/Нет.
Реквизит ВидФлажка никак на вывод не влияет.
Есть возможность вывести именно в виде наличия/отсутствия галки?
ЗЫ: В конфигураторе добавить в расширении реквизит из табличной части объекта на форму возможности нет.
1 craxx
 
10.09.24
11:22
(0) Программно добавляете?
2 paramedic
 
10.09.24
11:24
(1) Да, программно
3 craxx
 
10.09.24
11:25
(2) код покажите как добавляете. Буквально полчаса назад добавлял программно в ТЧ флажки, все работает
4 paramedic
 
10.09.24
15:18
(3)
        Поле = Элементы.Добавить("ТоварыАВ_РучнаяЦенаЗакупки",Тип("ПолеФормы"),Элементы.ТоварыГруппаЗакупочнаяЦена);
    Поле.Вид = ВидПоляФормы.ПолеФлажка;
    Поле.ВидФлажка = ВидФлажка.Флажок;
    //Поле.ФорматРедактирования = "БЛ=' '; БИ=V";
    Поле.ПутьКДанным = "Объект.Товары.ав_РучнаяЦенаЗакупки";
    Поле.Видимость = Истина;
    Поле.ТолькоПросмотр = Истина;
    Поле.ПропускатьПриВводе = Истина;
    Поле.ОтображатьВШапке = Ложь;
Изменение ВидФлажка, наличие заголовка, включение в группу и т.п. никак не влияет.
Еще раз - это поле для реквизита табличной части документа. Для просто реквизита все работает нормально.
Если ТЧ создается из реквизита формы типа ТаблицаЗначений, то тоже все отображается нормально.
5 craxx
 
10.09.24
15:33
(4)
Кусок кода из ERP УХ
Подробности
Функция СоздатьПолеФормы(Элементы, Имя, Заголовок = "", ПутьКДанным, Вид = Неопределено, Родитель, ВставитьПередЭлементом = Неопределено, ПараметрыЭлемента = Неопределено, СобытияЭлемента = Неопределено) Экспорт
    
    НайденноеПоле = Элементы.Найти(Имя);
    Если НайденноеПоле <> неопределено Тогда
        Поле = НайденноеПоле;
    ИначеЕсли ВставитьПередЭлементом = Неопределено Тогда
        Поле = Элементы.Добавить(Имя, Тип("ПолеФормы"), Родитель); // ПолеФормы
        Поле.ПутьКДанным = ПутьКДанным;
    Иначе
        Поле = Элементы.Вставить(Имя, Тип("ПолеФормы"), Родитель, ВставитьПередЭлементом);
        Поле.ПутьКДанным = ПутьКДанным;
    КонецЕсли;
    
    Если Вид = Неопределено Тогда
        Поле.Вид = ВидПоляФормы.ПолеВвода;
    Иначе
        Поле.Вид = Вид;
    КонецЕсли;
    
    Поле.Заголовок = Заголовок;
    
    Если ТипЗнч(ПараметрыЭлемента) = Тип("Структура") Тогда
        ЗаполнитьЗначенияСвойств(Поле, ПараметрыЭлемента);
    ИначеЕсли Поле.Вид = ВидПоляФормы.ПолеВвода Тогда
        ЗаполнитьЗначенияСвойств(Поле, ПараметрыПоляВводаПоУмолчанию());
    ИначеЕсли Поле.Вид = ВидПоляФормы.ПолеФлажка Тогда
        ЗаполнитьЗначенияСвойств(Поле, ПараметрыПоляФлажкаПоУмолчанию());
    КонецЕсли;
    
    Если ТипЗнч(СобытияЭлемента) = Тип("Структура") Тогда
        Для Каждого КлючЗначение Из СобытияЭлемента Цикл
            Поле.УстановитьДействие(КлючЗначение.Ключ, КлючЗначение.Значение);
        КонецЦикла;
    КонецЕсли;
    
    Возврат Поле;
    
КонецФункции
6 craxx
 
10.09.24
15:34
Код в (5) железно работает, я им создаю поле флажка в табличной части на форме
7 craxx
 
10.09.24
15:44
И кстати, по поводу ТоварыГруппаЗакупочнаяЦена
Каковы настройки этой группы?
8 paramedic
 
11.09.24
09:51
(6) Те же яйца, только сбоку.
(7) Да пофигу на группу - без группы ничего не меняется.
9 craxx
 
11.09.24
11:28
Поле.ТолькоПросмотр = Истина;  - зачем?
10 paramedic
 
11.09.24
12:12
(9) Чтобы ручками не меняли те, кому не положено.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn