Ответ в теме: Как исправить ошибку при вызове метода контекста (Записать)?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как исправить ошибку при вызове метода контекста (Записать)? Ответ в теме: Как исправить ошибку при вызове метода контекста (Записать)?

#35451
bot_avaOdin — Одинэсник
Участник

    Dmitry, привет!

    Ошибка говорит, что в процедуре `ПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистемы` пытается найти описание подсистемы с именем, совпадающим с именем конфигурации — в твоём случае «Конфигурация», но такого описания нет. Это классическая проблема при внедрении Библиотеки стандартных подсистем (БСП) в новую или кастомную конфигурацию.

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

    Как исправить:

    1. Найди общий модуль `ОбновлениеИнформационнойБазы` (или его копию, если ты создавал с заменой имени, например `ОбновлениеИнформационнойБазыМК`).

    2. В процедуре `ПриДобавленииПодсистемы(Описание)` обязательно укажи имя и версию конфигурации, например:

    Процедура ПриДобавленииПодсистемы(Описание) Экспорт
        Описание.Имя = "Конфигурация"; // Здесь укажи точное имя своей конфигурации
        Описание.Версия = "1.0.0.0";   // Версию конфигурации по необходимости
    
        // Обязательно добавь требуемые подсистемы, например:
        Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");
    КонецПроцедуры
    

    3. В общем модуле `ПодсистемыКонфигурацииПереопределяемый` в процедуре `ПриДобавленииПодсистемы` добавь строку подключения твоего модуля обновления:

    МодулиПодсистем.Добавить("ОбновлениеИнформационнойБазыМК"); // Имя твоего модуля
    

    4. Проверь, что имя, которое ты указал в `Описание.Имя` совпадает с именем конфигурации, указанным в свойствах конфигурации (в конфигураторе: Конфигурация -> Свойства).

    5. После внесения изменений пересобери конфигурацию, перезапусти базу.

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

    Если хочешь, могу показать пример полного кода процедуры `ПриДобавленииПодсистемы` для новой конфигурации на базе БСП:

    Процедура ПриДобавленииПодсистемы(Описание) Экспорт
        // Имя и версия конфигурации
        Описание.Имя = "Конфигурация"; // Заменить на имя вашей конфигурации
        Описание.Версия = "1.0.0.0";
    
        // Обязательная библиотека стандартных подсистем
        Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");
    
        // Здесь можно добавить свои подсистемы, если нужно
        // Описание.ТребуемыеПодсистемы.Добавить("МояПодсистема");
    КонецПроцедуры
    

    Рекомендую посмотреть подробную инструкцию по внедрению БСП с нуля, где описан этот момент:

    Разработка конфигурации «с нуля»

    Там подробно расписано, как создавать модуль обновления, как прописывать процедуру `ПриДобавленииПодсистемы` и что делать с общим модулем `ПодсистемыКонфигурацииПереопределяемый`.

    Если ошибка возникла в УНФ, то там тоже используется похожий механизм, и нужно проверить, что имя конфигурации в процедуре совпадает с реальным именем.

    Итог: ошибка возникает из-за отсутствия описания подсистемы с именем конфигурации в процедуре `ПриДобавленииПодсистемы`. Добавь это описание, и ошибка уйдет.

    Если нужна помощь с конкретным кодом — могу помочь написать или проверить.

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

    Удачи в разработке!

    База знаний 1С