Имя: Пароль:
1C
1C 7.7
v7: При выборе строки
0 adawa3
 
03.02.17
11:09
Есть форма списка справочника.
И есть несколько документов, в которых этот справочник является реквизитом.
В некоторых документах надо запретить некоторые элементы справочника, а в некоторых нет. Но это не суть.
Короче, суть в том, что надо при начале выбора элемента справочника из списка в документе, надо каким-то образом выполнить проверку на тип документа.
Насколько понимаю, изменения надо вносить в функцию ПривыбореСтроки() формы списка справочника. Но какие именно? Как узнать из какого документа открыта форма списка?
1 adawa3
 
03.02.17
11:10
В 8 то проблем нет никаких, а вот в 7 вызвало затруднение.
2 Heckfy
 
03.02.17
11:11
Сделай в справочнике для каждого документа свою форму выбора и в ней уже делай отбор.
3 пипец
 
03.02.17
11:29
либо фрму справочника с отбором либо ТЗ
4 adawa3
 
03.02.17
11:44
А как в семерке вызвать открытие из документа своей созданной формы? То есть, вызвать ее просто ОткрытьФорму, а из какой процедуры вызывать?
Выделяю реквизит, у него в свойствах на вкладке Дополнительно указываю название функции. В функции прописываю ОткрытьФорму. Но она срабатывает уже после того, как открыта основная.
5 Ёпрст
 
03.02.17
11:48
(4) ПриНачалеВыбораЗначения открывай что хочешь
6 Злопчинский
 
03.02.17
14:37
(1) хочешь сказать что в 8-ке БЕЗ ПРОГРАММИРОВАНИЯ открытая форма какого-нить справочника ЗНАЕТ откуда она вызвана? рискну усомниться...
7 adawa3
 
03.02.17
14:52
(5)
В функцию документа ПриНачалеВыбораЗначения(ИдентЭлемДиалога, ФлагСтандОбр) запихнул:

Если ИдентЭлемДиалога = "МойСправочник" тогда
ОткрытьФорму("Справочник.НапрДеятельности.ФормаСпискаДополнительная");
ФлагСтандОбр = 0;
КонецЕсли;

В "Если" попадает, но все, что в ней в отладке перескакивает и открывает стандартную форму списка. Что не так?
8 adawa3
 
03.02.17
14:52
Так точнее:

Если ИдентЭлемДиалога = "НапрДеятельности" тогда
ОткрытьФорму("Справочник.НапрДеятельности.ФормаСпискаДополнительная");
ФлагСтандОбр = 0;
КонецЕсли;
9 Злопчинский
 
03.02.17
15:08
(8) так не точнее, форма списка не так указывается. указывается что открытьИ какую форму при этом использовать
10 Злопчинский
 
03.02.17
15:09
(9) не, налажал, так можно
11 Злопчинский
 
03.02.17
15:10
..это я с прямым углом перепутал...
12 Злопчинский
 
03.02.17
15:11
(8) проскакивает = ЭТО ПРАВИЛЬНО.
ибо ты нигде не сказал что после открытия формы справочника вызвавший эту форму код должен остановиться и подождать - код форму открыл и побежал себе дальше - с чего ему тормозить?
13 adawa3
 
03.02.17
15:11
Все, тема закрыта. Косякнул, писал не то название справочника.
14 adawa3
 
03.02.17
15:11
В "если" оказывается не попадало.
15 Злопчинский
 
03.02.17
15:13
(14) можно еще
Спр = СоздатьОбъект("Справочник.Мой");
Спр.Выбрать(.......)
2 + 2 = 3.9999999999999999999999999999999...