База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку при вызове метода контекста (Записать)?
- В этой теме 1 ответ, 2 участника, последнее обновление 3 дня, 23 часа назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
13 января 2026 в 15:15 #35450
Ошибка при вызове метода контекста (Записать)
{ОбщийМодуль.СтандартныеПодсистемыПовтИсп.Модуль(98)}:ВызватьИсключение(ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
{ОбщийМодуль.ОбщегоНазначения.Модуль(2407)}:ОписанияПодсистем = СтандартныеПодсистемыПовтИсп.ОписанияПодсистем();
{ОбщийМодуль.ВидыПриложенийУНФ.Модуль(95)}:ДополнительныеСвойства.Вставить(«ИдентификаторИнтернетПоддержки»,
{ОбщийМодуль.ВидыПриложенийПереопределяемый.Модуль(24)}:ВидыПриложенийУНФ.ПриОпределенииДопСвойствБазовогоВидаПриложения(ДополнительныеСвойства);
{ОбщийМодуль.ВидыПриложенийСервер.Модуль(273)}:ВидыПриложенийПереопределяемый.ПриОпределенииДопСвойствБазовогоВидаПриложения(ВидПриложения.ДополнительныеСвойства);
{ОбщийМодуль.ВидыПриложенийСервер.Модуль(95)}:ИмяТекущегоВидаПриложения = БазовыйВидПриложения().Имя;
{ОбщийМодуль.ВидыПриложенийУНФ.Модуль(30)}:Возврат ВидыПриложенийСервер.ИмяТекущегоВидаПриложения();
{ОбщийМодуль.ВозможностиПриложения.Модуль(539)}:ИмяТекущегоПриложения = ВидыПриложенийУНФ.ИмяТекущегоВидаПриложения(ОбластьДанных);
{ОбщийМодуль.ОбщегоНазначенияУНФ.Модуль(14)}:Возврат ВозможностиПриложения.ЭтоУНФ(ОбластьДанных);
{ОбщийМодуль.ОбменДаннымиУНФ.Модуль(21)}:Если ПолучитьФункциональнуюОпцию(«РаботаВЛокальномРежиме»)
{ОбщийМодуль.ОбменДаннымиПереопределяемый.Модуль(36)}:ОбменДаннымиУНФ.ПолучитьПланыОбмена(ПланыОбменаПодсистемы);
{ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(1036)}:ОбменДаннымиПереопределяемый.ПолучитьПланыОбмена(ПланыОбменаПодсистемы);
{ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(228)}:Возврат СписокПлановОбменаБСП().ВыгрузитьЗначения();
{ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(499)}:Для Каждого ИмяПланаОбмена Из ПланыОбменаБСП() Цикл
{ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(971)}:Возврат РазделенныеПланыОбменаБСП().Найти(ПолучитьИмяПланаОбмена(УзелИнформационнойБазы)) <> Неопределено;
{ОбщийМодуль.ОбменДаннымиСобытия.Модуль(779)}:Если Источник.ЭтоНовый() И ОбменДаннымиПовтИсп.ЭтоУзелРазделенногоОбменаДаннымиБСП(Источник.Ссылка) Тогда
{Обработка.ДатаМобайл_АРМДиспетчера.Форма.Управляемая.Форма(2042)}:НовыйУзел.Записать();
{Обработка.ДатаМобайл_АРМДиспетчера.Форма.Управляемая.Форма(2019)}:СоздатьНовыйУзел();[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
Ошибка при подготовке описаний подсистем:
в общих модулях, указанных в процедуре ПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистемы,
не существует описание подсистемы, совпадающей с именем конфигурации «Конфигурация».
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка, ОшибкаКонфигурации] -
13 января 2026 в 15:15 #35451
Dmitry, привет!
Ошибка говорит, что в процедуре `ПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистемы` пытается найти описание подсистемы с именем, совпадающим с именем конфигурации — в твоём случае «Конфигурация», но такого описания нет. Это классическая проблема при внедрении Библиотеки стандартных подсистем (БСП) в новую или кастомную конфигурацию.
Причина ошибки:
В процедуре `ПриДобавленииПодсистемы` общего модуля, который отвечает за описание подсистем, нужно обязательно добавить описание подсистемы с именем, совпадающим с именем твоей конфигурации. Если этого не сделать, при старте или записи данных возникает ошибка, что описание подсистемы не найдено.Как исправить:
1. Найди общий модуль `ОбновлениеИнформационнойБазы` (или его копию, если ты создавал с заменой имени, например `ОбновлениеИнформационнойБазыМК`).
2. В процедуре `ПриДобавленииПодсистемы(Описание)` обязательно укажи имя и версию конфигурации, например:
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Описание.Имя = "Конфигурация"; // Здесь укажи точное имя своей конфигурации Описание.Версия = "1.0.0.0"; // Версию конфигурации по необходимости // Обязательно добавь требуемые подсистемы, например: Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы"); КонецПроцедуры3. В общем модуле `ПодсистемыКонфигурацииПереопределяемый` в процедуре `ПриДобавленииПодсистемы` добавь строку подключения твоего модуля обновления:
МодулиПодсистем.Добавить("ОбновлениеИнформационнойБазыМК"); // Имя твоего модуля4. Проверь, что имя, которое ты указал в `Описание.Имя` совпадает с именем конфигурации, указанным в свойствах конфигурации (в конфигураторе: Конфигурация -> Свойства).
5. После внесения изменений пересобери конфигурацию, перезапусти базу.
Если не сделать этого, то при попытке записи или обновления БСП будет ошибка, что описание подсистемы с именем конфигурации не найдено.
—
Если хочешь, могу показать пример полного кода процедуры `ПриДобавленииПодсистемы` для новой конфигурации на базе БСП:
Процедура ПриДобавленииПодсистемы(Описание) Экспорт // Имя и версия конфигурации Описание.Имя = "Конфигурация"; // Заменить на имя вашей конфигурации Описание.Версия = "1.0.0.0"; // Обязательная библиотека стандартных подсистем Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы"); // Здесь можно добавить свои подсистемы, если нужно // Описание.ТребуемыеПодсистемы.Добавить("МояПодсистема"); КонецПроцедуры—
Рекомендую посмотреть подробную инструкцию по внедрению БСП с нуля, где описан этот момент:
Там подробно расписано, как создавать модуль обновления, как прописывать процедуру `ПриДобавленииПодсистемы` и что делать с общим модулем `ПодсистемыКонфигурацииПереопределяемый`.
—
Если ошибка возникла в УНФ, то там тоже используется похожий механизм, и нужно проверить, что имя конфигурации в процедуре совпадает с реальным именем.
—
Итог: ошибка возникает из-за отсутствия описания подсистемы с именем конфигурации в процедуре `ПриДобавленииПодсистемы`. Добавь это описание, и ошибка уйдет.
—
Если нужна помощь с конкретным кодом — могу помочь написать или проверить.
—
Dmitry, если хочешь, могу помочь с примером кода для твоей конкретной конфигурации.
—
Удачи в разработке!
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.