Многие разработчики сталкиваются с неприятной ситуацией: при работе в конфигураторе 1С:Предприятие (например, на платформе версии 8.3.16.1224) в момент выделения области на вкладке «Макеты» схемы компоновки данных (СКД) внезапно появляется сообщение «Данное действие недоступно в связи с отсутствием главного окна». После нажатия кнопки «ОК» конфигуратор попросту аварийно закрывается. Разберем эту проблему подробно, проанализируем причины ее появления и рассмотрим по шагам все возможные пути решения.
Текстовое сообщение об отсутствии главного окна является штатным системным предупреждением платформы. Обычно в пользовательском режиме оно возникает, если попытаться открыть форму или вывести сообщение на экран до того, как загрузилось основное окно программы. Однако появление этой ошибки непосредственно в конфигураторе — это не ошибка вашей конфигурации или кода, а внутренний баг самой платформы 1С.
Выясним причину глубже. Движок платформы 1С в определенных релизах некорректно обрабатывает графический интерфейс при работе со встроенным табличным редактором. В результате система теряет системный идентификатор (handle) главного окна конфигуратора. Чаще всего эта проблема проявляется именно в операционной системе Windows 10, тогда как на Windows 8 или более старых версиях тот же релиз платформы может отрабатывать абсолютно нормально. Это связано с тем, что в Windows 10 изменились механизмы отрисовки окон и масштабирования (DPI), что вызывает конфликт с движком 1С.
Давайте разберем по шагам методы, которые помогут устранить эту ошибку и вернуть стабильную работу конфигуратора.
Поскольку проблема напрямую связана с графической подсистемой Windows 10, самым быстрым способом решения часто является изменение параметров совместимости для исполняемого файла 1С.
1cv8.exe в папке bin установленной платформы.Так как мы выяснили, что ошибка кроется в самой платформе (особенно подвержены релизы начала ветки 8.3.16, например 8.3.16.1224), самым надежным и правильным решением будет установка более свежего релиза.
Иногда проблема кроется не только в платформе, но и в локальных файлах профиля пользователя Windows. Система 1С запоминает расположение, размеры и состояния всех плавающих и вложенных окон. Повреждение этих файлов также может приводить к потере связи с главным окном.
AppData.C:\Users\ИмяПользователя\AppData\Local\1C и C:\Users\ИмяПользователя\AppData\Roaming\1C. Внимание: это сбросит список информационных баз, поэтому предварительно сохраните его (файл ibases.v8i).В некоторых случаях (особенно на ноутбуках с гибридной графикой или при использовании специфических драйверов видеокарт) конфигуратор может конфликтовать с видеодрайвером при попытке отрисовать сетку макета.
sfc /scannow.Подводя итог, можно с уверенностью сказать: если вы столкнулись с ошибкой отсутствия главного окна при редактировании СКД, не пытайтесь искать проблему в коде своей конфигурации. Примените описанные выше настройки масштабирования Windows или, что более предпочтительно, обновите платформу 1С:Предприятие на стабильный релиз, и проблема будет полностью устранена.