Шаблон обработки заполнения табличной части для "Управляемых форм" выглядит так
Модуль объекта должен иметь основную экспортную функцию с именем СведениеОВнешнейОбработки()
Функция СведенияОВнешнейОбработке() Экспорт
Назначения = Новый Массив;
Назначения.Добавить("Документ.НалоговаяНакладная");
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта");
ПараметрыРегистрации.Вставить("Назначение", Назначения);
ПараметрыРегистрации.Вставить("Наименование", Метаданные().Представление());
ПараметрыРегистрации.Вставить("Версия","1.0");
ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Дополнительная обработка табличной части'; uk = 'Додаткова обробка табличної частини'"));
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
Команды = ПолучитьТаблицуКоманд();
ДобавитьКоманду(Команды, Метаданные().Представление(),Метаданные().ПолноеИмя(),"ВызовКлиентскогоМетода",Ложь,);
ПараметрыРегистрации.Вставить("Команды",Команды);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
БезОшибок = Истина;
Если БезОшибок Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Выполнено без ошибок'; uk = 'Виконано без помилок'"))
Иначе
ПоказатьПредупреждение(, НСтр("ru = 'При обработке данных возникли ошибки'; uk = 'Під час обробки даних виникли помилки'"))
КонецЕсли;
//для обновления отображения
Для Каждого стрДок Из ОбъектыНазначенияМассив Цикл
п = Новый Структура("Ключ", стрДок);
Форма = ПолучитьФорму("Документ.НалоговаяНакладная.ФормаОбъекта", п);
Форма.Прочитать();
КонецЦикла;
КонецПроцедуры
//для обновления отображения
Тут выполняется обновление табличной части, с которой был вызвана обработка заполнения
Комментариев нет:
Отправить комментарий