Всем добрый вечер.
Коллеги, подскажите...
Конфигурация БП 3.0. Есть стандартный отчет, возникла задача на его основе создать внешний отчет с некоторыми доработками.
Скопировал отчет, допилил, все хорошо. Выгрузил его как внешний отчет. Открыл его в конфигураторе и модуле объекта добавил
функцию СведенияОВнешнейОбработке().
В пользовательском режиме ... Администрирование\Печатные формы и отчеты\Доп.отчеты и обработки\Добавить из файла ну и все такое...
Зарегистрировалось.
Запускаю отчет на выполнение ... пишет "Поле объекта не обнаружено ( Имя отчета )".
Никто с таким не сталкивался?
Что она от меня хочет и что ей надо дать?
Спасибо.
---
Не думаю, что подсистема внешних отчетов завязана на общий модуль "БухгалтерскиеОтчетыВызовСервера". Туда лезет сам внешний отчет. Т.к. он был создан копированием типового встроенного отчета, то скорее всего в нем остались подобные вызовы. Их необходимо переписать.
---
в имени отчёта что у вас прописано?
---
Добрый день.
Имеется в виду что прописано в функции СведенияОВнешнейОбработке()?

```1c
    Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;

    // МассивНазначений.Добавить("подсистема.CRMИМАРКЕТИНГ"); //Указываем документ к которому делаем внешнюю печ. форму
    ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
    // ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "БЦ_ВедомостьАмортизацииОСБухгалтерскийУчет_ПроцентИзноса"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
    ПараметрыРегистрации.Вставить("БезопасныйРежим",ИСТИНА);
    ПараметрыРегистрации.Вставить("Информация", "БЦ Ведомость амортизации ОС Процент износа");
    ПараметрыРегистрации.Вставить("Версия", "1.0");

    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд, "БЦ_ВедомостьАмортизацииОСБухгалтерскийУчет_ПроцентИзноса", "БЦ_ВедомостьАмортизацииОСБухгалтерскийУчет_ПроцентИзноса", "ОткрытиеФормы");
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

    Возврат ПараметрыРегистрации;

    КонецФункции
```
---
Думаю, надо ответить самому- какое поле не обнаружено, где возникает ошибка - при запуске отчета или при его выполнении, выполняется ли отчет при его открытии через Файл - открыть или такая же ошибка возникает.
---
Добрый день. При открытии через ФАЙЛ то же самое.
---
Значит в отчете ошибка)
Через отладку можно посмотреть где и исправить
---
Судя по всему срубается в общем модуле БухгалтерскиеОтчетыВызовСервера
в строке "МенеджерОтчета = Отчеты[БухгалтерскиеОтчеты.ИмяОтчета(Форма)];".
В "Форме" не правильное
ИмяФормы === ВнешнийОтчет.БЦ_ВедомостьАмортизацииОСБухгалтерскийУчет_ПроцентИзноса.Форма.ФормаОтчета.
По жизни оно "ФормаОтчета".
Я только не понял, где его задавать. По здравому размышлению все в той же функции СведенияОВнешнейОбработке.
А вот где?
---
Не думаю, что подсистема внешних отчетов завязана на общий модуль "БухгалтерскиеОтчетыВызовСервера". Туда лезет сам внешний отчет. Т.к. он был создан копированием типового встроенного отчета, то скорее всего в нем остались подобные вызовы. Их необходимо переписать.
---
Да, вы правы. И в модуле объекта, и в модуле формы отчета постоянно используется модуль "БухгалтерскиеОтчетыВызовСервера. Причем в модуле формы на каждом шагу. А вот что понимать под "Их необходимо переписать"? Если просто прибить то толку не будет. Может как-то его в "Отчеты" добавить?
---
Вынести функционал из общего модуля во внешний отчет и заменить вызовы функций/процедур общего модуля на вызов функций/процедур внешнего отчета. Я думал, это очевидно)
---
Если я правильно понял, то процедуры и функции общего модуля перенести, скажем , в модуль формы.
Если эти процедуры и функции используют проц. и функ. из других общих модулей, то и их тоже.
---
Добрый вечер.

Адаптирую модуль формы отчета. В разных местах модуля вызывается процедура общего модуля, причем как с

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

Повторяю фокус, при чем эта функция компилируется только с директивой &НаКлиентеНаСервереБезКонтекста.

Если я правильно понял, то из процедуры с ключем &НаКлиентеНаСервереБезКонтекста можно вызвать только

процедуру с таким же ключом.

     Но в этой функции вызывается функция из другого общего модуля. Делаю тот-же финт и … облом.

Последняя функция содержит запрос. При проверке на клиенте компилятор пишет, что не знает что это за тип:

Запрос = Новый <<?>>Запрос; (Проверка: Тонкий клиент) .

Если ставлю ключ компилятора &НаСервере, то из вызывающей функции вызываемая не видна.

Интернет пока результата не дал.

Мопожите, люди добрые...
---
Извините, ступил, все есть. Тогда вообще не понял что не нравится?
---
Отладка показала, что мой внешний отчет не попадает в ОтчетыМенеджер "Отчеты". Нет его там. Перед поиском в "Отчеты" и созданием МенеджерОтчета имя отчета определяется правильно.