Как в выгружаемой на форму ТЗ дать пользователю возможность редактировать указанные колонки но закрыть редактирования некоторых строк из них , вопрос редактирования ТаблицыЗначений выгружаемой на форму пользовател

1. SvetaS2014 06.01.24 22:29 Сейчас в теме
Добрый день, уважаемые форумчани. Прошу помощи
1С:Предприятие 8.3 (8.3.15.1869), "Управление производственным предприятием", формы обычные (не управляемые)
вопрос
выгружаю на форму Таблицу Значений

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

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

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

          конецесли;    

        КонецЦикла; 


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

в коде задаю ширину последней колонки "Колонка.Ширина = 3;", а она всё равно отображается слишком толстой - почему не работает?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. farengeit00 07.01.24 10:01 Сейчас в теме
4. У вас в коде прописано
Колонка.ИзменениеРазмера = ИзменениеРазмераКолонки.НеИзменять;
Вот и не меняет
3. farengeit00 07.01.24 10:02 Сейчас в теме
3. В событии ПриПолученииДанных проверять это условие и красить колонку
4. farengeit00 07.01.24 10:05 Сейчас в теме
2. Добавить в список выбора колонки значения и при окончании редактирования удалять из списка выбранное значение
5. farengeit00 07.01.24 10:07 Сейчас в теме
1. В событии при начале редактирования проверять это условие в текущих данных и регулировать только просмотр истина или ложь
6. SvetaS2014 07.01.24 16:17 Сейчас в теме
В событии при начале редактирования проверять это условие

так она изначально не даёт возможности редактировать данные
Прикрепленные файлы:
7. SvetaS2014 07.01.24 16:21 Сейчас в теме
т.е. курсор становится, но ввести данные не даёт
Прикрепленные файлы:
8. SvetaS2014 07.01.24 21:59 Сейчас в теме
изменила код
 кол =  Форма1.ЭлементыФормы.ТЗ.Колонки.Найти("наименование");
     кол.УстановитьЭлементУправления(Тип("ПолеВвода"));
     кол.ЭлементУправления.КнопкаОткрытия =Истина;
     кол.ЭлементУправления.РедактированиеТекста  =Истина;

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


а редактировать всё равно не даёт данные в колонке ТЗ
9. SvetaS2014 07.01.24 22:00 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот