|
Как обратиться к экспортной процедуре модуля формы обработки? | ☑ | ||
---|---|---|---|---|
0
DenYuliya
26.10.16
✎
17:20
|
Подскажите, плиз, как обратиться к экспортной процедуре модуля формы одной обработки из модуля формы другой обработки? Платформа 8.2, не УФ.
|
|||
1
Naf_kultura
26.10.16
✎
17:24
|
через ЭКЗЕМПЛЯР формы другой обработки
|
|||
2
osa1C
26.10.16
✎
17:25
|
(0) Если форма обработки не создается, то и никакой процедуры модуля формы не существует.
|
|||
3
Naf_kultura
26.10.16
✎
17:25
|
(2) метафизика
|
|||
4
DenYuliya
26.10.16
✎
17:25
|
(1) это как? Первый раз такое слышу, если честно.
|
|||
5
DenYuliya
26.10.16
✎
17:26
|
(2) т.е. если обработка2 не запущена, то никак?
|
|||
6
Lexey_
26.10.16
✎
17:27
|
(5) что значит "запущена"?
|
|||
7
Naf_kultura
26.10.16
✎
17:28
|
(4) это чуть-чуть из ООП
на самом деле процедуры модуля формы - это методы экземпляров формы |
|||
8
DenYuliya
26.10.16
✎
17:28
|
(6)вызвана, используется в режиме 1С Предприятие
|
|||
9
DenYuliya
26.10.16
✎
17:31
|
(7) понятно, что ничего не понятно. Какой метод погуглить))?
А = Обработки.Обработка2.ПолучитьФорму.Форма.НазваниеЭкспортнойПроцедуры()- так не работает, зараза. |
|||
10
Lexey_
26.10.16
✎
17:31
|
(8) не знаю, что значит "вызвана", но добавлю к (1), что через точку
|
|||
11
Lexey_
26.10.16
✎
17:32
|
(9) нет такого свойства "ПолучитьФорму"
|
|||
12
singlych
26.10.16
✎
17:32
|
(9) погугли как получить форму
|
|||
13
DenYuliya
26.10.16
✎
17:34
|
(12) ОбработкаПодбора = Обработки.ПодборНоменклатуры.ПолучитьФорму("ОсновнаяФорма");
Так. |
|||
14
osa1C
26.10.16
✎
17:34
|
(9) Не понятен смысл зачем вызывать из одной обработки процедуру другой, да еще из модуля формы? ... А как насчет того чтобы нужную процедуру скопировать в нужную обработку?
|
|||
15
singlych
26.10.16
✎
17:37
|
(13) теперь вызывай свою процедуру
|
|||
16
osa1C
26.10.16
✎
17:38
|
(9) + В том что написано - ошибка хотя бы в том, что идет обращение к процедуре, как к функции
|
|||
17
Пузан
26.10.16
✎
17:40
|
(9) Пойдите и пять лет поучитесь на программиста - все сразу станет понятно. :)
|
|||
18
aleks_default
26.10.16
✎
17:41
|
(17) а где учат "на программиста"?
|
|||
19
DenYuliya
26.10.16
✎
17:51
|
(14) нужная процедура ссылается к куче других процедур обработки2
|
|||
20
DenYuliya
26.10.16
✎
17:53
|
(16) т.е не
ОбработкаПодбора = Обработки.ПодборНоменклатуры.ПолучитьФорму("ОсновнаяФорма"); а Обработки.ПодборНоменклатуры.ПолучитьФорму("ОсновнаяФорма"); |
|||
21
newbling
26.10.16
✎
17:55
|
экспортные обработки формы...вообще казуистика
|
|||
22
osa1C
26.10.16
✎
17:55
|
(20) вы отличаете (9) от (13) ? Я только про то что в (9) говорил.
|
|||
23
newbling
26.10.16
✎
17:56
|
Мб там в модуле объекта асть что вызвать?
|
|||
24
DenYuliya
26.10.16
✎
17:57
|
(22) я в (9) имела в виду то же, что и в (13), только написала криво.
(13) - верно? |
|||
25
DenYuliya
26.10.16
✎
17:58
|
(23) ну вызвать-то много чего можно, но нужное в модуле формы генерируется.
|
|||
26
newbling
26.10.16
✎
17:58
|
Попробуй ПолучитьФорму
|
|||
27
newbling
26.10.16
✎
18:00
|
ФормаГдеЧтоТоНужное = ПолучитьФорму("Обработки.НужнаяОбработка.НужнаяФорма");
ФормаГдеЧтоТоНужное.НужныйМетод(); Хз. мб взлетит |
|||
28
osa1C
26.10.16
✎
18:01
|
(24) вы можете в конце концов объяснить что вы хотите добиться? В модуле формы объекта обычно располагаются процедуры относящиеся к форме объекта. Что вы хотите делать с формой одной обработки из другой?
|
|||
29
DenYuliya
26.10.16
✎
18:07
|
(28) я в (13) через ПолучитьФорму(), вот так:
Обработки.ПодборНоменклатуры.ПолучитьФорму("ОсновнаяФорма").СправочникНоменклатураПриПолученииДанныхКатегории(Элемент, ОформленияСтрок); Ругается на переменные "Элемент, ОформленияСтрок" не найдены. "Элемент" в обработке "ПодборНоменклатуры" имеет тип "ТабличноеПоле" |
|||
30
Пузан
26.10.16
✎
18:12
|
(18) Ты не поверишь - в университете.
|
|||
31
DenYuliya
26.10.16
✎
18:15
|
(28) В Обработке2 есть часть процедур, раскрашивающих список номенклатуры в цвета по определенному принципу. Хочу перетащить этот принцип в Обработку1.
И в Обработке1, и в Обработке2 - работа со спр. Номенклатура |
|||
32
singlych
26.10.16
✎
18:19
|
(29) так не взлетит, прислушайся к (14)
|
|||
33
Михаил Козлов
26.10.16
✎
18:19
|
(31) Т.е. процедура формы обработки2 будет раскрашивать элемент формы обработки1?
|
|||
34
DenYuliya
26.10.16
✎
18:20
|
(33) да.
Там работа со всеми элементами спр.Номенклатура. Что в Обработка1, что в Обработка2. Одни и те же. |
|||
35
DenYuliya
26.10.16
✎
18:21
|
(32) изначально так и хотела))). потом подумала, что может можно как-то упростить и не заниматься копи-пастом
|
|||
36
osa1C
26.10.16
✎
18:32
|
(32) Разочарую вас. Если вы хотите раскрасить строки в табличной части обработки, то существуют два события табличной части в которых это можно сделать. Это ПриПолученииДанных и ПриВыбореСтроки... Даже если вы опишите (и правильно) эти процедуры, то ничего работать не будет, так как они должны быть привязаны к табличной части. Надо их выбрать в Событиях табличной части. Тем более глупой звучит идея вызова процедур из других объектов. Эти процедуры работают с формами тех (других) объектов. Так что создавайте указанные выше процедуры для табличной части, а логику их делайте на основании второй обработки, раз та логика вас устраивает
|
|||
37
osa1C
26.10.16
✎
18:33
|
(36) --- это к (34)
|
|||
38
Lexey_
26.10.16
✎
18:33
|
(35) ну если очень надо, вызывай ее в соответствующем событии, все будет работать
|
|||
39
osa1C
26.10.16
✎
18:34
|
(36) опечатка... событие ПриВыводеСтроки вместо при ПриВыборе...
|
|||
40
DenYuliya
26.10.16
✎
18:38
|
(39) строки должны раскрашиваться все, а не выбранная. В Обработке2 инициализация абсолютно точно в "ПередОткрытием" происходит
|
|||
41
DenYuliya
26.10.16
✎
18:40
|
(36) оке, спасибо за совет, значит придется копипастить
|
|||
42
osa1C
26.10.16
✎
18:42
|
(40) Я же написал, что это опечатка... событие ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки). Это вывод строки на экран, а вывод идет построчно. Вот при выводе строку по каким-то условиям можно раскрасить. Или задать другое условное оформление через параметр ОформлениеСтроки
|
|||
43
singlych
26.10.16
✎
18:45
|
(38) в данном случае будет работать неправильно, тк оформление зависит от значений переменных и реквизитов второй обработки
|
|||
44
shpioleg
26.10.16
✎
18:47
|
(35) Это все на скорую руку делаешь. У тебя есть некая общая для форм сущность Раскраска (Класс). Ее нужно выделить отдельно (Общий модуль или обработка). В Раскраске выделить экспортный метод и только с ним работать из твоих форм.
Например, завтра разработчик Формы2 поменяет алгоритмы или названия методов и твоя обработка "заглохнет". |
|||
45
DenYuliya
27.10.16
✎
10:09
|
(44) так-то да, по-хорошему надо сам принцип вынести в общий модуль.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |