Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как в выгружаемой на форму ТЗ дать пользователю возможность редактировать указанные колонки но закрыть редактирования некоторых строк из них
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Svetas_2024
Добрый день, уважаемые форумчани. Прошу помощи
1С:Предприятие 8.3 (8.3.15.1869), "Управление производственным предприятием для Украины", редакция 1.3 (1.3.66.1) , формы обычные (не управляемые)
вопрос
выгружаю на форму Таблицу Значений

вопрос как :
1. пользователю дать возможность редактировать колонку "наименование", но не давать редактировать колонку "код" и не давать редактировать строки в колонке "наименование", которые выполняют условие стр.код_п=False;
2. как дать пользователю возможность выбора из списка значений в колонке "порядок" (т.е. что бы пользователь мог менять порядковый номер элементов, но не на произвольный , а только между собой (т.е. из списка), и без повторений );
3. как раскрасить для пользователя строки Таблицы значений в разные цвета в зависимости от условия "стр.код_п=False;"
4. колонка "дТЗ.Колонки.Добавить("код_п",Новый ОписаниеТипов("Булево"))" отображается как Да/нет, как отображение заменить на "галочку"?

 
   аа = Новый Массив;

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

    
        Для Каждого ЭлементМассива из аа Цикл
          стр = дТЗ.добавить();
          стр.наименование = ЭлементМассива.наименование;
          стр.код = ЭлементМассива.код;
          стр.выбор=True;
          стр.порядок= ЭлементМассива.порядок;
          
          если    СтрДлина(СокрЛП(Строка(ЭлементМассива.код)))>0  тогда
            стр.код_п=True;
          Иначе
            стр.код_п=False;

          конецесли;    

        КонецЦикла;


   Форма1=ЭтотОбъект.ПолучитьФорму("ФормаОтчета");
   Форма1.ЭлементыФормы.ТЗ.Значение = дТЗ;
   Форма1.ЭлементыФормы.ТЗ.СоздатьКолонки();
      
   Колонка = Форма1.ЭлементыФормы.ТЗ.Колонки.порядок;
   Колонка.ИзменятьНастройку = Ложь;
   Колонка.ИзменениеРазмера = ИзменениеРазмераКолонки.НеИзменять;
   Колонка.Ширина = 3;
    
  Форма1.ЭлементыФормы.ТЗ.Колонки.код_п.Видимость = False;



в коде задаю ширину последней колонки "Колонка.Ширина = 3;", а она всё равно отображается слишком толстой - почему не работает?
Svetas_2024
Svetas_2024 @ Вчера, 8:22 необходимо зарегистрироваться для просмотра ссылки ,
изменила код
 кол =  Форма1.ЭлементыФормы.ТЗ.Колонки.Найти("наименование");
     кол.УстановитьЭлементУправления(Тип("ПолеВвода"));
     кол.ЭлементУправления.КнопкаОткрытия =Истина;
     кол.ЭлементУправления.РедактированиеТекста  =Истина;

     кол.ТолькоПросмотр = Ложь;
     кол.Доступность=Истина;

а редактировать всё равно не даёт данные в колонке ТЗ
Svetas_2024
Svetas_2024 @ 07.01.24, 20:54 необходимо зарегистрироваться для просмотра ссылки ,
хоть-кто может подсказать? помогите пожалуйста
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.