В качестве обходного пути - эта 1000 отчетов выглядит для телепата как один и тот же отчет для 1000 пользователей с незначительными отличиями в фильтрах. Почему бы не провести тестирование на разбиение этого на два этапа: 1. получение всех данных из БД и сервисов для всех пользователей; 2. генерация из этих данных 1000 отчетов путем фильтрации в памяти.
Выглядит как задача для OLAP или его заменителя на самом деле. Типа подготавливаем в отдельном кубе (ну или таблице) данные для отчета в фоне, а в нужный момент просто выплевываем по простейшему фильтру и агрегатам. Т.е. первый этап из предыдущего абзаца делать заранее в фоне по расписанию (например за пару часов до часа Х или вообще каждый час только по обновленным данным), а на втором просто простейшее получение данных, которое не занимает много времени.
Если сервер 1с и сервер RDP один и тот же компьютер, то нужно запретить выдачу лицензий сервером 1с (это делается в каждой базе в консоли администрирования), если сервер 1с и RDP сервер разные компьютеры - то можно не запрещать.
Затем активировать клиентские лицензии на сервере RDP в варианте "на этот компьютер", выбрать "доступна всем пользователям". Тогда в каждом сеансе RDP можно будет запускать неограниченное количество баз. Возможно лицензии нужно будет активировать как "однопользовательские", но это не точно ) рекомендую написать по почте в 1с.
В таком варианте мы теряем возможность использования web клиента, но зато имеем возможность экономить на одновременном использовании нескольких сеансов одним пользователем. Если же нужен веб клиент - то придется активировать лицензию на сервер (по количеству планируемых сеансов веб пользователей, остальное на терминальный сервер. проще всего отдельно купленной многопользовательской) и следить за тем, чтобы "не веб" пользователи не получали лицензию с сервера. Как - на это у меня ответа нет )
.global-catalogue-menu-wrapper .first-level-menu .submenu-wrapper имеет высоту 100% и распирает контейнер от пункта "столы". Но даже если убрать - из-за третьего уровня меню столы->вешалки все равно останется свободное место, хоть и меньше. Нужно использовать абсолютное позиционирование и вычисление положения относительно экрана. Может быть какую-то библиотеку. Что использовать в данном случае - порекомендовать не могу. Сам использую vue + quasar - там попапы открываются +- нормально.
spoiler
скрин с кнопкой-активатором меню у нижнего края окна браузера:
Для клавиатурных сканеров есть рабочее решение https://github.com/FragsterAt/barcode_hid_reader
Отлавливает сканирование НЕ в поле ввода (специально, пусть пользователь вводит руками что нужно, если нужно изменить - то можно по энтеру или блюру анализировать содержимое), в обработчике события сканирования можно со штрихкодом делать что нужно (а можно вообще тупо свой коллбэк передать при инициализации, тогда события не будет, а будет просто вызываться функция).
По поводу зоопарка сканеров - клавиатурные работают +- одинаково, единственное - при доступе по RDP на медленном канале или совсем старом железе нужно немного увеличить таймаут.
Вероятно потому что элемента больше нет, есть текст. Надо избегать таких манипуляций с DOM, вся связь дерева с реактивными свойствами может сломаться вплоть до полной потери реактивности из-за ошибки выполнения js.
ИМХО, правильно в данном случае сделать компонент для вывода и render функцию, возвращающую строку (если оно без тега должно быть). Но я бы на тегах не экономил, пусть компонент span выводит.
css-only но на скорую руку, без этих ваших :before и прочих https://play.tailwindcss.com/3fXiLqJ5ZL
единственное - у спрятанного текста фиксированная максимальная высота и ограничение должно быть максимально близко к содержимому для красоты. В общем случае - надо с помощью js заполнять.
Судя по ошибке надо сделать простейшую публикацию на веб сервере а не запускать как файл. Да, придется разогнать IIS, apache или nginx (я на винде использую IIS, ибо проще всего, но кому-то может быть проще apache в составе чего-то типа wampserver).
Выкинуть вставку параметров в запросы через конкатенацию, использовать prepared statements
Не хранить в базе пароль, а только хэш от него (причем засоленный)