«Undefined is not function» или почему перестал работать веб-клиент «1С» в Google Chrome 37

Последний релиз популярного браузера Google Chrome помимо очередных новшеств и багфиксов принес головную боль 1С-разработчикам. Ошибка проявляется при использовании веб–клиента "1C" в браузере Google Chrome 37 и всех остальных бродилках, основанных на Chromium (например, Opera).
1,3 тыс. 18

Последний релиз популярного браузера Google Chrome помимо очередных новшеств и багфиксов принес головную боль 1С-разработчикам. Ошибка проявляется при использовании веб–клиента "1C" в браузере Google Chrome 37 и всех остальных бродилках, основанных на Chromium (например, Opera). При попытке вызвать модальное окно, Google Chrome 37 выплевывает ошибку:  «Underfined is not function». При нажатии единственной кнопки «ok» веб-клиент сгенерирует стандартное сообщение «Открытие нового окна было заблокировано, видимо сработал блокировщик всплывающих окон» и предложит перезапустить приложение. Перезапуск приложения вернет на окно авторизации и дальше все по кругу.

Способ решения #0

Переписать участки кода с вызовом модальных окон в соответствии с рекомендациями компании "1С". Мой проект на текущей стадии не был готов к использованию новых функций, поэтому на этапах вызова окна загрузки файлов и вызова любого модального окна я ловил [bold]«Underfined is not function»[/bold].

Способ решения #1

Самый простой способ решить проблему – попросить клиентов перейти на Mozilla FireFox. Там подобная ошибка не проявляется и в целом все работает хорошо. Именно так я и поступил. Однако, у некоторых клиентов начали возникать проблемы при скролинге элементов в формах списков. По непонятным причинамFireFox генерировал ошибку и браузер падал.  Ошибка проявлялась не у всех, но ждать пока с проблемой столкнуться все пользователи я не мог.

Способ решения #2

Дальше я решил попробовать перевести проблемных клиентов на старые версии браузера Google Chrome. Мне удалось раздобыть в сети дистрибутив «Google Chrome 32» и он успешно был внедрен нескольким клиентам с отключенной функцией автоматического обновления. Способ опять же рабочий, но не элегантный – нельзя же всех лишить возможности обновления браузера.

Способ решения #3

Предыдущие способы имеют явные минусы, поэтому я решил отправиться и почитать информацию из ChangeLog’а к последней версии Google Chrome. Поиск по слову «modal» вывел меня на пункт, где четко говорилось, что поддержка функции showModalDialog() в новой версии Google Chrome удалена. Отлично, уже хоть что-то.

Перейдя в детальное описание этой фичи, я увидел, что при необходимости данную функцию можно активировать (!!!). Разработчики Google Chrome поступили мудро и оставили пути отступления, которыми можно пользоваться аж до мая 2015 года. Этого времени хватит, чтобы разработчики успели обновить свои решения.

Теперь собственно говоря само решение. Открываем редактор реестра Windows (regedit) и переходим в раздел«HKEY_LOCAL_MACHINESOFTWAREPolicies». Здесь вам нужно создать новые разделы:«GoogleChromeEnableDeprecatedWebPlatformFeatures»

После переходите в раздел «EnableDeprecatedWebPlatformFeatures» и создайте в нем строковый ключ с именем «1С» и присвойте ему значение «ShowModalDialog_EffectiveUntil20150430». Должно получиться что-то вроде этого:

На этом шаге редактор реестра можно закрывать и открывать Google Chrome. В адресной строке бродилки вводим: «chrome://policy/» (без кавычек) и переходим по этому адресу. Должна открываться страница с политиками Chrome. 

Изначально она будет пустой. Нажимаем кнопку «Повторно загрузить политики». Если вы все сделали правильно в реестре, то после нажатия кнопку вы увидите табличку c одной записью о функции«showModalDialog».

Теперь никаких ошибок в веб-клиенте не будет. Ваши клиенты смогу продолжать работать, а вы получите время для адаптации конфигурации к нововведениям. Чтобы немного облегчить процесс, я сделал экспорт описанных выше ключей в файлик. Можете его загрузить и импортировать в свой реестр. Экспорт делал в Windows 7. 

Исправление ошибки веб-клиента в Google Chrome 37: chrome37_fix_by_spider_net.zip

Если не помогло

Я проверил рассмотренный в заметке способ на двадцати пользователях – все прекрасно заработало. Не повезло 21-му. Все ключи в реестр импортировались нормально, но на странице chrome://policy так ничего и не появилось. Оказалось, что подобные проблемы с политиками Chrome не только у меня. У пользователей на «StackOverflow» возникали аналогичные ситуации, и оказалось, что способ с добавлением ключей в реестр работает только у тех, чьи компьютеры входят в домен. Мой компьютер и машины тех 20 пользователей входят в домены, поэтому у нас все заработало сразу. Я опять принялся искать решение проблемы и в итоге нашел. Способ чуть сложней, но в итоге проблема решилась окончательно.

Итак, если ваш компьютер не входит в домен, и вы столкнулись с ошибкой веб-клиента 1С «underfined is not function» выполните несколько шагов:

  • Загружаем по этой ссылке административный шаблон настроек политик Chrome. По ссылке доступен adm шаблон. Если требуется в формате admx или json для Linux, то качаем полный архив с шаблонами отсюда (http://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip). Распаковываем в какую-нибудь директорию.
  • Открываем консоль локальных групповых политик gpedit.msc (например, через «пуск» -> «Выполнить»).

  • Раскрываем узел «Конфигурация компьютера» и кликаем правой кнопкой мыши по «Административные шаблоны». В контекстном меню выбираем «Добавление или удаление шаблонов».

  • В появившемся окне нажимаем кнопку «Добавить» и выбираем файл «chrome.adm», который мы извлекли из загруженного в пункте 1 архива. Наш шаблон должен появиться в списке текущих шаблонов политики. Нажимаем кнопку «Закрыть».

  • Переходим в узел «Административные шаблоны» -> «Классические административные шаблоны» -> «Google» . В этом узле ищем пункт «Включить устаревшие функции веб-платформы».

  • Дважды кликаем по нему и в появившемся окне устанавливаем переключатель на позицию «Включить». В разделе «Параметры» активируется кнопка «Показать». Нажимаем ее.

  • В появившемся окне кликаем по первой строке и вводим: «ShowModalDialog_EffectiveUntil20150430» (без кавычек). После этого нажимаем «Ok» и аналогичную кнопку в окне «Включить устаревшие функции веб-платформы». Затем закрываем редактор локальных групповых политик.

  • Открываем в Google Chrome уже знакомую страницу «chrome://policy» и кликаем по кнопке «Повторно загрузить политики».

 Теперь все должно работать, как и изначально было задумано.

Начать дискуссию

Chanel завершает свой бизнес в России

Компания Chanel решила полностью уйти с российского рынка. Ей могут грозить неустойки по договорам аренды, которые оценивают в десятки миллионов рублей.

Курсы повышения
квалификации

18
Официальное удостоверение с занесением в госреестр Рособрнадзора

Коротко, для чего нужен финансовый план? Как его создать

В малом бизнесе владелец может учитывать все финансовые движения в уме. Однако когда операции разрастаются, а их отслеживание становится сложным, приходит время заняться финансовым планированием.

Коротко, для чего нужен финансовый план? Как его создать
НДФЛ

Оплата вынужденного прогула облагается НДФЛ

Если увольнение сотрудника было признано незаконным и через суд он добился восстановления и оплаты вынужденного прогула, то такая оплата – это облагаемый НДФЛ доход.

Лучшие спикеры, новый каждый день

❗ Компания может попасть на штраф, если при переходе на ЕНС переплату по одному налогу ФНС зачла в счет долга по другому

За неумышленную неуплату налога из-за занижения базы или иного неправильного исчисления предусмотрен штраф 20% от суммы налога (по п. 1 ст. 122 НК).

Сколько длится дело по субсидиарке? Что приводит к затягиванию суда

Длительность рассмотрения дела связана с разными факторами. Разберем, что приводит к затягиванию рассмотрения дела в суде

Объявления об онлайн-продаже табака могут заблокировать без решения суда

Чтобы заблокировать интернет-ресурс с информацией о дистанционной продаже табачной продукции, понадобится больше 3-х месяцев. Власти хотят ввести механизм внесудебной блокировки — такой же, какой сейчас действует в отношении алкоголя.

Опытом делятся эксперты-практики, без воды

Почему не существует шутки, которая нравится всем? Проведем эксперимент

Маяковский считал, что театр — это не отображающее зеркало, а увеличительное стекло. Если продолжить эту мысль поэта, то юмор — это не отображающее зеркало и даже не увеличительное стекло.

Почему не существует шутки, которая нравится всем? Проведем эксперимент
155

Как обезопасить массовые выплаты внештатникам

Компании, которые сотрудничают с большим числом внештатников, проводят массовые выплаты со своего счета. Такие платежи могут нести риски с точки зрения ИФНС и банков. Рассказываем, в чем причины и как обезопасить переводы.

Как обезопасить массовые выплаты внештатникам
НДС

Уточнят нормы НК об НДС 0% при экспорте

Торгово-промышленная палата России (ТПП) предложила исключить двойное толкование норм о международной перевозке с точки зрения налогового законодательства.

За уклонение от исправительных работ будут чаще сажать под стражу

Минюст разработал законопроекты, регулирующие вопрос заключения под стражу осужденных, которые уклоняются от принудительных работ.

Дивиденды апреля. Ну вот, опять богатеть

Обновил дивидендный календарь, оставил дивиденды, которые утверждены на апрель, а также известные дивиденды на май, а то в апреле дивидендов совсем уж мало. Возможно, ещё появятся, ведь начинается главный дивидендный сезон, когда компании начинают выплачивать финальные годовые дивиденды, у многих из которых нет промежуточных.

Дивиденды апреля. Ну вот, опять богатеть
54

«Утренний бухгалтер» № 5608. Будут изменения по имущественным налогам

Законопроект уже внесен в думу.

Миникурсы, текстовые и видеоинструкции для бухгалтеров
УСН

⚡ Срочное разъяснение ФНС: как заполнить уведомление о переходе на УСН

В форме 26.2-1 ювелиры должны ставить код налогоплательщика — 4, но можно и 3.

154

Быть бухгалтером хочу, пусть меня научат... или нет. Можно ли стать бухгалтером самому с нуля и что для этого надо знать

Меня на этот пост вдохновил вопрос пользователя в телеграм-канале. Она попросила помощи в заполнении упрощенной отчетности и уточнила — справится ли она сама, если она не бухгалтер? И, правда, а можно ли вести учет и при этом не иметь образования бухгалтера и всему научиться самому.

Иллюстрация: Вера Ревина/Клерк.ру
348
Мошенничество

Сотрудник банка отдохнул за границей и обогатился за счет клиентки на 29 млн рублей

Сотрудники управления экономической безопасности и противодействия коррупции МВД по Ростовской области выявили факт многомиллионного мошенничества в особо крупном размере сотрудником банковской организации.

521
ВЭД

Три главных изменения 2024 года для бухгалтера ВЭД

Продавцы из ЕАЭС начнут платить налоги в российскую казну, бизнес освободят от отчетности по мелким сделкам с зарубежными партнерами, а цифровые активы становятся обычным способом расчета.

Иллюстрация: Вера Ревина/Клерк.ру
1
382

Обязательную маркировку ювелирных изделий перенесут на 2025 год

Чтобы снизить нагрузку с Пробирной палаты, которая будет ставить клеймо на украшения, Минфин перенесет срок обязательной маркировки на 1 сентября 2025 года.

168

С 1 мая запустят эксперимент по маркировке моторных масел

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

3
218

Календарь вебинаров для бухгалтера в апреле 2024. Акцент на проверки

Вебинар — простой способ разобраться в любом важном для бухгалтера вопросе. «Клерк» приглашает на вебинары экспертов-практиков, которые понятно и с примерами разберут любую тему. Вы можете задавать спикеру вопросы и он ответит на них в прямом эфире.

Иллюстрация: freepik/freepik

Интересные материалы

Экспорт

Минпромторг сократит список экспортеров, которые могут получать транспортные субсидии

Изменения затронут только тех, кто занимается экспортом товаров из высокомаржинальных групп.