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



Как оптимальней записывать данные в РС?

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

2) Создаешь набор без отбора заполняешь его номенклатурой из пункта 1.

3) Записываешь набор: Набор.Записать(ЛОЖЬ)
   Nikoss
 
24 - 31.05.18 - 13:58
(15)(23) с периодическим независимым не пройдет же такой фокус?

Допустим тотже регистр из (0) только периодический, и нужно отразить измененный штрихкод
   Фауст
 
25 - 31.05.18 - 14:03
Регистр периодический ? А зачем ? И что ты тогда в период пишешь ?
   1Сергей
 
26 - 31.05.18 - 14:04
Штрихкоды по сезону меняются?
   LLIaMaH
 
27 - 31.05.18 - 14:08
Блин, нада было полнее осветить структуру, независимый неперодический, самый простой, в принципе вариант в (15) самый оптимальный похоже, щас реализую.

(24) Как мне кажется, тут надо предварительно на набор наложить отбор по периоду, а потом применить туже схему как и в (15), ведь в периоде уже могут быть записи с темиже значениями измерений.


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