![]() |
|
внешняя обработка заполнения ТЧ. Выбрать период и заполнить | ☑ | ||
---|---|---|---|---|
0
altaykniga
30.03.18
✎
16:25
|
Доброго вечера пятницы, уважаемые. Прошу подсказать решение задачи.
ЗУП 3.1 Конфигурация типовая. Необходимо создать внешнюю обработку заполнения ТЧ документа НачислениеЗарплаты. Пользователь должен выбрать период, и в результате выбора нужно заполнить Реквизиты табличной части "Начисления" ДатаНачала и ДатаОкончания. Как это сделать с помощью внешней обработки заполнения ТЧ ? |
|||
1
Cyberhawk
30.03.18
✎
16:25
|
Нужно пытаться
|
|||
2
Cyberhawk
30.03.18
✎
16:26
|
Документацию на ИТС по подсистеме БСП "Дополнительные отчеты и обработки" почитать для разогрева
|
|||
3
altaykniga
03.04.18
✎
12:16
|
(1,2) сделал следующим образом, может кому пригодится
модуль обработки: Функция СведенияОВнешнейОбработке() Экспорт Назначения = Новый Массив ; Назначения.Добавить("Документ.НачислениеЗарплаты") ; ПараметрыРегистрации = Новый Структура ; ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта"); ПараметрыРегистрации.Вставить("Назначение",Назначения); ПараметрыРегистрации.Вставить("Наименование","Перезаполнить период в ТЧ Начисления (внешняя)"); ПараметрыРегистрации.Вставить("Версия","1.0"); ПараметрыРегистрации.Вставить("Информация","Дополнительная обработка табличной части НачисленияЗарплаты"); ПараметрыРегистрации.Вставить("БезопасныйРежим",Истина); Команды = ПолучитьТаблицуКоманд() ; ДобавитьКоманду(Команды, "Перезаполнить период в ТЧ Начисления (внешняя)","ЗаполнитьДокумент","ВызовКлиентскогоМетода",Ложь,) ; ПараметрыРегистрации.Вставить("Команды",Команды) ; Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений ; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")) ; Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")) ; Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")) ; Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")) ; Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")) ; Возврат Команды ; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить() ; НоваяКоманда.Представление = Представление ; НоваяКоманда.Идентификатор = Идентификатор ; НоваяКоманда.Использование = Использование ; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение ; НоваяКоманда.Модификатор = Модификатор ; КонецПроцедуры модуль формы обработки &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт Диалог = Новый ДиалогРедактированияСтандартногоПериода(); СтандартныйПериод = Новый СтандартныйПериод(); Диалог.Период = СтандартныйПериод; ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаВыбораПериода",ЭтаФорма); Диалог.Показать(ОписаниеОповещения) КонецПроцедуры &НаКлиенте Процедура ОбработкаВыбораПериода(Период,Параметры) Экспорт Если Период <> Неопределено Тогда Для каждого ТекущаяСтрока из ВладелецФормы.Объект.Начисления Цикл ТекущаяСтрока.ДатаНачала = Период.ДатаНачала ; ТекущаяСтрока.ДатаОкончания = Период.ДатаОкончания; КонецЦикла ; КонецЕсли; КонецПроцедуры в итоге моя команда появляется в кнопке "заполнить" на форме документа |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |