Имя: Пароль:
1C
1С v8
v8: Открытие формы списка справочника программно
,
0 laska1983
 
12.12.11
10:02
Добрый день!
как дописать код, чтобы открывался справочник Физ Лиц, если поле Физ лицо не заполнено.

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


Процедура ПриИзмененииФизическогоЛица(СтрокаТабличнойЧасти)

   
КонецПроцедуры
1 Wobland
 
12.12.11
10:03
Если   Тд.ФизЛицо.Пустая() //это раз
2 vmv
 
12.12.11
10:06
это два

ФизЛицоСсылка = Тд.ФизЛицо;

Если  ПустаяСтрока(ФизЛицоСсылка.Наименование)
       
       Тогда ОбщегоНазначения.СообщитьОбОшибке("Введите данные о физическом лице", Отказ, Заголовок);
       
       ПриИзмененииФизическогоЛица(Тд);
       
   КонецЕсли;
3 DrShad
 
12.12.11
10:08
(2) нафига повторять бред?
4 laska1983
 
12.12.11
10:09
вместо критики подскажите, пожалуйста, как в ячейку Тд.ФизЛицо добавить ввод данных из справочника Физ.лица?
5 vmv
 
12.12.11
10:11
(3) не можешь оптимизировать человеку код - продавай пирожки в метро
6 Ненавижу 1С
 
гуру
12.12.11
10:12
(5) ты о себе? ))
7 DrShad
 
12.12.11
10:12
(5) в (1) был верный вариант проверки
8 Wobland
 
12.12.11
10:13
а вот как инициировать выбор из поля ввода?
или наколдовать ВвестиЗначение()...
9 laska1983
 
12.12.11
10:14
Народ, подскажите, где вообще есть нечто похожее. в каком док-те?
если не заполнено поле, то вылезает ошибка и с ней открывается форма справочника, из которого выбираем человека...
10 wade25
 
12.12.11
10:21
(9) Эмм, при записи ловишь или когда? При открытии наверно не лучший вариант) А вообще Форма = Спр.Блабла.ПолучитьФормуСписка(); Форма.Открыть(). Ну эт после проверки на ФизЛиц.Пустая()
11 laska1983
 
12.12.11
10:21
Форма = Спр.Блабла.ПолучитьФормуСписка(); Форма.Открыть()
не работает.
проверяла(
12 wade25
 
12.12.11
10:25
(11) Может потому, что на &Клиенте выполняется?)
13 wade25
 
12.12.11
10:26
И еще ПолучитьФормуСписка("тут над название писать формы!!!").
14 DrShad
 
12.12.11
10:35
(13) а почему списка? а не выбора?
15 Wobland
 
12.12.11
10:43
а почему бы вообще не ВвестиЗначение()?
16 laska1983
 
12.12.11
10:45
у...сейчас попробую все варианты)))
17 laska1983
 
12.12.11
13:55
ВвестиЗначение()-идеальное решение!
Спасибо!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.