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

06.04.18

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

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

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

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

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


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

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

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

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

 

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

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

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

6000 руб.

16.01.2015    61699    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

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

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54316    16    21    

42

Управление дашбордами

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

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

2400 руб.

29.06.2020    16623    21    4    

35

Новогоднее оформление для 1С

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

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

27.12.2023    10563    745    elcoan    45    

106

Конструктор HTML, CSS и javascript

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

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

2 стартмани

10.04.2023    9484    150    acces969    31    

115

Модель состояния для MVC

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

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3577    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12010    1    5    

10
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
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 212 06.04.18 16:35 Сейчас в теме
вот бы и в типовых так. А разработчики такси поработали б в 1400х900
mister_tula; Yashazz; +2 Ответить
8. Yashazz 4707 08.04.18 14:14 Сейчас в теме
(7) А разработчикам типовых как купили несколько лет назад здоровенные мониторы, так они и размахнулись. И в результате вплоть до 8.3.10 извольте, господа, мучиться, туда-сюда крутить постоянно прыгающий экран с бессмысленно здоровенными полями, пустыми местами и уезжающими вдаль кнопками. За эту их поделку по прозвищу "такси" вообще надо сразу гнать как профнепригодных к созданию удобных эргономичных дружественных интерфейсов.
jONES1979; DAnry; Vlad_2008; mister_tula; artfa; for-elenak; shard; +7 Ответить
15. ixijixi 1761 11.04.18 15:39 Сейчас в теме
(8) Так им и системники наверное обновили на core i9 с 16-ю ядрами, да по 48 Гигов оперативы. А ты жди открытия формы минуту или две =(
9. CheBurator 3119 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 1761 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 69 11.04.18 09:56 Сейчас в теме
Дайте пользователю кнопку настройки компакт или нет, и объясните как пользоваться кнопкой масштабирования (которая работает только в НЕ компакте).
И пусть сами себе настраивают как хотят.
14. mister_tula 11.04.18 12:07 Сейчас в теме
17. bforce 481 16.04.18 23:26 Сейчас в теме
Формы на такси, обычно, переписывают. Используют закладки, оптимизируют размещение элементов.
Какой смысл переходить на такси, если все размещение элементов остается прежним (как для обычного или управляемого (в виде 8.2) приложения?
18. AlexanderDubonos 28 17.04.18 10:00 Сейчас в теме
Тут я с вами согласен. И на данный момент все формы меняются. Но вы попробуйте любое типовое решение на такси запустить на маленьком разрешение экрана. Без компактного режима там все поплывёт и работать будет неудобно
Оставьте свое сообщение