Имя: Пароль:
1C
1С v8
Как влияет количество подписок на производительность
0 SeiOkami
 
19.02.16
08:05
Здравия всем.
Такой вопрос: есть ли где-нить рекомендации 1С о количестве подписок на одно и тоже событие?

Вопрос и пример чисто теоретический и задан с целью "интересно":

Например, есть список документов. Есть список реквизитов, которые заполняются в ПередЗаписью по некой (для каждого реквизита своей) логике. Предположим, что при заполнении одного реквизита не учитываются значения другого из этого списка реквизитов (так порядок заполнения реквизитов становится не важным). В каждом документе не обязательно есть все эти реквизиты, но со временем могут быть добавлены.

В данной ситуации можно поступить так:
1. В каждом документе в ПередЗаписью прописать код заполнения\вызов на ко заполнения (такой вариант не рассматриваем, так как с ним все ясно)
2. Создать одну подписку на событие ПередЗаписью, в которой уже заполнять реквизиты
3. Создать на каждый реквизит свою подписку на событие ПередЗаписью, в которой уже заполнять этот реквизит.

Если таких реквизит будет, к примеру, десять, то будет ли заметно быстрее работать массовое проведение документов в варианте 2 по сравнению с вариантом 3. Или разницы в этом никакой?
1 los_hooliganos
 
19.02.16
08:07
Разницы никакой. Но вариант 2 более извращенный.
2 los_hooliganos
 
19.02.16
08:08
(1) Точнее вариант 3 извращение.
На каждый реквизит подписку.

Другому программисту тяжелее понять логику в таком варианте
3 yfylhjkjy
 
19.02.16
08:13
"такой вариант не рассматриваем, так как с ним все ясно"

зря...
4 Лодырь
 
19.02.16
08:14
(0) Проведи полевые испытания - нам расскажешь ) Будет тебе почет и уважуха.
5 SeiOkami
 
19.02.16
08:20
(4), я подумал что может кто уже проводил)
6 SeiOkami
 
19.02.16
08:21
(2), это просто пример. Мол, показать ситуацию, когда возможно к документу нафигачить кучу подписок на событие
7 SeiOkami
 
19.02.16
08:22
То есть количество подписок не должно сказываться на производительсность? Если, к примеру, разнести весь код из ПередЗаписью в разные подписки на событие.
8 vde69
 
19.02.16
08:25
1с не гарантирует порядок выполнения подписок на один объект+событие, по этому рекомендую п. 2

с другой стороны несколько подписок удобнее например при обновлениях и портации решения в другие конфигурации...
9 Лодырь
 
19.02.16
08:29
(8) Если он разносит подписки по типу документов, какая ему разница в порядке их выполнения? Ровно никакой.
Другое дело, если б он разносил на одно и тоже событие на один и тот же тип документов несколько подписок с различными целями.
10 vde69
 
19.02.16
08:36
(9) тогда смысла в подписках нет вообще, банально обработчик писать в модуль объекта....

подписка имеет смысл только когда она для нескольких типов документов...
11 Ma3eIIa
 
19.02.16
08:36
(0) разницы не будет. ты можешь сделать 1 подписку. а в этой процедуре описать условие и вызывать уже другие процедуры. главное наглядность кода и понять что он делает. а так вариант 2. и точка

(7) нет не будет. Сложность только если в объекты типовые и потом обновлять это все. а так есть подписка и твой код не затрут

Иногда ципляют разные подписки. если разная бизнес логика. но в идеале 1 подписка на событие объекта
12 Ma3eIIa
 
19.02.16
08:39
13 vde69
 
19.02.16
08:43
(12) не пыли... для "не снятия с поддержки" и добавления обработчика в конкретный вид документа нужно использовать "расширения" а не подписки.

Вы отстали от жизни :)
14 Лефмихалыч
 
модератор
19.02.16
09:00
(0) замеры произведи
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой