8.х Видимость полей формы справочника заказчики 1С 8.2

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Rebelus, 25 дек 2011.

  1. TopicStarter Overlay
    Rebelus
    Offline

    Rebelus

    Регистрация:
    25 дек 2011
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Добрый день начал изучать 1с самостоятельно с книги Радченко. Все хорошо если Делать по книге. Но вот захотелось мне чтобы в Форме справочника Заказчики в зависимости от значения Элемента Юр/Физ Лицо у меня менялась доступность полей (банк, р/с, кор/с, БИК). То-есть если в поле Элемента ЮрФизЛицо который ссылается на Перечисления.ВидыЮрФизЛиц выбрано Юридическое лицо тогда поля Банк,БИК,Р/с,Кор/с,ЮрАдрес доступны, а если выбрано Физическое лицо, то не доступны. Помогите пожалуйста, с кодом (Управляемое приложение).
  2. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    Код:
    &НаКлиенте
    Процедура ЮрФизЛицоПриИзменении(Элемент)
    Если ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
    Элементы.Банк.Доступность = Истина;
    Элементы.БИК.Доступность = Истина;
    ИначеЕсли ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда
    Элементы.Банк.Доступность = Ложь;
    Элементы.БИК.Доступность = Ложь;
    КонецЕсли;
    КонецПроцедуры
    
    Сделайте по аналогии.
  3. TopicStarter Overlay
    Rebelus
    Offline

    Rebelus

    Регистрация:
    25 дек 2011
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    У меня сейчас так:
    Процедура ЮрФизЛицоПриИзменении(Элемент)
    Если ЮрФизЛицо = Перечисления.ВидыЮрФизЛиц.ЮрЛицо Тогда
    Элементы.Банк.Доступность = Истина;
    Элементы.БИК.Доступность = Истина;
    Элементы.ИНН.Доступность = Истина;
    Элементы.КореспондентскийСчет.Доступность = Истина;
    Элементы.РасчетныйСчет.Доступность = Истина;
    Элементы.КПП.Доступность = Истина;
    Элементы.ЮридическийАдрес.Доступность = Истина;
    ИначеЕсли ЮрФизЛицо = Перечисления.ВидыЮрФизЛиц.ФизЛицо Тогда
    Элементы.Банк.Доступность = Ложь;
    Элементы.БИК.Доступность = Ложь;
    Элементы.ИНН.Доступность = Ложь;
    Элементы.КореспондентскийСчет.Доступность = Ложь;
    Элементы.РасчетныйСчет.Доступность = Ложь;
    Элементы.КПП.Доступность = Ложь;
    Элементы.ЮридическийАдрес.Доступность = Ложь;
    КонецЕсли;
    КонецПроцедуры

    И вот что выдает:
    {Справочник.Заказчики.Форма.ФормаЭлемента.Форма(4,7)}: Переменная не определена (ЮрФизЛицо)
    Если <<?>>ЮрФизЛицо = Перечисления.ВидыЮрФизЛиц.ЮрЛицо Тогда (Проверка: Тонкий клиент)
    {Справочник.Заказчики.Форма.ФормаЭлемента.Форма(12,12)}: Переменная не определена (ЮрФизЛицо)
    ИначеЕсли <<?>>ЮрФизЛицо = Перечисления.ВидыЮрФизЛиц.ФизЛицо Тогда (Проверка: Тонкий клиент)
    {Справочник.Заказчики.Форма.ФормаЭлемента.Форма(4,19)}: Переменная не определена (Перечисления)
    Если ЮрФизЛицо = <<?>>Перечисления.ВидыЮрФизЛиц.ЮрЛицо Тогда (Проверка: Тонкий клиент)
    {Справочник.Заказчики.Форма.ФормаЭлемента.Форма(12,24)}: Переменная не определена (Перечисления)
    ИначеЕсли ЮрФизЛицо = <<?>>Перечисления.ВидыЮрФизЛиц.ФизЛицо Тогда (Проверка: Тонкий клиент)
  4. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    У меня в коде ЮрФизЛицо - это реквизит справочника. Вам надо подставить туда реквизит вашего справочника. Как он у вас там называется то?
  5. TopicStarter Overlay
    Rebelus
    Offline

    Rebelus

    Регистрация:
    25 дек 2011
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Справочник называется заказчики
  6. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    Да не справочник. А реквизит его. Где вы выбираете юр. или физ. лицо.
  7. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    nbIpKuH_BaH9I, со стороны клиента мы разве можем обратиться к значениям перечислений??? :))
    Тут потребуется серверный вызов.
    Но в данном случае (т.к. значения перечислений создаются в конфигураторе), можно не напрямую вызывать сервер, а использовать функцию "ПредопределенноеЗначение".

    Rebelus, "ЮрФизЛицо" - это, как я понимаю, реквизит не формы, а самого объекта (справочника).
    Значит обращаться к нему надо "Объект.ЮрФизЛицо".

    Так попробуйте:
    Код:
    &НаКлиенте
    Процедура ЮрФизЛицоПриИзменении(Элемент)
    Если Объект.ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.ВидыЮрФизЛиц.ЮрЛицо") Тогда
    Элементы.Банк.Доступность = Истина;
    Иначе
    Элементы.Банк.Доступность = Ложь;
    КонецЕсли;
    
    
  8. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    Сорри, затупил немного.

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