четверг, 11 июля 2019 г.

Не пугайтесь, это глюки (с)

Столкнулись с такой вот интересной ошибкой - при попытке открыть контрагента в ERP вываливается ошибка:
Несоответствие типов (параметр номер '1')
И приехали.. Ни у одного пользователя контры не открываются.. 
Смотрим код, который выдает ошибку и все больше изумляемся-офигеваем:

Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация"));

Да мы ж вообще это добро не трогали! Ни конкретно XDTO контактной информации, ни пакеты в принципе - ни в конфе, ни в расширениях.. 
Подключаем отладчик и нарастание изумления продолжает ускоряться:

ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация") = Неопределено

Хм. Ну вот как? До этого было не Неопределено, а теперь Неопределено.. Пробуем другие пространства имен - такая же песня - кроме платформенных пакетов фабрика ничего не видит..
Лезем чистить кэш.
А вот не полезли %) Первоначальное желание подавили и полезли гуглить. И оказалось, что пострадавших от подобного поведения платформы много, например, вот тема:

Почитав, понимаем, что чистка кэша особо не помогает.. А расширения? А что расширения? Мы ж в них ничего не трогали, да и опять же деактивация/активация помогает не всем..
Понимаем, что вопрос более мутный, чем мутный. И что в таком случае делаем всегда? Правильно - лезем на форум партнеров.. 
А там - куча стонов по этому поводу. И, собственно, обнаруживаем хоть какое-то да решение - перезапустить рабочие процессы сервера 1С: 
  • Временно устанавливаем интервал перезапуска в кластере в значение 120 и возвращаем в исходное.
  • Ждем, пока сервер перекинет сеансы на новые процессы, соответственно, тупит все неимоверно.
  • Ну и типа работает.
  • Внимательно наблюдаем за повторяемостью ошибки..
PS. 1С:Предприятие 8.3 (8.3.12.1685)
PPS. В последствии такая проблема всплыла опять, и тут уже просто перезапуском процесса отделаться не удалось.. Помогло дополнительно взять в расширение XDTO-пакет, обновить - и вроде взлетело..

2 комментария:

  1. уже почти год страдаем от этой проблемы. в качестве костыльного решения - обновляем основную конфу (расширения сами по себе, похоже, ни при чём), тупо добавив/удалив пробел в общем модуле, и далее перезапуск проблемного клиента. судя по всему, обновляются метаданные конфы, что исправляет ситуацию. очевидно, то же самое происходит и при обновлении/изменении расширений, и при перезапуске рабочих процессов. но надолго не спасает. т.к. обычно проблема возникает утром, есть подозрения на некорректный перезапуск агента сервера, но как и что отлавливать - ума не приложу

    ОтветитьУдалить
    Ответы
    1. Сегодня вот опять приключилось сие чудо..
      Простой перезапуск не помог.
      Решил проверить насчет того, поможет ли изменение в расширении, или надо основную конфу менять - в общем-то помогло. Добавил пробельчик в модуль - и заработало..
      Такое себе, конечно, решение.. Но обновлять платформу при наличии таких вот косяков и изменений в лицензировании КОРП неохота совсем..

      Удалить