Инструкция препроцессора ТолстыйКлиентУправляемоеПриложение - не едут лыжи!
Добрый день, коллеги.
Управляемое приложение, толстый клиент, платформа 8.3.14.1854
Пытаюсь открыть конструктор СКД
и получаю по лицу:
Для того чтобы редактировать схему компоновки, необходимо запустить приложение в режиме толстого клиента
Что я делаю не так?! Запускаю толстый клиент из конфигуратора Отладка -> Начало отладки -> Толстый клиент (не стал пробовать добавлением параметра запуска).
Притом этот баг то воспроизводится, то нет! Раза с 10го эта инструкция препроцессора ТолстыйКлиентУправляемоеПриложение заработает, но очень нестабильно все. Либо я дурак, либо лыжи не едут.
Управляемое приложение, толстый клиент, платформа 8.3.14.1854
Пытаюсь открыть конструктор СКД
&НаКлиенте
Процедура ОткрытьСКД(Команда)
#Если ТолстыйКлиентУправляемоеПриложение Тогда
СтандартнаяОбработка = Ложь;
Конструктор = Новый КонструкторСхемыКомпоновкиДанных;
Схема = ПолучитьТекущуюСхему(Запись.ИмяСхемы);
Если Схема <> Неопределено Тогда
Конструктор.УстановитьСхему(Схема);
КонецЕсли;
Конструктор.Редактировать(ЭтаФорма);
#Иначе
ПоказатьПредупреждение(,(НСтр("ru='Для того чтобы редактировать схему компоновки, необходимо запустить приложение в режиме толстого клиента.'")));
#КонецЕсли
КонецПроцедуры
Показатьи получаю по лицу:
Для того чтобы редактировать схему компоновки, необходимо запустить приложение в режиме толстого клиента
Что я делаю не так?! Запускаю толстый клиент из конфигуратора Отладка -> Начало отладки -> Толстый клиент (не стал пробовать добавлением параметра запуска).
Притом этот баг то воспроизводится, то нет! Раза с 10го эта инструкция препроцессора ТолстыйКлиентУправляемоеПриложение заработает, но очень нестабильно все. Либо я дурак, либо лыжи не едут.
Прикрепленные файлы:


Найденные решения
(12) Норм работает...
Кеш почисти чтоль...
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если Сервер Тогда
Сообщить("Сервер");
#ИначеЕсли ВебКлиент Тогда
Сообщить("ВебКлиент");
#ИначеЕсли ТонкийКлиент Тогда
Сообщить("ТонкийКлиент");
#ИначеЕсли ТолстыйКлиентОбычноеПриложение Тогда
Сообщить("ТолстыйКлиентОбычноеПриложение");
#ИначеЕсли ТолстыйКлиентУправляемоеПриложение Тогда
Сообщить("ТолстыйКлиентУправляемоеПриложение");
Конструктор = Новый КонструкторСхемыКомпоновкиДанных;
Конструктор.Редактировать(ЭтотОбъект); // Открывается...
#Иначе
Сообщить("??");
#КонецЕсли
КонецПроцедуры
ПоказатьКеш почисти чтоль...
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Подсмотрел в типовых (УТ, ДО) - там в клиентских процедурах имеется такая проверка контекста выполнения. Значит это не то.
Но попробовал переписать ради интереса - не помогло:
Но попробовал переписать ради интереса - не помогло:
&НаСервереБезКонтекста
Функция ЭтоТолстыйКлиент()
#Если ТолстыйКлиентУправляемоеПриложение Тогда
Возврат Истина;
#Иначе
Возврат Ложь;
#КонецЕсли
КонецФункции
&НаКлиенте
Процедура ОткрытьСКД(Команда)
Если ЭтоТолстыйКлиент() Тогда
СтандартнаяОбработка = Ложь;
Конструктор = Новый КонструкторСхемыКомпоновкиДанных;
Схема = ПолучитьТекущуюСхему(Запись.ИмяСхемы);
Если Схема <> Неопределено Тогда
Конструктор.УстановитьСхему(Схема);
КонецЕсли;
Конструктор.Редактировать(ЭтаФорма);
Иначе
ПоказатьПредупреждение(,(НСтр("ru='Для того чтобы редактировать схему компоновки, необходимо запустить приложение в режиме толстого клиента.'")));
КонецЕсли
КонецПроцедуры
Показать
(12) Норм работает...
Кеш почисти чтоль...
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если Сервер Тогда
Сообщить("Сервер");
#ИначеЕсли ВебКлиент Тогда
Сообщить("ВебКлиент");
#ИначеЕсли ТонкийКлиент Тогда
Сообщить("ТонкийКлиент");
#ИначеЕсли ТолстыйКлиентОбычноеПриложение Тогда
Сообщить("ТолстыйКлиентОбычноеПриложение");
#ИначеЕсли ТолстыйКлиентУправляемоеПриложение Тогда
Сообщить("ТолстыйКлиентУправляемоеПриложение");
Конструктор = Новый КонструкторСхемыКомпоновкиДанных;
Конструктор.Редактировать(ЭтотОбъект); // Открывается...
#Иначе
Сообщить("??");
#КонецЕсли
КонецПроцедуры
ПоказатьКеш почисти чтоль...
В последней версии ДО КОРП есть похожая функция редактирования схемы:
Как видно - это должно работать. Но у меня какой-то глюк.
&НаКлиенте
Процедура РедактироватьСхему(Команда)
#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(НастройкиОтчета.АдресСхемы);
Если СхемаКомпоновкиДанных.НастройкиПоУмолчанию.ДополнительныеСвойства.Свойство("СхемаКомпоновкиДанных") Тогда
СхемаКомпоновкиДанных.НастройкиПоУмолчанию.ДополнительныеСвойства.СхемаКомпоновкиДанных = Неопределено;
КонецЕсли;
Конструктор = Новый КонструкторСхемыКомпоновкиДанных(СхемаКомпоновкиДанных);
Конструктор.Редактировать(ЭтотОбъект);
#Иначе
ПоказатьПредупреждение(, (НСтр("ru='Для того чтобы редактировать схему компоновки, необходимо запустить приложение в режиме толстого клиента.'")));
#КонецЕсли
КонецПроцедуры
ПоказатьКак видно - это должно работать. Но у меня какой-то глюк.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот