|
v7: Можно ли узнать из какого объекта была открыта форма справочника | ☑ | ||
---|---|---|---|---|
0
zenon46
22.10.18
✎
15:48
|
Доброго дня!
Конфа комплексная 7.7, можно как то узнать в форме списка, из какого объекта была открыта данная форма (из отчета или документа)? |
|||
1
Масянька
22.10.18
✎
15:57
|
В ПриОткрытии через Форма.Параметр. А в Параметр передавать.
ИМХО. |
|||
2
Карст
22.10.18
✎
15:57
|
узнать - нет , сделать - как в (1) ... можно
|
|||
3
Калиостро
22.10.18
✎
15:59
|
Откуда открываем:
СписокПараметров=СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение("ОткрываемИзОтчета","ОткудаОткрываем"); В форме, которую открываем Процедура ПриОткрытии() ... Если ТипЗначенияСтр(Форма.Параметр) = "СписокЗначений" Тогда ОткудаОткрываем = Форма.Параметр.Получить("ОткудаОткрываем"); ... |
|||
4
Базис
naïve
22.10.18
✎
16:00
|
Перебрать открытые формы, наверное, может Формекс.
|
|||
5
zenon46
22.10.18
✎
16:00
|
(2) понял, печально. как например в Параметр что -то передать, при нажатии кнопки Ins в Табличной Части документа ?
|
|||
6
Калиостро
22.10.18
✎
16:06
|
(5)
Процедура ОбработкаПодбора(Элемент) НоваяСтрока(); Номенклатура = Элемент; КонецПроцедуры Процедура МояПроцедура() ОткрытьПодбор(); КонецПроцедуры Процедура ПриВводеСтроки() МояПроцедура(); СтатусВозврата(0); КонецПроцедуры |
|||
7
Масянька
22.10.18
✎
16:12
|
(5) А в ТЧ на этом поле что-то висит?
|
|||
8
Масянька
22.10.18
✎
16:12
|
+ (7) Я имела ввиду - формулу.
|
|||
9
zenon46
22.10.18
✎
16:14
|
(7) в табличной части без разницы на каком поле стоять, по кнопке Ins открывается справочник номенклатура.
С кнопкой "Подбор" проще, там можно передать параметр из нужных объектов. |
|||
10
Масянька
22.10.18
✎
16:17
|
(9) А почему "без разницы на каком поле"?
Номенклатура (справочник) должна открывать только для номенклатуры. А если в колонке "Цена" - на фига номенклатура? |
|||
11
zenon46
22.10.18
✎
16:19
|
(10) откройте любую типовую конфу 7.7, создайте любой пустой документ и нажмите Ins, открывается "Номенклатура"
|
|||
12
Duke1C
22.10.18
✎
16:19
|
(10) У него наверняка стоит в колонке Номенклатура - АвтоВыбор и колонка эта первая. Поэтому при вводе новой строки она активизируется и происходит открытие формы списка
|
|||
13
Масянька
22.10.18
✎
16:21
|
(11) Я уже поняла.
Перехват клавы... Надо делать... |
|||
14
zenon46
22.10.18
✎
16:22
|
(12) именно так на поле "Номенклатура" стоит АвтоВыбор
|
|||
15
Duke1C
22.10.18
✎
16:25
|
(13) Помимо клавы, новую строку можно еще другими способами создать:)
Нужно убирать АвтоВыбор и в ПриНачалеВыбораЗначения() открывать форму с нужным параметром |
|||
16
Масянька
22.10.18
✎
16:25
|
(14) А опиши задачу. Всю.
Может чего путного и посоветуют. |
|||
17
Масянька
22.10.18
✎
16:27
|
Кстати... Мысль тут пришла (ржать тихо :) ).
В отчете можно сделать параметр, поскольку это же поле, а не ТЧ. Так вот в списке и обрабатывай: есть параметр 0 отчет, нет - док-т. Но - надо проверять... |
|||
18
zenon46
22.10.18
✎
16:29
|
(16) всю описывать очень долго, надо реализовать механизм контроля выбора номенклатуры из справочника, а именно из 5 видов документов для некоторых наборов прав НЕ давать выбирать номенклатуру без определенного признака.
С подбором то все понятно, осталось решить с Insert-ом ( |
|||
19
Масянька
22.10.18
✎
16:31
|
(18) Лови Ё - он может помочь с перехватом клавы.
|
|||
20
Калиостро
22.10.18
✎
16:31
|
(18) еще раз, смотри (6) ПриВводеСтроки() -> СтатусВозврата(0) и подставь свою процедуру подбора
|
|||
21
zenon46
22.10.18
✎
16:32
|
(19) так а тут не только клава, если ЛКМ сделать на любом пустом поле, тоже открывается номенклатура.
|
|||
22
Масянька
22.10.18
✎
16:33
|
(21) По мышам - он тоже спец :)
|
|||
23
Kigo_Kigo
22.10.18
✎
16:46
|
(21) Вам в 20 уже все сказали
Процедура ПриВводеСтроки() |
|||
24
zenon46
22.10.18
✎
16:53
|
(23) попробовал, при включенном "АвтоВыбор" происходит открытие и "Подбора" и обычной формы списка. Видимо придется выключать "АвтоВыбор"
|
|||
25
zenon46
22.10.18
✎
17:03
|
Эх, засада со всех сторон, отключил "АвтоВыбор" теперь если два раза щелкнуть в поле номенклатура, появляются кнопка выбора и все по кругу. По Insert проблему решил вызываю ПоКнопкеПодбора().
|
|||
26
FIXXXL
22.10.18
✎
17:22
|
(18) а если с другой стороны зайти: после выбора "обнулить" недопустимое значение выбора
и не важно как был сделан выбор... |
|||
27
Злопчинский
22.10.18
✎
20:54
|
(26) и около птиц!
|
|||
28
Ёпрст
22.10.18
✎
23:03
|
(25) Форма.РежимВыбора() смотри в форме списка, это, если особо не заморачиваться, откуда открывают форму списка.
|
|||
29
Ёпрст
22.10.18
✎
23:04
|
(18) ну, будь проще - после выбора зануляй поле, это проще, чем передавать контекст формы. Хотя, с вк, вообще проблем нет
|
|||
30
Ёпрст
22.10.18
✎
23:18
|
Ну, или так, например:
в глобальный модуль экспортную переменную Перем Вася Экспорт; в документе в предопределенных процах ПриВВыодеСтроки, ПриРедактированииСтроки и т.д пихаешь Вася = глВзятьКонтекст(Контекст); в форме списка справочника в ПриОткрытии() Ежели (Форма.РежимВыбора()=1) И (ТипЗначения(Вася)=100) Тогда Ежели Вася.Вид() ="Реализация" Тогда Форма.ТолькоПросмотр(1); |
|||
31
Chieftain
23.10.18
✎
00:16
|
Если есть FormEx, то почти в 100% случаев можно сделать типа такого:
Процедура ПослеСозданияФормы() Перем Конт; Если Форма.РежимВыбора()=1 Тогда Сервис = СоздатьОбъект("Сервис"); Если Сервис.АктивныйКонтекст(Конт)=1 Тогда тВид = ""; Попытка тДокумент = Конт.ТекущийДокумент(); тВид = Конт.Вид(); Исключение КонецПопытки; Если тВид="ОприходованиеТМЦ" Тогда Сообщить("Оприходование!"); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
32
Масянька
23.10.18
✎
08:39
|
(30) Давно хотела тебя спросить: почему "Вася"?
|
|||
33
АгентБезопасной Нацио
23.10.18
✎
09:06
|
(32) Пупкин жеж...
|
|||
34
ADirks
23.10.18
✎
10:03
|
(18) есть же ПриНачалеВыбораЗначения() и ОбработкаВыбораЗначения()
В первом событии можно передать всё что угодно в форму выбора, во втором запретить всё неугодное. |
|||
35
MadDAD
26.10.18
✎
13:57
|
(5) С помощью перехватчика 1С++ и события ПриСозданииКонтекста вести глобальный список открытых контекстов. В свежеоткрывшейся форме получаешь список и предпоследний контекст. А оттуда уже и Вид() и Тип() и Форма.АктивныйЭлемент() и все прочее. При уничтожении контеста в списке будет пустое значение.
|
|||
36
Ёпрст
26.10.18
✎
15:42
|
(35) не кошерно, если будет открыта и форма дока и форма отчета, например.. нужно пасти еще и активный предпоследний контекст
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |