|
Если к списку документов присоединить регистр статусов, и разместить в ДС, как оптимально? | ☑ | ||
---|---|---|---|---|
0
RetardedToBoot
11.05.22
✎
20:33
|
Допустим есть некий вид документа. И по нему в отдельном РС пишутся статус этого документа. В сам документ нельзя, т.к. могут быть проблемы с блокировками. Соответственно, что бы в ДС получить и документ, и статус, нужно выполнить левое соединение. Но ДС тогда начинает чуть больше подтормаживать. В РС ссылка на документ сидит в измерении, статус в реквизите, запрос на получение без каких-либо итогов, регистр не периодический.
Есть ли более оптимальные варианты организации такой штуки? |
|||
1
H A D G E H O G s
11.05.22
✎
20:43
|
ПриПолученииДанныхНаСервере
|
|||
2
2S
11.05.22
✎
21:29
|
(0) посмотри статусы счетов в типовой бп
|
|||
3
Злопчинский
11.05.22
✎
21:52
|
А почему в при записи в документ - блокировки, а в регистр - нет?
|
|||
4
Злопчинский
11.05.22
✎
21:53
|
записать в шапку документа статус - откуда здесь охренительные проблемы с блокировками?
|
|||
5
Жан Пердежон
11.05.22
✎
21:55
|
(0) не там вы тормоза ищете
|
|||
6
H A D G E H O G s
11.05.22
✎
21:56
|
(4) Потому что в ПослеПроведения.
|
|||
7
Злопчинский
11.05.22
✎
22:15
|
(6) сорри за ламерность, но при чем здесь изменение статуса документа к проведению документа?
статус вытекает из проведения документа? если да - то почему при проведении документа читается и пишется дохренища регистров и это не является проблемой? или блин, к 15 регитсрам добавить чтение/запись в еще один регистр - это кпц как нагрузит как последняя соломинка? |
|||
8
RetardedToBoot
11.05.22
✎
22:16
|
(4) если кто-то захочет открыть документ еще раз, после сохранения, например, менеджеры любят добавлять строки в заказы покупателей, а в этот момент этот документ начинают подготовливать к резервированию, или еще какие-либо обработки, и статус об этот записать в документ, то у менеджера при записи заказа будут проблемы - объект изменен. И плюс сами по себе блокировки при одновременном доступе при описанной выше ситуации.
|
|||
9
Злопчинский
11.05.22
✎
22:26
|
(8) а тут статус поставлен одним процесом. а изменение документа другим процессом/менеджером? и это будет логически непротиворечиво в итоге?
|
|||
10
timurhv
11.05.22
✎
22:27
|
(0) Накладывается отбор по статусу? Видимых тормозов не должно быть.
|
|||
11
H A D G E H O G s
11.05.22
✎
22:34
|
(0) Проблема будет, если накладывать отбор по редкому статусу.
Лечиться индексированием ресурса Статус |
|||
12
RetardedToBoot
11.05.22
✎
22:43
|
Вот такой примерно запрос получается в произвольном запросе у ДС:
выбрать тДок.Ссылка, тСтат.Статус, ... прочие реквизиты ... из Документ.ЗаказПокупателей как тДок левое соединение РегистрСведений.СтатусыЗаказовПокупателей как тСтат по тДок.Ссылка = тСтат.Ссылка При этом тСтат.Ссылка это измерение, и оно системой само по умолчанию индексируется. Статус индексировать не нужно, если только не нужны отборы по нему. |
|||
13
H A D G E H O G s
11.05.22
✎
22:52
|
"если только не нужны отборы по нему"
Если только отборы не будут по малому количеству статуса из многих. Если у тебя 999 доков в статусе "Создан" и 1 док в статусе "Заполнен" и ты отбираешь по "Создан", то индекс не нужен. |
|||
14
RetardedToBoot
11.05.22
✎
22:58
|
(13) скорее 999 в состоянии завершен и отгружен, и 1 в статусе создан. Но вопрос чаще возникает в отношении общего списка.
|
|||
15
H A D G E H O G s
11.05.22
✎
23:03
|
(14) В отношении общего списка проблем нет. Если они есть - смотрите план запроса и ищите толстые стрелки
|
|||
16
ДедМорроз
11.05.22
✎
23:09
|
Статус отдельно,обычно,для того,чтобы не перезаписывать весь докумень при изменении статуса.
При этом,если процесс,меняющий статус также перезаписывает документ,то такой статус нет смысла хранить в отдельном регистре,если же остальные данные документа не меняются,то регистр позволит повысить и производительность и избежать проблем с перечитыванием документа после перезаписи из задания,меняющего статус. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |