Имя: Пароль:
1C
1С v8
Так можно использовать модули повторного использования?
,
0 arsik
 
гуру
10.11.21
10:33
Есть у меня функция в модуле повторного использования МодульПовторногоИспользования.ПолучитьУзлыОбмена() - там запросом выбираются узлы по определенному условию
Но так получается, если мы что то в узле поменяем, влияющее на отбор, через повторное использование он все еще будет попадать в список.

Правильно ли сделать следующим образом?
Добавить идентификатор в вызов функции: МодульПовторногоИспользования.ПолучитьУзлыОбмена(Идентификатор)
Этот идентификатор хранить в константе привязанной к функциональной опции.
При изменении узла менять этот идентификатор.

Узлы = МодульПовторногоИспользования.ПолучитьУзлыОбмена(ПолучитьФункциональнуюОпцию("Идентификатор"));

Или есть вариант проще?
1 acht
 
10.11.21
10:37
ОбновитьПовторноИспользуемыеЗначения()
2 arsik
 
гуру
10.11.21
10:38
(1) Это же вроде только внутри сеанса работает? Мне нужно во всех сеансах.
3 ДенисЧ
 
10.11.21
10:39
(0) ОповеститьОбИзменении должна стирать сохранённые значения.
4 acht
 
10.11.21
10:39
А хотя если поменяют из другой сессии, то не поможет
5 acht
 
10.11.21
10:40
(2) А ПолучитьФункциональнуюОпцию("Идентификатор") обращение к баде выполняет?
6 acht
 
10.11.21
10:40
к базе^
7 arsik
 
гуру
10.11.21
10:42
(5) Ну вроде ка функциональные опции как то хитро хранятся. Вроде в кеше живут, но при изменении обновляются.
(3) Не понял чтото.
8 mikecool
 
10.11.21
11:02
как часто дергается сабж? может овчинка выделки не стоит?
9 arsik
 
гуру
10.11.21
11:22
(8) Достаточно часто. При записи документов.
Ну и это нужно то на момент внедрения, пока часть узлов по одному плану работает, а часть по другому.
10 arsik
 
гуру
10.11.21
11:23
Мне просто интересно косяки в этой схеме есть или она в принципе приемлема?
11 pechkin
 
10.11.21
11:27
не уж то такой сложный запрос, что его нужно кэшировать?
12 acht
 
10.11.21
11:44
(9) Сделай пуленепробиваемо - отложенным обменом. Сначала тупо региструется как изменнное, потом приходит регламетное, вынимает эту регистрацию, неторопливо определяет адресатов и распихивает по нужным местам.
13 arsik
 
гуру
10.11.21
11:47
(12) Не выйдет. У нас сейчас так и работает. Только фильтрация происходит при выгрузке, раз в 15 минут.
Но нужно для определенных объектов оперативнее обмениваться. Для этого нужно их запихивать в другой план обмена.
14 rozer76
 
10.11.21
21:28
Годное решения, также мспользую константу но там датавремя записи измененного узла. С уникальнымидентификатором оно даже надежнее