![]() |
![]() |
|
Подписка на событие формы "ПередЗаписью" и на изменение реквизита. | ☑ | ||
---|---|---|---|---|
0
Odavid
03.10.10
✎
02:38
|
Известно, что подписки на события могут быть реализованы только на события, описанные в модуле объекта.
А какие варианты реазизации есть для событий формы (например, "ПередЗаписью") или для события изменения реквизита? |
|||
1
Armando
03.10.10
✎
02:44
|
(0) Обработчики этих событий описываются непосредственно в форме, т.е. подписка, можно сказать, индивидуальная. Аналогии групповой подписки на события объекта не существует.
|
|||
2
Odavid
03.10.10
✎
02:50
|
(1) что значит индивидуальная? есть события, есть подписка на события :)
То, что подписка в 1С реализована в 1С на треть (как и многое остальное) - отнюдь не красит 1С :) |
|||
3
Sammo
03.10.10
✎
08:11
|
Обращайтесь к разработчикам.
А так, насколько я понимаю - подписка - это на неинтерактивное действие. |
|||
4
skunk
03.10.10
✎
08:15
|
(2)бросай курить всякую дурь ... неумение думать ой как карсит человека
|
|||
5
Odavid
03.10.10
✎
11:40
|
(4) вы, похоже, не понимаете, о чем вопрос.
|
|||
6
Fragster
гуру
03.10.10
✎
11:44
|
(0) перед записью - да, на интерактивное изменение реквизита - нет
(5) но прошел посвящение в одинесники. |
|||
7
Odavid
03.10.10
✎
11:49
|
(60 ПередЗаписью - опять же если это событие в МодулеОбъекта, событие Формы - недоступно при подписке.
|
|||
8
ОбычныйЧеловек
03.10.10
✎
11:58
|
(5) это 86г этим в принципе все сказано.
(0) простой реализации (без того что бы курочить конфу) вроде как нету. >> или для события изменения реквизита Хотя бы одну процедуру(общую), в форме для этого прописать придется - иначе никак (имхо) |
|||
9
Sammo
03.10.10
✎
12:07
|
Я не вполне уверен в правильности создания подписки на интерактивное событие в форме.
Несмотря на то, что приходилось решать подобную проблему (и не раз) |
|||
10
skunk
03.10.10
✎
12:25
|
(5)я понимаю, что ты ничего не понимаешь ... и этого более чем достаточно ... говорю же бросай курить дурь ... учиться думать никогда не поздно
|
|||
11
Odavid
03.10.10
✎
12:41
|
(8) в том и дело, что >"Хотя бы одну процедуру(общую), в форме для этого прописать придется" - изначально не прописывается в типовых конфах, а менять что-либо в модулях формы - проблемы с обновлением.
> это 86г - сам поражаюсь массовости этой проблемы ныне, и мне когда-то было 24, и вам. (9) подписка на событие 1С - это просто сильно обрезанный аналог отлова события по GUID формы в других языках программирования. Там получаешь GUID формы - получаешь доступ к ней извне и отслеживаешь все её события. А нет GUID - нет и нормального реагирования на действия объектов. Как узнать без залезания в модуль формы из глобального контекста, что форма открыта/изменены данные на ней? - никак, если реквизит, событие которого мы хотим отловить, не делает совершенно случайно каких-либо обращений к функциям/процедурам какого-либо общего модуля, процедуру которого как раз и можно "поставить" на подписку. Зачем это нужно - смотрите предложение выше, где про обновление. |
|||
12
skunk
03.10.10
✎
12:44
|
(11)полная жесть ... ты хоть чего понимаешь в этом мире?
|
|||
13
Odavid
03.10.10
✎
12:48
|
(12) вы по вопросу или просто так? Если по вопросу - придерживайтесь рамок (11), а не "в этом мире" из (12).
|
|||
14
skunk
03.10.10
✎
12:51
|
(13)извини у меня просто нет такой дури абы тупить так отбороно
|
|||
15
Odavid
03.10.10
✎
13:01
|
(14) кто-то ругает 1С за реализованные функции, я - обычно за нерелиализуемые из года в год, из десятилетия - в десятилетие, из 6 - в 7 - в 8-ку.
Почему и отношение к ней более критическое, нежели восхищенное. |
|||
16
Odavid
03.10.10
✎
13:01
|
(15) + или абы как реализуемые, но громко называемые и пропиаренные.
|
|||
17
skunk
03.10.10
✎
13:02
|
(15)хорошо ... давай покажи про GIUD формы в других языках ... как и где это реализовано ... желательно с екземпелами
|
|||
18
NcSteel
03.10.10
✎
13:05
|
Не понимаю о чем спор , о среде 1С , так она позволяет 99% бизнес задач решить. Что еще надо и наку ?
|
|||
19
Odavid
03.10.10
✎
13:10
|
(18) даже в Бейсике можно получить GUID активной формы и отслеживать её действия в дальнейшем.
(18) - позволяет, если бизнес задачи "укладываются" в представление 1С-ников о структуре бизнес-задач. А если нет - то нет и расхваленой "гибкости" 1С. Шаг влево или вправо - расстрел для 1С-ного программиста. Особенно, если поставленные задачи ограничены жестким сроком, без вариантов "думал неделю - а что если..., думал вторую - а может быть...". |
|||
20
skunk
03.10.10
✎
13:15
|
(19)ты давай показывай ... 86-летнему ... как получить гуид формы и отслеживать события
|
|||
21
Odavid
03.10.10
✎
13:21
|
(20) т.е. это невозможно нигде, поэтому надо подрываться и искать код реализации в других языках? Оригинально :)
|
|||
22
skunk
03.10.10
✎
13:24
|
(21)нет я просто сижу и жду когда ты пересташь гнать туфту от незнания ... и начнешь показывать на пальцах свою крутизну
|
|||
23
Odavid
03.10.10
✎
13:27
|
(22) - только решения по данной теме предлагаю я один, в силу своего незнания.
|
|||
24
skunk
03.10.10
✎
13:30
|
(23)я не вижу что-бы что-то предлагал ... я вижу только один бред основваный на полном незнании
|
|||
25
NcSteel
03.10.10
✎
13:30
|
(19) Для чего нужно?
|
|||
26
Худой
03.10.10
✎
13:30
|
Интересно...интересно(взял попкорн)
|
|||
27
Odavid
03.10.10
✎
13:36
|
(19) например, нужно перехватывать изменение общего для всех данных нескольких десятков документов документов ревизита "Контрагент" без, понятное дело, кардинальной переделки такого количества документов, в силу обновляемости конфигурации (сама конфигурация - сборная солянка из трех типовых).
|
|||
28
Odavid
03.10.10
✎
13:37
|
(25) итак, ваши коллективные варианты?
|
|||
29
Либерал
03.10.10
✎
13:38
|
я не понял страданий
Оповестить() ОбработкаОповещения() не подходит?? |
|||
30
skunk
03.10.10
✎
13:39
|
(27)ты давай расскажи как это сделать на любом другом языке программирования
|
|||
31
Odavid
03.10.10
✎
14:28
|
(29) это опять же влезать в 38 обработок событий документов. Что можно сделать и без Оповещения - просто вписать ссылку на процедуру общего модуля.
|
|||
32
Odavid
03.10.10
✎
14:41
|
(29) это могло бы работать без вмешательства в формы, если бы 1С и её "партнеры" заранее побеспокоились внести ОбработкуОповещения в формы, или подобный механизм, позволяющий реагировать на изменение объектов формы без изменения её внутреннего кода.
|
|||
33
NcSteel
03.10.10
✎
14:46
|
(30) Что сказать ) у человека каша в голове.
|
|||
34
NcSteel
03.10.10
✎
14:48
|
(27) Так как документы разные то и одна и таже функция действия при изменении поля "Контрагент", который в общем случае для разных документов содержит разный тип и разный смысл, бессмыслен. Хотя если ты апологет Раруса и все любишь пихать в одну функцию то вперед .
|
|||
35
Либерал
03.10.10
✎
15:29
|
(31) ну да, просто процедура общего модуля
странная хотелка, ссылка на процедуру общего модуля видна в модуле формы, ты предлагаешь ее от формы отвязать и запихнуть куда то отдельно спрятать. разработчик должен либо о том помнить, либо оч долго искать концы таких "подписок". да и вообще, так ты скоро начнешь ругаться "разработчики казлы, мне приходится программировать и все такое, могли бы сделать чтоб программа сама делала как я придумал без моего вмешательства" |
|||
36
Odavid
03.10.10
✎
18:19
|
(35) как раз когда массово вносишь в разных местах вот такие мелкие изменения, которые сами по себе не несут нагрузку, а служат как технологическая основа основных изменений, и велика вероятность все потерять при очередном обновлении, особенно, когда обновление трех конфигураций, а не одной.
>"да и вообще, так ты скоро начнешь ругаться "разработчики казлы, мне приходится программировать и все такое, могли бы сделать чтоб программа сама делала как я придумал без моего вмешательства"" Это скорей заказчиков ругать начнешь. (34) открою секрет - поле контрагент всегда несет в себе информацию-ссылку на контрагента и ничего более, хоть в РАРУСе, хоть в 1С-конфе, хоть у опытного Евгения Пупкина с infostart'а, написавшего свою конфу; соответственно, если нужно разделить контрагентов и менеджеров, или имеются разные наборы действий по проведению/записи к разным контрагентам вне зависимости от документа (здесь открою еще один секрет - не контрагент привязан к документу, а документ к контрагенту, поэтому если нужно выделить документы одного из контриков - их выделяют все, относящиеся к этому клиенту) - и возникают такие ситуации. |
|||
37
skunk
03.10.10
✎
18:23
|
парень еще сопротивляется ... что сказать дурь у него отменная
|
|||
38
Chai Nic
03.10.10
✎
18:25
|
Автор темы прав. Было бы удобно, если бы была возможность глобального перехвата всех предопределенных действий. Но так сделали в 1с, что не сделали. Судьба.
|
|||
39
Odavid
03.10.10
✎
18:59
|
(38) увы, они многое сделали так, что не сделали, но зато усиленно раструбили, что "все как у столпов БД и учетных программ" :(
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |