Решение проблемы отображения интерфейса Такси на экранах с маленьким разрешением

06.04.18

Разработка - Работа с интерфейсом

Решение возникшей проблемы при переходе с интерфейса 8.2 на интерфейс Такси на экранах с маленьким разрешением.

Т.к. база начинала писаться еще до появления интерфейса Такси, все формы были созданы под 8.2. Появилось желание перевести конфигурацию на интерфейс Такси, чтобы визуально она не отличалась от все остальных конфигураций используемых на Предприятия. Казалось бы, ничего сложного. Запретить в конфигураторе старый интерфейс и оставить только Такси. Так было и сделано. Не прошло и получаса с начала рабочего дня, как посыпался шквал звонков от недовольных пользователей ноутбуков, что все окна поплыли. Пришлось все вернуть обратно. Но идея перевести на Такси все равно засела в голове. Было найдено следующее решение.

Анализируем разрешение экрана и, если оно отличается от заданного в меньшую сторону, тогда включаем компактный режим, иначе режим обычный. Т.к. для применения параметров нужен перезапуск. Анализируем, произошла ли смена режимов отображения. Если она произошла, делаем перезапуск платформы. Для пользователя это выглядит как повторное появление окна выбора пользователя для входа в конфигурацию.

Процедура ПередНачаломРаботыСистемы(Отказ)
	
	АдаптацияИнтерфейсаПодРазрешение()
	
КонецПроцедуры


Процедура АдаптацияИнтерфейсаПодРазрешение()
	//
	Экраны = ПолучитьИнформациюЭкрановКлиента();
	ВысотаЭкрана = Экраны[0].Высота;
	ШиринаЭкрана = Экраны[0].Ширина;	
	Если ВысотаЭкрана < 1080 ИЛИ ШиринаЭкрана < 1920 Тогда
		Если КонсулНастройкаИнтерфейса.УстановитьКомпактныйРежим() Тогда
			ЗавершитьРаботуСистемы(Истина); 
			ЗапуститьПриложение(КонсулНастройкаИнтерфейса.ПовторныйЗапускКонфигурации()) 
		КонецЕсли;
	Иначе	
		Если КонсулНастройкаИнтерфейса.УстановитьОбычныйРежим() Тогда
			ЗавершитьРаботуСистемы(Истина); 
			ЗапуститьПриложение(КонсулНастройкаИнтерфейса.ПовторныйЗапускКонфигурации())
		КонецЕсли;
	КонецЕсли;  	
	ОбновитьИнтерфейс();   	
КонецПроцедуры
Функция УстановитьКомпактныйРежим()  Экспорт
	Настройки =  ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиКлиентскогоПриложения");
	ТекущаяНастройка = Настройки.ВариантМасштабаФормКлиентскогоПриложения; 
    Настройки.ВариантМасштабаФормКлиентскогоПриложения = ВариантМасштабаФормКлиентскогоПриложения.Компактный;    
    ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения",,Настройки);
	Если ТекущаяНастройка <> ВариантМасштабаФормКлиентскогоПриложения.Компактный Тогда
		Возврат Истина;
	КонецЕсли;
	Возврат Ложь;
	
КонецФункции

Функция УстановитьОбычныйРежим()  Экспорт
	Настройки =  ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиКлиентскогоПриложения");
	ТекущаяНастройка = Настройки.ВариантМасштабаФормКлиентскогоПриложения;
    Настройки.ВариантМасштабаФормКлиентскогоПриложения = ВариантМасштабаФормКлиентскогоПриложения.Обычный;    
    ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения",,Настройки);
	Если ТекущаяНастройка <> ВариантМасштабаФормКлиентскогоПриложения.Обычный Тогда
		Возврат Истина
		КонецЕсли;
	Возврат Ложь;
КонецФункции

Функция ПовторныйЗапускКонфигурации()Экспорт
    СтрокаСоединенияИБ = СтрЗаменить(СтрокаСоединенияИнформационнойБазы(), """", """""");
    ИмяПрограммыЗапуска = КаталогПрограммы() + ?(Прав(КаталогПрограммы(), 1) = "\", "", "\") + "1cv8s.exe";
    ИмяПользователя = ИмяПользователя();
    Если Не ПустаяСтрока(ИмяПользователя) Тогда
        ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя);
        Если ПользовательИБ = Неопределено Тогда
            АутентификацияОС = Ложь;
        Иначе
            АутентификацияОС = ПользовательИБ.АутентификацияОС;
        КонецЕсли;
        Пользователь = "/N""" + ИмяПользователя + """ " + ?(АутентификацияОС, "/WA+", "/WA-");
    Иначе
        Пользователь = "";
    КонецЕсли;
   Возврат( """" + ИмяПрограммыЗапуска + """ " + 
            "ENTERPRISE " + 
            "/IBConnectionString""" + СтрокаСоединенияИБ + """ " + 
            Пользователь +
            "/DisableStartupMessages");

	
КонецФункции

 

См. также

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    62986    44    59    

82

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    18857    26    6    

41

Работа с интерфейсом Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

1500 руб.

06.10.2020    10229    7    7    

10

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    16824    mrXoxot    43    

121

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    7369    smielka    37    

100

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    14797    916    elcoan    47    

117

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    11916    162    acces969    31    

124
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Dream_kz 129 06.04.18 12:36 Сейчас в теме
Вон, лупа с плюсиком (масштабирование) для кого придумана? Хай жмут, да крутят как надо

з.Ы Знаю что только с 8.3.10, но на скринах оно есть
bforce; rpgshnik; Brawler; Alien_job; BigB; Gang031; +6 3 Ответить
2. AlexanderDubonos 28 06.04.18 12:46 Сейчас в теме
(1) На 15" ноутбуках лупа не выход. Текст становиться не совсем читабельным. Переход на компактный режим более приятен глазу. Хотя лупу тоже пробовали.
3. ildary 21 06.04.18 13:01 Сейчас в теме
(1) Прошу прощения, но разве результат действия лупы и компактного такси - идентичный?
4. Dream_kz 129 06.04.18 13:11 Сейчас в теме
(3) https://wonderland.v8.1c.ru/blog/bystroe-masshtabirovanie-form/?sphrase_id=33066

Исходить нужно из того, что в компактном режиме масштаб формы равняется примерно 80%.
5. AlexanderDubonos 28 06.04.18 14:09 Сейчас в теме
(4)Не совсем. в компактном режиме используются стили, шрифты и отступы как в интерфейсе для 8.2. И говорить про 80 процентов наверное не совсем корректно. Тут все таки идет не масштабирование. а смена стиля отображения
6. ildary 21 06.04.18 14:13 Сейчас в теме
(5) именно это я и имел в виду - что компактный режим - не просто масштабирование, поэтому Ваше решение имеет право на жизнь.
mister_tula; +1 Ответить
7. kauksi 217 06.04.18 16:35 Сейчас в теме
вот бы и в типовых так. А разработчики такси поработали б в 1400х900
mister_tula; Yashazz; +2 Ответить
8. Yashazz 4791 08.04.18 14:14 Сейчас в теме
(7) А разработчикам типовых как купили несколько лет назад здоровенные мониторы, так они и размахнулись. И в результате вплоть до 8.3.10 извольте, господа, мучиться, туда-сюда крутить постоянно прыгающий экран с бессмысленно здоровенными полями, пустыми местами и уезжающими вдаль кнопками. За эту их поделку по прозвищу "такси" вообще надо сразу гнать как профнепригодных к созданию удобных эргономичных дружественных интерфейсов.
jONES1979; DAnry; Vlad_2008; mister_tula; artfa; for-elenak; shard; +7 Ответить
15. ixijixi 1913 11.04.18 15:39 Сейчас в теме
(8) Так им и системники наверное обновили на core i9 с 16-ю ядрами, да по 48 Гигов оперативы. А ты жди открытия формы минуту или две =(
9. CheBurator 2712 08.04.18 22:04 Сейчас в теме
в панели разделов отключите вывод картинок, оставьте только тескт - сэкономите еще место
jONES1979; +1 Ответить
10. Online-Ufa 09.04.18 08:07 Сейчас в теме
(9) В панели разделов удобнее наоборот отключить текст, который занимает больше места, и оставить только картинки, тогда свободным остается большее пространство экрана
или научить пользоваться сочетанием горячих клавиш "Ctrl+Shift+Ё", которое позволяет быстро сворачивать/отображать панель разделов
Brawler; ifilll; ixijixi; DiPOS; +4 Ответить
16. ixijixi 1913 11.04.18 17:17 Сейчас в теме
(10) Подтверждаю
Прикрепленные файлы:
11. paulpit 18 09.04.18 10:04 Сейчас в теме
Если очень Важна оперативность и надежность вводимых данных, то самая большая проблема - это скупердяйство директора.
Диспетчеру всегда надо ставить экран с максимальным разрешением.
12. AlexanderDubonos 28 10.04.18 15:01 Сейчас в теме
(11)Дело наоборот в слишком большой лояльности директора. Когда работник сам решает хочет он ноутбук или пк с 27 дюймовым и моником. А нам теперь ищи решение т. к. многие взяли себе ноутбуки
13. 7OH 70 11.04.18 09:56 Сейчас в теме
Дайте пользователю кнопку настройки компакт или нет, и объясните как пользоваться кнопкой масштабирования (которая работает только в НЕ компакте).
И пусть сами себе настраивают как хотят.
14. mister_tula 11.04.18 12:07 Сейчас в теме
17. bforce 482 16.04.18 23:26 Сейчас в теме
Формы на такси, обычно, переписывают. Используют закладки, оптимизируют размещение элементов.
Какой смысл переходить на такси, если все размещение элементов остается прежним (как для обычного или управляемого (в виде 8.2) приложения?
18. AlexanderDubonos 28 17.04.18 10:00 Сейчас в теме
Тут я с вами согласен. И на данный момент все формы меняются. Но вы попробуйте любое типовое решение на такси запустить на маленьком разрешение экрана. Без компактного режима там все поплывёт и работать будет неудобно
Оставьте свое сообщение