Имя: Пароль:
1C
1С v8
При добавлении строки в ТЧ сразу открывать форму выбора спр.Номенклатура
, ,
0 echo77
 
22.10.14
08:11
Есть конфигурация в режиме обычное приложение.
В справочнике есть ТЧ. В ТЧ есть несколько реквизитов в том числе Номенклатура.
Каким образом надо подправить обработчик события добавления новой строки в ТЧ, чтобы сразу открывалась форма выбора элемента справочника Номенклатура и при выборе значение записывалось в реквизит Номенклатура новой строки?
1 Azverin
 
22.10.14
08:14
(0) открыть форму выбора справочника Номенклатуры не предлагать?
2 Рэйв
 
22.10.14
08:14
у таб поля в событии

ПриНачалеРедактирования(Элемент, НоваяСтрока)

Если НоваяСтрока Тогда
    //открываем форму выбора,читаем текущие данные, пишем  туда Номенклатуру, если выбрали
КонецЕсли;
3 echo77
 
22.10.14
11:14
Собственно вопрос как не изобретая велосипед поместить выбранную номенклатуру в реквизит Номенклатура, вновь введенной строки
4 Godofsin
 
22.10.14
11:19
ОбработкаВыбора + глобальная переменная?
5 Kalambur
 
22.10.14
11:21
(3) как обычно
6 nemoxp
 
22.10.14
11:22
Код для открытия формы выбора номенклатуры и выбора самой номенклатуры:

ФормаПодбора = Справочники.Номенклатура.ПолучитьФормуВыбора();
ВыбраннаяНоменклатура = ФормаПодбора.ОткрытьМодально();
7 nemoxp
 
22.10.14
11:24
(6) Данный код вставляешь в обработчик собятия добавления строки. ПередНачаломДобавления. В начале пишешь:
СтандартнаяОбработка = Ложь;
8 echo77
 
22.10.14
11:26
Написал вот так:

Процедура ТабличноеПоле1ПередНачаломДобавления(Элемент, Отказ, Копирование)
    
    Если Копирование Тогда
        Возврат
    КонецЕсли;
    
    Отказ = Истина;
    
    Форма = Справочники.Номенклатура.ПолучитьФормуВыбора();
    ВыбЗначение = Форма.ОткрытьМодально();
    
    Если ВыбЗначение <> Неопределено Тогда
        НоваяСтрока = ТабличноеПоле1.Добавить();
        НоваяСтрока.Номенклатура = ВыбЗначение;
        Элемент.ТекущаяСтрока = НоваяСтрока;
    КонецЕсли;
    
    
КонецПроцедуры

- но это не совсем то что я хотел.
9 nemoxp
 
22.10.14
11:27
(8) так тебя не понять что именно хочешь!
10 nemoxp
 
22.10.14
11:27
На все заданные вопросы уже ответили.
11 echo77
 
22.10.14
11:28
+(8) тут минусы:
- форма выбора открывается модально
- сразу после добавления мы вышли из режима редактирования поляВвода Номенклатура
12 echo77
 
22.10.14
11:30
(10) Да, ответили. Я уже понял, что сделать как я хочу без глобальной переменной и обработчикаВыбора не получится
13 Krolik Bezobraznik
 
22.10.14
11:31
(11) Открывай не модально. А тебе что требуется делать сразу после помещения результата выбора в форме, танцевать лезгинку?
14 echo77
 
22.10.14
11:33
(13) заполнять остальные поля во вновь введенной строке