Имя: Пароль:
1C
1С v8
Поле формы добавляемой строки
,
0 MistaEr
 
23.08.17
12:26
&НаКлиенте
Процедура ВыбратьНоменклатуруПоНаличию(Элемент)
    
    Форма = ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора",,Элемент);
    
    ЭлементОтбора                     = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение       = Новый ПолеКомпоновкиДанных("Ссылка");
    ЭлементОтбора.ВидСравнения        = ВидСравненияКомпоновкиДанных.ВСписке;
    ЭлементОтбора.Использование       = Истина;
    ЭлементОтбора.ПравоеЗначение      = ПолучитьСписокНоменклатурыВНаличии();
    ЭлементОтбора.РежимОтображения    = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
    Форма.Элементы.Список.Отображение = ОтображениеТаблицы.Список;
    Форма.Открыть();
    
КонецПроцедуры    
    
&НаКлиенте
Процедура ОсновнаяНоменклатураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
      
    СтандартнаяОбработка = Ложь;
    ВыбратьНоменклатуруПоНаличию(Элемент);

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

&НаКлиенте
Процедура ОсновнаяПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
    

        ВыбратьНоменклатуруПоНаличию(????????????);

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

Не знаю что писать где вопросы. Нужно обратиться к полю "Номенклатура" формы этой строки
1 MistaEr
 
23.08.17
12:26
Элемент.ТекущийЭлемент не всегда срабатывает
2 term1t52
 
23.08.17
12:27
Элементы.Таблица.ТекущиеДанные
3 MistaEr
 
23.08.17
12:30
(2) НеТ! Поле формы нужно передавать, чтоб выбранное значение подставилось в это поле
4 term1t52
 
23.08.17
12:32
Объект.Таблица.НайтиПоИдентификатору(Элементы.Таблица.ТекущиеДанные.ПолучитьИдентификатор())
5 MistaEr
 
23.08.17
12:34
(4) Нет! Это то же самое
6 Рэйв
 
23.08.17
12:37
(3)Какое поле формы? Нет такого слова в языке 1С.
делай
//-
Выб=Форма.ОткрытьМодально();

Если ЗначениеЗаполнено(Выб) Тогда
   ТД=Элементы.ТабЧастьТвоя.ТекущиеДанные;
   ТД.Номенклатура =Выб;
КонецЕсли;
//--

Если я правильно понял что ты хочешь
7 MistaEr
 
23.08.17
12:38
Элементы.ОсновнаяНоменклатура
8 Рэйв
 
23.08.17
12:39
можно не модально,а то многие религиозно против:-)
но там другие танцы с бубном
9 MistaEr
 
23.08.17
12:39
(6) Модально не прокатит мне. Вот все что нужно было: ВыбратьНоменклатуруПоНаличию(Элементы.ОсновнаяНоменклатура);
10 Рэйв
 
23.08.17
12:39
(9)А почему модально не прокатит? В вэбе работаете чтоли?
11 MistaEr
 
23.08.17
12:40
Знаю, но тогда отбор нужно устанавливать в модуле открываемой формы
12 MistaEr
 
23.08.17
12:40
(10) Да
13 term1t52
 
23.08.17
12:41
Опишите логику, что вы хотите
14 MistaEr
 
23.08.17
12:43
уже при добавлении новой строки открывалась форма номенклатуры с отбором по наличию. Все вопрос снят. Всем спасибо
15 Рэйв
 
23.08.17
12:43
(12)ну тогда тебе надо заменить модальность как это принято по последним веяниям моды.
вот тут описывается примерно помоему
http://its.1c.ru/docs/v8nonmodal/
16 aleks_default
 
23.08.17
16:19
ищи событие ОбработкаВыбора твоего поля