![]() |
![]() |
|
v8: Развитие механизма назначения свойств объектам в тиражных решениях 1С | ☑ | ||
---|---|---|---|---|
0
fedbka
11.11.06
✎
16:14
|
Добрый день, кто-нибудь расширял типовые возможности назначения свойств объектам в тиражных решения 1С?
Механизм в принципе хороший, но есть желание расширить его функциональность за счет введения понятия "назначаемый вид свойства", т.е при выборе ЗНАЧЕНИЯ определенного вида свойств, назначались дополнительные ВИДЫ свойств. Так же хотелось бы создать удобный механизм по ведению списка назначаемых свойств (вижу как некую обработку по работе с древовидными структурами). Может кто-что подскажет? |
|||
1
Волшебник
11.11.06
✎
16:23
|
Я доделывал его, чтобы в свойствах можно было хранить несколько значений.
|
|||
2
fedbka
11.11.06
✎
16:28
|
(1) Волшебник, не поделишься тем, что ты сделал для этого? Буду очень признателен.
|
|||
3
fedbka
11.11.06
✎
16:40
|
Вот примерная схема регистра сведений, которая позволит организовать хранение так сказать иерархии свойств и их параметров влияния на элементы справочника номенклатуры
РегистрСведений.ИерархияСвойств Измерения: НазначеноЗначением //Тип Характеристика.СвойстваОбъектов ВидСвойства //Тип ПланВидовХарактеристикСсылка.СвойстваОбъектов Ресурсы: ОбразуетГруппу //Тип Булево (Если Истина, то для всех значений данного ВидаСвойств будет создаваться отдельная группа справочника номенклатуры) УчаствуетВИменованииКАК //Тип Строка (Если не пустая, то значение этого ресурса используется как часть наименования элемента справочника номенклатуры) |
|||
4
fedbka
11.11.06
✎
16:50
|
Вторая версия:
РегистрСведений.ИерархияСвойств Измерения: НазначеноЗначением //Тип Характеристика.СвойстваОбъектов ВидСвойства //Тип ПланВидовХарактеристикСсылка.СвойстваОбъектов Ресурсы: ОбразуетГруппу //Тип Булево (Если Истина, то для всех значений данного ВидаСвойств будет создаваться отдельная группа справочника) УчаствуетВИменовании //Тип Булево (Если Истина, то значения назначенного ВИДА свойств участвуют образовании наименования элемента справочника) МножественноеЗначение //Тип Булево (Если Истина, то значений данного свойства у элемента справочника может быть несколько) |
|||
5
Волшебник
11.11.06
✎
16:52
|
(2) Как-нибудь опубликую в Книге знаний
|
|||
6
fedbka
11.11.06
✎
16:55
|
(5) может хоть направление дашь одной строчкой, чтобы не утруждать тебя писать длинный ответ. Как раз единственное что не могу придумать как сделать с минимумом доработок - хранение множественных значений.
|
|||
7
fedbka
11.11.06
✎
16:56
|
одного вида свойств
|
|||
8
Волшебник
11.11.06
✎
17:07
|
(6)
1. Добавляешь измерение "Номер" в регистр сведений ЗначенияСвойствОбъектов. 2. В обработке ЗначенияСвойствОбъекта в модуле объекта добавляешь: Процедура ПрочитатьЗаполнитьСвойстваИЗначения() Экспорт ... Запрос.Текст = " |ВЫБРАТЬ РАЗЛИЧНЫЕ | СвойстваОбъектов.ПометкаУдаления КАК ПометкаУдаления, | СвойстваОбъектов.Ссылка КАК Свойство, | СвойстваОбъектов.НазначениеСвойства КАК НазначениеСвойства, | РегистрСведений.ЗначенияСвойствОбъектов.Номер КАК Номер, | РегистрСведений.ЗначенияСвойствОбъектов.Значение КАК Значение ... после выполнения запроса: ТаблицаРезультатов = Запрос.Выполнить().Выгрузить(); МасУдаляемыеСтроки = Новый Массив; Для Каждого стр Из ТаблицаРезультатов Цикл Если ТолькоЗаполненные Тогда Если стр.Значение = Null ИЛИ стр.Значение = "" ИЛИ стр.Значение = 0 Тогда МасУдаляемыеСтроки.Добавить(стр); продолжить; КонецЕсли; КонецЕсли; //преобразовать множественные свойства в строку через запятую НайденнаяСтрока = ТаблицаРезультатов.Найти(стр.Свойство,"Свойство"); Если НайденнаяСтрока <> стр Тогда НайденнаяСтрока.Значение = Строка(НайденнаяСтрока.Значение) + ", " + Строка(стр.Значение); МасУдаляемыеСтроки.Добавить(стр); продолжить; КонецЕсли; КонецЦикла; Для Каждого стр Из МасУдаляемыеСтроки Цикл ТаблицаРезультатов.Удалить(стр); КонецЦикла; |
|||
9
fedbka
11.11.06
✎
17:26
|
Большое спасибо, Волшебник.
|
|||
10
fedbka
13.11.06
✎
14:52
|
Неужели никто больше не развивал механизм свойств объектов в тиражных решениях 1С?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |