|
Список значений | ☑ | ||
---|---|---|---|---|
0
STAYEKR
15.08.12
✎
15:19
|
Доброго здоровья всем! Прошу вашей помощи. Хочу для отчета в 8.1 сделать несколько вариантов представления, чтобы было поле выбора, где будут отображаться эти самые варианты. Хотелось бы добавить 3 варианта отчета через список значений. Полю выбора задал данные - реквизит СписокВариантов, тип список значений. Пишу в "ПриОткрытии":
СписокВариантов.Добавить("Вар1"); СписокВариантов.Добавить("Вар2"); СписокВариантов.Добавить("Вар3"); Но должным образом это не работает. Подскажите, как это можно реализовать? |
|||
1
Mort
15.08.12
✎
15:21
|
реквизит типа Список значений <> строковой реквизит со списком выбора
|
|||
2
STAYEKR
15.08.12
✎
15:25
|
(1) Это ясно. А нельзя ли реализовать используя строковый список выбора?
|
|||
3
Рэйв
15.08.12
✎
15:27
|
Сделай реквизит нормальной строкой.
При открытии заполняй программно какойнить СЗ Потом Элементыформы.МойРеквизитСоСписком.СписокВыбора=ЗаполненныйСЗ |
|||
4
Рэйв
15.08.12
✎
15:27
|
ну и кнопку выбора из спсика не забудь включить
|
|||
5
STAYEKR
15.08.12
✎
15:32
|
Сделал реквизиту СписокВариантов тип "Строка". При открытии написал:
СЗ = Новый СписокЗначений; СЗ.Добавить("1"); СЗ.Добавить("2"); СписокВариантов = СЗ; Список пустой. Что не так сделал? |
|||
6
STAYEKR
15.08.12
✎
15:36
|
Ткните носом чайника, товарисчщи!
|
|||
7
Rovan
гуру
15.08.12
✎
15:37
|
(5) СписокВариантов.СписокВыбора = СЗ;
|
|||
8
STAYEKR
15.08.12
✎
15:40
|
(7) СписокВариантов.СписокВыбора можно делать только для реквизитов типа "СписокЗначений". А многоуважаемый (3) посоветовал рекву СписокВариантов сделать строкой
|
|||
9
STAYEKR
15.08.12
✎
15:42
|
Кто-нибудь знает, как реализовать можно?
|
|||
10
viktor_vv
15.08.12
✎
15:42
|
(8) Ты элемент формы выбери СписокВыбора, а данные к нему укажи свой строковый ревизит.
|
|||
11
viktor_vv
15.08.12
✎
15:44
|
(10)+ Вернее элемент управления Поле выбора.
|
|||
12
viktor_vv
15.08.12
✎
15:47
|
А при открытии или еще по какому событию заполняй
ЭлементыФормы.ИдентификаторТвоегоЭлементаУправления.СписокВыбора . |
|||
13
STAYEKR
15.08.12
✎
15:56
|
(12)элементу управления ПолеВыбора я задал в данных реквизит "СписокВариантов" (тип СписокЗначений). При открытии написал:
СЗ = Новый СписокЗначений; СЗ.Добавить("По1С"); СЗ.Добавить("НеПо1С"); ЭлементыФормы.СписокВариант = СЗ; Но система заявляет (совершенно, надо сказать, справедливо) что поле формы недоступно для записи. Что делать, товарищщи?! |
|||
14
STAYEKR
15.08.12
✎
16:00
|
Кто-нибудь может пмочь?
|
|||
15
hhhh
15.08.12
✎
16:02
|
(14) поле выбора делай типа число или строка. Потом щелкаешь свойства у него, там задаешь этот твой список.
|
|||
16
STAYEKR
15.08.12
✎
16:05
|
(15) Огромное спасибо! :) Сам сейчас тоже копался и нашел эту возможность! Всем спасибо большое за помощь!
|
|||
17
viktor_vv
15.08.12
✎
16:06
|
(13) Ну ты перечитай еще раз (3).
Реквизит простая строка, элемент управления Поле выбора, в данных к элементу управления выбираешь свой реквизит (тип значения строка). |
|||
18
viktor_vv
15.08.12
✎
16:07
|
(16) И че получилось ? А как же у тебя это запишеться в "реквизит "СписокВариантов" (тип СписокЗначений)" :)).
|
|||
19
viktor_vv
15.08.12
✎
16:09
|
(18)+ Хотя может я неправильно понял твое "реквизит".
|
|||
20
STAYEKR
15.08.12
✎
16:14
|
(16) Да, действительно. Но перечитал еще раз (13) и (17). задал данные поля реквизит с типом Строка. Далее в "ПриОткрытии" пишу:
СЗ = Новый СписокЗначений; СЗ.Добавить("1"); СЗ.Добавить("2"); СписокВариантов = СЗ; Но элемент управления "ПолеВыбора" не содержит значений. Это пrескоrбно |
|||
21
STAYEKR
15.08.12
✎
16:23
|
Кто-нибудь поможет разобраться, граждане?
|
|||
22
FIXXXL
15.08.12
✎
16:27
|
Далее в "ПриОткрытии" пишу:
не надо в ПриОткрытии пиши в НачалоВыбораИзСписка Процедура НомерИнтернетЗаказаНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка) СпВыбора = Новый СписокЗначений; СпВыбора.Добавить("телефон"); Элемент.СписокВыбора = СпВыбора; КонецПроцедуры тип значения - строка |
|||
23
STAYEKR
15.08.12
✎
16:36
|
Пишет "Поле объекта не обнаружено (СписокВыбора)". Если писать "элемент = сз" или "СписокВыбора = СЗ", то список все равно пустой.
|
|||
24
STAYEKR
15.08.12
✎
16:44
|
Может быть. кто-нибудь еще предложит решение?
|
|||
25
viktor_vv
15.08.12
✎
16:45
|
ЭлементыФормы.СвойствоНоменклатуры.СписокВыбора.Очистить();
Для Каждого СтрокаСвойствИзИсходнойСсылки Из ОбработкаОбъектЗначенияСвойствДляИсходнойСсылки.СвойстваИЗначения Цикл ЭлементыФормы.СвойствоНоменклатуры.СписокВыбора.Добавить(СтрокаСвойствИзИсходнойСсылки.Свойство); КонецЦикла ; Если ЭлементыФормы.СвойствоНоменклатуры.СписокВыбора.Количество() > 0 Тогда // Присовим реквизиту первое значение из списка выбора СвойствоНоменклатуры = ЭлементыФормы.СвойствоНоменклатуры.СписокВыбора.Получить(0).Значение; КонецЕсли ; СвойствоНоменклатуры - Идентификатор элемента управления. и СвойствоНоменклатуры - идентификатор реквизита обработки. |
|||
26
viktor_vv
15.08.12
✎
16:49
|
(25)+ Реквизит обработки является источником данных для Поля выбора.
|
|||
27
STAYEKR
15.08.12
✎
16:52
|
СвойствоНоменклатуры и идентификатор элемента управления, и идентификатор реквизита обработки?
|
|||
28
STAYEKR
15.08.12
✎
16:55
|
(26) Спасибо за помощь, но можно ли как-нибудь переиначить к моему варианту? а то от раздумий тягостных уже копол трещит по швам
|
|||
29
viktor_vv
15.08.12
✎
16:57
|
И у тебя должно работать (22). Если пишет Поле объекта необнаружено, то у тебя эемент управления "НомерИнтернетЗаказа" не Поле выбора.
|
|||
30
STAYEKR
15.08.12
✎
17:02
|
(29) еще раз проверил, написал все как в (22) элемент управления точно поле ввода. Падает с той же ошибкой про "Поле объекта не обнаружено"
|
|||
31
STAYEKR
15.08.12
✎
17:07
|
(29) Даже не знаю, в какую сторону копать
|
|||
32
viktor_vv
15.08.12
✎
17:12
|
(30) Да не поле ввода, а поле выбора должно быть.
|
|||
33
STAYEKR
15.08.12
✎
17:13
|
(32) описАлся, хотел написать поле выбора. Так оно и есть. но не взлетает ни разу
|
|||
34
FIXXXL
15.08.12
✎
17:17
|
(30)Поле ввода на форме, данные в нем из реквизита объекта с типом Строка
на поле ввода вешаешь кнопку выбора из списка и в процедуре НачалоВыбораИзСписка заполняешь список значений Все должно работать |
|||
35
viktor_vv
15.08.12
✎
17:21
|
(33) Покажи кусок кода где заполняешь список, вернее полностью процедуру ПриНачалеВыбораИзСписка().
|
|||
36
STAYEKR
15.08.12
✎
17:24
|
На форме поле ввода "ВариантСписок", данные у этого поля "СписокВариантов" (тип Строка). На поле ввода установлена кнопка выбора из списка ("...") и кнопка выпадающего списка (чОрный треугольник). У элемента управления в процедуре "НачалоВыбораИзСписка" пишу код:
Процедура ВариантСписокНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка) СЗ = Новый СписокЗначений; СЗ.Добавить("1"); СЗ.Добавить("2"); Элемент.СписокВариантов = СЗ; КонецПроцедуры Здесь "СЗ" - "временный" список значений. "СписокВариантов" - текстовый реквизит, установленный как данные для поля ввода "ВариантСписок". Процедура падает с ошибкой "Поле объекта не обнаружено (СписокВариантов)". Вот такая загогулина. |
|||
37
viktor_vv
15.08.12
✎
17:27
|
Элемент.СписокВыбора = СЗ;
|
|||
38
viktor_vv
15.08.12
✎
17:29
|
СЗ = Новый СписокЗначений;
СЗ.Добавить("1"); СЗ.Добавить("2"); Элемент.СписокВыбора = СЗ; // для заполнения значения реквизита по умолчанию СписокВариантов = СЗ.Получить(0).Значение ; |
|||
39
FIXXXL
15.08.12
✎
19:20
|
НЕ
Элемент.СписокВариантов = СЗ; А Элемент.СписокВыбора = СЗ; |
|||
40
STAYEKR
15.08.12
✎
19:28
|
Спасибо, сейчас попробую
|
|||
41
STAYEKR
16.08.12
✎
08:57
|
Получилось! Всем огромное спасибо за помощь!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |