Имя: Пароль:
1C
1С v8
Управляемая форма. Работа со списком значений
,
0 vem2012
 
07.11.15
18:57
Есть внешняя обработка.На ней имеется управляемая форма, на форме поле ввода. Поле открывается в виде списка значений. При попытке выбрать значение из списка выдает: "Использование модальных окон в данном режиме запрещено" Как обойти?
1 Zamestas
 
07.11.15
19:07
(0)  Поле открывается в виде списка значений - подробнее про этот механизм.
2 vem2012
 
07.11.15
19:10
Вот код:

&НаКлиенте
Процедура Поле1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СписЗнач = Новый СписокЗначений;
    СписЗнач.Добавить("Один");
    СписЗнач.Добавить("Два");
    Элемент = ВыбратьИзСписка(СписЗнач);
КонецПроцедуры
3 ИсчадиеADO
 
07.11.15
19:10
у списка метод начать выбор или как то так. а не метод выбрать
4 Drac0
 
07.11.15
19:12
(2) Вместо ВыбратьИзСписка юзай ПоказатьВыборИзСписка
5 vem2012
 
07.11.15
19:13
ИсчадиеADO, нет такого метода, есть метод НачалоВыбора
6 Drac0
 
07.11.15
19:13
Но лучше для элемента установить режим выбора из списка и списоквыбора заполнить.
7 vem2012
 
07.11.15
19:16
(6) РежимВыбораИзСписка - галка стоит
8 ИсчадиеADO
 
07.11.15
19:17
(5) с телефона по памяти пишу :) см. (4) за тебя нашел уже
9 ИсчадиеADO
 
07.11.15
19:20
(7) если элементы заранее известны, то оставляй флаг выбора из списка, настрой сам список выбора, а процедуру при начале выбора убери. кста если уж писать ее то нужно стандартнаяобработка = ложь писать
10 vem2012
 
07.11.15
19:28
(9) Сейчас попробую.
11 vem2012
 
07.11.15
20:00
(9) Написал:

&НаКлиенте
Процедура Поле1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    СписЗнач = Новый СписокЗначений;
    СписЗнач.Добавить("Один");
    СписЗнач.Добавить("Два");
    
    Оповещение = Новый ОписаниеОповещения("ФФФФФ", ЭтотОбъект);
    ПоказатьВыборИзСписка(Оповещение, СписЗнач, Элемент);

КонецПроцедуры

&НаКлиенте
Процедура ФФФФФ(Результат, ДополнительныеПараметры) Экспорт
    
    СтандартнаяОбработка = Ложь;
    
    Если Результат <> Неопределено Тогда
        Элементы.Поле1 = Результат.Значение;
    КонецЕсли;
    
КонецПроцедуры

Ругается: Поле Объекта недоступно для записи (Поле1)
12 Остап Сулейманович
 
07.11.15
20:03
(11) Не нужно менять элемент для отображения значения. Нужно поменять само значение.
13 vem2012
 
07.11.15
20:06
(12) Не понял. Напишите код, please
14 Остап Сулейманович
 
07.11.15
20:21
(13) В конфигураторе, в свойствах Поле1 есть "ПутьКДанным". То что там и есть что нужно менять.
Ну или содержимое "ПутьКДанным" положи сюда - получишь код.
15 vem2012
 
07.11.15
20:52
(14) Поле1 связано с реквизитом Реквизит1, который имеет тип Строка (длина 25)

Пишу: Результат1 = Результат.Значение;

Все равно ругается "Поле Объекта недоступно для записи (Поле1)"
16 vem2012
 
07.11.15
20:55
(14) Извиняюсь, теперь не ругается, но и не выбирает значение из списка.
17 Остап Сулейманович
 
07.11.15
21:04
(15) Определись с названием реквизита "Результат1" или "Реквизит1". Если имя реквизита - Реквизит1 почему присваиваешь переменной Результат1?
18 vem2012
 
07.11.15
21:06
(17) Извиняюсь, на самом деле написал Реквизит1 = Результат.Значение, но не выбирает из списка.
19 Остап Сулейманович
 
07.11.15
21:09
(18) Что говорит отладчик при остановке на строке
Реквизит1 = Результат.Значение;?

Что лежит в "Результат.Значение" и что лежит в "Реквизит1"?
20 vem2012
 
07.11.15
21:11
(19) Результат.Значение = Один или Два (в зависимости от того, что выбрал из списка), а Реквизит1 - это строка длиной 25
21 hhhh
 
08.11.15
00:39
(20)выкинь это всё, что навоял. Кидаешь на форму ПолеВыбора, Например Поле1, привязанное к Реквизит1. И у этого поля в свойствах задаешь список, где перечисляешь, один, два и так далее. Процедур вообще никаких не нужно.
22 Zamestas
 
08.11.15
00:41
(21) Помница нужно будет редактирование текста отключить.
23 vem2012
 
08.11.15
19:08
(21) Согласен, так работает. Получается, что на данный момент это процедура ПоказатьВыборИзСписка не работает в 1С. Посмотрел в 1С Бухгалтерии 3.0 по поиску строки "ПоказатьВыборИзСписка" и обнаружил вот такой 1С-й комментарий:

"обход ошибок платформы: в тонком клиенте не работает ПоказатьВыборИзСписка (ПоказатьВыборИзМеню не работает в веб-клиенте и в событии ПриИзмененииСодержимогоОбласти табличного документа - где мы его и хотим использовать прежде всего)"
24 vem2012
 
08.11.15
19:11
(22) Работает и при включенном РедактированиеТекста и без.