Имя: Пароль:
1C
1C 7.7
v7: Отловить закрытие подбора
0 Vasste
 
02.02.19
16:09
Впал в ступор:
из документа открываю подбор методом ОткрытьПодбор()

Подскажите: как отловить закрытие подбора?

Вариант с текстовым полем на форме и ТипЗначения () = 100 - как то не очень красиво наверное.
1 Duke1C
 
02.02.19
16:22
(0) Ну, стандартный вопрос, для начала: "Какую цель преследуете, чего добиться хочется?"
2 Vasste
 
02.02.19
16:29
Запустить функцию обработки строк в документе.
В табличную часть добавляются строки через ОбработкуПодбора, а после закрытия нужно обработать целиком табличную часть.
В ОбработкеПодбора - не гуманно, т.к. в функции есть пересчёт регистров.
3 Garykom
 
гуру
02.02.19
16:34
4 Garykom
 
гуру
02.02.19
16:39
И да ты подбор то модально открывай, вот при закрытии и поймешь.
5 Vasste
 
02.02.19
16:39
(3) Очень кривой костыль будет... Т.к. есть АктивизироватьСтроку и много там уже есть...
6 Garykom
 
гуру
02.02.19
16:41
Шо только недавно столкнулся с 7.7 после 8.Х ?

Ты не думай там сплошные костыль на костыле и FormEx'ом погоняет
7 Garykom
 
гуру
02.02.19
16:42
8 Vasste
 
02.02.19
16:45
(6) Нет. Не скажу, что "недавно"...
Просто контекст подбора то можно получить. И через ТипЗначения () = 100 - видно когда открыт/закрыт подбор...
Но вот как это "красиво" сделать - никак не ума не приложу.
9 Vasste
 
02.02.19
16:47
(7) Formex тоже пробовал - в ПриЗакрытии () в форме Подбора делал ВыполнитьФункцию() прописывал нужную. Не взлетело.
10 Lazy Stranger
 
02.02.19
16:51
можно сделать подбор примерно как номенклатура в ТИСе, когда в документ передаются все выбранные позиции сразу
11 Vasste
 
02.02.19
16:55
(10) Как вариант - возможно...
Загонять в подборе всё в список и потом один раз передавать? Подбор сделать не множественным...

Но это тоже наверное "костыль"... Но возьму на заметку.
12 Garykom
 
гуру
02.02.19
17:15
Я делал через свою форму подбора которую модально открывал
13 Vasste
 
02.02.19
17:18
(12) Модально - не хочется. Потом кружить с окнами и внешним видом - везде.
14 Kigo_Kigo
 
02.02.19
17:21
(11) Ну так, как данные попадут в ОбработкаПодбора(), так значит ее закрыли, делай как в тисе подбор сделан
15 Vasste
 
02.02.19
17:25
(14) Да! Принял на вооружение - в целом работает нормально (проверил), но неужели более красивого варианта нет? )
16 trdm
 
02.02.19
17:27
(15) Вы просто его оплатить жметесь.
Красивые варианты легко можно запрограмировать.
но дорого.
17 Vasste
 
02.02.19
17:33
(16) Юмор засчитан! )))
Для такого вопроса: "ДОРОГО" это 5$...:D
18 trdm
 
02.02.19
17:42
(17) жмот.
19 Ёпрст
 
02.02.19
17:45
(0) или пасти из формы документа, или в форме того, что открыли в при закрытии пинать форму, из которой отбор открыли
20 Vasste
 
02.02.19
17:49
(19) Пасти красивее чем скрытое текстовое поле - есть вариант?

Как корректно пнуть при закрытии подбора? Через Formex (9)  - пробовал, но не взлетело.
21 Chieftain
 
02.02.19
17:50
(19) А еще можно перехватчика заюзать
22 Vasste
 
02.02.19
17:52
(21) 1с++?
23 Chieftain
 
02.02.19
17:52
(22) он самый
24 Ёпрст
 
02.02.19
17:53
(20) формекс там не нужен для этх целей. Просто в ОткрытьПодбор передаешь Контекст, далее в ПриЗакрытии через контекст открытой формы делаешь что хочешь.
25 Ёпрст
 
02.02.19
17:55
в любом случае, решение не верное. Ибо строки в твоём доке могут менять/добавлять удалять и без открытия подбора. Соответственно обработку ТЧ дока ты же тоже должен как-то делать при этом.
26 Vasste
 
02.02.19
17:56
(24) По сути, выходит, что функцию из документа - надо перетащить в модуль открываемого подбора?
27 Ёпрст
 
02.02.19
17:56
>>>ункции есть пересчёт регистров.
покажи текст этой функции, возможно, оно тебе и надо вовсе
28 Vasste
 
02.02.19
18:01
(25) Не могут добавлять/удалять. Запрет.
(27) Обновление розничной цены идёт, через регистр: ОстаткиТМЦ.ЦенаПрод
29 Chieftain
 
02.02.19
18:02
(26) Еще вариант - призакрытии подбора вызвать Сервис.ВнешнееСобытие
30 Ёпрст
 
02.02.19
18:03
(28) это делать надо в модуле проведения дока. При чем тут твоя таб часть ?
31 Chieftain
 
02.02.19
18:04
(28) А если розничных цен несколько - оно само как хочет подбирается?
32 Chieftain
 
02.02.19
18:07
+(31) Всю жизнь подборы для розницы сразу запрашивали цену, типовые-то подборы видел? Никто и никогда не парился - при открытии подбора готовили регистры и по ним выдавали запрос
33 Vasste
 
02.02.19
18:08
(31) ТиС - по аналогии со стандартными формами, через диалог Выбор.
(30) Документ "служебный" - он не проводится. Ничего "не двигается" по регистрам. Печать этикеток из него.
(29) Интересный вариант. Надо рассмотреть.
34 Vasste
 
02.02.19
18:10
(31) Ну и в целом: такая ситуация, что розничных цен НЕСКОЛЬКО это из ряда вон выходящее. И такие ситуации сильно не рассматриваются.
35 Ёпрст
 
02.02.19
18:13
в приЗакрытии проверяешь, что форма дока еще открыта и тупо
Конт=Форма.Параметр
Конт.ТвояпроцаПересчета()

и всё
36 Vasste
 
02.02.19
18:19
(35) Так не работает.
37 Sserj
 
02.02.19
18:37
(36) Должно было взлететь. Код покажи как подбор вызываешь. Ты туда наверное список параметров кидаешь а не Контекст.
38 Vasste
 
02.02.19
18:59
(37) Конечно же там не контекст оказался, а СписокЗначений... Вот я олух то...)))
Всё работает!
(35), (37) Спасибо!
39 Sserj
 
02.02.19
19:02
(38) Чтобы не терять параметры, можно конетекст в них же запихать.
СписокПараметров.Установить("КонеткстВызывающейФормы", Контекст);

И в подборе его ссответственно доставать:

КонтекстВызова = Форма.Параметр.Получить("КонтекстВызывающейФормы");
40 Vasste
 
02.02.19
19:03
(39) Да-да. Подсунул туда контекст. Спасибо!
41 Chieftain
 
02.02.19
19:10
(40) Только контекст все равно проверяй, при закрытии вызывающей подбор формы - форма подбора тоже закроется, но позже - контекст будет утерян
42 Chieftain
 
02.02.19
19:13
+(41) что-то мне подсказывает, что вариант из (0) будет таки самым простым в итоге
43 trdm
 
02.02.19
19:39
(24) Это срабатывает если турбобул работает.
44 Ёпрст
 
02.02.19
20:34
(36) работает, ты ж вк грузишь, загрузи 1cpp и заработает
45 Vasste
 
02.02.19
21:11
(41) Спасибо за совет! Добавлю проверку!
(42) Подбор нужен не часто, а текстовое поле с этой функцией при каждом "шорохе" будет выполнятся - мне кажется это излишним.
(44) Это всё загружено было. В Параметры просто СписокЗначений передавал, а контекста среди них не было.

Спасибо всем за помощь. Получился рабочий вариант с Контекстом.
Независимо от того, куда вы едете — это в гору и против ветра!