Имя: Пароль:
1C
 
Как оптимальней записывать данные в РС?
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), ведь в периоде уже могут быть записи с темиже значениями измерений.
AdBlock убивает бесплатный контент. 1Сергей