![]() |
![]() |
![]() |
|
Выбор Документа в Модуль формы другого документа | ☑ | ||
---|---|---|---|---|
0
koshechka
02.11.04
✎
12:11
|
Ситуация: Есть Документ в котором есть реквизит модуля формы, в который надо выбирать другой документ из модальной формы общего журнала документов. Форма открывается
//******************************************************************************* Процедура ПриНачалеВыбораЗначения(ЭлементДиалога, Флаг) Если ЭлементДиалога = "Заказ" Тогда КонтекстЖурнала = СоздатьОбъект("СписокЗначений"); КонтекстЖурнала.Установить("Заказчик", Контрагент); КонтекстЖурнала.Установить("Контрагент", Контрагент); ОткрытьФормуМодально("Журнал.ЗаказыДляПодбора", КонтекстЖурнала); Заказчик=Контрагент; Флаг = 0; КонецЕсли; КонецПроцедуры // ПриНачалеВыбораЗначения() // Отбор работает, только вот документ не попадает в поле модуля формы :((( Процедура ПриВыбореСтроки() Форма.Параметр = ТекущийДокумент; КонецПроцедуры // ПриВыбореСтроки() Что я делаю не так? |
|||
1
Rovan
гуру
02.11.04
✎
12:17
|
А так
ОткрытьФормуМодально("Журнал.ЗаказыДляПодбора", КонтекстЖурнала); Заказчик = КонтекстЖурнала; |
|||
2
koshechka
02.11.04
✎
12:20
|
Да речь не идет о том, что форма не открывается, речь идет о том, что при выборе документа из формы журнала, документ не попадает в другой документ!
Что Процедура ПриВыбореСтроки() Форма.Параметр = ТекущийДокумент; КонецПроцедуры // ПриВыбореСтроки() НЕ РАБОТАЕТ! |
|||
3
Rovan
гуру
02.11.04
✎
12:24
|
ПриВыбореСтроки включается в форме списка справочника, журнала, счетов, журнала операций, журнала проводок при помощи метода Форма.ОбработкаВыбораСтроки(1)
|
|||
4
koshechka
02.11.04
✎
12:30
|
ПриВыбореСтроки() размещается в модуле формы журнала, из которого док, который выбирает бух, должен попадать в док, из которого модально открыта форма журнала,
ИНТЕРЕСУЕТ ВОПРОС, ПОЧЕМУ ВЫБРАННЫЙ ДОК, не попадает куда надо, т.е. в Форма.Параметр= и т.д. |
|||
5
Rovan
гуру
02.11.04
✎
12:47
|
(4) Отладчик заходит в ПриВыбореСтроки() ?
|
|||
6
koshechka
02.11.04
✎
12:47
|
//******************************************************************************
// Предопределенная процедура Процедура ПриОткрытии() Заказчик = ""; Если ПустоеЗначение(Форма.Параметр) = 0 Тогда Если ТипЗначенияСтр(Форма.Параметр) = "Документ" Тогда глАктивизироватьДокумент(Контекст, Форма.Параметр); КонецЕсли; Если ТипЗначенияСтр(Форма.Параметр) = "Справочник" Тогда Если Форма.Параметр.Вид() = "Контрагенты" Тогда Заказчик = Форма.Параметр; КонецЕсли; ИначеЕсли ТипЗначенияСтр(Форма.Параметр) = "СписокЗначений" Тогда Заказчик = Форма.Параметр.Получить("Контрагент"); КонецЕсли; КонецЕсли; Если ПустоеЗначение(Заказчик) = 1 Тогда Спр = СоздатьОбъект("Справочник.Контрагенты"); Если Спр.Выбрать("Укажите КонтрАгента",) = 1 Тогда Заказчик = Спр.ТекущийЭлемент(); Иначе СтатусВозврата(0); Возврат; КонецЕсли; КонецЕсли; Если Форма.МодальныйРежим() = 1 Тогда Форма.ОбработкаВыбораСтроки(1); КонецЕсли; УстановитьОтбор("Контрагент", Заказчик); ВидыОтбора(""); глСписокОбщихЖурналов.Пометка(глСписокОбщихЖурналов.НайтиЗначение("ЗаказыДляПодбора"), 1); КонецПроцедуры // ПриОткрытии() //****************************************************************************** Не работает!!! |
|||
7
koshechka
02.11.04
✎
12:49
|
Ща попробую отладчика
|
|||
8
koshechka
02.11.04
✎
12:54
|
Заходит, а док все равно не выбирается
|
|||
9
vS
02.11.04
✎
13:45
|
Есть подозрение, что ТекушийДокумент это в Запросе, а в Документе должно быть ТекущийДокумент();
|
|||
10
vS
02.11.04
✎
13:47
|
сорри
фигню сказал, этож журнал, 5 сек |
|||
11
koshechka
02.11.04
✎
13:48
|
Если запустить Сообщить(""+ТекущийДокумент) То как раз таки выбирается то что надо, но не попадает в форму дока
|
|||
12
vS
02.11.04
✎
13:56
|
Кошечка, мне кажется, что это как то связано с тем, что форма модальная, объяснить не могу, но кажется есть такое дело
попробу просто форму открывать, а в документе обрабатывать обработкой подбора |
|||
13
koshechka
02.11.04
✎
13:57
|
vS, лана, попробую немодальную форму
|
|||
14
Липчанин
02.11.04
✎
13:59
|
Да кстати глюки есть, ну например при закрытии модальной формы счет - фактуры 1С вообще предлагает прервать программу т.к. не может активизировать объект.
|
|||
15
vS
02.11.04
✎
14:00
|
Как вариант
Форма открытьФорму("Журнал.ДокументКакойНадоВид", конт) стандартная обработка, вернет то что тебе надо, сама |
|||
16
koshechka
02.11.04
✎
14:01
|
vS, ты кстати был абсолютно прав. Что за глюки непонятно. Мож. у кого есть идеи?
Жалко, что нельзя из модальной формы. Очень хотелось. |
|||
17
Липчанин
02.11.04
✎
14:02
|
На счет чего идеи-то?
|
|||
18
GrayT
02.11.04
✎
14:04
|
А при чем тут ПриВыбореСтроки()?
ОбработкаВыбораЗначения |
|||
19
NiGMa
02.11.04
✎
14:05
|
А вот глупая мысль.
Может быть, ТекущийДокумент.ТекущийДокумент() А? |
|||
20
Оборотень
02.11.04
✎
14:10
|
А вернуть из модальной формы документ через глобальную переменную?
|
|||
21
vS
02.11.04
✎
14:15
|
(19) нет
(20) запросто, хоть и со спины |
|||
22
GrayT
02.11.04
✎
14:17
|
Тьфу ты ПриВыбореСтроки в журнале? Тормажу....
Форма.ВыполнитьВыбор(ТекущийДокумент) |
|||
23
Филолог
02.11.04
✎
14:19
|
Слово Тормаз в русском отсутствует.
|
|||
24
Оборотень
02.11.04
✎
14:24
|
к (2)
>Процедура ПриВыбореСтроки() > Форма.Параметр = ТекущийДокумент; >КонецПроцедуры // ПриВыбореСтроки() >НЕ РАБОТАЕТ! Должно быть Форма.Параметр = ТекущийДокумент.ТекущийДокумент(); Может прокатит? |
|||
25
Оборотень
02.11.04
✎
14:25
|
+ (24)
ТекущийДокумент ... Поскольку данный атрибут фактически является ссылкой на позиционируемый объект типа «документ», то поэтому для передачи или запоминания самого значения текущего документа журнала рекомендуется использовать конструкцию ТекущийДокумент.ТекущийДокумент() |
|||
26
GrayT
02.11.04
✎
14:26
|
Что вы к параметру пристали? Там список значений, в котором даже нет контекста
|
|||
27
GrayT
02.11.04
✎
14:27
|
(23)Кто сказал, что я по русски грамотно писать должен? :)
|
|||
28
YF
02.11.04
✎
14:29
|
А что ОткрытьПодбор() уже отменили?
|
|||
29
Филолог
02.11.04
✎
14:30
|
Никто и ничего не должен, а просто за державу обидно :(
|
|||
30
vS
02.11.04
✎
14:31
|
(23) а термоз?
|
|||
31
Филолог
02.11.04
✎
14:32
|
Смотри 29.
|
|||
32
Оборотень
02.11.04
✎
14:33
|
(26)
Ну и передать документ в качестве элемента списка, если уж так ... чем плохо? |
|||
33
GrayT
02.11.04
✎
14:34
|
(29)Ну, хроническая безграммотность, это одно из меньших зол в нашем государстве.
|
|||
34
Филолог
02.11.04
✎
14:37
|
Но болбшое состоит из малого.
|
|||
35
Филолог
02.11.04
✎
14:37
|
Извините промахнулся, большое из малого состоит.
|
|||
36
Оборотень
02.11.04
✎
15:28
|
(24) работает и с модальной формой журнала.
Однако нашлось одно, НО мы должны получать назад из формы значение того же типа, что и отправляли в форму. Передавали список значений - значит список значений, а уж туда положим что душе угодно, в том числе и документ. |
|||
37
koshechka
04.11.04
✎
17:08
|
Из немодальной формы РАБОТАЕТ!!!
|
|||
38
koshechka
04.11.04
✎
17:09
|
А из модальной НЕ РАБОТАЕТ! Какой еще список значений? Там только один раз выбирать надо, один док!
|
|||
39
427
04.11.04
✎
21:14
|
А слабо при модальном открытии по полученному контексту отпинать нужный реквизит той формы, контекст которой получен?
|
|||
40
Синхронизатор
04.11.04
✎
22:36
|
Не играйтесь с открытием модальных окон из "ПриНачалеВыбораЗначения(..)", дети!..
А то при выборе таким макаром в реквизит многострочной яасти, к примеру, можно получить In Start batch nested error / In End batch nested error (гарантированно - если это на новой строке Мн.ч.). Да и вообще, "ОткрытьФорму(..)" из "ПриНачалеВыбораЗначения(..)" (не забыть только обнулить флаг стандартной обработки надо!) замечательно открывает указанную форму ДЛЯ ВЫБОРА, а выбранное в этой форме значение замечательно можно как надо обработать в "ОбработкаВыбораЗначения(..)". И ещё "ОткрытьПодбор(..)" - рулит адназначна... Так шо не шукайте гимор сами же себе на мозги, ребятЫ.. |
|||
41
Guk
04.11.04
✎
22:43
|
Рекомендовано в базу знаний: koshechka - 04.11.2004 17:11
Интересно, это кошечка типовые когда-нибудь видела? База знаний отдыхает!... |
|||
42
Guk
04.11.04
✎
22:44
|
А вообще писать фигню, а потом добавлять это в БЗ - моветон...
|
|||
43
Синхронизатор
04.11.04
✎
23:42
|
А кстати, да!..
Нельзя ли добавить фичу типа "настоятельно не рекомендовать в базу знаний" (aka "нунахренизбазызнанийэтотбред")?!. |
|||
44
koshechka
08.11.04
✎
09:46
|
Guk ты как всегда отличаешься невоспитанностью
|
|||
45
427
08.11.04
✎
10:13
|
сия хирень успешно спилена из БЗ....
(40) рулит, рулит... Только кошечка читать не умеет... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |