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

флажок для отображения

Автор gliokker, 05 авг 2013, 15:44

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

gliokker

Беру документ добавляю на него флажок.Нужна что бы при нажатии на этот флажок Поле Контрагент заменялось на поле Подразделение а договор контрагента вообще убирался с формы.Подскажите как это сделать?

mixqn


gliokker


Андрей Федотов

При изменении флажка скрывай ненужные поля (через видимость), очищай их значения и показывай другое.
Или это у тебя субконто для проводок?

mixqn

тогда разместите элементы управления ровно один над другим, далее откройте свойства вашего флажка, внизу будут события - ПриИзменении - жмете кнопку "лупа", появится процедура-обработчик события.
там пишите такой код примерно:
ЭлементыФормы.ПолеВвода1.Видимость = Флажок1;
ЭлементыФормы.ПолеВвода2.Видимость = НЕ Флажок1;

(имена элементов управления подставите свои)

gliokker

Цитата: mixqn от 05 авг 2013, 16:10
тогда разместите элементы управления ровно один над другим, далее откройте свойства вашего флажка, внизу будут события - ПриИзменении - жмете кнопку "лупа", появится процедура-обработчик события.
там пишите такой код примерно:
ЭлементыФормы.ПолеВвода1.Видимость = Флажок1;
ЭлементыФормы.ПолеВвода2.Видимость = НЕ Флажок1;

(имена элементов управления подставите свои)
это понятно,но у меня нету реквизита подразделение в документе,это придётся и его добавлять?
а нельзя сделать ну скажем
так


Добавлено: 05 авг 2013, 16:39


Цитата: gliokker от 05 авг 2013, 16:32
Цитата: mixqn от 05 авг 2013, 16:10
тогда разместите элементы управления ровно один над другим, далее откройте свойства вашего флажка, внизу будут события - ПриИзменении - жмете кнопку "лупа", появится процедура-обработчик события.
там пишите такой код примерно:
ЭлементыФормы.ПолеВвода1.Видимость = Флажок1;
ЭлементыФормы.ПолеВвода2.Видимость = НЕ Флажок1;

(имена элементов управления подставите свои)
это понятно,но у меня нету реквизита подразделение в документе,это придётся и его добавлять?
а нельзя сделать ну скажем
так
Процедура флЗаказОтКонтрагентаПриИзменении(Элемент)
   Если флЗаказОтКонтрагента тогда
      Контрагент = Справочники.Контрагенты.ПустаяСсылка();
   Иначе
      Если уатРаботаСМетаданными.ЕстьСправочник("ПодразделенияОрганизаций") тогда
         Контрагент = Справочники.ПодразделенияОрганизаций.ПустаяСсылка();
      Иначе
         Контрагент = Справочники.Подразделения.ПустаяСсылка();
      КонецЕсли;
      Услуги.Очистить();
   КонецЕсли;
   ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
   Сделка             = Документы.уатСчетНаОплатуПокупателю.ПустаяСсылка();
   УстановитьВидимость();
КонецПроцедуры
это процедура при изменении  переключателя.
потом в процедуру видимости добавляю
   ЭлементыФормы.ДоговорКонтрагента.Видимость = флЗаказОтКонтрагента;
   ЭлементыФормы.НадписьДоговор.Видимость     = флЗаказОтКонтрагента;
   ЭлементыФормы.НадписьКонтрагент.Заголовок = ?(флЗаказОтКонтрагента, "Контрагент:", "Подразделение:");
НО пропадает договор контр агента и не возвращается((((((((я уже пол дня сижу с этим,вот подумал подругому написать (ну через флажок)

mixqn

Вы какого эффекта хотите добиться своим кодом?
изменить тип данных реквизита Контрагент на СправочникСсылка.Подразделения? или что?
Цитата: gliokker от 05 авг 2013, 16:32Контрагент = Справочники.Подразделения.ПустаяСсылка();
конкретно вот эта строка что означает?
Добавлено: 05 авг 2013, 16:44


а, все, кажется я понял. недочитал первый раз.
Цитата: gliokker от 05 авг 2013, 16:32ЭлементыФормы.ДоговорКонтрагента.Видимость = флЗаказОтКонтрагента;
   ЭлементыФормы.НадписьДоговор.Видимость     = флЗаказОтКонтрагента;
   ЭлементыФормы.НадписьКонтрагент.Заголовок = ?(флЗаказОтКонтрагента, "Контрагент:", "Подразделение:");
вот это не работает, правильно я понял?
Добавлено: 05 авг 2013, 16:46


в общем если понял я правильно, попробуйте через отладчик посмотреть.
вообще похоже на правду все, вроде должно работать

gliokker

Цитата: mixqn от 05 авг 2013, 16:41изменить тип данных реквизита Контрагент на СправочникСсылка.Подразделения?
да именно это и хочу,

Добавлено: 05 авг 2013, 16:50


ох блин всё выделил))))да хочу чтоб при нажатии менялся выбор,именно этот код и не работает,он отображает но не всё что нужно,

mixqn

пользуясь правами администратора, я подрезал ваше последнее сообщение, очень уж много лишнего цитирования там было, тяжело читать.
Цитата: gliokker от 05 авг 2013, 16:48он отображает но не всё что нужно,
это как понять? что отображает, что нет?

gliokker

Цитата: mixqn от 05 авг 2013, 17:02
пользуясь правами администратора, я подрезал ваше последнее сообщение, очень уж много лишнего цитирования там было, тяжело читать.
Цитата: gliokker от 05 авг 2013, 16:48он отображает но не всё что нужно,
это как понять? что отображает, что нет?
отображает,всё кроме договора контрагента,(может я думаю надо было привязку границ сделать) а поле выбора вообще ерунду всякую отображает,вообщем сделал я через флажок добавил ещё один реквизит в документ.Думаю всё будет ок,но вот только насчёт печатной формы незнаю.Но если что поправим.спасибо за наводку
Добавлено: 05 авг 2013, 17:17


Поле "Договор контрагента" не заполнено
Поле "Контрагент" не заполнено
Эх вот этого я не ожидал))) если мысли как обойти это
Процедура ДляПодразделенияПриИзменении(Элемент)
ЭлементыФормы.Подразделение.Видимость = ДляПодразделения;
ЭлементыФормы.НадписьПодразделения.Видимость = ДляПодразделения;
ЭлементыФормы.ДоговорКонтрагента.Видимость = НЕ ДляПодразделения;
ЭлементыФормы.НадписьДоговор.Видимость = НЕ ДляПодразделения;
ЭлементыФормы.Контрагент.Видимость = НЕ ДляПодразделения;
ЭлементыФормы.НадписьКонтрагент.Видимость = НЕ ДляПодразделения;
КонецПроцедуры

вот моя процедура при изменении
Добавлено: 05 авг 2013, 17:23


Цитата: gliokker от 05 авг 2013, 17:09
Цитата: mixqn от 05 авг 2013, 17:02
пользуясь правами администратора, я подрезал ваше последнее сообщение, очень уж много лишнего цитирования там было, тяжело читать.
Цитата: gliokker от 05 авг 2013, 16:48он отображает но не всё что нужно,
это как понять? что отображает, что нет?
отображает,всё кроме договора контрагента,(может я думаю надо было привязку границ сделать) а поле выбора вообще ерунду всякую отображает,вообщем сделал я через флажок добавил ещё один реквизит в документ.Думаю всё будет ок,но вот только насчёт печатной формы незнаю.Но если что поправим.спасибо за наводку
Добавлено: 05 авг 2013, 17:17


Поле "Договор контрагента" не заполнено
Поле "Контрагент" не заполнено
Эх вот этого я не ожидал))) если мысли как обойти это
Процедура ДляПодразделенияПриИзменении(Элемент)
ЭлементыФормы.Подразделение.Видимость = ДляПодразделения;
ЭлементыФормы.НадписьПодразделения.Видимость = ДляПодразделения;
ЭлементыФормы.ДоговорКонтрагента.Видимость = НЕ ДляПодразделения;
ЭлементыФормы.НадписьДоговор.Видимость = НЕ ДляПодразделения;
ЭлементыФормы.Контрагент.Видимость = НЕ ДляПодразделения;
ЭлементыФормы.НадписьКонтрагент.Видимость = НЕ ДляПодразделения;
КонецПроцедуры

вот моя процедура при изменении
всё нашёл

Теги:

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

Рейтинг@Mail.ru

Поиск