|
Редактирование общей формы в ЗУП 3.1 | ☑ | ||
---|---|---|---|---|
0
ArtAndBee
23.11.22
✎
14:42
|
Всем привет! В ЗУП 3.1 есть общая форма ГрупповоеЗаполнениеПоказателейДокументов. Подскажите, пожалуйста, как сделать, чтобы эта форма заполняла показатели по формуле сумма*30% ?
|
|||
1
SleepyHead
гуру
23.11.22
✎
14:54
|
(0) Кури общую форму, там же есть процедуры добавления показателей.
|
|||
2
SleepyHead
гуру
23.11.22
✎
14:55
|
(0) "Процедура ДобавитьРеквизитыПоказателейИНачислений(ЭтоПоказатель, НаименованиеПоказателя, ДобавляемыеРеквизиты, Сч)"
|
|||
3
ArtAndBee
23.11.22
✎
19:22
|
(0) Нету там такой процедуры.
|
|||
4
ArtAndBee
23.11.22
✎
19:28
|
Есть такая процедура
Процедура ДополнитьФорму(МассивПоказателей) КоличествоПоказателей = МассивПоказателей.Количество(); ФиксированнаяСумма = КоличествоПоказателей = 0; РеквизитыПоказателей = Новый Соответствие; Если КоличествоПоказателей <> 0 Тогда РеквизитыПоказателей = ЗарплатаКадрыРасширенный.СведенияОПоказателяхРасчетаЗарплаты(МассивПоказателей); КонецЕсли; КоличествоПоказателей = ?(ФиксированнаяСумма, 1, КоличествоПоказателей); МассивИменРеквизитовФормы = Новый Массив; ЗарплатаКадры.ЗаполнитьМассивИменРеквизитовФормы(ЭтотОбъект, МассивИменРеквизитовФормы); ДобавляемыеРеквизиты = Новый Массив; Для Сч = 1 По КоличествоПоказателей Цикл ПоказательРеквизит = Новый РеквизитФормы( "Показатель" + Сч, Новый ОписаниеТипов("СправочникСсылка.ПоказателиРасчетаЗарплаты")); ДобавляемыеРеквизиты.Добавить(ПоказательРеквизит); НаименованиеПоказателя = ?(ФиксированнаяСумма, НСтр("ru = 'Сумма'"), ?(ЗначениеЗаполнено(РеквизитыПоказателей[МассивПоказателей[Сч-1]].КраткоеНаименование), РеквизитыПоказателей[МассивПоказателей[Сч-1]].КраткоеНаименование, РеквизитыПоказателей[МассивПоказателей[Сч-1]].Наименование)); ИспользованиеПоказателяРеквизит = Новый РеквизитФормы( "Показатель" + Сч + "Использование", Новый ОписаниеТипов("Булево"), , НаименованиеПоказателя); ДобавляемыеРеквизиты.Добавить(ИспользованиеПоказателяРеквизит); Если РасширенноеРедактирование Тогда ДействиеРеквизит = Новый РеквизитФормы("Показатель" + Сч + "Действие", Новый ОписаниеТипов("Строка")); ДобавляемыеРеквизиты.Добавить(ДействиеРеквизит); КонецЕсли; ЗначениеРеквизит = Новый РеквизитФормы("Показатель" + Сч + "Значение", Справочники.ПоказателиРасчетаЗарплаты.ОписаниеТиповЗначенияПоказателяРасчетаЗарплаты()); ДобавляемыеРеквизиты.Добавить(ЗначениеРеквизит); КонецЦикла; ЗарплатаКадры.ИзменитьРеквизитыФормы(ЭтотОбъект, ДобавляемыеРеквизиты, МассивИменРеквизитовФормы); ТипЧисло = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)); Для Сч = 1 По КоличествоПоказателей Цикл Если Элементы.Найти("Показатель" + Сч + "Использование") = Неопределено Тогда Использование = Элементы.Добавить("Показатель" + Сч + "Использование", Тип("ПолеФормы"), Элементы.ПоказателиЛеваяКолонка); Использование.Вид = ВидПоляФормы.ПолеФлажка; Использование.ПутьКДанным = "Показатель" + Сч + "Использование"; Использование.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; Использование.УстановитьДействие("ПриИзменении", "Подключаемый_ИспользованиеПоказателяПриИзменении"); Если РасширенноеРедактирование Тогда Действие = Элементы.Добавить("Показатель" + Сч + "Действие", Тип("ПолеФормы"), Элементы.ПоказателиСредняяКолонка); Действие.Вид = ВидПоляФормы.ПолеВвода; Действие.ПутьКДанным = "Показатель" + Сч + "Действие"; Действие.РастягиватьПоГоризонтали = Ложь; Действие.Ширина = 16; Действие.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; Действие.РежимВыбораИзСписка = Истина; Действие.РедактированиеТекста = Ложь; ЗаполнитьСписокДействийСПоказателями(Действие.СписокВыбора); ЭтаФорма["Показатель" + Сч + "Действие"] = Действие.СписокВыбора[0].Значение; Действие.УстановитьДействие("Очистка", "Подключаемый_ПоказательДействие"); КонецЕсли; Значение = Элементы.Добавить("Показатель" + Сч + "Значение", Тип("ПолеФормы"), Элементы.ПоказателиПраваяКолонка); Значение.Вид = ВидПоляФормы.ПолеВвода; Значение.ПутьКДанным = "Показатель" + Сч + "Значение"; Значение.РастягиватьПоГоризонтали = Ложь; Значение.Ширина = 16; Значение.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; ТипПоказателя = ?(ФиксированнаяСумма, ТипЧисло, РеквизитыПоказателей[МассивПоказателей[Сч-1]].ТипПоказателяПриРасчете); Если РасширенноеРедактирование Тогда ТипПоказателя = Новый ОписаниеТипов(ТипПоказателя, "Число",,Новый КвалификаторыЧисла(15, 4)); КонецЕсли; ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы( Элементы, "Показатель" + Сч + "Значение", "ОграничениеТипа", ТипПоказателя); КонецЕсли; КонецЦикла; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |