Делаю программную запись в регистр сведений. Почему одна запись затирает другую?

1. zus 33 25.07.12 15:52 Сейчас в теме
	Набор = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();  
	Запись = Набор.Добавить();
	Запись.Объект = Спр.Ссылка;
	Запись.Период = Дата("20120101");
	Запись.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("00006");
	Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон;
	Запись.Представление = МассивСтрок[4];
	Набор.Записать();

	Набор2 = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();  
	Запись2 = Набор2.Добавить();
	Запись2.Объект = Спр.Ссылка;
	Запись2.Период = Дата("20120202");
	Запись2.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("а0001");
	Запись2.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты;
	Запись2.Представление = МассивСтрок[5];
	Набор2.Записать(); 
Показать


Кто знает почему первая запись создается, а потом затирается второй? В результате создается запись в регистре только с адресом эл. почты (Набор2).
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Spektr 1023 25.07.12 15:58 Сейчас в теме
Необходимо установить отбор.
Пример:
КурсыВалют = РегистрыСведений.КурсыВалют;
НаборКурсов = КурсыВалют.СоздатьНаборЗаписей();
Доллар = Справочники.Валюты.НайтиПоНаименованию("USD");
НаборКурсов.Отбор.Валюта.Установить(Доллар);
НаборКурсов.Отбор.Период.Установить(НачалоДня(ТекущаяДата()));

НаборКурсов.Прочитать();
Если НаборКурсов.Количество() = 0 Тогда
НовыйКурс = НаборКурсов.Добавить();
НовыйКурс.Валюта = Доллар;
НовыйКурс.Период = ТекущаяДата();
ИначеЕсли НаборКурсов.Количество() = 1 Тогда
НовыйКурс = НаборКурсов[0];
Иначе
Текст = "ru = ""Курс валюты задается один раз в день."";"
+ " en = ""Rate is set once a day.""";
Предупреждение(НСтр(Текст), 60);
Возврат;
КонецЕсли;
НовыйКурс.Курс = 31.44;
НовыйКурс.Кратность = 1;
НаборКурсов.Записать();
Сообщить(НСтр(ru = ""Курс ""; en = ""Rate "")
+ СокрЛП(НовыйКурс.Валюта)
+ НСтр(ru = "" на сегодня: "+"; en = "" for today: "")
+ НовыйКурс.Курс + НСтр(ru = "" руб.""; en = "" roub."""));
3. frc 25.07.12 16:00 Сейчас в теме
Идет отбор одной и той же записи для каждого набора.
РС КИ - это такой хитрый регистр, что сначала нужно создать отбор по Запись.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("00006") и тип "Телефон", а потом - менять его.
Создать отбор Запись2.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("а0001") и тип "электронная почта" - а потом менять его.
Причем может быть только одна запись телефона и одна запись эл.почты.
А у вас - уже есть заполненые Телефон и Почта для данного контрагента, вот и меняете одно и то же.
4. zus 33 25.07.12 16:27 Сейчас в теме
После установки отбора записывается корректно, спасибо, выручили советом.
5. пользователь 25.07.12 17:29
Сообщение было скрыто модератором.
...
6. Поручик 4692 25.07.12 18:08 Сейчас в теме
(5) Вопрос к теме имеет отношение?
Оставьте свое сообщение

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