Как исправить ошибку «Неизвестное имя формы. Имя: "ОбщаяФорма.ПрисоединенныеФайлы"» в 1С

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При работе в современных конфигурациях, таких как 1С:ITIL, 1С:ERP или 1С:Управление торговлей, пользователи и администраторы иногда сталкиваются с неприятной ошибкой: «Неизвестное имя формы. Имя: "ОбщаяФорма.ПрисоединенныеФайлы"». Эта проблема блокирует доступ к присоединенным файлам (документам, изображениям, скан-копиям), что критично для бизнес-процессов. Разберем детально, почему это происходит и как восстановить работоспособность системы.

Выясняем причину возникновения ошибки

Первым делом проанализируем ситуацию. Данная ошибка чаще всего возникает после обновления конфигурации или установки расширений. Основная причина кроется в архитектуре Библиотеки стандартных подсистем (БСП), на которой построена конфигурация ITIL. В старых версиях БСП (до версии 3.0) подсистема работы с файлами действительно использовала общую форму с идентификатором ОбщаяФорма.ПрисоединенныеФайлы.

Однако в ходе развития платформы и библиотек разработчики 1С провели рефакторинг. В новых редакциях форма была либо переименована, либо логика работы с файлами была перенесена непосредственно внутрь справочников (например, Справочник.ПрисоединенныеФайлы.ФормаСписка) или в другие общие формы. Если программный код или расширение пытается обратиться к объекту по старому имени, которого больше нет в дереве метаданных конфигуратора, система выдает исключение.

Шаг 1: Проверка расширений конфигурации

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

  1. Перейдем в раздел Администрирование — Печатные формы, отчеты и обработки — Расширения.
  2. Временно отключим все активные расширения (снимем галочку «Активно»).
  3. Перезапустим сеанс пользователя и попробуем снова открыть присоединенные файлы.

Если ошибка исчезла, значит, проблему нужно искать в коде расширения. Вам потребуется открыть расширение в конфигураторе и выполнить поиск строки "ОбщаяФорма.ПрисоединенныеФайлы" для исправления ссылки на актуальный объект.

Шаг 2: Глобальный поиск по конфигурации

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

  1. Откроем базу в режиме Конфигуратор.
  2. Нажмем комбинацию клавиш Ctrl+Shift+F для вызова окна глобального поиска.
  3. В строке поиска введем текст: "ОбщаяФорма.ПрисоединенныеФайлы" (обязательно в кавычках).
  4. Нажмем кнопку «Искать».

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


ПараметрыФормы = Новый Структура("ВладелецФайлов", СсылкаНаОбъект);
ОткрытьФорму("ОбщаяФорма.ПрисоединенныеФайлы", ПараметрыФормы);

Шаг 3: Исправление программного вызова

После того как мы обнаружили некорректный вызов, его необходимо заменить. В современных версиях БСП для открытия списка файлов рекомендуется использовать программный интерфейс общего модуля РаботаСФайламиКлиент. Проанализируем пример правильного вызова:


// Вместо прямого открытия формы используйте стандартный метод БСП
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("ЗначениеПараметра", СсылкаНаОбъект);
РаботаСФайламиКлиент.ОткрытьФормуПрисоединенныхФайлов(ПараметрыОткрытия);

Если же ваша конфигурация требует именно прямого обращения к форме, выясним ее актуальное имя в дереве метаданных. Развернем ветку Общие -> Общие формы и найдем похожую по смыслу форму (например, ФормаПрисоединенныхФайлов или ПрисоединенныеФайлы). Замените старое имя в коде на актуальное.

Шаг 4: Сравнение и объединение с эталонной конфигурацией

Если форма ОбщаяФорма.ПрисоединенныеФайлы должна быть в системе (согласно документации разработчика ITIL), но она исчезла, возможно, произошел сбой при обновлении («затерли» объект). В этом случае выполним следующие действия:

  1. Найдем файл поставки (.cf) вашей текущей версии конфигурации.
  2. В конфигураторе выберем меню Конфигурация — Сравнить, объединить с конфигурацией из файла.
  3. В дереве сравнения найдем раздел Общие формы.
  4. Если там присутствует ПрисоединенныеФайлы, отметим ее галочкой и нажмем «Выполнить».

Важно: Будьте осторожны при объединении, чтобы не сбросить другие доработки системы.

Шаг 5: Проверка функциональных опций и кэша

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

Резюме

Проблема «Неизвестное имя формы» — это классический признак рассинхронизации кода и метаданных. Мы разобрали, что наиболее эффективным решением является глобальный поиск по конфигурации и последующая правка вызова в пользу стандартных методов БСП. Если вы используете отраслевое решение типа ITIL, рекомендуется также проверить наличие патчей от разработчика (Рарус или другие вендоры), так как подобные ошибки в тиражных решениях обычно исправляются оперативными выпусками исправлений.

← На главную