С недавнего времени появилась проблема с модальными окнами в web-клиенте 1С. У некоторых пользователей стала выскакивать ошибка: "Использование модальных окон в данном режиме запрещено!". Причем интересная особенность, что у других пользователей все продолжает нормально работать. С теми же самыми правами, в том же самом браузере, той же версии!
Конфигурация: 1C:CRM, редакция 2.0 (2.0.11.5)
Платформа: 1С:Предприятие 8.3 (8.3.8.2197)
Работают пользователи через веб-клиент.
Запускаются все в браузере Mozilla Firefox (версия 51.0.1 32-bit).
В свойствах конфигурации установлено: Режим использования модальности = Использовать.
Поделитесь опытом, может, кто сталкивался с такой проблемой. Пыталась погуглить, но везде пишут только про "Режим использования модальности" и что не стоит использовать браузер Гугл Хром, так как с определенной версии он полностью перестал поддерживать модальные окна.
Я решила проблему! Без переписывания конфигурации и отката к старой версии браузера!!!)
Поделюсь, может, кому будет полезно.
Я нарыла, что проблему модальных окон при использовании веб-клиента 1С решает некое расширение для браузера 1C:Enterprise 8 Extension (почитать про него можно, например, здесь: https://1c.link/article/ff-addon-installation). Но! Главный вопрос был, как его установить??? И это оказалось не так очевидно, как хотелось бы;). Итак, заходим в меню "Общие настройки" -> "Персональные настройки", переходим на вкладку "Работа с файлами", там есть волшебная кнопка "Установить расширение работы с файлами", нажимаем ее.
И тут появляется гнусное сообщение об ошибке: "Использование синхронных методов на клиенте запрещено!". Вот те на!((( Снова засада....Читаем про асинхронность тут - http://v8.1c.ru/o7/201412async/index.htm. Все становится понятно).
Осталось найти процедуру, которая запускается при нажатии на вышеупомянутую кнопку "Установить расширение работы с файлами", и заменить в ней синхронный метод на новый асинхронный аналог. В моем случае нужно было заменить УстановитьРасширениеРаботыСФайлами() на НачатьУстановкуРасширенияРаботыСФайлами().
После этого все работает! Ура!!! Устанавливаем вышеупомянутое Расширение, и продолжаем наслаждаться работой веб-клиента в последней версии Firefox без каких-либо проблем с модальными окнами!
P.S.: мне было нежелательно править конфу, поэтому я сделала немного по-другому. Создала внешнюю обработку, которая запускает данный метод глобального контекста - НачатьУстановкуРасширенияРаботыСФайлами(). Запустила ее на веб-клиенте у каждого проблемного пользователя, расширение установилось, и жизнь снова заиграла яркими красками;))
Я решила проблему! Без переписывания конфигурации и отката к старой версии браузера!!!)
Поделюсь, может, кому будет полезно.
Я нарыла, что проблему модальных окон при использовании веб-клиента 1С решает некое расширение для браузера 1C:Enterprise 8 Extension (почитать про него можно, например, здесь: https://1c.link/article/ff-addon-installation). Но! Главный вопрос был, как его установить??? И это оказалось не так очевидно, как хотелось бы;). Итак, заходим в меню "Общие настройки" -> "Персональные настройки", переходим на вкладку "Работа с файлами", там есть волшебная кнопка "Установить расширение работы с файлами", нажимаем ее.
И тут появляется гнусное сообщение об ошибке: "Использование синхронных методов на клиенте запрещено!". Вот те на!((( Снова засада....Читаем про асинхронность тут - http://v8.1c.ru/o7/201412async/index.htm. Все становится понятно).
Осталось найти процедуру, которая запускается при нажатии на вышеупомянутую кнопку "Установить расширение работы с файлами", и заменить в ней синхронный метод на новый асинхронный аналог. В моем случае нужно было заменить УстановитьРасширениеРаботыСФайлами() на НачатьУстановкуРасширенияРаботыСФайлами().
После этого все работает! Ура!!! Устанавливаем вышеупомянутое Расширение, и продолжаем наслаждаться работой веб-клиента в последней версии Firefox без каких-либо проблем с модальными окнами!
P.S.: мне было нежелательно править конфу, поэтому я сделала немного по-другому. Создала внешнюю обработку, которая запускает данный метод глобального контекста - НачатьУстановкуРасширенияРаботыСФайлами(). Запустила ее на веб-клиенте у каждого проблемного пользователя, расширение установилось, и жизнь снова заиграла яркими красками;))
Столкнулся с подобной проблемой в веб клиентах FF, Chrom, расширение работы с файлами устанавливается, но при команде открыть получаю "Использование синхронных методов на клиенте запрещено!", в тонком и толстом клиенте все работает. При открытии через тонкий клиент отрабатывает вот этот код
&НаКлиенте
Процедура РасположениеНаПланеРасширениеПредложено(РасширениеРаботыСФайламиПодключено, ДополнительныеПараметры) Экспорт
Перем ПолноеИмяФайла;
ДанныеФайла = ДополнительныеПараметры.ДанныеФайла;
ИмяФайла = ДополнительныеПараметры.ИмяФайла;
СохранятьКак = ДополнительныеПараметры.СохранятьКак;
Если РасширениеРаботыСФайламиПодключено Тогда
РабочийКаталогПользователя = ФайловыеФункцииСлужебныйКлиент.РабочийКаталогПользователя();
Если ПустаяСтрока(РабочийКаталогПользователя) Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Не задан рабочий каталог'"));
Возврат;
КонецЕсли;
ПолныйПуть = "";
ФайлМожноОткрывать = ПрисоединенныеФайлыСлужебныйКлиент.ПолучитьФайлВРабочийКаталог(
ДанныеФайла.СсылкаНаДвоичныеДанныеФайла,
"",
ТекущаяДата(),
ИмяФайла,
КаталогВременныхФайлов(),
ПолныйПуть
);
Если ФайлМожноОткрывать Тогда
ЗапуститьПриложение(ПолныйПуть);
КонецЕсли;
Иначе
ПолучитьФайл(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла, СохранятьКак, Истина);
КонецЕсли;
КонецПроцедуры
Показать
А вот проверку типа клиента нашел ниже по коду, уже вот в этом учвстке:
&НаКлиенте
Процедура РасположениеНаПланеОткрытие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если Не АР_ОбщиеПроцедурыКлиент.ДоступнаРаботаMSOffice(2) Тогда
Возврат;
КонецЕсли;
ДанныеПланировки = АР_ОбщиеПроцедуры.ЗначенияРеквизитовОбъекта(Объект.РасположениеНаПлане, "ФайлПланировки, Лист, ГрОбъект, ОбластьТекста");
ДанныеПланировки.Вставить("Наименование", Объект.Наименование);
ЭтоВебКлиент = Ложь;
#Если ВебКлиент Тогда
СохранятьКак = АР_ОбщиеПроцедурыКлиентСервер.ПолучитьИмяФайлаПланировки(ДанныеПланировки.ФайлПланировки, "Расположение объекта");
ИмяФайла = "";
ЭтоВебКлиент = Истина;
#Иначе
СохранятьКак = АР_ОбщиеПроцедурыКлиентСервер.ПолучитьИмяФайлаПланировки(ДанныеПланировки.ФайлПланировки, "Расположение объекта");
Файл = Новый Файл(СохранятьКак);
ИмяФайла = Файл.Имя;
#КонецЕсли
ОбрабатыватьШаблоныИПланировкиНаКлиенте = НЕ ЭтоВебКлиент И АР_ОбщиеПроцедуры.ПолучитьЗначениеКонстанты("АР_ОбрабатыватьШаблоныИПланировкиНаКлиенте");
Если ОбрабатыватьШаблоныИПланировкиНаКлиенте Тогда
АдресХранилища = АР_ОбщиеПроцедурыКлиентСервер.ОтобразитьНаПланировкеОбъект(ДанныеПланировки);
Если НЕ АдресХранилища = Неопределено Тогда
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресХранилища);
ДвоичныеДанные.Записать(СохранятьКак);
ЗапуститьПриложение(СохранятьКак);
КонецЕсли;
Иначе
ДанныеФайла = АР_ОбщиеПроцедуры.ПолучитьГрафическийОбъект(ДанныеПланировки, СохранятьКак);
Если НЕ ДанныеФайла = Неопределено Тогда
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ДанныеФайла", ДанныеФайла);
ДополнительныеПараметры.Вставить("СохранятьКак", СохранятьКак);
ДополнительныеПараметры.Вставить("ИмяФайла", ИмяФайла);
ОписаниеОповещения = Новый ОписаниеОповещения("РасположениеНаПланеРасширениеПредложено", ЭтотОбъект, ДополнительныеПараметры);
ОбщегоНазначенияКлиент.ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами(ОписаниеОповещения);
КонецЕсли;
КонецЕсли;
КонецПроцедуры