|
БСП: дополнительная назначаемая обработка - не появляется наименования команды. | ☑ | ||
---|---|---|---|---|
0
Kifsif
14.01.15
✎
21:40
|
Учусь делать внешние обработки. Тренируюсь на БП 3.0.37.27.
Взял демо-базу для БСП. Скопировал из нее куски. В принципе, пока тут все понятно. Также смотрю в доку на сайте ИТС (http://its.1c.ru/db/bspdoc#content:200:1:issogl2_созданиеновогоотчетаилиобработки). Мой код: Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.4.43"); ПараметрыРегистрации.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ЗаполнениеОбъекта; ПараметрыРегистрации.Версия = "1.0"; ПараметрыРегистрации.БезопасныйРежим = Ложь; ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплатуПокупателю"); ПараметрыРегистрации.Информация = "Дата: 14 января 2015, заполняет контрагента."; Заполн = ПараметрыРегистрации.Команды.Добавить(); Заполн.Представление = НСтр("ru = 'Заполнить контрагента"); Заполн.Идентификатор = "ЗаполнитьКонтрагента"; Заполн.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(); Заполн.ПоказыватьОповещение = Истина; Возврат ПараметрыРегистрации; КонецФункции Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, ПараметрыВыполненияКоманды) Экспорт Если ИдентификаторКоманды = "ЗаполнитьКонтрагента" Тогда ЗаполнитьКонтрагента(ПараметрыВыполненияКоманды); КонецЕсли; КонецПроцедуры Процедура ЗаполнитьКонтрагента(ПараметрыВыполненияКоманды); Сообщить("Тест"); КонецПроцедуры Пбработку подключаю - выбираю загрузить из файла. И вот я еще не нажал Записать и закрыть, но могу уже видеть наименование, назначение, команды на отдельной закладке и доп. информацию. Так вот, у меня закладка Команды в заголовке имеет в скобках цифру 1. Т.е. как бы одна команда есть. Все правильно, она у меня одна. А вот перечень команд пустой. Т.е. там строка - может - и есть, но наименования у нее нет. Но все равно команду записываю. Иду в счет. Все действия/Заполнить. И вижу - КомандаДополнительнойОбработки1. И отладочная печать не работает. Т.е. он команду-то не вызывает. Что не так делаю? |
|||
1
Мимохожий Однако
14.01.15
✎
22:42
|
ПараметрыРегистрации.Вставить("Наименование", ...);
|
|||
2
Мимохожий Однако
14.01.15
✎
22:43
|
Справни со своим кодом:
.. ункция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить("Вид", ...); ПараметрыРегистрации.Вставить("Назначение", ...); ПараметрыРегистрации.Вставить("Наименование", ...); ПараметрыРегистрации.Вставить("Версия", ...); ПараметрыРегистрации.Вставить("Информация", ...); ПараметрыРегистрации.Вставить("ВерсияБСП", "1.2.1.4"); Команды = ТаблицаКоманд(); ДобавитьКоманду(Команды, <Имя команды>, <Идентификатор команды>, <Способ вызова команды>, <Показывать оповещение>, <Модификатор>); ПараметрыРегистрации.Вставить("Команды", Команды); Возврат ПараметрыРегистрации; КонецФункции Функция ТаблицаКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |