![]() |
|
Как вызвать функцию модуля объекта, не создавая объект? | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
22.11.07
✎
12:23
|
Сабж.
|
|||
1
Рэйв
22.11.07
✎
12:28
|
имхо никак.
Модуль есть член класса объекта и доступ к нему помоему возможет только через экземпляр |
|||
2
Майкопчанин
22.11.07
✎
12:28
|
это все-равно что позвонить без телефона
|
|||
3
DK_L
22.11.07
✎
12:30
|
(0) получить форму, передать параметр, перед открытием анализировать параметр и вызывать функцию модуля и делать отказ
|
|||
4
Гений 1С
гуру
22.11.07
✎
12:30
|
(1)(2) Тогда как грамотно реализовать функционал, связанный с определенным типом, но не работающий непосредственно с объектом.
Использовать глобальные функции с префиксом? Например, у меня для каждого объекта есть функции по управлению отбором, но это не касается отдельно этого элемента, а касается всех элементов данного типа. |
|||
5
Гений 1С
гуру
22.11.07
✎
12:31
|
(3) Какую нафиг форму???? Бредите батенька, тогда уж проще объект создать....
|
|||
6
DK_L
22.11.07
✎
12:31
|
+3 после получить форм у еще открыть
|
|||
7
DK_L
22.11.07
✎
12:33
|
(5)Я не брежу, ты спросил как ? я тебе ответил - причем правильно, я же не виноват ,что ты едешь на северный полюс через южный :)
|
|||
8
Рэйв
22.11.07
✎
12:33
|
(4)Если функция касается всех элементов данного типа, то и распологаться она должна выше по иерархии, а не в модуле конкретного объекта.
|
|||
9
Гений 1С
гуру
22.11.07
✎
14:19
|
(8) Наверное я неудачно объяснил, это функция работы со списокм элементов данного типа, т.е. например со списком товаров, или со списком валют... ;-)
(6) Использовать формы для юзания методов объекта - это маразм, видел я пару раз такой код, повбивал автора, благо он рядом сидел... |
|||
10
Гений 1С
гуру
22.11.07
✎
14:20
|
т.е. альтернатива - это создание модуля с функциями:
Номенклатура_УправлениеОтбором() Валюты_УправлениеОтбором() Контрагенты_УправлениеОтбором() Подразделения_УправлениеОтбором() Вместо объявления такой функции в модуле каждого объекта? |
|||
11
Рэйв
22.11.07
✎
14:22
|
(10)Ну, скорее всего что-то вроде этого.
|
|||
12
Гений 1С
гуру
22.11.07
✎
14:22
|
(11) Мдя...
|
|||
13
nop
22.11.07
✎
14:49
|
(0) Вы, батенька, постоянно ищете магнитолу в тракторе, мне кажеться
|
|||
14
PR
22.11.07
✎
14:50
|
(4) Очень просто.
В общем модуле делается процедура, которая делает что-то с переданным в качестве параметра объектом. |
|||
15
Гений 1С
гуру
22.11.07
✎
15:03
|
(14) Чем ваше решение отличается от (10)?
А, я понял, вы хотите: Если Вид="Номенклатура" Тогда ... ИначеЕсли Вид="Валюты" Тогда ... Увольте-с, мы от этого еще в 77 избавились |
|||
16
Mort
22.11.07
✎
15:08
|
Статические методы классов гений вспомнил.
Просто назови общий неглобальный модуль по имени справочника и обращайся : Номенклатура.СделатьЧонить(); |
|||
17
PR
22.11.07
✎
15:08
|
(15) Да ничем :))
И не надо свои грязные мысли пихать в мою светлую голову :)) (c) |
|||
18
Ненавижу 1С
гуру
22.11.07
✎
15:25
|
Имхо, Гению не хватает статических методов
|
|||
19
Гений 1С
гуру
22.11.07
✎
16:25
|
(16) Слишком много модулей получится, тебе не кажется - по одному на каждый справочник, учитывая что процедура долнжа быть в каждом справочнике
|
|||
20
TormozIT
гуру
22.11.07
✎
16:45
|
Ходят слухи, что в 8.2 дадут таки модули видов объектов (статических методов)
|
|||
21
yalex
22.11.07
✎
17:19
|
(9) А какие функции для списка планируются если не секрет?
|
|||
22
Гений 1С
гуру
22.11.07
✎
17:37
|
(21) я делаю альтернативу 1с-му отбору. Функция содержит описание дополнительных отборов, которых можно производить над объектом.
Например, задачи можно фильтровать по признаку "Завершена" или "Дата актуальности", эти реквизиты не хранятся в справочнике "Задача", а хранятся в связанных регистрах сведений. |
|||
23
TormozIT
гуру
22.11.07
✎
18:48
|
(22) Многие делают подобные отборы. Они очень нужны )
|
|||
24
Asmody
модератор
22.11.07
✎
19:09
|
(22, 23) мдя... а если бы построитель запроса можно было бы напрямую связать с табличным полем... (мечтательно...)
|
|||
25
Drock
22.11.07
✎
20:47
|
гений как обычно делает никому не нужные задачи
|
|||
26
BabySG
23.11.07
✎
00:31
|
(22) Тем более не понимаю, зачем статик-функция в модуле объекта. Объект-то тут причём? Как правильно сказано в (8) - это должен быть менеджер.
ЗЫ. После уточнения в (9) вообще не понял, причём тут методы объекта. Нарисуй, как ты планируешь использовать в виде кода... |
|||
27
TormozIT
гуру
23.11.07
✎
07:46
|
Да. Вроде как в 8.2 будет можно например Справочники.Номенклатура.ПолучитьСписокОбязательныхРеквзитов() создать.
|
|||
28
Гений 1С
гуру
23.11.07
✎
09:16
|
(26) почитай пост (27) и поймешь. Не нужно выдавать свой недостаток воображения за достоинство
|
|||
29
BabySG
23.11.07
✎
12:20
|
(28) Прочитай ещё раз (27) и пойми разницу с тем, что ты хочешь. Причём тут объект?
|
|||
30
Гений 1С
гуру
23.11.07
✎
12:27
|
(29) Как по-твоему я должен получить список обязательных реквизитов каждого объекта, приведи пример архитектурного решения...
|
|||
31
BabySG
23.11.07
✎
12:39
|
Справочники.Номенклатура являются МЕНЕДЖЕРОМ объектов, про что тебе раньше говорили...
Иначе пришлось бы писать так (по твоему :): <Какая-то номенклатура>.ПолучитьСписокОбязательныхПараметров() Чувствуешь разницу? В первом случае это платформенное решение, основанное на прикладном объекте Справочники и конкретно менеджера справочника. Но никак не объекта. |
|||
32
Гений 1С
гуру
23.11.07
✎
13:14
|
(31) Не разводи демагогию, ответь как сделать (30)
О том и речь, что я хочу обращаться к модулю объекта без конкретного объекта. Этот метод относится ко всем объектам данного типа. На ООП статические методы класса проспал? |
|||
33
BabySG
23.11.07
✎
13:32
|
(32) Дык тебе про что и говорят уже с самого начала:
Статический метод класса будет в Справочники.Номенклатура реализован. Смотри (27 А ты хочешь по сабжу получить статический метод непонятной чего :) Ты так и не привёл образец кода, как использовать "по твоему" - поэтому демагогию разводишь ты. |
|||
34
Гений 1С
гуру
23.11.07
✎
13:43
|
(33) мне не нужно про будет, мне нужно, как это сейчас.
И демагогией ты тут занимаешься - статические методы описываются в модуле класса, между прочим... |
|||
35
BabySG
23.11.07
✎
14:02
|
(34) 1С стала описывать статические методы ужО?
Не смеши: не надо прикручивать ООП сюда - здесь им и не пахнет. ЗЫ. Да и в случае применения ООП - какой смысл реализовывать именно сабж в самом объекте Номенклатура? ЗЗЫ. Пока ты так и не написал, как ты предлагаешь использовать сие - пожтому низачОт. Откуда объекту знать про какие-то отборы непонятно где? |
|||
36
BabySG
23.11.07
✎
14:25
|
Мда,а тут обратное говорят... http://www.sql.ru/forum/actualthread.aspx?tid=442161
|
|||
37
Гений 1С
гуру
23.11.07
✎
14:39
|
(35) Это ты меня не смеши - речь идет о С++ например.
Далее по сабжу - видишь ли, некая обработка может рассматривать все объекты как однородные объекты, например у всех справочников есть код и наименование. Допустим, нужно разделить справочник на два класса - одни могут быть обработаны хитроключиковой обработкой, другие нет... |
|||
38
BabySG
23.11.07
✎
14:56
|
(37) Сорри, не по сабжу, а по "Например, у меня для каждого объекта есть функции по управлению отбором, но это не касается отдельно этого элемента, а касается всех элементов данного типа."
Зы. Запутался в темах :) |
|||
39
Гений 1С
гуру
23.11.07
✎
15:46
|
(38) Ладно, спор перешел в маразматическую фазу. На практике понятно, что юзать модуль не получтся...
|
|||
40
Лефмихалыч
23.11.07
✎
15:49
|
(0) зачем? Кроме того, откуда такая идея пришла-то? Объект не создан, знаит и модуль не инициализирован, а следовательно метода ШТО? Метода нет
|
|||
41
Гений 1С
гуру
23.11.07
✎
15:53
|
(40) На переэкзаменовку по ООП, двоечник...
|
|||
42
Гений 1С
гуру
23.11.07
✎
15:54
|
(40) Да буде тебе известно, что статические методы класса можно вызывать даже не имея созданного класса, чтобы вызвать этот метод нужно написать имя класса :: имя статического метода...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |