Имя: Пароль:
1C
 
Можно ли в одном наборе записей и добавлять записи и удалять?
0 Адимр
 
06.02.15
10:11
НаборЗаписей = РегистрыСведений.СостояниеРаботниковОрганизации.СоздатьНаборЗаписей();
НоваяЗапись1                       = НаборЗаписей.Добавить();
НоваяЗапись1.Организация           = Организация;

НаборЗаписей.Отбор.Организация.Установить(Организация);
НаборЗаписей.Прочитать();
Для каждого НоваяЗапись2 Из НаборЗаписей Цикл
    НаборЗаписей.Удалить(НоваяЗапись2);
КонецЦикла;


НаборЗаписей.Удалить(НоваяЗапись2);
НаборЗаписей.Записывать = Истина;
НаборЗаписей.Записать(Ложь);    

проблема в том что для добавления нужно ставить НаборЗаписей.Записать(Ложь);    

А для удаления НаборЗаписей.Записать(Истина);
1 Психотерапевта Вызыва
 
06.02.15
10:14
(0)
НаборЗаписей.Отбор.Организация.Установить(Организация);
НаборЗаписей.Прочитать();
Для каждого НоваяЗапись2 Из НаборЗаписей Цикл
    НаборЗаписей.Удалить(НоваяЗапись2);
КонецЦикла;
это что за?
2 Адимр
 
06.02.15
10:16
(1) Это понятно вместе с НаборЗаписей.Добавить(); как будет работать?
3 Адимр
 
06.02.15
10:17
Представь в регистре 10 записей одну из них нужно удалить и еще две добавить в одном наборе НаборЗаписей.Записать()
4 ДенисЧ
 
06.02.15
10:17
(2) хорошо будет работать, годно.
5 Психотерапевта Вызыва
 
06.02.15
10:20
(0)
"для добавления нужно ставить НаборЗаписей.Записать(Ложь);"
вот это спорное утверждение
6 Адимр
 
06.02.15
10:29
(4) Не выходит почему то.
7 Defender aka LINN
 
06.02.15
10:30
(3) Не возражаю, делай
8 ktvladimir
 
06.02.15
10:31
Сперва сделай отбор прочитай набор записей. а потом работай с набором удаляй записи из набора добавляй нужные и записывай
9 ktvladimir
 
06.02.15
10:33
тоже самое как в тч документа добавить строки потом обновить документ и удивляться почему строки добавленные пропали
10 SUA
 
06.02.15
10:37
автор пробовал свой код запустить?
и удалить 2 записи а не все 10
и добавить хоть что-то
этого в коде не видно
11 ktvladimir
 
06.02.15
10:39
видно что он не понимает что делает)
12 Адимр
 
06.02.15
10:42
А оптимально ли будет весь набор перезаписывать?

Если я хочу например только добавить новые записи то оптимально так
НоваяЗапись1                       = НаборЗаписей.Добавить();
НаборЗаписей.Записать(Ложь);     
Истина - перед записью существующие записи будут удалены. Ложь - записи будут дописаны к уже существующим в информационной базе записям
13 Адимр
 
06.02.15
10:44
Но для удаления Ложь не подходит.
14 Адимр
 
06.02.15
10:44
Получается нужно создавать другой набор записей
15 Адимр
 
06.02.15
10:45
пусть у меня будет не 10 записей а 10 миллионо зачем мне весь набор перезаписывать если нужно 2 записи добавить, по моему это логично.
16 Адимр
 
06.02.15
10:46
С добавленем это самый оптимальный вариант а вот с удалением уже не получается тогда в одном наборе это сделать
17 Адимр
 
06.02.15
10:47
Вот о чем я вам толкую
18 ejikbeznojek
 
06.02.15
10:47
(15) Сделай набор в котором будет не 10 миллионов, а 2
19 Адимр
 
06.02.15
10:49
И зачем мне читать весь набор и еще обходить его как в (1)

НаборЗаписей.Прочитать();
Для каждого НоваяЗапись2 Из НаборЗаписей Цикл

Если у меня запрос уже возвращает измерения по которым я должен найти запись и удалить ее и измерения по которым которые я должен добавить записи!
20 ejikbeznojek
 
06.02.15
10:50
Точнее создай набор записей с такими отборами, в котором будут только те записи которые нужно удалить.
21 ejikbeznojek
 
06.02.15
10:51
НаборЗаписей.Отбор.Организация.Установить(Организация);
НаборЗаписей.Отбор.КакоеТоИзмерение.Значение=какоетозначение
НаборЗаписей.Отбор.КакоеТоИзмерение.использование=истина

НаборЗаписей.Прочитать();
Для каждого НоваяЗапись2 Из НаборЗаписей Цикл
    НаборЗаписей.Удалить(НоваяЗапись2);
КонецЦикла;
22 SUA
 
06.02.15
10:53
(19)разумная мысль! продолжайте наблюдения!
23 ejikbeznojek
 
06.02.15
10:53
вид сравнения там какой-нибудь в списке
24 Defender aka LINN
 
06.02.15
10:54
(21)

НаборЗаписей.Прочитать();
Для каждого НоваяЗапись2 Из НаборЗаписей Цикл
    НаборЗаписей.Удалить(НоваяЗапись2);
КонецЦикла;

Спасибо, поржал.
25 Defender aka LINN
 
06.02.15
10:55
(23) Воу воу, палехче! Я столько ржать не могу
26 ejikbeznojek
 
06.02.15
10:56
Ну хочется человеку в цикле по записям ходить.
Не могу же я ему этого запретить. (25)
27 Адимр
 
06.02.15
15:47
Вобщем только с использованием двух наборов записей решается сия задача.