СведенияОВнешнейОбработке((Метод объекта не обнаружен |
Я |
21.03.13 — 12:04
Сделала внешний отчет на управляемой форме, в модуле формы прописала функцию СведенияОВнешнейОбработке(), при попытке добавления отчета вылезает ошибка «Ошибка получения сведений о внешней печатной обработке при ее загрузке. Метод объекта не обнаружен». Ладно бы не прописала СведенияОВнешнейОбработке() и ошибка бы вылазила, а тут что происходит не пойму((
1 — 21.03.13 — 12:05
а она экспортная?
2 — 21.03.13 — 12:06
кстати, Экспорт начинает работать только после вставки фото в ЛК
3 — 21.03.13 — 12:06
а в модуле ли формы её нужно писать? А не в модуле объекта?
4 — 21.03.13 — 12:06
и добавлено в ФОРМУ, может в этом трабл. не видно нам что не так отсюда
5 — 21.03.13 — 12:09
кстати, замечание (2) актуально и для модуля обработки
6 — 21.03.13 — 12:10
(0)
>при попытке добавления отчета
куда добавления?
7 — 21.03.13 — 12:11
(6)+
и обработка — отчет?
8 — 21.03.13 — 12:11
уффф, йа позорница…засунула функцию в модуль формы, вместо модуля объекта и возмущаюсь…пошла переделывать))
9 — 21.03.13 — 12:16
(8) обработку переделай, а фото не нужно. мы не любим фотошоп
10 — 21.03.13 — 13:52
ага, теперь отчет добавляет, но сам отчет найти не могу в конфигурации, видимо не так добавляю((
11 — 21.03.13 — 13:54
(10) я бы тоже его не нашёл в конфигурации, ибо у меня он в справочнике (читай в БД) живёт
12 — 21.03.13 — 14:02
(10) я бы тоже его не нашёл в конфигурации, ибо у меня он в справочнике (читай в БД) живёт
Ну эт понятно, что Отчет добавляется в справочник «Дополнительные отчеты и обработки»
Но в функции СведенияОВнешнейОбработке я указываю же где доступен отчет будет:
МассивНазначений.Добавить(«Документ.ИнвентаризацияТоваровНаСкладе»);
13 — 21.03.13 — 14:03
(12) от этого в конфигурации не прибавится
14 — 21.03.13 — 14:05
А что нужно сделать что бы прибавилось?
15 — 21.03.13 — 14:05
(13) Ну ты же не знаешь какие в наших лесах чудеса бывают?
16 — 21.03.13 — 14:05
(14) А зачем?
17 — 21.03.13 — 14:06
Затем что бы пользоваться внешним отчетом, который написала
18 — 21.03.13 — 14:07
(17) Так пользуйся. Зачем он тебе в пофигураторе?
19 — 21.03.13 — 14:08
что бы не запускать его каждый раз через меню-файл-мой отчет(
20 — 21.03.13 — 14:08
(14) пкм — вставить
21 — 21.03.13 — 14:08
(19) для этого необязательно иметь его в конфигурации
22 — 21.03.13 — 14:10
(19) Администрирование — дополнительные отчеты и обработки — не?
23 — 21.03.13 — 14:11
(22) не так всё просто. для начала нужно понять, где и как его хочется видеть
24 — 21.03.13 — 14:11
(19) А вру, зайди в свою инвентаризацию, там должно быть
25 — 21.03.13 — 14:15
(19) Администрирование — дополнительные отчеты и обработки — не?
Я там как раз и добавила, там все норм…Но в указанном месте отчета нет
26 — 21.03.13 — 14:16
(25) а всё от того, не тот раздел интерфейса сказан
27 — 21.03.13 — 14:18
или просто не добавлено в настройке панели…
28 — 21.03.13 — 14:18
или фотку кто-то зажал
29 — 21.03.13 — 14:19
(28) Или все вместе
30 — 21.03.13 — 14:43
31 — 21.03.13 — 14:45
(30) это не тот скриншот
32 — 21.03.13 — 14:45
+(31) ну и как бы.. выше речь шла о мышиных телодвижениях
33 — 21.03.13 — 14:53
что за телодвижения то? В каком документе и в каком месте я свой отчет искать начинаю?
34 — 21.03.13 — 14:54
(33) настройка управляемого интерфейса телодвижения.
мм.. пожалуй, в инвентаризации, в шапке. угадал?
35 — 21.03.13 — 14:58
Да, угадали, в меню печать ищу…
36 — 21.03.13 — 15:07
37 — 21.03.13 — 15:12
Да только вот про управляемые формы там упоминания нет
38 — 22.03.13 — 06:59
Все, вопрос решен)Разобралась)
Wobland
39 — 22.03.13 — 06:59
видишь, как всё просто
Войти или зарегистрироваться
8.х Ошибка подключения внешней обработки ВыгрузкаЗагрузкаДанныхXML82.epf
Тема в разделе «Отчеты и обработки для «1С:Предприятие 8″», создана пользователем _vasil, 1 дек 2014.
-
0/5,
Голосов: 0
-
Offline
_vasil
- Регистрация:
- 1 дек 2014
- Сообщения:
- 2
- Симпатии:
- 0
- Баллы:
- 1
При подключении внешней обработки ВыгрузкаЗагрузкаДанныхXML82.epf ошибка:
Ошибка получения сведений о внешней обработке ВыгрузкаЗагрузкаДанныхXML82.epf при ее загрузке:
Метод (СведенияОВнешнейОбрабонке) не обнаружен
——
1с 8.2 УТ 11, саму обработку брал с диска ИТС, загрузку 1С переключил в режим Толстый клиент (обычное приложение)С чем могут быть проблемы, помогите новичку разобраться?
_vasil,
1 дек 2014
#1 -
Offline
ТехБухПривет
Профессионал в 1С
Команда форума- Регистрация:
- 25 июн 2013
- Сообщения:
- 825
- Симпатии:
- 89
- Баллы:
- 54
Возможно версии разные
Воспользуйтесь встроенной: Все функции — обработки — «Универсальный обмен данными в формате XML»Как включить Все функции(на всякий):
ТехБухПривет,
1 дек 2014
#2 -
Offline
_vasil
- Регистрация:
- 1 дек 2014
- Сообщения:
- 2
- Симпатии:
- 0
- Баллы:
- 1
Спасибо Большое! Все выгрузил!
_vasil,
1 дек 2014
#3 -
Offline
ТехБухПривет
Профессионал в 1С
Команда форума- Регистрация:
- 25 июн 2013
- Сообщения:
- 825
- Симпатии:
- 89
- Баллы:
- 54
Не за что — главное копию сделайте))
ТехБухПривет,
1 дек 2014
#4 -
Offline
LordMaverick
Профессионал в 1С- Регистрация:
- 17 мар 2014
- Сообщения:
- 4.003
- Симпатии:
- 465
- Баллы:
- 104
там не версии разные, просто в тех обработках нет кода функции описания для подключения (о чём оно и ругается кстати), через Файл-Открыть они прекрасно работают
LordMaverick,
1 дек 2014
#5
- Похожие темы
-
8.х
Ошибка внешней обработки записи в ХМЛ 1С 8.2
Дмитрий Игоревич,
21 май 2013, в разделе: Отчеты и обработки для «1С:Предприятие 8»
- Ответов:
- 1
- Просмотров:
- 904
- Дмитрий Игоревич
- 23 май 2013
-
8.х
Ошибка при добавлении любой внешней обработки (8.2.18.104) Розница
Дмитрий БХ.РФ,
16 сен 2013, в разделе: Отчеты и обработки для «1С:Предприятие 8»
- Ответов:
- 19
- Просмотров:
- 8.888
- Дмитрий БХ.РФ
- 17 сен 2013
-
[РЕШЕНО]
Модальное открытие формы внешней обработки во внешней базе через COM соединение
Euronymous,
3 апр 2014, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 6
- Просмотров:
- 3.755
- Euronymous
- 5 апр 2014
-
8.х WEB
Ошибка подключения IIS 7.5
SSSS,
30 июл 2014, в разделе: «1C:Web-Сервер»
- Ответов:
- 4
- Просмотров:
- 1.323
- SSSS
- 7 авг 2014
-
8.х
Ошибка записи документа из внешней обработки
Svb,
23 дек 2015, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 9
- Просмотров:
- 2.833
- Svb
- 23 дек 2015
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
-
- Искать только в заголовках
- Сообщения пользователя:
-
Имена участников (разделяйте запятой).
- Новее чем:
-
- Искать только в этой теме
- Искать только в этом разделе
- Отображать результаты в виде тем
-
Быстрый поиск
- Последние сообщения
Больше…
При попытке создать дополнительный внешний отчет через пользовательскую часть в erp, получили ошибку «Метод объекта не обнаружен (СведенияОВнешнейОбработке)»
После создания отчета через СКД в Конфигурации, необходимо добавить через кнопку «Действия» — «Открыть модуль объекта», функцию:
Добавить:
Функция СведенияОВнешнейОбработке() Экспорт ИмяОтчета = ЭтотОбъект.Метаданные().Имя; Синоним = ЭтотОбъект.Метаданные().Синоним; Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета); ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1"); ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет(); ПараметрыРегистрации.Версия = "2.0.0.0"; ПараметрыРегистрации.Наименование = Синоним; //имя под которым обработка будет зарегистрирована в справочнике внешних обработок ПараметрыРегистрации.Информация = "Отчет :" + Синоним; //так будет выглядеть описание вн.отчета для пользователя Возврат ПараметрыРегистрации; КонецФункции
Данная функция добавит из отчета сведения, которые заполняются при создании отчета СКД. После этого не будет ошибки «Метод объекта не обнаружен (СведенияОВнешнейОбработке)»:
Сохраняем отчет в *.erf
Перейдем к добавлению отчета в 1С в режиме работы Предприятие:
01 «НСИ и администрирование» — «Дополнительные отчеты и обработки» — кнопка «Добавить из файла»:
После предупреждения безопасности:
«Продолжить» выбираем на диске сохраненный отчет с расширением *.erf
02 После выбора и добавления файла отчета, его наименование будет взято из поля Синоним. Остается выбрать «Используется» и «Записать» внешний отчет:
03 Внешний отчет, можно разместить в списке всех отчетов. Для этого необходимо перейти на вкладку «Варианты отчета» — кнопка «Разместить в разделах…»:
Выбрать нужный раздел:
04 После кнопки «Разместить», отчет можно найти в списке всех отчетов: «Главное» — «Все отчеты»:
Метод объекта не обнаружен в 1С 8.3
После обновлений, доработок и других подобных изменений конфигурации пользователи могут столкнуться с ошибкой Метод объекта не обнаружен. В качестве метода выступают процедуры и функции, выполняющие некоторые действия с объектом. За каждым типом метаданных закреплены свои методы. Сообщение Метод объекта не обнаружен программа выдает в случаях, когда не находит во встроенном языке метод с таким именем или одноименную процедуру/функции в модулях объекта.
Примеры появления и исправления ошибки рассмотрены нами на конфигурации 1С:Бухгалтерия 8.3.
Причины возникновения ошибки в 1С 8.3
Пользователь получает предупреждение в виде всплывающего окна с текстом «Метод объекта не обнаружен ([Имя_метода])», если:
- метод не принадлежит к типу метаданных;
- опечатка в имени метода;
- у процедуры или функции, вызываемой в качестве метода объекта, не указанно ключевое слово Экспорт.
Для решения проблемы следует разобраться в структуре объектов конфигурации и их наборе методов.
Объекты и методы
Объекты или метаданные — основные составляющие конфигурации, куда сохраняются данные информационной базы. Состав метаданных закреплен на уровне платформы и не может дополняться программистом.
В список стандартных объектов 1С входят:
- константы;
- справочники;
- документы;
- отчеты;
- регистры сведений;
- и т. д.
Состав метаданных не ограничен объектами, перечисленными в окне дерева конфигурации: их в несколько раз больше. К тому же один объект может иметь несколько типов: например, ДокументОбъект, ДокументСсылка, ДокументВыборка и т. д. У каждого типа есть свой набор методов, которые позволяют выполнить определенную последовательность действий с отдельным экземпляром объекта.
Методы делятся на два вида:
- встроенные в платформу;
- написанные программистом в модулях объектов.
Встроенные методы объектов описаны в Синтакс-Помощнике: например, записать документ позволит метод Записать(). Имена методов созвучны с глаголом действия, которое будет произведено с метаданными.
Процедуры и функции, описанные в модулях объектов с ключевым словом Экспорт, дополняют типовые методы своих объектов и могут вызываться из любых программных модулей, где используются эти метаданные.
Исправление ошибки
Сообщение «Метод объекта не обнаружен» может возникнуть, например, при нажатии кнопки в документе.
Для детального анализа ошибки запустите конфигурацию в режиме отладки из конфигуратора Отладка — Начать отладку и повторите те же действия, чтобы вызвать повторное появление ошибки на экране. Кнопка Подробно раскроет окно с указанием строчки программного кода, где возникает сбой.
Для перехода в конфигуратор нажмите Конфигуратор.
В режиме конфигурирования курсор автоматически установится в месте появления ошибки, а информация из окна с подробным описанием сбоя в 1С отразится в служебном окне Конфигуратора.
Решение вопроса с ошибкой «Метод объекта не обнаружен» в 1С 8.3 будет зависеть от вида метода: созданный вручную или типовой.
Встроенные в платформу методы
Стандартные методы перечислены в Синтакс-Помощнике на ветках соответствующих объектов. Откройте Ситнакс-Помощник через меню конфигуратора Справка или по одноименной кнопке на панели инструментов. Для быстрого поиска на вкладке Индекс введите часть имени типа объекта, а для перехода к его описанию нажмите кнопку Найти текущий элемент в дереве.
Программа перейдет на вкладку Содержание и выделит искомый объект. Раскройте ветвь с методами и попытайтесь отыскать похожий по наименованию. Если такой нашелся, замените на него метод в строке кода с ошибкой.
Запустите 1С в режиме отладки и проверьте работу конфигурации в месте возникновения ошибки. Если окно со сбоем больше не выходит, обратите внимание на корректность обработки данных программой. Исправляйте имя метода в коде на типовое, только если видите явную опечатку в наименовании и не нашли одноименной процедуры/функции в моделях объекта.
Методы, добавленные вручную
Программисты могут добавлять экспортные процедуры и функции (со словом Экспорт) в модулях объектов, например, вкладке Прочее в окне редактирования объекта конфигурации.
Перед поиском метода узнают тип объекта, от которого запускается выполнение. Возможны варианты:
- для типов ДокументОбъект, СправочникОбъект и т. д. методы прописывают в Модуле объекта;
- типы ДокументМенеджер, ПеречислениеМенеджери т. д. — Модуль менеджера;
- типы РегистрСведенийНаборЗаписей и т. д. — Модуль набора записей (у регистров);
- тип КонстантаМенеджерЗначения — Модуль менеджера значения (у констант);
- и др.
Чтобы определить тип объекта, воспользуйтесь одним из способов:
1. Разберите в окне ошибки строку кода, где идет обращение к методу:
- Документ.СчетНаОплатуПоставщика.Форма.ФормаДокумента — метод выполняется в модуле формы документа;
- Документ — объект, от которого запускается метод;
- Добавить() — имя метода. Характерная черта — наличие круглых скобок в конце, в них перечисляются параметры, если они необходимы для выполнения операций;
- ПодборТовараСервер() — имя процедуры/функции, где возникает ошибка.
В данном примере Документ является переменной, содержащей объект с типом ДокументОбъект, получаемый встроенным методом ПолучитьОбъект().
2. Если конфигурация допускает вносить изменения, выведите тип объекта в окне сообщений в пользовательском режиме с помощью встроенных функций Сообщить() и ТипЗнч():
- впишите в процедуру строку кода с функцией, указав в скобках обращение к объекту без имени метода;
- запустите 1С в режиме отладки и повторите действия, вызывающие сбой;
- проигнорируйте окно с ошибкой, нажав ОК. В нижней части рабочей области программы появится сообщение с типом объекта.
3. Через команду контекстного меню Вычислить выражение в Конфигураторе
- в строчке, где возникает сбой, поставьте точку останова для принудительной остановки выполнения программного кода, имеет вид красного круга на полях с левой стороны;
- запустите программу в режиме отладки;
- повторите действия, при которых возникала ошибка;
- работа программы остановится, откроется окно конфигуратора;
- выделите часть кода, где идет обращение к объекту, без метода;
- правой кнопкой вызовите контекстное меню, выберите команду Вычислить выражение;
- в открывшемся окне в колонке Тип будет указан тип объекта.
Переменная Документ тип ДокументОбъект.СчетНаОплатуПостащика, поэтому запускаемые методы программа ищет среди экспортных процедур/функций в модуле объекта документа СчетНаОплатуПоставщику.
Для поиска метода:
- откройте модуль объекта/менеджера/набора записей;
- найдите одноименную процедуру или функцию, для быстрого перехода к нужной части текста модуля воспользуйтесь окном поиска, набрав в нем часть имени метода;
- проверьте наличие ключевого слова Экспорт. При его отсутствии программа не сможет передать процедуру/функцию в другой модуль. Соответственно, она не будет обнаружена, что приведет к появлению ошибки «Метод объекта не обнаружен»;
- имя процедуры/функции должно совпадать с вызываемым методом: если имеются явные орфографические ошибки или опечатки, исправьте их;
- если наименование процедуры/функции полностью совпадает с методом, и ключевое слово Экспорт указано, возможно, причина — в неверном типе объекта.
Если тип объект задан неверно, то программа будет производить поиск экспортных процедур/функции вне тех модулях и пользователь получит ошибку «Метод объекта не обнаружен». Для решения проблемы потребуется переписать программный код, пользователю стоит обратиться к программисту.
Если ни один из вариантов исправления ошибки не дал результата, попробуйте закомментировать строку кода, где происходит сбой, добавив в начале строки два правых слеша.
Эти действия приведут к отключению строки кода с методом для выполнения программой. Возможно, это устранит появление ошибки, но может исказить или повредить данные в базе из-за нарушения алгоритма их обработки, т. к. из него исключена последовательность действий, описанная в методе. Поэтому вносить самостоятельные правки в программный код нужно с осторожностью.
Метод объекта не обнаружен Connect 1С 8.3
Ошибку «Метод объекта не обнаружен (Connect)» 1С может показать при попытке обновить конфигурацию, синхронизации или загрузке/выгрузке данных из другой программы, базы.
Connect — наименование встроенного метода, принадлежит COM-объектам, которые 1С создает на основании объектов базы данных для их передачи или получения из других источников.
Поскольку метод типовой, следует проверить в конфигураторе корректность написания его имени в коде программы.
Ошибка «Метод объекта не обнаружен (Сonnect)» в 1С 8.3 не всегда связана с конфигурацией, причина может заключаться в операционной системе. Перед использованием метода Connect программа 1С должна создать COM-объект с помощью специальных компонентов, которые не всегда есть в системе компьютера. Проблему решают через регистрацию dll компонентов обмена, процедуру выполняют на сервере:
- в папке C:Windows найдите и запустите от имени администратора файл cmd.exe;
- в зависимости от вида операционной системы выполните команду:
- для x32: %windir%System32RegSvr32.exe “С:[путь до каталога 1С]bincomcntr.dll”;
- для x64: %windir%SysWoW64RegSvr32.exe “С:[путь до каталога 1С] bincomcntr.dll”;
- перезагрузите компьютер.
Стандартная утилита RegSvr32 автоматически зарегистрирует файл dll с компонентами обмена в реестре операционной системы, что устранит сбой в 1С, связанный с отсутствием метода connect. В Windows есть инструменты для ручного внесения компонент в реестр через пункт Администрирование на Панели управления, но эту задачу лучше поручить системному администратору компьютеров.
Запасным вариантом для решения вопроса с отсутствующим методом Connect остается чистка кэш-памяти 1С.
«Метод объекта не обнаружен» в 1С — ошибка серьезная, говорящая об отсутствии в программе алгоритмов, необходимых для выполнения действий пользователя. Если 1С сообщает о невозможности найти поле, элемент, реквизит или объект — такие проблемы сотрудник может решить самостоятельно. Но при недоступности методов необходимы знания о типах объектов, умения разбираться в программном коде, поэтому, когда ни один из способов не помог устранить сбой, следует обращаться к специалисту 1С.
Заказать консультацию
По этой или иной ошибке Вы можете обратиться к нашим специалистам, мы Вам поможем решить Вашу проблему.
Сведения о внешней обработке
Чтобы подключить внешний отчет или обработку в справочник Дополнительные отчеты и обработки необходимо описать экспортную функцию СведенияОВнешнейОбработке() в модуле. Вот шаблон такой функции:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
// заполняем структуру ПараметрыРегистрации
Возврат ПараметрыРегистрации;
КонецФункции
Описание полей возвращаемой структуры можно посмотреть в комментарии к функции ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(). Там можно получить актуальную информацию для вашей версии БСП.
Опишу основные поля структуры сведений о внешней обработке. При этом буду по минимуму повторять информацию в упомянутом комментарии, а постараюсь дополнить ее.
Поле «Вид»
Минимальным условием для регистрации внешнего отчета или обработки является заполненность поля «Вид». То есть, если вы создадите внешнюю обработку и пропишете в ней следующий код, то этого будет достаточно, чтобы добавить ее в справочник Дополнительные отчеты и обработки
Минимальное описание параметров регистрации
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта();
Возврат ПараметрыРегистрации;
КонецФункции
Возможные значения этого поля «Вид»
Значение поля «Вид» | Расположение команды | Расширение
файла |
---|---|---|
ПечатнаяФорма | В меню «Печать» на форме объекта или списка | epf |
ЗаполнениеОбъекта | В меню «Заполнить» на форме объекта или списка | epf |
СозданиеСвязанныхОбъектов | В меню «Создать на основании» — «Создание связанных объектов..» на форме объекта или списка |
epf |
Отчет | В меню «Отчеты» на форме объекта или списка | erf |
ДополнительнаяОбработка | В списке соответствующих подсистем в меню «Сервис» — «Дополнительные обработки» |
epf |
ДополнительныйОтчет | В списке соответствующих подсистем в меню «Сервис» — «Дополнительные отчеты» |
erf |
Поле «Вид» может принимать одно из значений, возвращаемых функциями ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработки<Вид>(). Например, для вида «ПечатнаяФорма» есть функция ВидОбработкиПечатнаяФорма().
рекомендуется заполнять поле «Вид» таким способом
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
а не вот таким
Поле «Назначение»
Содержит массив объектов конфигурации в формате «<Тип>.<Вид>», для которых будет назначен внешний отчет/обработка.
для конкретных видов
ПараметрыРегистрации.Назначение.Добавить("Документ.Счет");
для всех документов
ПараметрыРегистрации.Назначение.Добавить("Документ.*");
Этот параметр игнорируется, если поле «Вид» имеет значение «ДополнительнаяОбработка» или «ДополнительныйОтчет».
Поле «Наименование»
Это значение подставляется в наименование элемента справочника Дополнительные отчеты и обработки при создании.
Если не заполнено, то используется синоним внешней обработки/отчета.
Используется только для администрирования, а при добавлении в пункт меню, например, Печать будет подставляться наименование команды из таблицы команд, а не значение этого поля.
Поле «Команды»
Таблица значений, которая загружается в одноименную табличную часть элемента справочника Дополнительные отчеты и обработки при регистрации внешней обработки.
Эту табличную часть можно заполнить и вручную.
Каждой строке соответствует один пункт в соответствующих меню, описанных в таблице выше.
Чтобы команда внешней обработки появилась в нужном меню, обязательно нужно добавить хотя бы одну строку в эту таблицу.
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = "Заказ с характеристиками (сервер)";
НоваяКоманда.Идентификатор = "ЗаказСХарактеристикамиСервер";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
Таблица «Команды», колонка «Использование»
В колонке «Использование» указывается тип вызываемой команды. По сочетанию Вид-Тип команды система определяет какая предопределенная процедура будет вызвана из внешней обработки/отчета, и где она будет объявлена — на клиенте или на сервере.
Наиболее часто используются процедуры Печать() и ВыполнитьКоманду(), а также открытие формы без обращения к методу.
Это поле может принимать одно из значений, возвращаемых функциями ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКоманды<Тип>(), например, ТипКомандыВызовСерверногоМетода(). В каждой из этих функций есть подробный комментарий.
Кроме того различается состав и количество параметров, передаваемых во внешнюю обработку/отчет. Кратко опишу возможные варианты использования в таблице
Тип команды | Значение поля «Вид» | Вызываемая экспортная процедура |
---|---|---|
ВызовСерверногоМетода | ПечатнаяФорма | Печать( МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) |
ДополнительнаяОбработка ДополнительныйОтчет Отчет |
ВыполнитьКоманду( ИдентификаторКоманды, ПараметрыВыполнения) |
|
СозданиеСвязанныхОбъектов | ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты, ПараметрыВыполнения) |
|
ЗаполнениеОбъекта | ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначения, ПараметрыВыполнения) |
|
ВызовКлиентскогоМетода | ПечатнаяФорма | &НаКлиенте Печать( ИдентификаторКоманды, ОбъектыНазначенияМассив) |
ДополнительнаяОбработка ДополнительныйОтчет |
&НаКлиенте ВыполнитьКоманду( ИдентификаторКоманды) |
|
СозданиеСвязанныхОбъектов | &НаКлиенте ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначенияМассив, СозданныеОбъекты) |
|
ЗаполнениеОбъекта Отчет | &НаКлиенте ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначенияМассив) |
|
Для всех видов | в форму передается параметр ДополнительнаяОбработкаСсылка |
|
ОткрытиеФормы | СозданиеСвязанныхОбъектов ЗаполнениеОбъекта Отчет |
в форму передается дополнительный параметр ОбъектыНазначения |
Для всех видов | в форму передаются параметры ИдентификаторКоманды ДополнительнаяОбработкаСсылка ИмяФормы |
|
Отчет | Отчет с макетом СКД может не иметь форму, тогда будет использована общая форма для отчетов по умолчанию |
|
ЗаполнениеФормы | ЗаполнениеОбъекта | ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначения, ПараметрыВыполнения) |
СценарийВБезопасномРежиме | Для всех видов | см. описание в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер .ТипКомандыСценарийВБезопасномРежиме() |
ЗагрузкаДанныхИзФайла | ДополнительнаяОбработка | см. описание в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер .ТипКомандыЗагрузкаДанныхИзФайла() |
Для типа команды ВызовКлиентскогоМетода необходимо создать форму в обработке, назначить ее основной и объявить экспортную процедуру
Полезные процедуры
Рекомендую обратить внимание на следующие процедуры и функции:
ДополнительныеОтчетыИОбработки.ЗарегистрироватьОбработку(ОбъектСправочника, ПараметрыРегистрации)
ДополнительныеОтчетыИОбработки.ПолучитьОбъектВнешнейОбработки(Ссылка)
ДополнительныеОтчетыИОбработки.ВыполнитьКомандуИзФормыВнешнегоОбъекта(ИдентификаторКоманды, ПараметрыКоманды, ЭтаФорма)
Также будет полезно развернуть демо конфигурацию по БСП. В ней есть примеры внешних обработок и отчетов в справочнике внешних обработок.
Источник: https://infostart.ru/1c/articles/558559/
Классический вариант:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
ПараметрыРегистрации.Вставить("Наименование", "Идентификация номенклатуры по коду ЕГАИС");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", "Идентификация номенклатуры по коду ЕГАИС");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
"Идентификация номенклатуры по коду ЕГАИС",
"ИдентификацияНоменклатурыПоКодуЕГАИС",
"ОткрытиеФормы",
//<Показывать оповещение>,
//<Модификатор>
);
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Источник: https://forum.infostart.ru/forum9/topic154498/