Вход | Регистрация
 

Как вызвать функцию модуля объекта, не создавая объект?

Как вызвать функцию модуля объекта, не создавая объект?
Я
   Гений 1С
 
22.11.07 - 12:23
Сабж.
   Рэйв
 
1 - 22.11.07 - 12:28
имхо никак.
Модуль есть член класса объекта и доступ к нему помоему возможет только через экземпляр
   Майкопчанин
 
2 - 22.11.07 - 12:28
это все-равно что позвонить без телефона
   DK_L
 
3 - 22.11.07 - 12:30
(0) получить форму, передать параметр, перед открытием  анализировать параметр и вызывать функцию модуля и делать отказ
   Гений 1С
 
4 - 22.11.07 - 12:30
(1)(2) Тогда как грамотно реализовать функционал, связанный с определенным типом, но не работающий непосредственно с объектом.
Использовать глобальные функции с префиксом?
Например, у меня для каждого объекта есть функции по управлению отбором, но это не касается отдельно этого элемента, а касается всех элементов данного типа.
   Гений 1С
 
5 - 22.11.07 - 12:31
(3) Какую нафиг форму???? Бредите батенька, тогда уж проще объект создать....
   DK_L
 
6 - 22.11.07 - 12:31
+3 после получить форм у еще открыть
   DK_L
 
7 - 22.11.07 - 12:33
(5)Я не брежу, ты спросил как ? я тебе ответил - причем правильно, я же не виноват ,что ты едешь на северный полюс через южный :)
   Рэйв
 
8 - 22.11.07 - 12:33
(4)Если функция касается всех элементов данного типа, то и распологаться она должна выше по иерархии, а не в модуле конкретного объекта.
   Гений 1С
 
9 - 22.11.07 - 14:19
(8) Наверное я неудачно объяснил, это функция работы со списокм элементов данного типа, т.е. например со списком товаров, или со списком валют... ;-)

(6) Использовать формы для юзания методов объекта - это маразм, видел я пару раз такой код, повбивал автора, благо он рядом сидел...
   Гений 1С
 
10 - 22.11.07 - 14:20
т.е. альтернатива - это создание модуля с функциями:
Номенклатура_УправлениеОтбором()
Валюты_УправлениеОтбором()
Контрагенты_УправлениеОтбором()
Подразделения_УправлениеОтбором()

Вместо объявления такой функции в модуле каждого объекта?
   Рэйв
 
11 - 22.11.07 - 14:22
(10)Ну, скорее всего что-то вроде этого.
   Гений 1С
 
12 - 22.11.07 - 14:22
(11) Мдя...
   nop
 
13 - 22.11.07 - 14:49
(0) Вы, батенька, постоянно ищете магнитолу в тракторе, мне кажеться
   PR
 
14 - 22.11.07 - 14:50
(4) Очень просто.
В общем модуле делается процедура, которая делает что-то с переданным в качестве параметра объектом.
   Гений 1С
 
15 - 22.11.07 - 15:03
(14) Чем ваше решение отличается от (10)?
А, я понял, вы хотите:
Если Вид="Номенклатура" Тогда
...
ИначеЕсли Вид="Валюты" Тогда
...

Увольте-с, мы от этого еще в 77 избавились
   Mort
 
16 - 22.11.07 - 15:08
Статические методы классов гений вспомнил.
Просто назови общий неглобальный модуль по имени справочника и обращайся :

Номенклатура.СделатьЧонить();
   PR
 
17 - 22.11.07 - 15:08
(15) Да ничем :))
И не надо свои грязные мысли пихать в мою светлую голову :)) (c)
   Ненавижу 1С
 
18 - 22.11.07 - 15:25
Имхо, Гению не хватает статических методов
   Гений 1С
 
19 - 22.11.07 - 16:25
(16) Слишком много модулей получится, тебе не кажется - по одному на каждый справочник, учитывая что процедура долнжа быть в каждом справочнике
   TormozIT
 
20 - 22.11.07 - 16:45
Ходят слухи, что в 8.2 дадут таки модули видов объектов (статических методов)
   yalex
 
21 - 22.11.07 - 17:19
(9) А какие функции для списка планируются если не секрет?
   Гений 1С
 
22 - 22.11.07 - 17:37
(21) я делаю альтернативу 1с-му отбору. Функция содержит описание дополнительных отборов, которых можно производить над объектом.
Например, задачи можно фильтровать по признаку "Завершена" или "Дата актуальности", эти реквизиты не хранятся в справочнике "Задача", а хранятся в связанных регистрах сведений.
   TormozIT
 
23 - 22.11.07 - 18:48
(22) Многие делают подобные отборы. Они очень нужны )
   Asmody
 
Модератор
24 - 22.11.07 - 19:09
(22, 23) мдя... а если бы построитель запроса можно было бы напрямую связать с табличным полем... (мечтательно...)
   Drock
 
25 - 22.11.07 - 20:47
гений как обычно делает никому не нужные задачи
   BabySG
 
26 - 23.11.07 - 00:31
(22) Тем более не понимаю, зачем статик-функция в модуле объекта. Объект-то тут причём? Как правильно сказано в (8) - это должен быть менеджер.

ЗЫ. После уточнения в (9) вообще не понял, причём тут методы объекта.
Нарисуй, как ты планируешь использовать в виде кода...
   TormozIT
 
27 - 23.11.07 - 07:46
Да. Вроде как в 8.2 будет можно например Справочники.Номенклатура.ПолучитьСписокОбязательныхРеквзитов() создать.
   Гений 1С
 
28 - 23.11.07 - 09:16
(26) почитай пост (27) и поймешь. Не нужно выдавать свой недостаток воображения за достоинство
   BabySG
 
29 - 23.11.07 - 12:20
(28) Прочитай ещё раз (27) и пойми разницу с тем, что ты хочешь. Причём тут объект?
   Гений 1С
 
30 - 23.11.07 - 12:27
(29) Как по-твоему я должен получить список обязательных реквизитов каждого объекта, приведи пример архитектурного решения...
 
 Рекламное место пустует
   BabySG
 
31 - 23.11.07 - 12:39
Справочники.Номенклатура являются МЕНЕДЖЕРОМ объектов, про что тебе раньше говорили...
Иначе пришлось бы писать так (по твоему :):
<Какая-то номенклатура>.ПолучитьСписокОбязательныхПараметров()
Чувствуешь разницу?
В первом случае это платформенное решение, основанное на прикладном объекте
Справочники и конкретно менеджера справочника. Но никак не объекта.
   Гений 1С
 
32 - 23.11.07 - 13:14
(31) Не разводи демагогию, ответь как сделать (30)
О том и речь, что я хочу обращаться к модулю объекта без конкретного объекта. Этот метод относится ко всем объектам данного типа. На ООП статические методы класса проспал?
   BabySG
 
33 - 23.11.07 - 13:32
(32) Дык тебе про что и говорят уже с самого начала:
Статический метод класса будет в Справочники.Номенклатура реализован. Смотри (27
А ты хочешь по сабжу получить статический метод непонятной чего :)
Ты так и не привёл образец кода, как использовать "по твоему" - поэтому демагогию разводишь ты.
   Гений 1С
 
34 - 23.11.07 - 13:43
(33) мне не нужно про будет, мне нужно, как это сейчас.
И демагогией ты тут занимаешься - статические методы описываются в модуле класса, между прочим...
   BabySG
 
35 - 23.11.07 - 14:02
(34) 1С стала описывать статические методы ужО?
Не смеши: не надо прикручивать ООП сюда - здесь им и не пахнет.

ЗЫ. Да и в случае применения ООП - какой смысл реализовывать именно сабж в самом объекте Номенклатура?
ЗЗЫ. Пока ты так и не написал, как ты предлагаешь использовать сие - пожтому низачОт. Откуда объекту знать про какие-то отборы непонятно где?
   BabySG
 
36 - 23.11.07 - 14:25
Мда,а тут обратное говорят... http://www.sql.ru/forum/actualthread.aspx?tid=442161
   Гений 1С
 
37 - 23.11.07 - 14:39
(35) Это ты меня не смеши - речь идет о С++ например.
Далее по сабжу - видишь ли, некая обработка может рассматривать все объекты как однородные объекты, например у всех справочников есть код и наименование.
Допустим, нужно разделить справочник на два класса - одни могут быть обработаны хитроключиковой обработкой, другие нет...
   BabySG
 
38 - 23.11.07 - 14:56
(37) Сорри, не по сабжу, а по "Например, у меня для каждого объекта есть функции по управлению отбором, но это не касается отдельно этого элемента, а касается всех элементов данного типа."
Зы. Запутался в темах :)
   Гений 1С
 
39 - 23.11.07 - 15:46
(38) Ладно, спор перешел в маразматическую фазу. На практике понятно, что юзать модуль не получтся...
   Лефмихалыч
 
40 - 23.11.07 - 15:49
(0) зачем? Кроме того, откуда такая идея пришла-то? Объект не создан, знаит и модуль не инициализирован, а следовательно метода ШТО? Метода нет
   Гений 1С
 
41 - 23.11.07 - 15:53
(40) На переэкзаменовку по ООП, двоечник...
   Гений 1С
 
42 - 23.11.07 - 15:54
(40) Да буде тебе известно, что статические методы класса можно вызывать даже не имея созданного класса, чтобы вызвать этот метод нужно написать имя класса :: имя статического метода...


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.