Имя: Пароль:
1C
1C 7.7
v7: Как открыть форму справочника из документа
, ,
0 alex_reglament
 
07.03.12
17:25
привет всем
Процедура ПриВыбореЭСУ()
   спрЭСУ = СоздатьОбъект("Справочник.ЭСУ");
   спрЭСУ.ИспользоватьВладельца(Контрагент);
   ОткрытьФормуМодально(спрЭСУ.ТекущийЭлемент());
КонецПроцедуры // ПриВыбореЭСУ
открывает почемуто справочник владелец помогите понять не доходит почему
1 alex_reglament
 
07.03.12
17:26
ПриВыбореЭСУ() = формула в реквизите который находится во многострочной части документа
2 alex_reglament
 
07.03.12
17:27
тип реквизита спр.ЭСУ
3 alex_reglament
 
07.03.12
17:27
помогите пожалуйста
4 FN
 
07.03.12
17:31
привет всем
Процедура ПриВыбореЭСУ()
   спрЭСУ = СоздатьОбъект("Справочник.ЭСУ");
   спрЭСУ.ИспользоватьВладельца(Контрагент);
   // тут нужно каким-либо образом спозиционироваться на конкретном элементе....
   ОткрытьФормуМодально(спрЭСУ.ТекущийЭлемент());
КонецПроцедуры // ПриВыбореЭСУ
5 alex_reglament
 
07.03.12
17:32
мне нужно чтобы открылось окно со всеми реквизитами по данному владельцу это никак?
6 viktor_vv
 
07.03.12
17:33
(0) А тебе какая форма нужна ? Списка или элемента?
7 alex_reglament
 
07.03.12
17:33
списка
8 Rie
 
07.03.12
17:34
ОткрытьФорму("Справочник.ЭСУ");
9 Rie
 
07.03.12
17:34
+(8) То есть, нет, у тебя же подчинённый...
10 viktor_vv
 
07.03.12
17:35
(7) Че с этой формой списка дальше делать хочешь ?
11 alex_reglament
 
07.03.12
17:35
тогда как?
12 alex_reglament
 
07.03.12
17:35
выбрать из нее нуэнуй элемент
13 alex_reglament
 
07.03.12
17:35
прасти нужный
14 Rie
 
07.03.12
17:35
Конт = 0;
ОткрытьФорму("Справочник.ЭСУ",Конт);
Конт.ИспользоватьВладельца(ТотКоторыйТебеНужен);
15 viktor_vv
 
07.03.12
17:36
Чем тебя не устраивает в свойствах элемента формы для этого реквизита "Связан с" указываешь реквизит "Контрагент" и штатно для выбора откроется список.
16 viktor_vv
 
07.03.12
17:37
Тем более что в твоем варианте формула сработает после штатного выбора.
17 Конфигуратор1с
 
07.03.12
17:38
ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>)
В контекст передаешь владельца, в форме справочника при открытии через форма.параметр получаешь владельца и устанавливаешь его
18 alex_reglament
 
07.03.12
17:38
ОткрытьФорму("Справочник.ЭСУ",Конт);
{Документ.АктВыполненныхРабот.Форма.Модуль(78)}: Открытие окна в данном режиме недоступно!
Конт.ИспользоватьВладельца(Контрагент);
{Документ.АктВыполненныхРабот.Форма.Модуль(79)}: Значение не представляет агрегатный объект (ИспользоватьВладельца)
туплю прасти помаги подробнее пожалуйста
19 Rie
 
07.03.12
17:39
(18) Либо (15), а если чем-то (15) не устраивает - делаешь фиктивное закрытие.
Ну и не ОткрытьФорму тогда уж, а ОткрытьПодбор и ОбработкаПодбора().
20 viktor_vv
 
07.03.12
17:40
В твоем варианте надо не в формулу реквизита, а в ПриНачалеВыбораЗначения().
21 viktor_vv
 
07.03.12
17:42
ПриНачалеВыбораЗначения(ИдентЭлемДиалога,ФлагСтандОбр)
Если ИдентЭлемДиалога = "ТвойИдентификаторРеквизита" Тогда
ФлагСтандОбр = 0 ;
// тут че тебе надо
КонецЕсли ;

Но ты лучше ответь на (15).
22 viktor_vv
 
07.03.12
17:45
(21) Плюс ОбработкаВыбораЗначения().
23 FN
 
07.03.12
17:46
Процедура ПриВыбореЭСУ()
   спрЭСУ = СоздатьОбъект("Справочник.ЭСУ");
   спрЭСУ.ИспользоватьВладельца(Контрагент);
   спрЭСУ.Выбрать(....);
   НужныйРеквизит=спрЭСУ.ТекущийЭлемент();
КонецПроцедуры // ПриВыбореЭСУ
24 alex_reglament
 
07.03.12
17:53
() не знал такого
25 alex_reglament
 
07.03.12
18:01
я понимаю это тупо но форма открывается но элементов нет что делать?
Процедура ПриВыбореЭСУ()
   спрЭСУ = СоздатьОбъект("Справочник.ЭСУ");
   спрЭСУ.ИспользоватьВладельца(Контрагент);
   спрЭСУ.НайтиПоНаименованию("");
   ОткрытьФормуМодально("Справочник.ЭСУ",спрЭСУ.ТекущийЭлемент());
КонецПроцедуры // ПриВыбореЭСУ
26 alex_reglament
 
07.03.12
18:08
ну что никто не поможет?
27 FN
 
07.03.12
18:12
(26) научись читать не только свои сообщения, и жизнь наладится
28 Kondarat
 
07.03.12
18:12
(27) А (23) не помогает?
29 alex_reglament
 
07.03.12
18:13
Процедура ПриВыбореЭСУ()
   спрЭСУ = СоздатьОбъект("Справочник.ЭСУ");
   спрЭСУ.ИспользоватьВладельца(Контрагент);
   спрЭСУ.Выбрать(....);
   НужныйРеквизит=спрЭСУ.ТекущийЭлемент();
КонецПроцедуры // ПриВыбореЭСУ
помогло но реквизит пучтой
30 Kondarat
 
07.03.12
18:16
(29) Ты не копируй с поста, а покажи как ты этот пример реализовал в своем коде.
31 IvanovIV
 
07.03.12
18:16
конфа какая
32 alex_reglament
 
07.03.12
18:16
Процедура ПриВыбореЭСУ()
   спрЭСУ = СоздатьОбъект("Справочник.ЭСУ");
   спрЭСУ.ИспользоватьВладельца(Контрагент);
   спрЭСУ.Выбрать(,);
   ЭСУ = спрЭСУ.ТекущийЭлемент().ЭСУ;
КонецПроцедуры // ПриВыбореЭСУ
ВСЕ ОК ЗАПУТАЛСЯ СПАСИБО БОЛЬШОЕ!!!!
33 alex_reglament
 
07.03.12
18:18
блин нет не все теперь реквизит заполняется цифрами
34 FN
 
07.03.12
18:18
(32) я тебе сейчас еще один совет дам:

На форме на реквизите "ЭСУ" (тип - Справочник.ЭСУ) в конфигураторе правой кнопкой - "Свойства" и в поле Связан напиши
Контрагент
35 alex_reglament
 
07.03.12
18:20
это сделал На форме на реквизите "ЭСУ" (тип - Справочник.ЭСУ)
36 alex_reglament
 
07.03.12
18:21
а вто это не понимаю что именно правой кнопкой
в конфигураторе правой кнопкой - "Свойства" и в поле Связан напиши
Контрагент
37 viktor_vv
 
07.03.12
18:23
(36) На заголовке реквизита в табличной части правой кнопкой.
38 alex_reglament
 
07.03.12
18:25
нашел уже пробую! код остовлять?
39 alex_reglament
 
07.03.12
18:28
вот мой код
Процедура ПриВыбореЭСУ()
   спрЭСУ = СоздатьОбъект("Справочник.ЭСУ");
   спрЭСУ.ИспользоватьВладельца(Контрагент);
   спрЭСУ.Выбрать(,);
   ЭСУ = спрЭСУ.ТекущийЭлемент().ЭСУ;
КонецПроцедуры // ПриВыбореЭСУ
сделал все так как сказано в (34)
теперь форма открывается выбираю нужный элемент открывапется еще одна форма  с теми же  эт=лементами и т д
40 alex_reglament
 
07.03.12
18:29
заремил код и все поехало
41 alex_reglament
 
07.03.12
18:29
спасибо всем!
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.