![]() |
![]() |
|
Характеристики номенклатуры (программно) Ø |
☑ | ||
---|---|---|---|---|
0
Mila
26.11.06
✎
19:28
|
Такой вопроc: Если в УТ зайти в справочник "характеристики номенклатуры" и добавить элемент, то откроется форма в которой нужно заполнить свойство, значение и наименование ( я так поняла что это форма обработки "ЗначенияСвойствОбъекта") так вот я никак не могу понять как программно можно в этой форме заполнитьеквизит значение?????
помогите плиз!!!!! |
|||
1
PinkVin
27.11.06
✎
03:06
|
Посмотри какие регистры двигает эта обработка и подвигай их в своей. УТ к сожалению не обслуживаю пока.
|
|||
2
PinkVin
27.11.06
✎
03:28
|
ЗаписатьЗначенияСвойств() - Посмотри эту функцию в обработке "ЗначенияСвойствОбъекта"
|
|||
3
Mila
27.11.06
✎
06:11
|
(2) посмотрела, там идет запись в РегистрыСведений.ЗначенияСвойствОбъектов.
в своей обработке сделала запись в это регистр, но в справочникке "Характеристики номенклатуры" тогда ничего не отображается все равно , хотя щаписи в регистре сведений и есть |
|||
4
PinkVin
27.11.06
✎
08:14
|
Блин. Всю эту обработку в комплексе надо рассматривать.
|
|||
5
MaxS
27.11.06
✎
08:22
|
СправочникОбъектХарактеристика = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
СправочникОбъектХарактеристика.Владелец = Номенклатура; СтрокаНаименование = ""; Для каждого СтрокаСвойств Из СтруктураСвойств Цикл // тут делать на ваше усмотрение СтрокаЗначенияСвойства = СокрЛП(ЭлементыФормы[ПрефиксПоляХарактеристики+СтрокаСвойств.Ключ].Значение); Если ПустаяСтрока(СтрокаНаименование) Тогда СтрокаНаименование = СтрокаЗначенияСвойства; Иначе СтрокаНаименование = СтрокаНаименование + ", " + СтрокаЗначенияСвойства; КонецЕсли; КонецЦикла; СправочникОбъектХарактеристика.Наименование = СтрокаНаименование; НачатьТранзакцию(); Попытка СправочникОбъектХарактеристика.Записать(); Исключение Предупреждение("Не удалось записать характеристику: |" + ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); НаборЗаписейЗначенияСвойств.Отбор.Объект.Установить(СправочникОбъектХарактеристика.Ссылка); Для каждого СтрокаСвойств Из СтруктураСвойств Цикл ЗначениеИзФормы = ЭлементыФормы[ПрефиксПоляХарактеристики+СтрокаСвойств.Ключ].Значение; Если НЕ ЗначениеНеЗаполнено(ЗначениеИзФормы) Тогда Запись = НаборЗаписейЗначенияСвойств.Добавить(); Запись.Объект = СправочникОбъектХарактеристика.Ссылка; Запись.Свойство = СтрокаСвойств.Значение; Запись.Значение = ЗначениеИзФормы; КонецЕсли; КонецЦикла; // Запись набора записей. Попытка НаборЗаписейЗначенияСвойств.Записать(); Исключение Предупреждение("Не удалось записать значения свойств характеристики: |" + ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; ЗафиксироватьТранзакцию(); |
|||
6
PinkVin
27.11.06
✎
08:23
|
Вот так например в форме элемента справочника "ХарактеристикиНоменклатуры" происходит добавление нового свойства:
Процедура ОбработкаЗаписиНовогоОбъекта(Объект, Источник) Если ТипЗнч(Объект) = Тип("ПланВидовХарактеристикОбъект.СвойстваОбъектов") Тогда ОбработкаОбъектЗначенияСвойств.ПроверитьДобавитьНовоеСвойство(Объект.Ссылка, ЭлементыФормы.СвойстваИЗначения); КонецЕсли; КонецПроцедуры Также рекомендую посмотреть процедуру "ПередЗаписью()" той же формы. |
|||
7
Mila
27.11.06
✎
09:40
|
(5) так и делала сейчас, все инормально, кроме того, что если открыть справоник "НОменклатура", потом выбрать товар и перейти к справочнику "Характеристики номенклатуры" там будет записанная характеристика, если ее открыть, то колонка значений то не заполнена!! ф вот и не догоняю как ее заполнить((((
|
|||
8
Mila
27.11.06
✎
12:30
|
плак- плак
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |