|
Регистр сведений. НаборЗаписей
| ☑ |
0
Ptols
10.02.12
✎
16:48
|
Подскажите. создаю набор записей, заполняю, но при записи набора, все что было в регистре заменяется на новый набор.
НаборЗаписей = РегистрыСведений.Факт.СоздатьНаборЗаписей();
Для Каждого Стр Из ТаблицаЗагрузки Цикл
НоваяЗапись = НаборЗаписей.Добавить();
Для Кол=0 По ТаблицаЗагрузки.Колонки.Количество()-1 Цикл
ЗначениеКол = ТаблицаЗагрузки.Колонки.Получить(Кол);
НоваяЗапись[ЗначениеКол.Имя]= Стр[Кол];
КонецЦикла;
КонецЦикла;
НаборЗаписей.Записать();
В чем фишка? Что то не учел?
|
|
1
hhhh
10.02.12
✎
16:52
|
НаборЗаписей.Записать(Ложь);
неужели трудно справку почитать?
|
|
2
mikecool
10.02.12
✎
16:53
|
установи отбор
|
|
3
DmitryPavlik
10.02.12
✎
16:53
|
НаборЗаписей.Отбор.<имя>.значение = <что отбираем>;
наборзаписей.отбор.<имя>.использование = истина;
наборзаписей.прочитать();
может так?
|
|
4
Ptols
10.02.12
✎
17:00
|
Спасибо, буду "копать"
|
|
5
Rizhij_Nikitos
10.02.12
✎
17:09
|
Ты просто затирал, старый регистр весь, новым набором, если поставишь как сказал (1), то просто допишешь. Можно пользоваться отбором, если нужно некоторые одинаковые затереть, то есть уже существущие, с каким то одинаковым наименованием.
|
|
6
Товарищ Лансер
10.02.12
✎
17:23
|
В свое время так же уперся, но решилось очень быстро. С помощью синтаксис-помощника... Есть такая интереснийшая штука ))))
Вот как раз пример от туда:
Запись= РегистрыСведений.Регистр;
НаборЗаписей = Запись.СоздатьНаборЗаписей();
Доллар = Справочники.Валюты.НайтиПоНаименованию("USD");
// тут ставим отбор, что бы не затереть все в регистре
НаборЗаписей .Отбор.Валюта.Установить(Доллар, Истина);
НаборЗаписей .Отбор.Период.Установить(НачалоДня(ТекущаяДата()), Истина);
// тут мы читаем набор (можно сказать открываем регистр)
НаборЗаписей.Прочитать();
// тут, если данных по нашему отбору нет - добавляем новые строки
Если НаборЗаписей.Количество() = 0 Тогда
НаборЗаписей= НаборКурсов.Добавить();
НаборЗаписей.Валюта = Доллар;
НаборЗаписей.Период = ТекущаяДата();
Иначе
// А тут пишем что нам надо, если по фильтру уже есть что-то....
КонецЕсли;
НаборЗаписей.Записать(Ложь);
|
|