Имя: Пароль:
1C
1С v8
Не могу добавить запись в регистр сведений
0 Лиза777
 
19.10.22
11:31
Чёт не могу добавить запись в регистр сведений. КА2, РС периодический независимый. Там есть несколько записей. Период там стоит 01.10.22. В коде пишу
        РС = РегистрыСведений.МойРС.СоздатьНаборЗаписей();
    РС.Отбор.ТранспортноеСредство.Установить(ТекущийОбъект.Ссылка);    
    РС.Отбор.Период.Установить(НачалоДня(ДатаЗначений)); //ДатаЗначений тут 01.10.22
    РС.Прочитать();
    
      И РС.Количество() почему то мне выдаёт 0. Если убираю отбор по периоду, то есть количество. Не пойму что не так??
======
потом пишу
                РСЗапись = РегистрыСведений.МойРС.СоздатьНаборЗаписей();    
        НоваяЗапись = РСЗапись.Добавить();
        НоваяЗапись.ТранспортноеСредство = ТекущийОбъект.Ссылка;
        НоваяЗапись.Характеристика = ВыбрХарактеристика;
        НоваяЗапись.Значение = 444;
        НоваяЗапись.Период = НачалоДня(ДатаЗначений);
        РСЗапись.Записать(Истина);
Запись создаётся, но старые записи не остаются почему-то, тоже не пойму что нет так??
1 PR
 
19.10.22
11:36
(0) А где отбор?
2 spiller26
 
19.10.22
11:37
(0)Как добавить запись в периодический независимый регистр сведений?
Код 1C v 8.х
// Добавление записей в периодический независимый регистр сведений
НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
    
НаборЗаписей.Отбор.Валюта.Установить(ТекущаяВалюта);
НаборЗаписей.Отбор.Период.Установить(ТекущаяДата);
    
НовЗапись = НаборЗаписей.Добавить();

НовЗапись.Валюта = ТекущаяВалюта;
НовЗапись.Период  = ТекущаяДата;
НовЗапись.Курс = ТекущийКурс;
НовЗапись.Кратность = ТекущаяКратность;

НаборЗаписей.Записать(Истина);
3 Лиза777
 
19.10.22
11:38
(2) видела это, мне кажется так и делаю
4 Лиза777
 
19.10.22
11:38
(0) отбор есть - в первом сообщении написала
5 vicof
 
19.10.22
11:40
РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Information register name>)
Записать (Write)
Синтаксис:
Записать(<Замещать>)
Параметры:
<Замещать> (необязательный)
Тип: Булево.
Определяет режим замещения существующей записи в соответствии с текущими установками отбора. Истина - перед записью существующие записи будут удалены. Ложь - записи будут дописаны к уже существующим в информационной базе записям.
Значение по умолчанию: Истина.
Описание:
Записывает набор записей в базу данных. В зависимости от переданного параметра, может быть выполнено добавление записей или их замещение.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Для регистров сведений, подчиненных регистратору, при вызове с параметром <Замещать> равным Ложь после записи в информационную базу набор записей очищается (удаляются записи из набора).
Пример:
НаборКурсов.Записать();
Использование в версии:
Доступен, начиная с версии 8.0.
     Методическая информация
6 PR
 
19.10.22
11:42
(4) Где в (0) в РСЗапись отбор?
7 spiller26
 
19.10.22
11:42
(4) Зачем вот это
РС.Прочитать();
8 Лиза777
 
19.10.22
11:48
поняла, всё заработало, напутала ага две попытки записать в РС.
Спасибо
9 spiller26
 
19.10.22
11:49
(3) по идее нужно примерно так писать

    РС = РегистрыСведений.МойРС.СоздатьНаборЗаписей();
    РС.Отбор.ТранспортноеСредство.Установить(ТекущийОбъект.Ссылка);    
    РС.Отбор.Период.Установить(НачалоДня(ДатаЗначений)); //ДатаЗначений тут 01.10.22
    НоваяЗапись = РС.Добавить();
    НоваяЗапись.ТранспортноеСредство = ТекущийОбъект.Ссылка;
    НоваяЗапись.Характеристика = ВыбрХарактеристика;
    НоваяЗапись.Значение = 444;
    НоваяЗапись.Период = НачалоДня(ДатаЗначений);
    РС.Записать(Истина);