Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 сен 2024, 17:38

Как сделать Доступность реквизита.

Автор aboba174, 09 фев 2023, 10:15

0 Пользователей и 1 гость просматривают эту тему.

aboba174

Здравствуйте.

Я хочу сделать чтобы при создании новой записи в "Справочнике Номенклатура" и при выборе реквизита "Вид номенклатуры" например "Услуга" , чтобы скрывался реквизит "ШтрихКод" и "Вес".
Но никак не получается
Вот код:

&НаКлиенте
Процедура ВидНоменклатурыПриИзменении(Элемент)

    Если Элементы.ВидНоменклатуры = ("Услуга") Тогда
        Элементы.ШтрихКод.Доступность = Ложь;
    КонецЕсли;

КонецПроцедуры

Ивашка

aboba174,
&НаКлиенте
Процедура ВидНоменклатурыПриИзменении(Элемент)

Если Элементы.ВидНоменклатуры= Перечисления.ВидыНоменклатуры.Услуга Тогда
      Элементы.ШтрихКод.Видимость = Ложь;
      Элементы.Вес.Видимость = Ложь;
   КонецЕсли;

КонецПроцедуры

aboba174

Ивашка, Да,  у меня на Вид номенклатуры сссылка - Перечисление(ВидыНоменклатуры) и там Услуга и Материал

aboba174

Ивашка, у меня теперь ошибка вылазит
{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(10,34)}: Переменная не определена (Перечисления)
   Если Элементы.ВидНоменклатуры = <<?>>Перечисления.ИмяПеречисления.Услуга Тогда (Проверка: Тонкий клиент)

LexaK

aboba174, или так
&НаКлиенте
Процедура ВидНоменклатурыПриИзменении(Элемент)

    ЭтоУслуга = Строка(ВидНоменклатуры) = "Услуга";
      Элементы.ШтрихКод.Видимость = Не ЭтоУслуга;
      Элементы.Вес.Видимость = Не ЭтоУслуга;


КонецПроцедуры
если помогло нажмите: Спасибо!

Afinogen

на клиенте вы так не приравняете, это равенство верно на сервере, на клиенте надо так писать

Если Элементы.ВидНоменклатуры= ПредопределенноеЗначение("ПеречислениеССылка.ВидыНоменклатуры.Услуга") Тогда

LexaK

Цитата: aboba174 от 09 фев 2023, 10:42Странно  :wacko:
ничего странного,

вот две строчки, найдите отличия!

ЭтоУслуга = Строка(ВидНоменклатуры) = "Услуга"; //моя
ЭтоУслуга = Строка(Перечисления.ВидыНоменклатуры) = "Услуга"; //и ваша

как есть пробовали мой код? (именно с НАКлиенте)
если помогло нажмите: Спасибо!

aboba174

LexaK, просто с вашей строкой у меня ничего не работало и на клиенте и на сервере,  :D

aboba174

LexaK, {Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(16,23)}: Переменная не определена (ВидНоменклатуры)
     ЭтоУслуга = Строка(<<?>>ВидНоменклатуры) = "Услуга"; (Проверка: Тонкий клиент)
Вот какая о шибка

Afinogen

в этом условии пропущены скобки

ЭтоУслуга = (Строка(ВидНоменклатуры) = "Услуга"); //моя
вот так будет работать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск