|
УпрФормы. Внешняя обработк по заполнению таб.частей | ☑ | ||
---|---|---|---|---|
0
elevika
04.06.20
✎
14:40
|
Уважаемы, нужна помощь. С упр.формами я на "Вы". Нужна обработка по заполнению табл. части документов. Пытаюсь сделать "рыбу". Использую вызов Клиентского метода, т.к. надо будет запросить у пользователя некоторые данные. Поэтому добавила управляемую форму
В модуле обработки Функция СведенияОВнешнейОбработке() Экспорт ИмяОбработки = ЭтотОбъект.Метаданные().Синоним; ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(); ПараметрыРегистрации.Вставить("Вид","ЗаполнениеТабличныхЧастей"); //Перечисления.ВидыДополнительныхВнешнихОбработок.ЗаполнениеТабличныхЧастей); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Наименование", "ТЕСТ"); ПараметрыРегистрации.Вставить("Информация", "Внешняя обработка заполнения табличной части"); ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина); ПараметрыРегистрации.Вставить("Назначение", Новый Массив); ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг"); ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказКлиента"); ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплатуПокупателю"); ПараметрыРегистрации.Вставить("ОпределитьНастройкиФормы", Ложь); //определяем таблицу команд ПараметрыРегистрации.Вставить("Команды", ПолучитьТаблицуКоманд()); //добавляем команду //вызов клиентского метода Команда = ПараметрыРегистрации.Команды.Добавить(); Команда.Представление = "ТЕСТ"; Команда.Идентификатор = "Тест"; Команда.Использование = "ВызовКлиентскогоМетода"; Команда.ПоказыватьОповещение = Ложь; Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ЗаменяемыеКоманды", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции В модуле формы &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт Ответ = Вопрос("Цены в таблице будут перезаполнены. Продолжить?", РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Да, "Внимание"); Если Ответ = КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли; КонецПроцедуры Регистрация формы в Доп. отчетах проходит нормально. В документе при нажатии <Заполнить> появляется команда <Тест>. Но при выборе этой команды ничего не происходит. Если открываю обработку через меню "Файл", то при нажатии на кнопку процедура отрабатывается. Уже голову сломала. ПОМОГИТЕ!!! |
|||
1
Franchiser
гуру
04.06.20
✎
14:44
|
Назначения = Новый Массив ;
Назначения.Добавить("Документ.ТребованиеНакладная") ; ПараметрыРегистрации = Новый Структура ; ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта"); ПараметрыРегистрации.Вставить("Назначение",Назначения); ПараметрыРегистрации.Вставить("Наименование","Заполнить Документ"); ПараметрыРегистрации.Вставить("Версия","1.0"); ПараметрыРегистрации.Вставить("Информация","Дополнительная обработка табличной части требования"); ПараметрыРегистрации.Вставить("БезопасныйРежим",Ложь); Команды = ПолучитьТаблицуКоманд() ; ДобавитьКоманду(Команды, "Заполнить документ","ЗаполнитьДокумент","ВызовКлиентскогоМетода",Ложь,) ; ПараметрыРегистрации.Вставить("Команды",Команды) ; |
|||
2
elevika
04.06.20
✎
14:51
|
(1) Спасибо. А чем принципиально это отличается от моего варианта? Я не вижу, что мне надо исправить
|
|||
3
Franchiser
гуру
04.06.20
✎
14:54
|
(2) ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта");
|
|||
4
elevika
04.06.20
✎
14:59
|
(3) В моей конфе это не работает - при регистрации ошибку выдает, т.к. в Перечисления.ВидыДополнительныхВнешнихОбработок.ЗаполнениеТабличныхЧастей идентификатор "ЗаполнениеТабличныхЧастей".
Если пишу так, то регистрирует без проблем |
|||
5
elevika
04.06.20
✎
16:56
|
Может, где-то в свойствах Конфигурации или ещё где-то надо галочку какую-то поставить? Почему не запускается процедура ВыполнитьКоманду()?
|
|||
6
hhhh
04.06.20
✎
23:28
|
(5) что-то какой-то вообще у вас старинный кусок кода. Наверно, вы в интернете что-то древнее скачали. Вот в современных конфах и не работает. Посмотрите примеры как делается в базе БСП последних релизов. Что касается Функция СведенияОВнешнейОбработке() Экспорт.
|
|||
7
Franchiser
гуру
05.06.20
✎
01:15
|
(5) параметр версии бсп попробуй указать в сведениях обработки
|
|||
8
elevika
05.06.20
✎
11:10
|
Вот я тупешка!! Только сегодня заметила, что в упр. формах в документе две кнопки <Загрузить>. Одна - над табличной частью, как в обычных формах. По этой кнопке не работает обработка, хотя там присутствует. А вторая - в командной строке формы документа. Вот там обработка запускается )))
ВОПРОС: возможно, такой же тупой, но тем не менее, как убрать из кнопки <Загрузить>, которая над табличной частью? Чтобы не смущать пользователей |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |