![]() |
![]() |
![]() |
|
Как записать выбранное в поле ввода формы? | ☑ | ||
---|---|---|---|---|
0
Надежда25
16.06.11
✎
13:51
|
Есть документ с реквизитом КонтактноеЛицо (Тип:СправочникСсылка.Контрагенты). Обращаюсь к реквизиту табличной части справочника "Контакт". Не записывается в форму.
&НаКлиенте Процедура КонтактноеЛицоНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Массив = Объект.Покупатель.КонтактныеЛица.ВыгрузитьКолонку("Контакт"); сз = Новый СписокЗначений; сз.ЗагрузитьЗначения(Массив); ЭтаФорма.ВыбратьИзСписка(сз, "Контакт"); ??? Что написать, чтобы выбор записывался в форму? Сейчас поле ввода остается пустым. КонецПроцедуры |
|||
1
le_
16.06.11
✎
13:53
|
Элементы.Поле.Значение = СЗ.ВыбратьЗначение();//как-то так
|
|||
2
Надежда25
16.06.11
✎
14:03
|
Пока не получилось...
|
|||
3
le_
16.06.11
✎
14:07
|
(2) Возможно, это связано с тем, что типы значений разные.
Покупатель - это скорее всего контрагент. А вот его контакты - это тоже контрагенты? Если нет, то поле на форме должно иметь соответствующий тип. |
|||
4
Рэйв
16.06.11
✎
14:07
|
Форма (Form)
ВыбратьИзСписка (ChooseFromList) Синтаксис: ВыбратьИзСписка(<Список значений>, <Элемент формы>, <Начальное значение>) Параметры: <Список значений> (обязательный) Тип: СписокЗначений. Список значений, содержащий значения, из которых будет осуществляться выбор. <Элемент формы> (необязательный) Тип: Элемент управления. Элемент формы, около которого будет открыт выпадающий список. Для некоторых элементов (табличный документ, табличное поле) выпадающий список будет показан около активной области. Если не указан, то будет выбран активный элемент формы. <Начальное значение> (необязательный) Тип: Число, ЭлементСпискаЗначений. Задает начальный элемент, который будет активным при открытии списка. Если параметр не указан, в списке не будет выбрано начальное значение. Возвращаемое значение: Тип: ЭлементСпискаЗначений. Выбранный элемент списка или Неопределено, если пользователь отказался от выбора. Описание: Вызывает выпадающий список для выбора значения. Набор значений для выбора задается списком значений. Выпадающий список будет расположен около переданного элемента формы или около его активной области. Примечание: Если в списке значений указаны картинки, то они отображаются в выпадающем списке. Пример: Список = Новый СписокЗначений; Список.Добавить("Доставка"); Список.Добавить("Разгрузка"); Список.Добавить("Картинка",,,БиблиотекаКартинок.Картинка1); Вид = ВыбратьИзСписка(Список, Элемент); |
|||
5
Рэйв
16.06.11
✎
14:08
|
Вид = ВыбратьИзСписка(Список, Элемент);
Подразумевается, что вид - источник данных Элемент |
|||
6
Надежда25
16.06.11
✎
14:24
|
Выпадающий список формируется, все нормально, но после выбора в поле ввода отображается не значение из списка (колонка табличной части), а сам элемент справочника Контрагент (Покупатель), которому принадлежит табличная часть.
|
|||
7
Надежда25
16.06.11
✎
14:26
|
(3) Контакт - реквизит табличной части "КонтактныеЛица" справочника Контрагенты.
|
|||
8
le_
16.06.11
✎
14:30
|
(7) Посмотрите, какого типа этот реквизит табличной части.
|
|||
9
программистище
16.06.11
✎
14:31
|
&НаКлиенте
Процедура КонтактноеЛицоНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Массив = Объект.Покупатель.КонтактныеЛица.ВыгрузитьКолонку("Контакт"); Элемент.СписокВыбора.ЗагрузитьЗначения(Массив); КонецПроцедуры |
|||
10
программистище
16.06.11
✎
14:31
|
мне кажет так проще будет или я не так понял?
|
|||
11
программистище
16.06.11
✎
14:32
|
только СтандартнаяОбработка = Ложь; убрать надо
|
|||
12
Надежда25
16.06.11
✎
14:49
|
Увы. При (9) вообще открывается справочник "Контрагенты", а мне нужна колонка табличной части выбранного в предыдущем поле ввода контрагента.
Поле ввода "КонтактноеЛицо": ПутьКДанным - Объект.КонтактноеЛицо. (8) Реквизит Контакт табличной части справочника: тип - строка. |
|||
13
le_
16.06.11
✎
14:52
|
(12) Если тип реквизита строка, каким образом предполагается занести его в поле с типом "СправочникСсылка.Контрагенты"?
|
|||
14
Надежда25
16.06.11
✎
14:57
|
То есть надо создать подчиненный справочник для контактов справочника Контрагенты? Если дело в этом - спасибо.
|
|||
15
le_
16.06.11
✎
14:59
|
(14) Вовсе не обязательно! ) Для того, чтобы занести значение типа "Строка" в поле на форме, всего лишь нужно изменить тип значения этого поля. Сейчас он у вас "СправочникСсылка.Контрагенты", нужно поменять на "Строка".
|
|||
16
Надежда25
16.06.11
✎
15:07
|
Реквизит документа поменяла на строку. Но реквизит формы документа оставила прежним. При этом кнопка выбора вообще исчезла.?
|
|||
17
le_
16.06.11
✎
15:16
|
(16) Реквизит документа и реквизит формы должны быть одного типа. Кнопка добавляется путем установки соответствующей галочки в свойствах элемента формы.
|
|||
18
Надежда25
16.06.11
✎
15:24
|
Спасибо большое, получилось! (17), (9).
|
|||
19
Надежда25
17.06.11
✎
11:35
|
Извиняюсь, кажется я поторопилась.
Процедура КонтактноеЛицоНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) Массив = Объект.Покупатель.КонтактныеЛица.ВыгрузитьКолонку("Контакт"); Элемент.СписокВыбора.ЗагрузитьЗначения(Массив); КонецПроцедуры Значение присваивается, в форме списка документов отображается, а когда открываю форму документа вновь - поле пустое. Почему? |
|||
20
le_
17.06.11
✎
12:21
|
(19) Может, очищается при открытии?
|
|||
21
Надежда25
17.06.11
✎
12:51
|
А где это может быть? В событии Очистка ничго нет.
|
|||
22
le_
17.06.11
✎
12:53
|
(21) В процедурах ПриОткрытии() или ПередОткрытием().
|
|||
23
Надежда25
17.06.11
✎
12:56
|
Нет, не использую.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |