|
Изменяемый тип поля на форме | ☑ | ||
---|---|---|---|---|
0
Nykos
18.08.15
✎
10:24
|
Всем привет! На форме есть два переключателя и поле ввода. Подскажите пожалуйста, как сделать так, чтобы при выборе первого переключателя поле ввода имело тип ДокументСсылка.Акты, а при выборе второго переключателя - ДокументСсылка.Накладные?
Заранее спасибо! |
|||
1
Cube
18.08.15
✎
10:25
|
(0) Проставляй пустую ссылку при переключении.
|
|||
2
Nykos
19.08.15
✎
14:13
|
(1)
Процедура Переключатель1ПриИзменении(Элемент) Если Переключатель1 = 1 Тогда ЭлементыФормы.Основание = Документы.Накладная.ПустаяСсылка(); ИначеЕсли Переключатель1 = 2 Тогда ЭлементыФормы.Основание = Документы.ПриходнойАкт.ПустаяСсылка(); КонецЕсли; КонецПроцедуры При попытке переключить переключатель выдает ошибку "Поле объекта недоступно для записи (Основание)" Вопрос: Реквизит Основание должен быть с типом Строка или изначально ссылкой на один из документов? |
|||
3
Nykos
19.08.15
✎
14:18
|
Недоглядел.
Заменил ЭлементыФормы.Основание на ЭлементыФормы.Основание.Данные и ошибка ушла. Но вопрос с реквизитом остается открытым.. |
|||
4
Mankubus
19.08.15
✎
14:42
|
(2) меняй данные, а не элемент формы
Основание = Документы.Накладная.ПустаяСсылка(); |
|||
5
Nykos
19.08.15
✎
15:07
|
(4) А какой изначально присваивать тип элементу?
|
|||
6
shpioleg
19.08.15
✎
15:27
|
Попробуй по аналогии
ПолеСтатья = ЭлементыФормы.СоответствияСтатей.Колонки.Статья.ЭлементУправления; ПолеСтатья.ОграничениеТипа =(Новый ОписаниеТипов (СоответствиеВыбораИТипа[ТипСтатьиБДР])); |
|||
7
Nykos
19.08.15
✎
16:14
|
(6) не проканало
|
|||
8
Nykos
19.08.15
✎
16:15
|
Проблема решена.
Процедура Переключатель1ПриИзменении(Элемент) Если Переключатель = 1 Тогда Поле = Справочники.Контрагенты.ПустаяСсылка(); ИначеЕсли Переключатель = 2 Тогда Поле = Справочники.МОЛ.ПустаяСсылка(); КонецЕсли; КонецПроцедуры Тип поля ЛюбаяСсылка. Но по идее можно любой. |
|||
9
Nykos
19.08.15
✎
16:23
|
А как сделать чтобы при выборе Контрагента в реквизит Должность,который находится в ТЧ текущего документа, подкидывалась должность выбранного контрагента из справочника?
|
|||
10
КоньЛапчатый
19.08.15
✎
16:54
|
(9)
Процедура КонтрагентПриИизменении() ТекСтрока.Должность = Контрагент.Должность КонецПроцедуры |
|||
11
Mort
19.08.15
✎
16:59
|
(8) А теперь зайди в поле, нажми Shift+F4 и попробуй выбрать снова.
|
|||
12
Nykos
19.08.15
✎
17:01
|
(11) не нажимай и все будет хорошо))
|
|||
13
Mort
19.08.15
✎
17:03
|
(12) Ага. "А вы не делайте так". Отличный подход к разработке.
|
|||
14
Nykos
19.08.15
✎
18:24
|
(13) У меня пока не хватает знаний сделать лучше... Но буду рад, если ты подскажешь как надо, а если еще и объяснишь почему именно так надо делать, я тебе только благодарен буду..
|
|||
15
Nykos
19.08.15
✎
18:31
|
(14) Все что я придумал это указал составной тип данных и отметил справочник Контрагенты и МОЛ. Теперь если пользователь нажмет Shift+F4, то ему придется выбрать из 2 справочников один... Хотя бы так.
Но с таким успехом переключатели вообще можно убрать и пусть сразу выбирают из списка. Как считаешь? |
|||
16
rmrush
19.08.15
✎
18:40
|
(2) А ограничение типа данных чем не устраивает?
|
|||
17
Mort
19.08.15
✎
18:48
|
(15) Тут две задачи.
Во-первых надо установить ограничение типа для функционирования элемента: Если Переключатель = 1 Тогда Элементы.Поле.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Контрагенты"); .... и т.д. Во вторых надо привести существующее значение: Поле = Элементы.Поле.ОграничениеТипа.ПривестиЗначение(Поле); |
|||
18
Nykos
19.08.15
✎
18:57
|
(17) Элементы или ЭлементыФормы? у меня 8.1, может в 8.2 немного иначе..
|
|||
19
Mort
19.08.15
✎
18:58
|
(18) ЭлементыФормы, конечно. Привычка...
|
|||
20
Nykos
19.08.15
✎
19:06
|
(19) (16) Спасибо! Вроде сделал и работает правильно..
|
|||
21
Nykos
19.08.15
✎
19:40
|
(10)
Процедура ПолеПриИзменении(Элемент) ЭлементыФормы.ТЧ.ТекущаяСтрока.Должность= Поле.Должность; КонецПроцедуры Ругается что поле Должность не найдено.. |
|||
22
Nykos
20.08.15
✎
09:16
|
вверх(
|
|||
23
cw014
20.08.15
✎
09:19
|
Советую отойти от компьютера и позвать программиста
|
|||
24
Nykos
20.08.15
✎
09:30
|
(23) Советую практиковаться в остроумии в другом месте
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |