|
v7: Обработка в режиме подбора | ☑ | ||
---|---|---|---|---|
0
lostfoton
27.11.11
✎
19:03
|
Здравствуйте уважаемые.
Если с помощью метода ОткрытьПодбор() открывать форму справочника, журнала документов и т.д. - для каждого подбора открывается отдельная форма. Если же выполнять ОткрытьПодбор() для обработки, то отдельная форма не открывается и подбор нарушается - не срабатывает ОбработкаПодбора() (срабатывает только для того контекста который первый открыл форму обработки для подбора). Подскажите кто как борется с этим. |
|||
1
Ёпрст
27.11.11
✎
19:05
|
Сам то понял, что спросил ?
|
|||
2
lostfoton
27.11.11
✎
19:07
|
Что ты не понял?
Я постараюсь объяснить. |
|||
3
lostfoton
27.11.11
✎
19:08
|
Подбор открывается так:
ОткрытьПодбор("Обработка.ПодборТоваров",,ПеремПараметрПодбора,1,); |
|||
4
Ёпрст
27.11.11
✎
19:08
|
да всё собственно нипанятна, чего ты там открываешь и открыть на можешь
|
|||
5
Ёпрст
27.11.11
✎
19:09
|
(3) И ? И чего, не открывается ? %)
|
|||
6
lostfoton
27.11.11
✎
19:12
|
Допустим есть два документа.
Из каждого вызывается: ОткрытьПодбор("Обработка.ПодборТоваров",,ПеремПараметрПодбора,1,); Две формы обработки Обработка.ПодборТоваров не открывается, а происходит повторное открытие формы. В обработке отрабатывает ПриПовторномОткрытии() При этом в этих 2-х документах ОбработкаПодбора() отрабатывает только в первом кто выполнил: ОткрытьПодбор("Обработка.ПодборТоваров",,ПеремПараметрПодбора,1,); |
|||
7
Злопчинский
27.11.11
✎
19:19
|
ОткрытьПодбор("Обработка.ПодборТоваров#"+_GetPerformanceCounter(),,ПеремПарамПодбора,1,)
|
|||
8
lostfoton
27.11.11
✎
19:22
|
(7):
ОткрытьПодбор("Обработка.ПодборТоваров#"+_GetPerformanceCounter(),,ПеремПараметрПодбора,1,) {Документ.Счет.Форма.Модуль(237)}: Неверный вид. ПодборТоваров#5155674 |
|||
9
ДенисЧ
27.11.11
✎
19:23
|
Продам кусок СП для открытьФорму()....
|
|||
10
Aleksey
27.11.11
✎
19:23
|
(9) А там нет этой фичи
|
|||
11
lostfoton
27.11.11
✎
19:29
|
(7) - # работает только для ОткрытьФорму()?
|
|||
12
lostfoton
27.11.11
✎
20:11
|
Пока не нашел ничего лучше программного закрытия формы обработки при повторном открытии и предупреждения пользователя о том что нужно еще раз открывать подбор.
|
|||
13
Эльниньо
27.11.11
✎
20:25
|
А у меня не 5155674, а другое число. Ужас! Что делать?
|
|||
14
mehfk
27.11.11
✎
21:29
|
(13) Прострели ногу (8)
|
|||
15
Torquader
28.11.11
✎
01:13
|
А почему нельзя обработку открывать через ОткрытьФорму и в параметр передавать всё, что хотят выбрать (ну и получать обратно также).
|
|||
16
lostfoton
28.11.11
✎
08:23
|
(8) - ты предлагаешь открывать форму обработки модально, а при закрытии формы обработки присваивать значение Форма.Параметр для обработки в документе.
В принципе это вариант. Единственное что не совсем подходит - модальность. |
|||
17
Rie
28.11.11
✎
08:26
|
(16) Модально - не обязательно.
|
|||
18
lostfoton
28.11.11
✎
09:26
|
(17) - ?
Отслеживать ТипЗначения()=0 для контекста открытой формы обработки? |
|||
19
lostfoton
28.11.11
✎
09:27
|
(16) - поясни что предлагаешь?
|
|||
20
Guk
28.11.11
✎
09:30
|
по-моему автору пора познакомиться с методом формы ВыполнитьВыбор...
|
|||
21
lostfoton
28.11.11
✎
18:16
|
(20) - если я открою обработку через ОткрытьФорму(). ВыполнитьВыбор() будет бесполезен, т.к. ОбработкаПодбора() - не сработает.
|
|||
22
lostfoton
29.11.11
✎
23:03
|
Решил проблему для своего случая (подбор с вводом кол-ва) так:
В модуле документа для которого идет подбор: //------------------------------------------ Процедура прНачатьПодборТовара() ПеремПараметрПодбора=глфнПолучитьКонтекст(Контекст); ОткрытьФорму("Обработка.ПодборТоваров#"+_GetPerformanceCounter()),ПеремПараметрПодбора); КонецПроцедуры //------------------------------------------ Процедура ОбработкаПодбора(ПеремЗнач,ПеремКонтекст) //действия по обработке значения подбора КонецПроцедуры //------------------------------------------ В "Обработка.ПодборТоваров" //------------------------------------------ ПеремКонтекст=Форма.Параметр; // это контекст документа для которого нужен подбор Если ТипЗначения(ПеремКонтекст)=100 Тогда ПеремКонтекст.ОткрытьПодбор("Обработка.ВводКолВа",,ПеремСписокАргументов,1,); КонецЕсли; //------------------------------------------ В "Обработка.ВводКолВа" вводится кол-во в ПеремСписокАргументов и вызывается: //------------------------------------------ Форма.ВыполнитьВыбор(ПеремСписокАргументов); Форма.Закрыть(0); //------------------------------------------ Спасибо всем за ответы. |
|||
23
КонецЦикла
29.11.11
✎
23:11
|
Непонятен практический смысл открытия нескольких форм вообще
А вообще смотреть торговлю и склад, там это работает почему-то |
|||
24
lostfoton
30.11.11
✎
15:20
|
(23) Смысл в том что обработка подбора может быть открыта из нескольких документов одновременно и просто открыта (без подбора, для просмотра).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |