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

Как лучше спроектировать регистр

Как лучше спроектировать регистр
Я
   lanc2233
 
28.01.21 - 12:13
Есть оборотный регистр НачислениеБонусов.
В нем измерение ДокументОплаты.
Документов оплаты может быть два типа.
Для каждого типа документов, есть свой динамический список, где через левое соединение берется значение с ресурса регистра НачислениеБонусов.

Как сделать оптимальней, с точки зрения производительности ? :
1. ДокументОплаты составной тип и по нем индекс.
2. Добавить еще одно измерение и будет ДокументОплатыТип1, ДокументОплатыТип2
Вероятность того, что в будущем добавится еще один тип документа оплаты очень маленькая.
   МимохожийОднако
 
1 - 28.01.21 - 12:14
Проведи эксперимент
   polosov
 
2 - 28.01.21 - 12:35
(0) Оставь составной.
   Волшебник
 
3 - 28.01.21 - 12:37
Сделай один динамический список, а в запросе сделай ОБЪЕДИНИТЬ ВСЕ
   fisher
 
4 - 28.01.21 - 12:37
Я тоже за составной. Просто в соединении приводи тип через ВЫРАЗИТЬ.
   Волшебник
 
5 - 28.01.21 - 12:39
А вообще, измерение типа "Документ" - моветон
   Dzenn
 
6 - 28.01.21 - 12:39
Однозначно составной. Делать реквизиты наподобие ДокументОплатыТип1, ДокументОплатыТип2 - это кощунство )
   polosov
 
7 - 28.01.21 - 12:40
(4) Зачем? У него и так сравниваются типы значений при соединении.
   ZDenis
 
8 - 28.01.21 - 12:40
(0) А не является ли документ оплаты самим регистратором?
   lanc2233
 
9 - 28.01.21 - 12:42
(5) А как иначе? Есть журнал документов, в нем должна быть колонка с суммой из регистра.
   lanc2233
 
10 - 28.01.21 - 12:42
(8) нет. А если бы являлся, то чтобы это меняло?
   Dmitrii
 
11 - 28.01.21 - 12:43
(0) Структура регистра определяется в первую очередь теми отчетами, которые являются потребителем данных из этого регистра.
Если единственным потребителем являются динамические списки, то допустимы оба варианта решения. Причем второй, возможно, будет быстрее.
Если же данные из этого регистра используются где-то ещё (отчеты, для проведения документов и т.п.), то вероятнее всего второй вариант не прокатит.

Будь мужиком! Напили своих регистров! НачислениеБонусовПоДокументуОплатыТипа1, НачислениеБонусовПоДокументуОплатыТипа2,... НачислениеБонусовПоДокументуОплатыТипаN
   ZDenis
 
12 - 28.01.21 - 12:43
(10) Тогда бы это измерение было не нужно
   Dmitrii
 
13 - 28.01.21 - 12:45
(9) >>  Есть журнал документов, в нем должна быть колонка с суммой из регистра.

Это кто сказал?... Кто-то при думал эту ересь, а вы её реализуете. Тут явно либо косяк в методологии, либо косяк в её применении на практике (через *опу).
   polosov
 
14 - 28.01.21 - 12:47
(13) А в чем косяк? Ну хотят люди видеть сколько бонусов начислено каждым документом оплаты.
   Волшебник
 
15 - 28.01.21 - 12:48
(14) Тогда это реквизит документа. Это не задача регистра и динамического списка.
   Timon1405
 
16 - 28.01.21 - 12:48
(0) вообще не нужно соединений в запросе самого списка, используйте https://wonderland.v8.1c.ru/blog/obrabotka-i-oformlenie-dannykh-dinamicheskogo-spiska/
   polosov
 
17 - 28.01.21 - 12:49
(15) Ну такое...
А если сделают возврат ДС? Бонусы оставляем?
   lanc2233
 
18 - 28.01.21 - 12:49
(12) соединять по регистратору? записи задвоятся если движений более одного
   Волшебник
 
19 - 28.01.21 - 12:50
В регистре Бонусы могут быть измерения Сотрудник, Сделка.
А может это вообще регистр расчёта?
   polosov
 
20 - 28.01.21 - 12:52
(19) Оборотный?
   polosov
 
21 - 28.01.21 - 12:52
(19) Моргни два раза, если тебя похитили фузиновцы.
   Волшебник
 
22 - 28.01.21 - 12:55
(20) Если бонусы не списываются, а только начисляются, то оборотный, но это вряд ли. Скорее всего эти бонусы используются где-то ещё, например, при расчёте зарплаты.
   fisher
 
23 - 28.01.21 - 12:55
(7) При сравнении в запросе ссылки на документ с составным типом, учитывается тип документа? Т.е. в сиквел автоматически добавится условие на колонку типа?
   lanc2233
 
24 - 28.01.21 - 12:56
Для вывода в несколько динамических списков, в том числе и по заказу покупателя (там еще одно измерение есть). И для одного отчета.
Возврат есть, по этому регистру минусует.
   ZDenis
 
25 - 28.01.21 - 12:58
"записи задвоятся если движений более одного" - Так как в модуле проведения напишешь, так в регистр и попадет. Причем тут задвоения?
   fisher
 
26 - 28.01.21 - 12:58
Я по итогу тоже не понял, нафига это измерение нужно и почему оплаты не двигают регистр.
   fisher
 
27 - 28.01.21 - 13:00
Хотя регистр начислений оплаты и не должны двигать, чего это я...
   lanc2233
 
28 - 28.01.21 - 13:00
(25) да это я тормознул в коментарии. В любом случае документ в измерении не является регистратором.
   polosov
 
29 - 28.01.21 - 13:01
(23) У тебя просто сравнения строк в таблице. Ты же не производишь разыменования, не обращаешься к реквизитам составной ссылки.
   fisher
 
30 - 28.01.21 - 13:05
(29) Ну так а приведение типа должно добавить еще условие на тип. Я бы подстраховался. Гуиды такие гуиды...
 
 Рекламное место пустует
   fisher
 
31 - 28.01.21 - 13:07
(28) Ну и какая логика движений по измерению "ДокументОплаты" в регистре начислений?
   Dmitrii
 
32 - 28.01.21 - 15:13
(14) (17) >> А в чем косяк? Ну хотят люди видеть сколько бонусов начислено каждым документом оплаты.
>> Ну такое...

"Ну такое" - это использовать вместо отчета динамические списки.
Хочется видеть какие-то свойства объекта - используй для этого типовые инструменты. Добавь свой допреквизит и либо регламент, который будет актуализировать значение этого допреквизита, либо подписку на события оборотного регистра, чтобы она актуализировала допреквизиты и свойства документа оплаты. Тогда для вывода реквизита в списках вообше ничего не надо будет делать - динамические списки и так допускают вывод допреквизитов.

Если автор не врёт в (24) про "Для вывода в несколько динамических списков", то решение с оборотным регистром - это пример методического кретинизма. Не предназначены для этого регистры накопления. По мере роста объёма данных работа таких динамических списков встанет колом. Собственно говоря, именно это сейчас и происходит (если я правильно понял).
   polosov
 
33 - 28.01.21 - 15:56
(32) Ты прям драматизируешь. Ну хочет человек так сделать, пусть делает. Левое соединение с виртуальной таблице конечно зло, но к этому потом человек придет.


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