Ошибка инициализации модуля общиймодуль модуль

Содержание:

1.       Диагностика ошибки инициализации модуля

2.       Устранение ошибки инициализации модуля

В данной статье будет описано, как устранять ошибку в системе «1С:Предприятие», когда при обновлении типовой конфигурации появляется объявление вида «Ошибка инициализации модуля:EF_00_00ХХХХХ». Будет проведён анализ данной неполадки и приведены способы по её устранению.   


1.    Диагностика ошибки инициализации модуля

Данная ошибка довольно часто появляется у юзеров системы 1С, когда после обновления выдает ошибку и всплывает объявление об ошибке по инициализации модуля. Окно с данной неполадкой в системе 1С представлено на скриншоте далее:

Окно ошибки инициализации модуля

Появление окна с данной неполадкой означает то, что система 1С не имеет возможности автоматического удаления патча с правками. Данный патч с правками недавно был внесён в обновление системы и позволяет быстро определять возможные неполадки и править их.

Обычно, специфика патчей с правками подразумевает то, что эта система автономная и будет удалять всё лишнее самостоятельно, как только версия 1С будет обновлена. Однако, в реальности, случается иначе: автоматическое удаление может не срабатывать, обновление прерывается и возникает ошибка по инициализации модуля.  

2.    Устранение ошибки инициализации модуля

Рассмотрим алгоритм действий пользователя для устранения ошибки инициализации модуля. Очевидно, что необходимо провести удаления патча самостоятельно.

Для удаления патча вручную существует два метода:

1.     Через режим «1С:Предприятие» в системе. Откроем вкладку в меню «Администрирование», после чего кликнем на «Обслуживание», перейдём на раздел «Обновление программы» и избираем «Установленные исправления(патчи)», как демонстрируется на скриншоте с примером ниже:

Установленные исправления в режиме 1С Предприятия в системе

Перед пользователем появится список патчей с правками, как показано далее:

Список патчей с правками и их удаление

Избираем тот патч, который подлежит удалению и кликаем «Удалить исправление».

Также можно запустить перечень со всеми правками, которые были установлены, при помощи кнопки «Все функции», переходим на «Стандартные», после чего избираем «Управление расширениями конфигурации», как показано на скриншоте далее:

Управление расширениями конфигурации

2.     Удалить патчи через «1С 8 Конфигуратор». Чтобы провести данную процедуру, понадобится избрать пункт «Конфигурация» и перейти по ссылке «Расширения конфигурации». Появится новая вкладка с перечнем все расширений, которые были установлены, выбираем нужное и кликаем на «Удалить», как демонстрируется на скриншоте с примером ниже:

Удаление расширения в 1С 8 Конфигуратор

Оба способа являются рабочими и возобновляют корректную работу системы 1С, избавляя ошибки после установки обновления.

В данной статье была продиагностирована ошибка после обновления1С по инициализации модуля, а также было приведено два метода по устранению данной неполадки.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

Содержание

  • Ошибка в доработанном программном коде
  • Ошибка вывода печатной формы
  • Ошибка исполнения кода на Клиенте
      • См. также:
    • Шаг 1. Обновление прошивки
    • Шаг 2. Команда авторизации
    • Шаг 3. Восстановление данных об организации
    • Шаг 4. Перерегистрация без замены ФН
    • Шаг 5. Восстановление NVR
    • Шаг 6. «Ошибка контрольной суммы ОЗУ»
  • Пример кода, вызывающего ошибку:
  • Разбор полётов

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

  • чистка кеша;
  • тестирование и исправление информационной базы;
  • просмотр зарегистрированных ошибок на сайте 1С,

придется разбираться с местом возникновения ошибки в 1С самостоятельно.

БухЭксперт8 подготовил 3 примера получения и исправления ошибки:

  • в доработанном программном коде;
  • при выводе печатной формы;
  • при исполнении кода на Клиенте.

Ошибка в доработанном программном коде

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

В сообщении об ошибке указано место возникновения ошибки — строка 919 в модуле формы. Для исправления ошибки необходимо выполнить следующие действия:

  1. Нажмите кнопку Подробно в форме сообщения об ошибке.
    В окне Обнаружены ошибки программа укажет:
    • номер неправильной строки кода;
    • исполняемую команду, которая привела к ошибке. Иногда подробной информации в окне Обнаружены ошибки достаточно для понимания причин ее возникновения, но не всегда. В большинстве случаев требуется перейти в место возникновения ошибки и проанализировать используемые в команде данные.
  2. Для перехода в место ошибки нажмите кнопку Конфигуратор.
    В Конфирураторе курсор автоматически установится на строке программного кода с ошибкой. Необходимо проверить используемые командой данные. В данном примере ошибка сигнализирует, что переменной ОсновнойСклад не задано значение: при добавлении в список складов программа не понимает, какой склад требуется добавить.
  3. Исправьте ошибку.
    Укажите нужное значение переменной в программном коде, например:
    • ОсновнойСклад = Справочники.Склады.НайтиПоНаименованию(«Основной склад»);
    • ОсновнойСклад = Справочники.Склады.ОсновнойСклад.
      Синтаксис Справочники.Склады.ОсновнойСклад используется только для предопределенного склада с именем ОсновнойСклад:
  4. Сохраните изменения и обновите информационную базу.
  5. Проверьте работу 1С после исправления ошибки.

После исправления отчет открывается без ошибки, а при выборе складов устанавливается нужное значение Основной склад.

Ошибка вывода печатной формы

Для вывода в печатную форму накладной данных об ответственном менеджере, оформившем документ поступления, программист внес изменения в макет ПФ_MXL_Накладная и программный код.

В макет документа добавлена область Подвал:

В программном коде дописан вывод данных области Подвал:

После доработки программы при попытке вывода накладной на печать 1С выдает ошибку:

Информация в окне сообщения об ошибке указывает, что в Модуле менеджера документа ПоступлениеТоваровУслуг не определено значение переменной Ответственный. Для исправления ошибки:

  1. Перейдите в Конфигуратор. В Модуле менеджера документа ПоступлениеТоваровУслуг перейдите на строку 4804.
  2. Укажите для вывода в печатную форму поля Ответственный — текущего пользователя, используя специальную команду 1С:
    • Пользователи.ТекущийПользователь().
  3. Сохраните изменения и обновите информационную базу.
  4. Перейдите в пользовательский режим для проверки выполненных изменений.

После исправления программного кода накладная сформируется без ошибки.

Ошибка исполнения кода на Клиенте

С переходом на управляемые формы в Бухгалтерия 3.0 работы программистам прибавилось.

Язык программирования стал сложнее. Часть команд теперь могут выполняться только на стороне клиента — это, условно говоря, компьютер пользователя, который посылает запросы на исполнение операций серверу. Сервер обрабатывает все поступившие запросы и отсылает обратно клиенту результат обработки данных.

Все это привело к тому, что в 1С команды делятся на исполняемые &НаСервере и &НаКлиенте. И при написании программного кода нужно это учитывать, иначе программа не сможет выполнить заданную операцию. При работе с переменными при написании программного кода важно понимать:

  • &НаКлиенте — переменные существуют только на время клиентского вызова;
  • &НаСервере— переменные существуют только на время серверного вызова.

Разделение команд в программном коде не зависит от того, используете ли вы файловую или клиент-серверную 1С. Разграничение должно четко исполняться, иначе будут возникать ошибки, одну из которых БухЭксперт8 разберет на примере.

При доработке программного кода программист использовал операцию получения данных склада &НаКлиенте в процедуре ПриОткрытии.

При сохранении изменений 1С сообщила об ошибке Переменная не определена (Справочники) при определении значения склада:

  • «?»Справочники.Склады.НайтиПоКоду(«»00-000002»).

Ошибка связана с тем, что данная операция исполняется только на сервере, т. е. &НаСервере. И несмотря на то, что сама команда исполнения корректна, ошибка будет формироваться до тех пор, пока ее не перенесут в область команд исполнения &НаСервере, например так:

Теперь сохранение изменений пройдет без ошибки.

Усложнение языка программирования 1С требует от разработчика более глубокого подхода к вносимым изменениям в программу. Недостаточно просто знать синтаксис команды, важно еще правильно задать область исполнения команды в режиме управляемых форм.

См. также:

  • Большое количество забивается решеткой
  • Печатная форма недоступна 1С 8.3 при вызове внешней печатной формы
  • Значение поля номер не уникально 1С 8.3: как исправить
  • У пользователя недостаточно прав на исполнение операции

Если Вы еще не подписаны:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Здравствуйте!
Самописная конфигурация на платформе 1С:Предприятие 8.3 (8.3.3.641).
Режим Управляемое приложение.
Перенес из модуля формы функцию в ОбщиеМодули и общий модуль перестал инициализироваться.
У модуля ОбщиеМеханизмыКлиента указаны свойства: Клиент (управляемое приложение), Сервер, Вызов сервера.
Выдает ошибку при попытке вызова любой функции модуля:

Цитата Ошибка инициализации модуля: ОбщийМодуль.ОбщиеМеханизмыКлиента.Модуль
по причине:
{ОбщийМодуль.ОбщиеМеханизмыКлиента.Модуль(246,17)}: Тип не определен (Запрос)
Запрос = Новый <<?>>Запрос;
Функция, которая перенесена:
// *************************************************
// * Возвращает остаток на счете на момент времени *
// *************************************************
Функция ПолучитьОстаток(
пСчет, // «Счет», по которому определяется остаток
Знач пМоментВремени = Неопределено // «Момент времени», на который возвращается остаток
) Экспорт
// ======================================
// = Сформировать значения по умолчанию =
// ======================================
Если пМоментВремени = Неопределено Тогда
пМоментВремени = ТекущаяДата();
КонецЕсли;
// ============================================
// = Получить остаток по регистру бухгалтерии =
// ============================================
// Сформировать условие по отобору «Счета»
Отбор = Новый Структура(«Счет», пСчет);
// Выбрать данные
Выборка = РегистрыБухгалтерии.Фин_Отч_ЖурналОпераций.Остатки(пМоментВремени, , Отбор);
// Получить значение остатка
Остаток = Выборка.Итог(«СуммаОстатокДт») — Выборка.Итог(«СуммаОстатокКт»);
// =====================================
// = Добавить «Начальный баланс» счета =
// =====================================

// ——————————-
// — Получить «Начальный баланс» —
// ——————————-
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| НИС_Учт_Сч_Счета.НачальныйБаланс
|ИЗ
| Справочник.НИС_Учт_Сч_Счета КАК НИС_Учт_Сч_Счета
|ГДЕ
| НИС_Учт_Сч_Счета.Счет = &Счет»;
Запрос.УстановитьПараметр(«Счет», пСчет);
РезультатЗапроса = Запрос.Выполнить();

Ошибка означает, что данные в ФН и на фискальной плате не совпадают.
Может произойти при: замене платы FM15/16, при подаче команды авторизации на зарегистрированной кассе, и при сбое электропитания на кассе во время работы (т.к. на фискальной плате стоит энергозависимая память).

Обязательно используйте последнюю версию Fito.
Скачать ее можно тут: «Страница загрузок»

Точно ли эта инструкция мне нужна? (раскрыть)

Да, если:

  • На уже зарегистрированной кассе была заменена фискальная плата FM15/16
  • На уже зарегистрированную кассу была подана команда «Авторизация» или «Тех. Обнуление»
  • На чеке диагностики печатается «Ошибка модуля ФН»: значит, в данных фискальной платы нет информации по организации
  • В Fito стоит галочка «Фатальная ошибка ФН» или «Нефискальный режим»: обязательно проверьте серийный номер на чеке диагностики — совпадает ли он с номером на шильде

Инструкция:

  • Обязательно обновите прошивку!
  • На чеке диагностики заводской номер не совпадает с номером на шильдике
  • Восстановите данные по организации в памяти фискальной платы
  • Восстановите NVR (Счетчики нарастающих итогов)
  • «Ошибка контрольной суммы ОЗУ» — как исправить?

Шаг 1. Обновление прошивки

Проверьте версию прошивки на плате (как это сделать?). Если версия не является последней (последнюю можно найти тут: «Страница загрузок») — обновите ее.

Для Вики Принт, подключенному к ПК это можно сделать Менеджером Обновлений. Для иных случаев прошивайте плату с помощью этой инструкции.

Шаг 2. Команда авторизации

Команда Авторизации сотрёт всё содержимое памяти Вики Принт включая лицензии Дримкас Ключ. Лицензию нужно будет активировать повторно.

Fito → «Сервис» → «Авторизация» → укажите Модель ККТ из списка и последние 6 цифр заводского номера с шильдика → «Выполнить»

Шаг 3. Восстановление данных об организации

Fito → «Сервис» → «Проверка записи регистрации» → «Считать» → сохраните файл в любое место, он нам не нужен.

У вас нет такого пункта в Fito (раскрыть)

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

Закройте Fito и скопируйте файл Fito.ini в папку с утилитой.
На кассах Вики путь к Fito следующий:

Либо можно добавить параметры вручную: откройте текстовым редактором файл Fito.ini и в раздел добавьте строку:
ServAccess=767 (измените цифры на 767, если пункт ServAccess уже есть).

Укажите следующие значения в полях этой таблицы (скриншот ниже):

  1. Серийный номер = если не совпадает с номером на шильде, вернитесь к шагу 2
  2. Регистрационный номер, ИНН, номер ФН — впишите соотв. значения
  3. Версия = 1
  4. Тип ФФД = 2 (если регистрация была по ФФД 1.05) или 1 (если по ФФД 1.0)

Внесли всё?

Нажмите «Записать» и перезагрузите ККТ из режима «Сервис» → «Рестарт ККТ».

Если после перезагрузки на чеке диагностики будет ошибка «Расхождение данных в ФН и NVR» — следуйте инструкции дальше.

Если же выйдет «Ошибка ФН» — значит, третий шаг выполнен некорректно. Вы где-то ошиблись или не сохранили данные. Начните заново с шага №3.

Шаг 4. Перерегистрация без замены ФН

Теперь нужно сделать перерегистрацию, установив СНО и режим работы.

Для начала проверим, что в ФН смена закрыта (ведь на открытой смене перерегистрацию сделать нельзя). Fito → «Тестирование» → «Ручной ввод команд» → Номер команды = 78; параметр 1 = 6 → «Выполнить» → «Детализация ответа». Если смена закрыта, то статус смены будет = 0, открыта = 1.

Если смена открыта в ФН, то нужно в на плате ее тоже открыть, что бы потом закрыть и на плате, и в ФН. Сначала откройте смену, потом закройте.

Как открыть и закрыть смену через Fito? (раскрыть)

Открыть смену: Fito → «Тестирование» → «Ручной ввод команды» → Номер команды = 23, Параметр 1 = имя кассира → «Выполнить»

Закрыть смену: Fito → «Тестирование» → «Печать отчетов» → «Печать z-отчета» → Имя оператора = имя кассира → «Выполнить»

Проверьте настройки отправки чеков:
Fito → «Программирование настроек сети» → «Считать» → заполните URL и порт сервера ОФД → «Установить». Настройки сети можно не заполнять — служба ComProxy сама возьмет их из текущего подключения к интернету.

Теперь можно сделать перерегистрацию:

Fito → «Сервис» → «Регистрация/Снятие с учета» → «Перерегистрация без замены ФН» → заполните все данные в полях (реквизиты организации, данные по ОФД, СНО и режимы работы) → «Выполнить»

Обязательно укажите чуть-чуть другой адрес или наименование организации (например, добавьте лишний пробел). Это нужно, чтобы у перерегистрации была причина. Если делать перерегистрацию с теми же самыми параметрами, на ФФД 1.05 выйдет ошибка.

Шаг 5. Восстановление NVR

Текст ошибки: «РАСХОЖДЕНИЕ НОМЕРОВ СМЕН В ФН И NVR».

Fito → «Сервис» → «Проверка NVR» → «Считать» → сохраните файл в любое место, он нам не нужен → «Умолчание» → заполните поля нарастающий итогов → «Записать»

Нарастающие итоги заполняются без разделителя между рублями и копейками. Например, сумма 28 884.00 записывается как 2888400.
Значения нарастающих итогов нужно взять из последнего z-отчета (если смена открыта, для корректности этих значений к этим цифрам нужно добавить то, что было набито на последней открытой смене — данные можно посмотреть в ОФД или распечатать из ФН).

У вас нет такого пункта в Fito (раскрыть)

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

Закройте Fito и скопируйте файл Fito.ini в папку с утилитой.
На кассах Вики путь к Fito следующий:

Либо можно добавить параметры вручную: откройте текстовым редактором файл Fito.ini и в раздел добавьте строку:
ServAccess=767 (измените цифры на 767, если пункт ServAccess уже есть).

Шаг 6. «Ошибка контрольной суммы ОЗУ»

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

Откройте и закройте смену, ошибка пропадет. Сделать это можно через кассовое ПО или через Fito.

Как открыть и закрыть смену через Fito? (раскрыть)

Открыть смену: Fito → «Тестирование» → «Ручной ввод команды» → Номер команды = 23, Параметр 1 = имя кассира → «Выполнить»

Закрыть смену: Fito → «Тестирование» → «Печать отчетов» → «Печать z-отчета» → Имя оператора = имя кассира → «Выполнить»

Ошибка возникает, когда после точки запятой есть еще код — процедуры, функции, код тела модуля.

Пример кода, вызывающего ошибку:

Процедура ПроверитьТэгиИПоставщиков() Для каждого СтрокаТ из тПоставщиков Цикл Если ПустаяСтрока(СтрокаТ.TAG) или ЗначениеЗаполнено(СтрокаТ.Поставщик) = Ложь Тогда СтрокаТ.Создавать = Ложь; Сообщить(«Не заполнены данные по поставщику «+СтрокаТ.TAG+»!»); КонецЕсли; КонецЦикла; КонецПроцедуры; Процедура ИмяЛокальногоОтветаОткрытие(Элемент, СтандартнаяОбработка) Текст = Новый ТекстовыйДокумент; Текст.Прочитать(ИмяЛокальногоОтвета); Текст.Показать(«Файл ответа»); КонецПроцедуры

Разбор полётов

Сообщение ошибке «Обнаружено логическое завершение исходного текста модуля» возникает, когда вы добавляете функцию/процедуру после «;» даже, если она создается автоматически через конструкторы событий

Ошибка в этой строке:

КонецПроцедуры;

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

1С считает эту «;» частью кода тела модуля, а процедуры/функции в нем недопустимы

Решение простое:

Найти и убрать точку с запятой (необязательно что это будет последняя функция или процедура)

Ошибка обмена правил конвертации данных

Я
   falselight

24.01.17 — 11:57

При выполнении некого обмена, возникает ошибка.

Обмен не выполняется. Как можно начать поиск причины этого

и попытаться устранить возникновение ошибки?

выполнение обмена начинается из,  — Сервис-> Прочие обмены данными-> Все настройки обмена данными — обмен/выполнить обмен по текущей настройке

Ошибка при выгрузке данных для узла плана обмена

    ТипОбъекта             =  Документ объект: Поступление товаров и услуг

    Объект                 =  Поступление товаров и услуг СВ000027019 от 31.12.2016 23:59:59

    ОписаниеОшибки         =  Ошибка при вызове метода контекста (ПроизвестиЧтениеДанных): Произошла исключительная ситуация (1C:Enterprise 8.3.9.1850): Ошибка инициализации модуля: ОбщийМодуль.Модуль

{ОбщийМодуль.Модуль(111,4)}: Переменная не определена (Перем_МеханизмСинонимов)

    ПозицияМодуля          =  Обработка.ОбменДаннымиXML.МодульОбъекта(14447)

    КодСообщения           =  72

    УзелПланаОбмена        =  етта

Окончание выгрузки: 24.01.2017 11:35:07

Произошла ошибка при выгрузке объектов. Было выгружено: 1

   Альбатрос

1 — 24.01.17 — 12:05

Ну так вроде ошибка написана, не?

   falselight

2 — 24.01.17 — 12:18

(1) ну да написана

я хотел подсказку о месте где её искать

   Dark_Warrior

3 — 24.01.17 — 12:27

(2) Попробуйте здесь:

{ОбщийМодуль.Модуль(111,4)}: Переменная не определена (Перем_МеханизмСинонимов)

   Dark_Warrior

4 — 24.01.17 — 12:28

+ (3) Или здесь:

Обработка.ОбменДаннымиXML.МодульОбъекта(14447)

   Альбатрос

5 — 24.01.17 — 12:32

+(3)(4) Если что, цифры в скобках это позиция ошибки в строке

   falselight

6 — 24.01.17 — 12:34

а может в обработчиках правил обмена ещё?

в событиях?

   falselight

7 — 24.01.17 — 12:34

(6+) В режиме предприятия конвертации данных.

   Dark_Warrior

8 — 24.01.17 — 13:11

(7) План обмена типовой? Если самопальный, то, возможно, какого-то обработчика из типового не хватает.

Поставьте точку останова на Обработка.ОбменДаннымиXML.МодульОбъекта(14447) и посмотрите что за переменная Перем_МеханизмСинонимов и где она должна заполняться, тогда поймете каких данных не хватает.

   falselight

9 — 24.01.17 — 13:15

(8) Самописный!

   falselight

10 — 24.01.17 — 14:23

(3) Да пробую отыскать это место, (111,4) — это обозначение какой то строки?

Там просто много раз объявлена эта переменная

   falselight

11 — 24.01.17 — 14:27

(4) но в этой обработке, в её модуле объекта нет такой переменной

   cons74

12 — 24.01.17 — 14:27

ТС, ты про отладчик слышал? А про «Останавливаться по ошибке»?

   falselight

13 — 24.01.17 — 14:36

(12) Ок, попробую этот метод!

то есть, по этой записи строку не выявить?

Обработка.ОбменДаннымиXML.МодульОбъекта(14447)

   falselight

14 — 24.01.17 — 14:41

(12)

Прошелся по нему,

ошибок конечно много встречается

но

что какая то переменная не определена, что в ошибке написана, не встретил

разбираюсь далее

   falselight

15 — 25.01.17 — 07:49

Ребят, как все же можно устранить ошибку?

Ставил останавливаться по ошибке, останавливается, но

ничего выявить не удается.

Переменную что в тексте ошибки увидеть не удается.

Ни в том ни в другом модуле.

Как быть?

   Mankubus

16 — 25.01.17 — 08:16

(13) открой модуль объекта Обработка.ОбменДаннымиXML.МодульОбъекта и поставь точку останова на строке 14447

   falselight

17 — 25.01.17 — 08:17

выявил что есть такой общий модуль, как название переменной

   falselight

18 — 25.01.17 — 08:24

(16) Эта строка вот, —

УспешноПереданыДанные = мОбработкаДляЗагрузкиДанных.ПроизвестиЧтениеДанных(СтрокаОшибкиВБазеПриемнике);    

в переменной СтрокаОшибкиВБазеПриемнике, всегда «»

останавливается несколько раз на этой строке и все(((

потом далее, и ошибка выходит!

   falselight

19 — 26.01.17 — 09:42

(18) но в этой строке просто выводится ошибка

СтрокаСообщенияОбОшибке = ЗаписатьВПротоколВыполнения(72, ЗП, Истина);

в модуле объекта обработки обмен данныи xml

ЗП это структура, текст ошибки, номер строки

почему то документ поступление товаров услуг ещё указан

но как именно устранить эту ошибку не пойму (((( подскажите ?

   h-sp

20 — 26.01.17 — 09:56

(19) ну ОбщийМодуль открой, строку 111

   falselight

21 — 26.01.17 — 10:02

(20) такая строки

_МеханизмСинонимов.ИнициализироватьСинонимыВФорме(ЭтаФорма, КэшЗначений.ОписаниеДанныхФормы);

   falselight

22 — 26.01.17 — 10:19

(20) реально не пойму что поправить, как утсранить ошибку

   Альбатрос

23 — 26.01.17 — 10:22

(22) Чисто на Ванге. В общем модуле, в самом начале у тебя объявление переменных, и там у тебя написано:

Перем_МеханизмСинонимов; А надо Перем МеханизмСинонимов;

   falselight

24 — 26.01.17 — 10:23

(23) не не, с этим нет ошибок

   falselight

25 — 26.01.17 — 10:23

срабатывает исключение в попытке

как вот его найти это место

   Альбатрос

26 — 26.01.17 — 10:30

(25) Остановка по ошибке должна там останавливать, только если у тебя не выполняется на сервере и вырублена отладка на сервере.

   falselight

27 — 26.01.17 — 11:01

(26) Да остановиться по ошибке, там во многих местах останавливается. Но что это место возникновения данной ошибки не определяется.

А если стоит ветвление попытка исключение конец попытки, и срабатывает исключение, то это и есть место возникновения ошибки?

дальше программный код же не будет выполняться?

   Альбатрос

28 — 26.01.17 — 11:02

(27) Чой то не будет? Будет.

   h-sp

29 — 26.01.17 — 11:05

(24) тогда в самом низу этого общего модуля смотрите. В общем запустить поиск в ОбщийМодуль слова Перем_МеханизмСинонимов

   h-sp

30 — 26.01.17 — 11:07

(24) и вообще в ОбщийМодуль нажми синтаксический контроль

   falselight

31 — 26.01.17 — 11:10

Поступление товаров и услуг СВ000027019 от 31.12.2016 23:59:59

вот этот документ указан в ошибке

срабатывает это на вот этой строке

ВыгрузкаОбъектаВыборки(ОбъектДляПравилВыгрузки, ТекущаяСтрокаПравилаВыгрузки, , ИсходящиеДанные, НеВыгружатьОбъектыПоСсылкам);

на ней же срабатывает исключение, сейчас буду разбираться с этой строкой

ничего это не выявляет????

()

   falselight

32 — 27.01.17 — 14:26

вот на этой строке выходит ошибка, и по F11

не заходит в процедуру, как быть?

Сваливается в исключение где выводится текст ошибки.

        УспешнаяВыгрузкаИзПриемника = ОбработкаОбменаПриемника.ВыполнитьВыгрузку(Истина, СтрокаСообщенияОбОшибке,

            СтрокаСообщенияОбОшибкеОтложенныеДвиженияДокументов,

            СтруктураНастроекОбменаДанными.ДанныеНастройки.ПослеОшибкиОтложенногоПроведенияПрекратитьОперации, СтруктураНастроекОбменаДанными.ДанныеНастройки.КоличествоОшибокОтложенногоПроведенияДляПрекращенияОперации);

   h-sp

33 — 27.01.17 — 15:58

(32) вы вообще ответы не читаете. У вас синтаксическая ошибка в модуле этом. Написано же «Ошибка инициализации модуля: ОбщийМодуль.Модуль »

То есть ошибка при инициализации модуля. Модуль не инициализирован, а вы про какие-то процедуры. Процедур вообще нет еще. Ни одной. они возникнут, когда модуль проинициализируется.

   falselight

34 — 27.01.17 — 16:20

(33) да спасибо!

Новая ошибка. Подскажите пожалуйста как начинать решать, где смотреть?

Утомился, плохо соображаю, —

бка в глобальном обработчике события ПередВыгрузкойОбъекта (конвертация)

    ПВД                    =  бит_ЗаявкаНаРасходованиеСредств

    Объект                 =  Заявка на расходование ДС СВ000022494 от 16.12.2016 11:09:53  (Документ объект: Заявка на расходование денежных средств (БИТ))

    Обработчик             =  ПередВыгрузкойОбъектаВыборки (глобальный)

    ОписаниеОшибки         =  Ошибка при вызове метода контекста (ПринадлежитЭлементу): Элемент не выбран!

    ПозицияМодуля          =  (33)

    КодСообщения           =  65

Ошибка при выгрузке данных для узла плана обмена

    ТипОбъекта             =  Документ объект: Заявка на расходование денежных средств (БИТ)

    Объект                 =  Заявка на расходование ДС СВ000022494 от 16.12.2016 11:09:53

    ОписаниеОшибки         =  Ошибка в глобальном обработчике события ПередВыгрузкойОбъекта (конвертация)

    ПВД                    =  бит_ЗаявкаНаРасходованиеСредств

    Объект                 =  Заявка на расходование ДС СВ000022494 от 16.12.2016 11:09:53  (Документ объект: Заявка на расходование денежных средств (БИТ))

    Обработчик             =  ПередВыгрузкойОбъектаВыборки (глобальный)

    ОписаниеОшибки         =  Ошибка при вызове метода контекста (ПринадлежитЭлементу): Элемент не выбран!

    ПозицияМодуля          =  (33)

    КодСообщения           =  65

    ПозицияМодуля          =  Обработка.ОбменДаннымиXML.МодульОбъекта(1667)

    КодСообщения           =  72

  

falselight

35 — 28.01.17 — 09:02

Пишу в процедуре ПередВыгрузкойОбъекта сообщить()

но сообщить при выгрузке не показывается.

Перенес сообщить() в процедуру передВыгрузкойДанных

сообщить показалось!!!

Но я хотел бы смотреть реквизиты самих объектов перед выгрузкой, а точнее вот этого кода, —

ПодразделениеФильтр = Справочники.ПодразделенияОрганизаций.НайтиПоКоду(«СВ0000028»);    // КХМ ПОРТ САЛЕ

// 2017_01_28 ->

Сообщить(«Подразделение фильтр: » + СТРОКА(ПодразделениеФильтр));

// <-

Если Объект.Метаданные().Реквизиты.Найти(«бит_мат_Подразделение») <> Неопределено

    И НЕ(Объект.бит_мат_Подразделение.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.бит_мат_Подразделение = ПодразделениеФильтр) Тогда

    Отказ = Истина;

ИначеЕсли Объект.Метаданные().Реквизиты.Найти(«СтруктурноеПодразделение») <> Неопределено

    И НЕ(Объект.СтруктурноеПодразделение.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.СтруктурноеПодразделение = ПодразделениеФильтр) Тогда

    Отказ = Истина;

ИначеЕсли Объект.Метаданные().Реквизиты.Найти(«Подразделение») <> Неопределено

    И НЕ(Объект.Подразделение.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.Подразделение = ПодразделениеФильтр) Тогда

    Отказ = Истина;

ИначеЕсли Объект.Метаданные().Реквизиты.Найти(«ПодразделениеОрганизации») <> Неопределено

    И НЕ(Объект.ПодразделениеОрганизации.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.ПодразделениеОрганизации = ПодразделениеФильтр) Тогда

    Отказ = Истина;

ИначеЕсли Объект.Метаданные().Реквизиты.Найти(«ПодразделениеЗатрат») <> Неопределено

    И НЕ(Объект.ПодразделениеЗатрат.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.ПодразделениеЗатрат = ПодразделениеФильтр) Тогда

    Отказ = Истина;

ИначеЕсли Объект.Метаданные().Реквизиты.Найти(«ПодразделениеЗатратБаза») <> Неопределено

    И НЕ(Объект.ПодразделениеЗатратБаза.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.ПодразделениеЗатратБаза = ПодразделениеФильтр) Тогда

    Отказ = Истина;

ИначеЕсли Объект.Метаданные().Реквизиты.Найти(«ПодразделениеРасчетов») <> Неопределено

    И НЕ(Объект.ПодразделениеРасчетов.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.ПодразделениеРасчетов = ПодразделениеФильтр) Тогда

    Отказ = Истина;

ИначеЕсли Объект.Метаданные().Реквизиты.Найти(«ПодразделениеДт») <> Неопределено И Объект.Метаданные().Реквизиты.Найти(«ПодразделениеКт») <> Неопределено

    И (НЕ(Объект.ПодразделениеДт.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.ПодразделениеДт = ПодразделениеФильтр)

    И НЕ(Объект.ПодразделениеКт.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.ПодразделениеКт = ПодразделениеФильтр)) Тогда

    Отказ = Истина;

ИначеЕсли Объект.Метаданные().Реквизиты.Найти(«ПодразделениеПолучатель») <> Неопределено И Объект.Метаданные().Реквизиты.Найти(«ПодразделениеОтправитель») <> Неопределено

    И (НЕ(Объект.ПодразделениеПолучатель.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.ПодразделениеПолучатель = ПодразделениеФильтр)

    И НЕ(Объект.ПодразделениеОтправитель.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.ПодразделениеОтправитель = ПодразделениеФильтр)) Тогда

    Отказ = Истина;

ИначеЕсли Объект.Метаданные().Реквизиты.Найти(«Подразделение») <> Неопределено И Объект.Метаданные().Реквизиты.Найти(«ПодразделениеОтправитель») <> Неопределено

    И (НЕ(Объект.Подразделение.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.Подразделение = ПодразделениеФильтр)

    И НЕ(Объект.ПодразделениеОтправитель.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.ПодразделениеОтправитель = ПодразделениеФильтр)) Тогда

    Отказ = Истина;

КонецЕсли;

вставлен он в событии КД ПередВыгрузкойОбъекта. Как мне смотреть реквизиты подразделений объекта?

Ошибка появляется, как правило, при обновлении типовой конфигурации 1С:Предприятие. Так случилось у клиента при обновлении БП. Процесс завершался ошибкой инициализации модуля EF_00_00304732, а в Журнале регистрации фиксировалось исключение «Не удалось обновить исправления конфигурации».

Полный текст ошибки

ОбщийМодуль.ПользователиСлужебный.Модуль
{EF_00_00304732 ОбщийМодуль.ПользователиСлужебный.Модуль(50,9)}:
Процедура или функция с указанным именем уже определена (ВерсияРежимаСовместимости)

Проблема в том, что программа не может автоматически удалить ранее установленный патч с исправлениями.

При установке очередного обновления конфигурации не происходит автоматического удаления утратившего актуальность патча. Или процесс не может его обновить/повторно зарегистрировать. Это приводит к ошибкам и не дает корректно завершить процедуру обновления.

Решение: проблемный патч необходимо удалить вручную. И далее, повторно запустить обновление.

Первым делом — обязательный бэкап информационной базы. Железное правило. Как хотите, но сделайте.

Как удалить патч вручную, если он не удаляется автоматически

  1. В режиме 1С:Предприятие

► Меню «Администрирование — Обслуживание — раздел «Обновление программ» — Установленные исправления (патчи)»

Откроется список. Выберите патч, который необходимо удалить, и нажмите кнопку «Удалить исправление».

► Альтернативный способ открыть список исправлений: «Главное меню — Все функции — Стандартные — Управление расширениями конфигурации».

  1. В режиме Конфигуратор

В главном меню нажмите «Конфигурация — Расширения конфигурации». Если пункт недоступен, то сначала выполните команду «Конфигурация — Открыть конфигурацию».

В окне со списком установленных расширений выберите удаляемый патч и нажмите кнопку «Удалить»; или нажмите пункт «Действия — Удалить».

После удаления «мешающего» патча вы с большой долей вероятности сможете успешно обновить свою конфигурацию.

Если не получается или требуется дополнительная поддержка, наши программисты 1С готовы помочь. +7-911-500-10-11

Что означает опция «не придавать слишком большого значения предупреждениям»?    оглавление    Как удалить проблемное расширение (исправление, патч) в базовой версии 1с, если база не запускается?

2021-09-17T13:46:33+00:00

Вот пример такой ошибки при обновлении конфигурации:

03:45 [1с] Принятие изменений…
03:45 [1с] Обновление конфигурации базы данных успешно завершено
03:45 [1с] Построение индекса справки…
03:46 Удаляются исправления (патчи). Зачем?
03:46 [1с] Ошибка: ошибка инициализации модуля: ef_1954 общиймодуль.работавмоделисервиса.модуль.
03:46 Разблокировка базы.

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

В этом случае необходимо:

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

2. Удалить патч (исправление) с именем EF_???? (в отчёте выше это EF_1954):

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

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Что означает опция «не придавать слишком большого значения предупреждениям»?    оглавление    Как удалить проблемное расширение (исправление, патч) в базовой версии 1с, если база не запускается?

Платформа: 1С:Предприятие 8.3 (8.3.13.1513)
Конфигурация: 1С:Предприятие 8. Автосервис (1.6.15.39) (

http://v8.1c.ru/small/

)
Copyright © ООО «1С-Софт», 2009-2018. Все права защищены
(

http://www.1c.ru

)
Режим: Серверный (сжатие: усиленное)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Такси

Ошибки:
———————————————————————————
25.11.2018 3:55:11
Ошибка инициализации модуля: ОбщийМодуль.АдресныйКлассификаторСлужебный.Модуль
по причине:
{ОбщийМодуль.АдресныйКлассификаторСлужебный.Модуль(1,1)}: Обнаружено логическое завершение исходного текста модуля
<<?>><�X���e�FLz�v���YRx;�����; I�LVg��Mf=R፡ �i��}I��YCD�»�A�FPNl@`Ruw1�^��KT�ׯw|BC

//—————————————————————————————————————————————————————————————
При запуске базы в файловом варианте, ошибок нет.
При открытии «ОбщийМодуль.АдресныйКлассификаторСлужебный.Модуль» — ничего подозрительного нет.
Тестирование и исправление делал, не помогает.
Запускал на другой платформе, не помогает.
Обновил сервер лицензирования, драйвер ключей, не помогает.
Помогите решить проблему. Спасибо!

Изменено: Игорь Быстров24.11.2018 21:30:20

Понравилась статья? Поделить с друзьями:
  • Ошибка инициализации интерфейса администрирования kadm5
  • Ошибка инициализации модуля обработка модульобъекта
  • Ошибка инициализации директ икс 11
  • Ошибка инициализации интеграция с 1с документооборот
  • Ошибка инициализации модуля модульменеджера переменная не определена