Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СоздатьНаборЗаписей регистр сведений

СоздатьНаборЗаписей регистр сведений
Я
   letovd
 
18.07.19 - 09:42
Для чего нужно указывать отбор в регистре сведений, при использовании метода СоздатьНаборЗаписей?
И почему НаборЗаписей нужно очищать после записи (если планируется запись в цикле нескольких наборов), или это не обязательно?
 
 
   Cyberhawk
 
1 - 18.07.19 - 09:44
Отбор необязательно указывать у НЗ. Это у МЗ обязательно перед чтением заполнить все поля ключа.
   Cyberhawk
 
2 - 18.07.19 - 09:45
Очищать тоже конечно же необязательно. Просто надо понимать что происходит на каждой строчке кода и сопоставлять это с тем, что требуется.
   letovd
 
3 - 18.07.19 - 09:48
(1) Без отбора в цикле записывает только одну запись в регистр
   Cyberhawk
 
4 - 18.07.19 - 09:49
(3) Сочувствую
   ДенисЧ
 
5 - 18.07.19 - 09:55
(3) А зачем писать в цикле?
   letovd
 
6 - 18.07.19 - 10:00
(5) Нужно несколько записей.
Сейчас проверил, без отбора записывает, если сперва прочитать регистр, в общем нужно разбираться с этим делом.
Статью бы хорошую найти
   ДенисЧ
 
7 - 18.07.19 - 10:02
(6) "Статью бы хорошую найти"

Любая книга по программированию в 1с
   ДенисЧ
 
8 - 18.07.19 - 10:03
(6) И да
нз = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
з = нз.Добавить();з.Реквизит=Реквизит1;з.Ресурс = Ресурс1;
з = нз.Добавить();з.Реквизит=Реквизит2;з.Ресурс = Ресурс2;
нз.Записать(Истина);

Одной записью сделает несколько записей...
   letovd
 
9 - 18.07.19 - 10:10
(8) Да нет, у меня записи берут данные из выборки
   letovd
 
10 - 18.07.19 - 10:14
(8)
нз.Записать(Истина);
Зачем указывать "явно" истина, если это значение по умолчанию и имеет смысл лишь
нз.Записать(Ложь)
   kuzyara
 
11 - 18.07.19 - 10:16
>Для чего нужно указывать отбор в регистре сведений, при использовании метода СоздатьНаборЗаписей?

Представь что для того чтобы сделать update набора записей - нужно указать where какие перезатрутся.
   Cyberhawk
 
12 - 18.07.19 - 10:21
(10) Для повышения наглядности / читаемости кода. На сам исполняемый код это не влияет конечно.
   ДенисЧ
 
13 - 18.07.19 - 10:21
(10) Чтобы было понятно сразу. У меня нет привычки опираться на умолчания.
   ДенисЧ
 
14 - 18.07.19 - 10:22
(9) Перепишем код
нз = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
выб = Запрос.Выполнить().Выбрать();
Пока выб.Следующий();
  з = нз.Добавить();
  з.Реквизит=Выб.Реквизит;
  з.Ресурс = выб.Ресурс;
КонецЦикла;
нз.Записать(Истина);
   kuzyara
 
15 - 18.07.19 - 10:24
> Статью бы хорошую найти
web.archive.org/web/20180823045849/http://1c-wiki.ru/wiki/Регистр_сведений
   letovd
 
16 - 18.07.19 - 10:25
(12) Некое "правило" хорошего тона 1С?
(14) у меня точно такой же, я же и писал изначально
(15) Спасибо!!!
   ДенисЧ
 
17 - 18.07.19 - 10:31
(16) 1. Правило написания красивого кода
2. И что у тебя не работало? У меня работает, у тебя нет? У нас разные 1с?
   letovd
 
18 - 18.07.19 - 10:32
(17) я метод "записать" не вытащил из цикла
   НичегоНеПонятно
 
19 - 18.07.19 - 10:40
(15)Твою мать, то чувство когда wiki которую ты писал, даже упавшую вытаскивают из архива и называют еще хорошей статьей. Надо возвращать ее на место значит.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.