Какие действия нужно выполнить, чтобы исправить ошибку при печати документа в 1С:Трактир?

Добрый вечер, коллеги. Возникла проблема с 1С «Трактир БекОфис» после обновления — прошу помощи на возмездной основе. <br/> Коротко по ситуации: база 1С «Трактир БекОфис» не обновлялась с 2016 года. При попытке обновить её печать документа перестала работать. Повторная загрузка обновлений и повторные накаты не устранили проблему — постоянно возникают ошибки. Нужно восстановить печать документа. <br/> <br/> Текст ошибки <br/> Ошибка при вызове метода контекста (Выполнить) <br/> {ВнешняяОбработка.ИА_БанкетныеЛисты2.МодульОбъекта(158)}:ТЗДопУслуги = ЗапросДопУслуги.Выполнить().Выгрузить(); <br/> {ВнешняяОбработка.ИА_БанкетныеЛисты2.МодульОбъекта(50)}:ТабДок = ПечатьЛисты(МассивОбъектов, ОбъектыПечати); <br/> {ОбщийМодуль.УправлениеПечатью.Модуль(2131)}:ВнешняяОбработкаОбъект.Печать( <br/> {ОбщаяФорма.ПечатьДокументов.Форма(793)}:УправлениеПечатью.ПечатьПоВнешнемуИсточнику( <br/> {ОбщаяФорма.ПечатьДокументов.Форма(61)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ); <br/> {ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(345)}:ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор)); <br/> {ОбщийМодуль.УправлениеПечатьюГлобальный.Модуль(13)}:УправлениеПечатьюСлужебныйКлиент.ПродолжитьВыполнениеКомандыПечати(); <br/> <br/> [ОшибкаВоВремяВыполненияВстроенногоЯзыка] <br/> по причине: <br/> {(13, 2)}: Таблица не найдена "Документ.СБ_ПланМеню.ИА_ДопУслуги" <br/> <<?>>Документ.СБ_ПланМеню.ИА_ДопУслуги КАК СБ_ПланМенюИА_ДопУслуги <br/> <br/> Есть рабочая копия базы, где печатная форма работает, и копия, где не работает. Возможно ли как-то подтянуть (скопировать) из рабочей базы недостающие макеты/таблицы/обработки или иным способом восстановить печать? Как лучше действовать?
  • 22 февраля 2026 г. 17:04
Ответы на вопрос 2
Коротко — причина в том, что печатная форма содержит запрос, который обращается к табличной части/таблице метаданных "Документ.СБ_ПланМеню.ИА_ДопУслуги", а в «сломанной» базе этой табличной части (или соответствующей метаданных) нет. Поэтому Запрос.Выполнить().Выгрузить() падает с «Таблица не найдена».

Что нужно сделать — план действий (безопасно, по шагам):

1. Подготовка (обязательно)
- Сделайте полные резервные копии обеих баз (рабочей и проблемной). Работать только с копиями.
- Уточните версии платформы 1С (платформа, релиз конфигурации) в обеих копиях — они должны быть совместимы.

2. Найдите место ошибки в коде
- Откройте конфигуратор проблемной копии и откройте объект ВнешняяОбработка.ИА_БанкетныеЛисты2 (модуль объекта).
- Перейдите к строке, указанной в ошибке, и найдите текст запроса (ЗапросДопУслуги). Посмотрите, где в тексте запроса используется Документ.СБ_ПланМеню.ИА_ДопУслуги — это даст понимание, что именно ожидается (структура полей).

3. Сравнение конфигураций
- В конфигураторе используйте «Сравнить и объединить конфигурации» (или «Конфигурация → Сравнить конфигурации»), сравните рабочую конфигурацию и проблемную.
- Обратите внимание на объекты: Документы → СБ_ПланМеню (наличие/название табличных частей), Внешние обработки (ИА_БанкетныеЛисты2), Общие формы/макеты/макеты печатных форм, общие модули, поддержка печати.
- Зафиксируйте отличия: отсутствующие табличные части, отличия имен табличных частей, отсутствующие макеты/обработки.

4. Восстановление недостающих метаданных
Варианты в зависимости от ситуации:
a) Если в рабочей базе есть табличная часть СБ_ПланМеню.ИА_ДопУслуги, а в проблемной нет — восстановите её:
   - В конфигураторе проблемной базы объедините из рабочей конфигурации объект Документ.СБ_ПланМеню (или только табличную часть) через механизм сравнения/слияния конфигураций.
   - При слиянии внимательно просмотрите изменения и примите их. После слияния выполните «Синхронизацию конфигурации с базой данных» (обновление базы).
b) Если слияние невозможно (конфликт версий), создайте табличную часть вручную в документе с тем же именем и полями (по образцу рабочей базы). Поля должны совпадать по именам и типам, которые ожидает запрос.
c) Если проблема в внешней обработке / макете: экспортируйте наружную обработку (.epf/.erf) или макеты из рабочей базы и импортируйте в проблемную (через конфигуратор или в режиме предприятия — загрузка внешней обработки/макета).

5. Проверка SQL-запроса
- Откорректируйте текст запроса, если табличная часть в конфигурации называется иначе. Либо исправьте имена в запросе, либо восстановите прежние имена табличных частей.
- Если запрос использует конструкцию «Документ.ИмяДокумента.ИмяТабЧасти», убедитесь, что именно такое имя существует в метаданных.

6. Тестирование
- После внесения изменений перезапустите сервер/клиент 1С, очистите кеш.
- Проверьте печать на тестовой записи (на копии базы).
- Просмотрите журнал регистрации и логи ошибок, если что-то ещё идет не так.

7. Дополнительные моменты
- Если обновление конфигурации из 2016 до текущего релиза шло с ошибками, возможно, конфигурация частично обновлена — в этом случае лучше взять рабочую конфигурацию как эталон и аккуратно объединять изменения с учётом данных.
- Если используются расширения конфигурации (подключаемые расширения), проверьте их наличие и содержимое в обеих базах.
- Иногда проще вернуть конфигурацию рабочей базы (файл .cf) и выполнить перенос данных (конвертацию) — это радикально, но безопаснее, если конфигурации сильно различаются и данных немного либо есть экспорт/импорт.

8. Если не получается самостоятельно
- Могу помочь платно: потребуется (на почту/файлообмен) прислать
  - файлы конфигураций (.cf) или выгрузки конфигурации из обеих баз,
  - внешнюю обработку ВнешняяОбработка.ИА_БанкетныеЛисты2 (если она есть в виде .epf/.erf),
  - лог ошибки и скрин кода с запросом (строки, где используется Документ.СБ_ПланМеню.ИА_ДопУслуги),
  - указать версии платформ и конфигурации.
- На основании этого можно быстро восстановить недостающие метаданные или исправить запрос.

Краткий чеклист (как действовать прямо сейчас)
1. Снять резервную копию проблемной базы.
2. Открыть обе конфигурации в конфигураторе и сравнить.
3. Восстановить табличную часть Документ.СБ_ПланМеню.ИА_ДопУслуги из рабочей конфигурации (слияние или ручное создание).
4. Скопировать/импортировать внешнюю обработку и макеты печати из рабочей базы.
5. Обновить базу, перезапустить 1С и протестировать печать.

Если хотите — пришлите (или опишите) текст запроса ЗапросДопУслуги (строки вокруг), а также скрин/список табличных частей документа СБ_ПланМеню из рабочей и проблемной базы — помогу точнее сказать, что именно нужно восстановить или подправить.
<blockquote>Таблица не найдена "Документ.СБ_ПланМеню.ИА_ДопУслуги"<br/>
&lt;&lt;?&gt;&gt;Документ.СБ_ПланМеню.ИА_ДопУслуги КАК СБ_ПланМенюИА_ДопУслуги<br/>
</blockquote> <br/> <br/> вот загадка... проверяйте наличие в этом документе указанных значений.
Похожие вопросы