8.х УФ видимость колонки.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем AlenkaInt, 8 дек 2015.

  1. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Всем привет. Есть форма, в ней ТЧ. В т.ч. такие реквизиты - Показатель, Значение и еще другие. У показателя есть булевский реквизит. В зависимости от него или можно изменять Значение или нет. Не могу сделать так, чтобы при определенном значении этого булевского реквизита можно было или нельзя изменять Значение .. Если делать через активизацию строки то там получается так, что при открытии формы все нормально отрабатывает, если перемещаешься между строками тоже ок. А если 2 раза щелкнуть по ней, то можно менять все что хочешь. Нет проверки на то давать менять или нет. Пробовала другие процедуры. ПриНачалеРедактирования, ПередНачаломИзменения. В этом случае один раз сделается колонка только просмотр и все, пока не переоткроешь все не доступно. Что делать? Спасибо.
  2. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Обычно это делается так: в форме для реквизита-таблицы создаете еще одну дополнительную колонку (думаю, тут подойдет колонка булевского типа - указатель на то, можно редактировать значение или нет). При изменении значения в колонке "Показатель" (и при других случаях заполнения табличной части, а также при создании формы на сервере) заполняете эту добавленную колонку нужным значением.
    И далее настраиваете условное оформление формы (в свойствах формы) - устанавливаете свойство "Только просмотр" для колонки "Значение" в зависимости от условия (от значения в дополнительно созданной колонке).
  3. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Там не будет меняться "Показатель". Эта табличная часть для отображения ТЧ другого справочника. Там могут только заменить "Значение". Я не знаю где установливать это свойство, в какой процедуре. "Если делать через активизацию строки то там получается так, что при открытии формы все нормально отрабатывает, если перемещаешься между строками тоже ок. А если 2 раза щелкнуть по ней, то можно менять все что хочешь. Нет проверки на то давать менять или нет. Пробовала другие процедуры. ПриНачалеРедактирования, ПередНачаломИзменения. В этом случае один раз сделается колонка только просмотр и все, пока не переоткроешь все не доступно. "
  4. Dem0lisher
    Online

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.027
    Симпатии:
    51
    Баллы:
    54
    Вот вариант реализации:
    Код:
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    УстановитьУсловноеОформление();
    КонецПроцедуры
    
    
    &НаСервере
    Процедура УстановитьУсловноеОформление()
    
        УсловноеОформление.Элементы.Очистить();
    
        Элемент = УсловноеОформление.Элементы.Добавить();
    
        ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
        ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ФлагРедактировать.Имя);
    
        ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Редактировать");
        ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        ОтборЭлемента.ПравоеЗначение = Ложь;
    
        Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
    
    КонецПроцедуры
    Это только набросок - нужно адаптировать под вашу форму.
    AlenkaInt нравится это.
  5. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Спасибо!

Поделиться этой страницей