Всем Привет! Есть ТЧ документа, при подборе данных в соответствующие реквизиты есть свои формы подбора.Почему при подборе например только номенклатуры,при этом работник уже заполнен вываливается ошибка Значение не является значением объектного типа (Открыта)
Если мФормаПодбораРаботника.Открыта() Тогда
В обработке выбора ТЧ пишу:
СтандартнаяОбработка=Ложь;
Если мФормаПодбораРаботника.Открыта() Тогда
Элемент.ТекущаяСтрока.Работник = ВыбранноеЗначение.Работник;
ИначеЕсли мФормаПодбораТехники.Открыта() Тогда
Элемент.ТекущаяСтрока.Техника = ВыбранноеЗначение.Техника;
ИначеЕсли мФормаПодбораНоменклатуры.Открыта() Тогда
Элемент.ТекущаяСтрока.НаименованиеГруза=
ВыбранноеЗначение.Номенклатура;
КонецЕсли;
P.S. Т.е. мне нужно чтобы подбор в реквизит ТЧ происходил при соответствующей ему открытой форме подбора...Надеюсь не сильно Вас запутал.Заранее благодарен!
(3) Посмотрел,сразу же спотыкается на Если мФормаПодбораРаботника.Открыта().
Но я же заполняю реквизит "номенклатура" из формы мФормаПодбораНоменклатуры, почему так происходит?
(4) потому что проверка на мФормаПодбораРаботника.Открыта() стоит раньше, чем проверка на номенклатуру. Советую разнести все по разным процедурам. Ну или просто проверять какой именно реквизит ТЧ ты изменяешь
Если ТипЗнч(Элемент)= Тип("СправочникСсылка.ФизическиеЛица") и мФормаПодбораРаботника.Открыта() Тогда
Элемент.ТекущаяСтрока.Работник = ВыбранноеЗначение.Работник;
ИначеЕсли ТипЗнч(Элемент)= Тип("СправочникСсылка.Номенклатура") и мФормаПодбораНоменклатуры.Открыта() Тогда
Элемент.ТекущаяСтрока.НаименованиеГруза = ВыбранноеЗначение.Номенклатура;
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший