Имя: Пароль:
1C
1С v8
УТ, 8.2, Автозаполнение ХарактеристикаНоменклатуры, код
0 seofernandez
 
22.03.12
03:33
Добрый день, участники форума! Нужна помощь!
Есть в поступлении товар N (обувь, например), у него созданы характеристики: X, Y, Z.
Нужно что бы при нажатии на кнопку автоматически стала выбрана характеристика Y.
ЭлементыФормы.Товары.ТекущаяСтрока.ХарактеристикаНоменклатуры = Y не работает!
1 seofernandez
 
22.03.12
14:19
Up!
2 seofernandez
 
22.03.12
15:02
UP! Люди, нужна помощь!
3 FIXXXL
 
22.03.12
15:07
тип у Y какой?
4 FIXXXL
 
22.03.12
15:08
ну и код свой покаж
5 seofernandez
 
22.03.12
15:17
Тип - товар.

Код:
Процедура ТоварыВводХарактеристикиПриИзменении(Элемент)
   СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
   Характеристика = СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры;
   Сообщить(Характеристика);
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    Справочник.ХарактеристикиНоменклатуры.Ссылка КАК Характеристика
   |ИЗ
   |    Справочник.ХарактеристикиНоменклатуры
   |ГДЕ
   |   Справочник.ХарактеристикиНоменклатуры.Владелец = &ВладелецХарактеристики
   |   И Справочник.ХарактеристикиНоменклатуры.Наименование = &Наименование";
   
     Запрос.УстановитьПараметр("ВладелецХарактеристики", СтрокаТабличнойЧасти.Номенклатура);
   Запрос.УстановитьПараметр("Наименование", СтрокаТабличнойЧасти.ВводХарактеристики);
   
   РезультатЗапроса = Запрос.Выполнить();
   Выборка = РезультатЗапроса.Выбрать();
   
   Если Выборка.Количество() <> 0 Тогда
       Пока Выборка.Следующий() Цикл
           ХарактеристикаОбъект = Выборка.Характеристика.ПолучитьОбъект();
           Сообщить("Найдена характеристика: " + ХарактеристикаОбъект.Наименование);
       КонецЦикла;
   Иначе
       Сообщить("Характеристика не найдена");
       ХарактеристикаОбъект = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
       ХарактеристикаОбъект.Наименование = СтрокаТабличнойЧасти.ВводХарактеристики;
       ХарактеристикаОбъект.Владелец = СтрокаТабличнойЧасти.Номенклатура;
       ХарактеристикаОбъект.Записать();
       Сообщить("Новая характеристика создана");
   КонецЕсли;
   
   //ЭлементыФормы.Товары.ТекущаяСтрока.ХарактеристикаНоменклатуры = ХарактеристикаОбъект;
   СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = ХарактеристикаОбъект.Наименование;
   ТоварыХарактеристикаНоменклатурыПриИзменении(СтрокаТабличнойЧасти);
   
   //ОбработкаТабличныхЧастей.ОбновитьДанныеСтроки();
   
   
   //Справочники.ХарактеристикиНоменклатуры    
   //Справочники.ХарактеристикиНоменклатуры.Выбрать =
   
   //Характеристика;
КонецПроцедуры
6 Лирик
 
22.03.12
15:24
Если Выборка.Количество() <> 0 Тогда
       Пока Выборка.Следующий() Цикл
           МояХарактеристика= Выборка.Характеристика;
           Сообщить("Найдена характеристика: " + МояХарактеристика.Наименование);
       КонецЦикла;
   Иначе
       Сообщить("Характеристика не найдена");
       ХарактеристикаОбъект = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
       ХарактеристикаОбъект.Наименование = СтрокаТабличнойЧасти.ВводХарактеристики;
       ХарактеристикаОбъект.Владелец = СтрокаТабличнойЧасти.Номенклатура;
       ХарактеристикаОбъект.Записать();
       Сообщить("Новая характеристика создана");
       МояХарактеристика= ХарактеристикаОбъект.Ссылка;
   КонецЕсли;
СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = МояХарактеристика;
7 seofernandez
 
22.03.12
15:41
Спасибо, попробую!