Имя: Пароль:
1C
 
Регистр сведений набор записей
0 Jokero
 
13.01.16
15:35
Есть регистр сведений, в него надо записать внешний набор данных, хочется писать(добавлять) блоком сразу по много записей в одной транзакции, проблема только в том, что во внешних данных могут быть данные, которые уже есть в этом регистре, соответственно при записи набора произойдет ошибка и не запишется весь блок.
Как удалять уже существующие в рег. сведений записи из записываемого набора?
1 lxs
 
13.01.16
15:37
НабораЗаписей.Записать();

По умолчанию такая конструкция перезаписывает набор.
2 Asmody
 
13.01.16
15:38
(0) Плохо жить без СП? Обратись к ДенисЧ, у него староновогодние скидки.
3 Asmody
 
13.01.16
15:40
Ты же уже знаешь, что одной строчкой можно грохнуть все записи в РС?
4 Jokero
 
13.01.16
15:44
(1) Отборов нет, так что НабораЗаписей.Записать(); без Ложь - перезапишет весь регистр, это не варик записей в регистре много
5 vicof
 
13.01.16
15:45
Грузи внешние данные в тз, тз сворачивай, грузи в регистр
6 Jokero
 
13.01.16
15:45
(5) тогда надо сначала в это ТЗ загрузить все данные из регистра - это отожрет очень много памяти. Записей много
7 butterbean
 
13.01.16
15:46
рано или поздно об этом узнаёт каждый восьмерочник
8 butterbean
 
13.01.16
15:46
(7)->(3)
9 vicof
 
13.01.16
15:46
(6) И рыбку съесть...
10 Jokero
 
13.01.16
15:47
Есть же волшебное Прочитать()
11 lxs
 
13.01.16
15:50
(10) Тогда ты нарвешься на "Запись с такими ключевыми полями уже существует.."
12 lxs
 
13.01.16
15:51
(9) +100500
13 Jokero
 
13.01.16
15:53
(11) Да, в этом то и проблема. Тоесть нужно писать только те записи, которых нет в регистре. Но при этом делать к этому регистру как можно меньше обращений. Но при этом еще и блоки записываемые не должны быть слишком большие, что бы съедать как можно меньше памяти.
Вооообщем оптимизируем обмен, вот.
14 18_plus
 
13.01.16
16:21
сделать документ - формальный регистратор и писать как угодно.
15 18_plus
 
13.01.16
16:31
плюс защита от (3)