Имя: Пароль:
1C
1С v8
ОбработкаВыбора ТЧ
0 Gill
 
19.04.12
10:08
Всем Привет! Есть ТЧ документа, при подборе данных в соответствующие реквизиты есть свои формы подбора.Почему при подборе например только номенклатуры,при этом работник уже заполнен вываливается ошибка Значение не является значением объектного типа (Открыта)
   Если  мФормаПодбораРаботника.Открыта() Тогда

В обработке выбора ТЧ пишу:

СтандартнаяОбработка=Ложь;  

Если  мФормаПодбораРаботника.Открыта() Тогда
 Элемент.ТекущаяСтрока.Работник = ВыбранноеЗначение.Работник;
   
ИначеЕсли  мФормаПодбораТехники.Открыта() Тогда
 Элемент.ТекущаяСтрока.Техника = ВыбранноеЗначение.Техника;
       
ИначеЕсли  мФормаПодбораНоменклатуры.Открыта()    Тогда
  Элемент.ТекущаяСтрока.НаименованиеГруза=
ВыбранноеЗначение.Номенклатура;
 
КонецЕсли;

P.S. Т.е. мне нужно чтобы подбор в реквизит ТЧ происходил при соответствующей ему открытой форме подбора...Надеюсь не сильно Вас запутал.Заранее благодарен!
1 Wobland
 
19.04.12
10:09
почему? да потому что у тебя в мФормаПодбораРаботника всякая хрень
2 Gill
 
19.04.12
10:13
+(1) какая именно хрень?
3 butterbean
 
19.04.12
10:16
(2) в отладчике посмотри
4 Gill
 
19.04.12
10:20
(3) Посмотрел,сразу же спотыкается на Если  мФормаПодбораРаботника.Открыта().
Но я же заполняю реквизит "номенклатура" из формы  мФормаПодбораНоменклатуры, почему так происходит?
5 Любопытная
 
19.04.12
10:22
(4) потому что проверка на  мФормаПодбораРаботника.Открыта() стоит раньше, чем проверка на номенклатуру. Советую разнести все по разным процедурам. Ну или просто проверять какой именно реквизит ТЧ ты изменяешь
6 Gill
 
19.04.12
10:33
(5) Написал вот так, подбирается только работник    

СтандартнаяОбработка=Ложь;  

Если ТипЗнч(Элемент)= Тип("СправочникСсылка.ФизическиеЛица") и мФормаПодбораРаботника.Открыта() Тогда
   Элемент.ТекущаяСтрока.Работник = ВыбранноеЗначение.Работник;
ИначеЕсли ТипЗнч(Элемент)= Тип("СправочникСсылка.Номенклатура") и  мФормаПодбораНоменклатуры.Открыта()    Тогда
       Элемент.ТекущаяСтрока.НаименованиеГруза = ВыбранноеЗначение.Номенклатура;
     
КонецЕсли;
7 Рэйв
 
19.04.12
10:38
(6)Элемент это вообще то не ссылка справочник, а элемент формы. проверяй уж тогда
Элемент.Значение

Только все равно непонятно что у тебя в мФормаПодбораРаботника.
8 Любопытная
 
19.04.12
10:38
и что?
9 Gill
 
19.04.12
11:01
всем спасибо решил проблему так


Если Элемент.ТекущаяКолонка.Имя = "Работник"  Тогда
       Элемент.ТекущаяСтрока.Работник = ВыбранноеЗначение.Работник;
   
   ИначеЕсли Элемент.ТекущаяКолонка.Имя = "НаименованиеГруза"  Тогда
       Элемент.ТекущаяСтрока.НаименованиеГруза = ВыбранноеЗначение.Номенклатура;
 
   КонецЕсли;
10 Любопытная
 
19.04.12
11:02
а проверку на открытость формы убрал совсем? :)
11 Gill
 
19.04.12
11:12
(10) да убрал
Закон Брукера: Даже маленькая практика стоит большой теории.