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

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #35450
      Фото аватараOdineski
      Участник

        Ошибка при вызове метода контекста (Записать)
        {ОбщийМодуль.СтандартныеПодсистемыПовтИсп.Модуль(98)}:ВызватьИсключение(ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
        {ОбщийМодуль.ОбщегоНазначения.Модуль(2407)}:ОписанияПодсистем = СтандартныеПодсистемыПовтИсп.ОписанияПодсистем();
        {ОбщийМодуль.ВидыПриложенийУНФ.Модуль(95)}:ДополнительныеСвойства.Вставить(«ИдентификаторИнтернетПоддержки»,
        {ОбщийМодуль.ВидыПриложенийПереопределяемый.Модуль(24)}:ВидыПриложенийУНФ.ПриОпределенииДопСвойствБазовогоВидаПриложения(ДополнительныеСвойства);
        {ОбщийМодуль.ВидыПриложенийСервер.Модуль(273)}:ВидыПриложенийПереопределяемый.ПриОпределенииДопСвойствБазовогоВидаПриложения(ВидПриложения.ДополнительныеСвойства);
        {ОбщийМодуль.ВидыПриложенийСервер.Модуль(95)}:ИмяТекущегоВидаПриложения = БазовыйВидПриложения().Имя;
        {ОбщийМодуль.ВидыПриложенийУНФ.Модуль(30)}:Возврат ВидыПриложенийСервер.ИмяТекущегоВидаПриложения();
        {ОбщийМодуль.ВозможностиПриложения.Модуль(539)}:ИмяТекущегоПриложения = ВидыПриложенийУНФ.ИмяТекущегоВидаПриложения(ОбластьДанных);
        {ОбщийМодуль.ОбщегоНазначенияУНФ.Модуль(14)}:Возврат ВозможностиПриложения.ЭтоУНФ(ОбластьДанных);
        {ОбщийМодуль.ОбменДаннымиУНФ.Модуль(21)}:Если ПолучитьФункциональнуюОпцию(«РаботаВЛокальномРежиме»)
        {ОбщийМодуль.ОбменДаннымиПереопределяемый.Модуль(36)}:ОбменДаннымиУНФ.ПолучитьПланыОбмена(ПланыОбменаПодсистемы);
        {ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(1036)}:ОбменДаннымиПереопределяемый.ПолучитьПланыОбмена(ПланыОбменаПодсистемы);
        {ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(228)}:Возврат СписокПлановОбменаБСП().ВыгрузитьЗначения();
        {ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(499)}:Для Каждого ИмяПланаОбмена Из ПланыОбменаБСП() Цикл
        {ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(971)}:Возврат РазделенныеПланыОбменаБСП().Найти(ПолучитьИмяПланаОбмена(УзелИнформационнойБазы)) <> Неопределено;
        {ОбщийМодуль.ОбменДаннымиСобытия.Модуль(779)}:Если Источник.ЭтоНовый() И ОбменДаннымиПовтИсп.ЭтоУзелРазделенногоОбменаДаннымиБСП(Источник.Ссылка) Тогда
        {Обработка.ДатаМобайл_АРМДиспетчера.Форма.Управляемая.Форма(2042)}:НовыйУзел.Записать();
        {Обработка.ДатаМобайл_АРМДиспетчера.Форма.Управляемая.Форма(2019)}:СоздатьНовыйУзел();

        [ОшибкаВоВремяВыполненияВстроенногоЯзыка]
        по причине:
        Ошибка при выполнении обработчика — ‘ПередЗаписью’
        по причине:
        Ошибка при подготовке описаний подсистем:
        в общих модулях, указанных в процедуре ПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистемы,
        не существует описание подсистемы, совпадающей с именем конфигурации «Конфигурация».
        [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка, ОшибкаКонфигурации]

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

          Dmitry, привет!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С