Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:03

опять вопрос про "много" реквизитов в справочнике (или документе)

Автор andron81_81, 01 дек 2017, 11:20

0 Пользователей и 1 гость просматривают эту тему.

andron81_81

Цитата: AIFrame от 08 дек 2017, 05:34
// -------------------- События Формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Объект.ПараметрыЗаказа.Очистить();
ЗаполнитьТаблицуПараметров();
КонецПроцедуры

// -------------------- События ТЧ Параметры
&НаКлиенте
Процедура ПараметрыЗаказаЗначениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекущиеДанные = Элементы.ПараметрыЗаказа.ТекущиеДанные;
УстановитьСоответствиеТипов(ТекущиеДанные);
Элемент.ВыбиратьТип = Ложь;
КонецПроцедуры

// -------------------- Универсальные

&НаСервере
Процедура ЗаполнитьТаблицуПараметров()
Реквизит = Справочники.СвойстваРеквизитов.Выбрать();
Пока Реквизит.Следующий() Цикл
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Параметр", Реквизит.Ссылка);
НайденныеСтроки = Объект.ПараметрыЗаказа.НайтиСтроки(ПараметрыОтбора);
Если НайденныеСтроки.Количество() = 0 Тогда
СтрокаПараметров = Объект.ПараметрыЗаказа.Добавить();
СтрокаПараметров.Параметр = Реквизит.Ссылка;
Иначе
СтрокаПараметров = НайденныеСтроки[0];
КонецЕсли;

Если Реквизит.ТипРеквизита <> "Строка" Тогда

КонецЕсли;
КонецЦикла;

КонецПроцедуры

&НаКлиенте
Процедура УстановитьСоответствиеТипов(ТекущиеДанные)
ТипРеквизита = ПолучитьТипРеквизита(ТекущиеДанные.Параметр);
ОписаниеТипов = Новый ОписаниеТипов(ТипРеквизита);
ТекущиеДанные.Значение = ОписаниеТипов.ПривестиЗначение(ТекущиеДанные.Значение);
КонецПроцедуры

&НаСервере
Функция ПолучитьТипРеквизита(Ссылка)
Возврат Ссылка.ТипРеквизита;
КонецФункции



спасибо !!! :)

Похожие темы (5)

Рейтинг@Mail.ru

Поиск