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