Запись с такими ключевыми полями существует! Регистр сведений

1. Aleksey_Abramov 03.11.21 14:43 Сейчас в теме
Есть регистр сведений, в нём есть записи. Программно добавляю записи:

Набор = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
Набор.Прочитать();	
Для сч = 1 По КоличествоР Цикл
    Запись = Набор.Добавить();
    Запись.Р = сч;
КонецЦикла;
Набор.Записать();


Почему он не замещает записи, а сразу выдаёт ошибку? Ведь у метода Записать() по умолчанию Замещать = Истина! Я не просил программу выдавать мне ошибку, я просил её замещать записи.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SlavaKron 03.11.21 14:44 Сейчас в теме
(1) Возможно, дублирование в вашем наборе.
3. Aleksey_Abramov 03.11.21 14:48 Сейчас в теме
(2) Точно, одинаковые записи, потому что я пишу сначала Набор.Прочитать(). А как тогда быть, чтобы и регистр полностью не очищался, но записи замещались, если совпадают измерения?
4. nomad_irk 76 03.11.21 14:51 Сейчас в теме
(3)устанавливать отбор по нужным измерениям
5. Aleksey_Abramov 03.11.21 14:53 Сейчас в теме
(4) В смысле отбор по тем записям, которые читаю?
13. nomad_irk 76 03.11.21 17:39 Сейчас в теме
(5)в смысле отбор по тем записям, которые записываете. Читать не обязательно, если записываемые данные будут содержать в себе то, что уже хранится в регистре.
8. -AI- 03.11.21 15:11 Сейчас в теме
(1)
1) ошибку в какой момент выдаёт?
я просил её замещать записи.

2)вы точно туда смотрели?
<Замещать> (необязательный)
Тип: Булево.
Определяет режим замещения существующей записи в соответствии с текущими установками отбора. Истина - перед записью существующие записи будут удалены. Ложь - записи будут дописаны к уже существующим в информационной базе записям.
Значение по умолчанию: Истина.

PS сдаётся мне, что оно не доходит до Записать()
6. acces969 361 03.11.21 14:56 Сейчас в теме
А после Прочитать() в наборе записи есть? Тогда их нужно Очистить()
7. Sashares 35 03.11.21 15:02 Сейчас в теме
9. starik-2005 3082 03.11.21 15:14 Сейчас в теме
Запрос = Новый Запрос( "ВЫБРАТЬ * ИЗ РегистрСведений.МойРегистр ГДЕ Измерение В (&МоеЧумовоеНепоймиЧтоИЗачем)" );
Запрос.Установить( "МоеЧумовоеНепоймиЧтоИЗачем", ЗаполнитИВернутьМассив( 1, КоличествоНепоймиЧего ) );

Рег = РегистрыСведений.МойРегистр.СоздатьМенеджерЗаписи();
// или Рег = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей);

Для А = 1 ПО КоличествоНепоймиЧего Цикл
  Если Ст.Найти(А) = неопределено Тогда
    Рег.Измерение = А;
    Рег.Записать();
    // или Рег.Добавить().Измерение = А;
  КонецЕсли;
// или Рег.Записать( Ложь );
Показать
10. Aleksey_Abramov 03.11.21 15:20 Сейчас в теме
(9) Спасибо. Да, так было бы неплохо. В общем решил обойтись без лишних запросов на проверку, а просто замещать весь регистр, убрав "Набор.Прочитать()" =)
11. XAKEP 03.11.21 15:25 Сейчас в теме
(9)
МоеЧумовоеНепоймиЧтоИЗачем

информативно :)

КоличествоНепоймиЧего


1апреля, что-ли ?
Aleksey_Abramov; +1 Ответить
12. Aleksey_Abramov 03.11.21 15:27 Сейчас в теме
(11) Тоже улыбнуло)) Да, это моя чумовая задача... Которую надо решить.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот