|
Как оптимальней записывать данные в РС? | ☑ | ||
---|---|---|---|---|
0
LLIaMaH
31.05.18
✎
13:11
|
Есть регистр сведений, 2 измерения, Номенклатура - Штрихкод. ПЕриодически нужно добавлять новые записи, приходит документ, Номенклатура-Штрихкод из которого уже могут быть в регистре, как оптимальней добавить новые записи. Набор использовать я не могу, т.к. отбор наложить на номенклатуру не получиться, а просто набор перезапишет весь регистр, получается писать через менеджер записи каждую запись с Замещать - истина, это мне кажется сильно не оптимальным, ну ускорить можно предварительно запросом отобрав только отсутствующие позиции. Может я чего упустил?
|
|||
1
hhhh
31.05.18
✎
13:12
|
(0) накладывай отбор на ШтрихКод
|
|||
2
LLIaMaH
31.05.18
✎
13:16
|
(1) Ну я так понимаю что констукция
НаборЗаписей.Отбор.Штрихкод.Установить(ШтрихкодСтрока); все равно приедтся накладывать столько раз сколько позиций, для каждого ШК в документе и все рано будет N попыток НаборЗАписей.Записать(Истина) |
|||
3
LLIaMaH
31.05.18
✎
13:19
|
Как бы сделать так, чтоыб это бло одно обращение к базе, и записать все новые записи разом, либо часть записать а часть заместить.
|
|||
4
1Сергей
31.05.18
✎
13:20
|
(3) считай все записи предварительно и пробегись добавляя отсутствующие. Потом запишешь весь набор по номен-ре
|
|||
5
Nikoss
31.05.18
✎
13:20
|
На сколько мне известно, НаборЗаписей не используют для независимых регистров сведений. Поэтому только через Менеджер по одной штучке.
|
|||
6
1Сергей
31.05.18
✎
13:25
|
(5) да, ладно...
|
|||
7
Nikoss
31.05.18
✎
13:25
|
(4) ты имеешь введу просто перезаписывать весь регистр каждый раз?
|
|||
8
Nikoss
31.05.18
✎
13:25
|
(6) не так?
|
|||
9
1Сергей
31.05.18
✎
13:25
|
(7) нет, набор записей по одной номенклатуре
|
|||
10
1Сергей
31.05.18
✎
13:26
|
(8) Можно использовать НаборЗаписей для независимых
|
|||
11
LLIaMaH
31.05.18
✎
13:26
|
(4) да не, там пара сотен тысяч позиций, а новый документ в среднем по 20 содержить, это же кучу памяти и трафика набор сожрет.
|
|||
12
Nikoss
31.05.18
✎
13:27
|
(10) можно, только безсмысселнно, т.к. отбор не поставить на несколько номенклатур одновременно
|
|||
13
LLIaMaH
31.05.18
✎
13:28
|
(9) в каждом новом документе 20 позиций новой номенклатуры, она может быть в регистре а может и нет, хотелось бы за одно обращение записать, но походу только 20 раз подряд использовать менеджер, либо сократить список зарание отообрать только незаписаные запросом.
|
|||
14
1Сергей
31.05.18
✎
13:29
|
(13) Так РС зависимый?
|
|||
15
Малыш Джон
31.05.18
✎
13:32
|
(0) передавай ссылку документа в запрос, запросом вытаскивай те ШК, котрые есть в ТЧ документа и которых нет в регистре. Полученные данные выгружай в набор(без отборов) и записывай в режиме добавления(не замещения) записей:
НаборЗаписей.Записать(Ложь); |
|||
16
LLIaMaH
31.05.18
✎
13:33
|
(14) независимый, типа с накладыми приходят новые ШК для номенклатуры, наполняем базу ШК товаров, накладных много, хотелось бы оптимизировать.
|
|||
17
Малыш Джон
31.05.18
✎
13:34
|
+(15) менеджером записи в данном случае действительно неоптимально, так как перед записью каждого менеджера будет происходит чтение регистра
|
|||
18
LLIaMaH
31.05.18
✎
13:34
|
(15) похоже на то что нужно, щас попробую
|
|||
19
1Сергей
31.05.18
✎
13:35
|
А что ужасного в том, если вдруг перезапишется уже существующий ШК?
|
|||
20
LLIaMaH
31.05.18
✎
13:40
|
(19) Я так понимаю если при НаборЗаписей.Записать(Ложь) в наборе окажеться запись с уже существующим в регистре парой Номенклатура-Штрихкод, то будет исключение.
|
|||
21
Малыш Джон
31.05.18
✎
13:42
|
(20) да, будет исключение
|
|||
22
Cyberhawk
31.05.18
✎
13:42
|
Канеш. Но ее там быть не должно - ведь ты наложишь блокировку, прочитаешь то что есть в регистре, сравнишь с кандидатами и исключишь повторяющиеся
|
|||
23
Фауст
31.05.18
✎
13:44
|
1) Отбираешь запросом номенклатуру, которая есть в документе, но которой нет в регистре.
2) Создаешь набор без отбора заполняешь его номенклатурой из пункта 1. 3) Записываешь набор: Набор.Записать(ЛОЖЬ) |
|||
24
Nikoss
31.05.18
✎
13:58
|
(15)(23) с периодическим независимым не пройдет же такой фокус?
Допустим тотже регистр из (0) только периодический, и нужно отразить измененный штрихкод |
|||
25
Фауст
31.05.18
✎
14:03
|
Регистр периодический ? А зачем ? И что ты тогда в период пишешь ?
|
|||
26
1Сергей
31.05.18
✎
14:04
|
Штрихкоды по сезону меняются?
|
|||
27
LLIaMaH
31.05.18
✎
14:08
|
Блин, нада было полнее осветить структуру, независимый неперодический, самый простой, в принципе вариант в (15) самый оптимальный похоже, щас реализую.
(24) Как мне кажется, тут надо предварительно на набор наложить отбор по периоду, а потом применить туже схему как и в (15), ведь в периоде уже могут быть записи с темиже значениями измерений. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |