Имя: Пароль:
1C
1С v8
выбор элемента списка значений (для 8.2 и 8.3). Как обойти модальность?
0 Grand Жучара
 
14.07.14
18:47
Я пишу обработку, которая должна работать и под 8.2 и под 8.3
В ней есть место, где нужно выбрать элемент списка значений. Раньше там было:

ВыбранныйЭлемент = СписокДляВыбора.ВыбратьЭлемент()

Но так как 1С уходит от модальности, то в одном из последних релизов бухгалтерии 3.0 начало появляться предупреждающее сообщение "использование модальных окон запрещено!". Через некоторое время модальные окна будут вообще изжиты, поэтому я переписал на:

Оповещение = Новый ОписаниеОповещения("ОбработкаВыбораКлиента", ЭтаФорма);
СписокДляВыбора.ПоказатьВыборЭлемента(Оповещение, "Выберите элемент");

Все замечательно, в бухгалтерии 3.0 все работает без предупреждений. Но теперь в УТ 11 на 8.2 при открытии ругается:

Тип не определен (ОписаниеОповещения)
    Оповещение = Новый <<?>>ОписаниеОповещения("ОбработкаВыбораВидаДокумента", ЭтаФорма);


Ну и как написать, чтобы на управляемом клиенте и под 8.2 и под 8.3 отрабатывало без ошибок? Что, отдельную форму создавать для выбора из списка?! Или если какие-то директивы препроцессорные, типа #Это8.2 или #Это8.3 ?

Просьба "все перевести на 8.3!!" не предлагать
1 Asmody
 
14.07.14
18:52
писать 2 версии обработки
2 Grand Жучара
 
14.07.14
19:00
(1) ну вот этого тоже вот не хочется совсем

лучше уж написать отдельную форму выбора и результат возвращать через владельца формы
3 EvgeniuXP
 
14.07.14
21:03
(2) 1С особого выбора и не дает...
4 kumena
 
14.07.14
21:48
СистемнаяИнформация.ВерсияПриложения (SystemInfo.AppVersion)
СистемнаяИнформация (SystemInfo)
ВерсияПриложения (AppVersion)
Использование:

Только чтение.
Описание:

Тип: Строка.
Содержит версию используемого 1С:Предприятия 8 в формате <основная версия>.<младшая версия>.<релиз>.<дополнительный номер релиза>. Например, 8.2.9.200.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
5 kumena
 
14.07.14
21:49
хотя наверное я поторопился, бестолку условие на приложение ставить
6 kumena
 
14.07.14
21:52
т.е. типа #Это8.2 или #Это8.3 ?
не прокатит, если 8.2 не знает команд в коде она все равно ругнется.
7 MistK
 
15.07.14
07:18
Ну если код формировать через "Выполнить", то не ругнется
8 Леха Дум
 
15.07.14
09:26
Открывай в отдельной форме и через обработку оповещения обрабатывай выбор
9 Grand Жучара
 
15.07.14
14:09
Сделал через отдельную форму и процедуру ОбработкаВыбора
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс