Имя: Пароль:
1C
1С v8
Изменение записей в наборе записей РС
, ,
0 Dolphinbet
 
15.07.16
09:42
Требуется изменить n записей из набора N записей непериодического регистра сведений за одно обращение к базе данных. Как это можно реализовать?
1 Mankubus
 
15.07.16
09:43
1. Получить набор
2. Изменить записи
3. Записать
2 Dolphinbet
 
15.07.16
09:49
(1) Насколько это правильно с точки зрения производительности и нагрузки на БД? Допустим, N = 1 000 000 записей, а n = 100 записей. То есть мы читаем миллион записей меняем100 записей и записываем в БД миллион записей.
3 IlyaSR
 
15.07.16
09:54
(2)Получить набор - зачем читать все записи, получите только нужные через отбор

1. Получить набор
2. Изменить записи
3. Записать
4 Dolphinbet
 
15.07.16
10:01
Допустим, РС имеет 2 измерения ВидНоменклатуры и Номенклатура. Я могу установить отбор только по конкретным значениям измерений в наборе записей. Ставлю отбор по ВидуНоменклатуры - получаю миллион записей, из которого мне надо поменять 100 записей (записи по конкретным номенклатурным позициям). Установить отбор по этим 100 записям я не могу, если только делать это в цикле - 100 раз получаем набор записей, 100 раз делаем запись в БД. Тоже не вариант.
5 Bigbro
 
15.07.16
10:04
если малое количество записей и отборами их отфильтровать не получается может имеет смысл через Менеджер сделать.
хотя это сравнительно медленно работает
6 Dolphinbet
 
15.07.16
10:06
(5) Каким образом понять малое количество записей или большое? понятно, например, что 100 записей из миллиона это мало, но какими критериями руководствоваться в алгоритме?)
7 Dolphinbet
 
15.07.16
10:09
Может быть использовать прямую запись в таблицу БД через ADO?
8 Dolphinbet
 
15.07.16
10:11
или все таки как-то можно реализовать это средствами платформы? прямая запись в таблицу БД - крайний вариант решения проблемы...
9 IlyaSR
 
15.07.16
10:19
А если через менеджер все же
НаборЗаписей.Записать(ИСТИНА);

тогда просто сделает запись с замещением
10 Dolphinbet
 
15.07.16
10:21
(9) проблема в том как избежать большого объема считываемых и записываемых данных ради того, чтобы изменить небольшое кол-во записей?
11 FIXXXL
 
15.07.16
10:48
(10) запросом можешь получить набор нужных?
потом перебирай выборку, читай-пиши по одной
12 Dolphinbet
 
15.07.16
10:58
(11) это цикл, вместо одного обращения к БД получаем сотни...