«Використання модальних вікон в даному режимі заборонено» - така помилка зараз починає турбувати користувачів і програмістів 1С з приходом нового інтерфейсу платформи 1С 8.3 - «таксі«.
Розробники технологічної платформи 1С йдуть в ногу з часом, стандартизуючи своє рішення під світові стандарти розробки програмного забезпечення. Всі стандарти так чи інакше зводяться до єдиного інтерфейсу, близького до веб-сторінок.
Модальні та спливаючі (pop-up) вікна вважаються поганим тоном і вже давно перестали бути нормальним при розробці софта. Користувачі звикли до роботи «в одному вікні».
Особливо часто ми бачимо помилку модальності у наступних методів 1С:
Розробники платформи 1С 8 з виходом нового інтерфейсу «таксі» прийняли вірне рішення - спробувати перевчити розробників прикладних рішень на новий лад. Вони включили в нову платформу можливість - «режим використання модальності».
Швидке виправлення проблеми
Якщо немає часу розбиратися і потрібно швидко вирішити завдання, пропонуємо просте, але не зовсім правильне рішення. Для швидкого виправлення помилки досить змінити режим модальності у властивостях конфігурації.
Для цього треба зайти в систему в режимі конфігуратор. відкрийте конфігурацію:
У відкритій конфігурації викличте контекстне меню, натиснувши на корінь конфігурації правою кнопкою, вибравши «Властивості»:
Відкриються властивості конфігурації, де в підвалі є цікавить нас властивість - «Режим використання модальності», виберіть режим «Використовувати»:
Після цього збережіть і застосуйте зміни, натиснувши клавішу «F7».
Правильне рішення задачі
Правильний спосіб вирішення цієї проблеми - доопрацювати конфігурацію або зовнішню обробку під нові вимоги.
Попередження, питання, діалогові вікна та інші модальні вікна - все це необхідно переписувати на новий лад.
Вбудовані оператори, які викликали модальні вікна, необхідно замінити на дублюючі функції.
При цьому з'явився спеціалізований об'єкт - ОпісаніеОпевещенія.
Необхідно замінити на:
При цьому додати подібну процедуру на клієнті, яка відпрацює, коли значення буде введено користувачем:
Форми, які розробляються всередині конфігурації, відкриваються точно так же. Досить замінити метод «ОткритьФормуМодально» на «ОткритьФорму», прописавши опис оповіщення і потрібну для нього нову процедуру.
Щоб відкривається формою закрити доступ до спричиненої формі, досить властивості форми вказати у властивості «РежімОткритіяОкна» значення «Блокувати вікно власника»:
Інші статті по 1С: