Вход | Регистрация
 

Запись в регистр сведений? как лучше?

Запись в регистр сведений? как лучше?
Я
   Sovoratov
 
16.08.19 - 11:46
Регистр состоит только из двух измерений,
подскажите как лучше данные добавлять в него?
например если через СоздатьМенеджерЗаписи(); буду пытаться добавить записи которые уже существуют произойдет ошибка? мол запись с такими полями существует или перезатрёт?
Или лучше через Отбор добавлять (СоздатьНаборЗаписей()), чтобы ошибки не было?
 
 
   Cyberhawk
 
1 - 16.08.19 - 11:49
Если два измерения, то максимум в нем 9 записей будет что ли?
   Sovoratov
 
2 - 16.08.19 - 11:51
(1) почему только 9 записей? разве есть ограничения?
   Mankubus
 
3 - 16.08.19 - 11:52
(0) почему бы не проверить самостоятельно на тестовой базе?
   D_E_S_131
 
4 - 16.08.19 - 11:52
(0) Новая запись с неуникальным набором измерений не запишется.
(1) С чего такой вывод? Типы полей же мы не знаем.
   Sovoratov
 
5 - 16.08.19 - 11:56
(4) типы полей ПоступлениеТоваровУслуг второе документ АнализКачества.
те в регистре буду устанавливать соответствия документов.
почему ограничение 9 ? разве не могу бесконечную комбинацию пар в регистр поместить?
   Cyberhawk
 
6 - 16.08.19 - 11:57
(2) (4) Точно, не о том подумал.
(5) Сможешь.
   Sovoratov
 
7 - 16.08.19 - 12:00
те как я понял лучше через набор записей добавлять чтобы подстраховаться от ошибки?
   dka80
 
8 - 16.08.19 - 12:01
Записать(Истина) - перезатрет и ошибки не будет
   Sovoratov
 
9 - 16.08.19 - 12:03
(8) ок спасибо
   НадюшаЯ
 
10 - 16.08.19 - 12:04
(7) неправильно понял. И вообще все зависит от контекста задачи. Если 1000000 записей решишь добавить, то набор, немного затормозит работу. А если нужно переписать данные по какому то разрезу, то да набор.
   dka80
 
11 - 16.08.19 - 12:05
А через набор или через менеджер зависит от того, какие ты данные будешь писать. Если связка ПоступлениеТоваровУслуг И АнализКачества один к одному, то лучше через менеджер записи, т.к. если будешь писать через набор записей, то тебе придется все равно устанавливать отбор на эту уникальную связку, а это будет просто лишней операцией
   dka80
 
12 - 16.08.19 - 12:06
И да, если решишься все-таки писать через набор, то сделай копию базы сначала. Ну чтоб потом сюрпризом не был пустой регистр
   D_E_S_131
 
13 - 16.08.19 - 12:11
Вроде бы где-то были рекомендации от 1С, что писать в любом случае оптимальнее набором записей. Но первоисточник не найду...
   НадюшаЯ
 
14 - 16.08.19 - 12:12
(13) а вот за это спасибо)
   Cyberhawk
 
15 - 16.08.19 - 12:18
(11) "лучше через менеджер записи, т.к. если будешь писать через набор записей, то тебе придется все равно устанавливать отбор на эту уникальную связку, а это будет просто лишней операцией" // Так и через МЗ то же самое будет
   dka80
 
16 - 16.08.19 - 12:24
(15)
Запись = РС.МенеджерЗаписи.Создать()
Запись.Изм1=1
Запись.Изм2=1
Запись.Записать(Истина)

Набор = РС.НаборЗаписей.Создать();
Набор.Отбор.Изм1.Установить(1);
Набор.Отбор.Изм2.Установить(2);
Запись = Набор.Создать();
Запись.Изм1=1
Запись.Изм2=1
Набор.Записать()

Мне кажется в первом случае меньше кода
   Cyberhawk
 
17 - 16.08.19 - 12:41
(16) Теперь ясно, что ты под "лишней операцией" имел в виду.
Я же про то, что происходит на уровне СУБД, имел в виду.
Ну и поскольку МЗ надстройка над НЗ, причем с удручающими ограничениями (нет доп. свойств, нет обмена данными), то профит от ее использования на краткости кода вроде как и заканчивается.
   GGDots
 
18 - 16.08.19 - 12:51
https://its.1c.ru/db/metod8dev/content/2722/hdoc

.............

С точки зрения производительности использование наборов записей будет максимально эффективным. Использование менеджера записей в некоторых случаях будет столь же эффективным, а в некоторых менее, так как будут выполняться лишние действия.
   Вафель
 
19 - 16.08.19 - 12:53
(18) однако ответ конечно достойный
сразу становится все понятно )))
   palsergeich
 
20 - 16.08.19 - 13:03
(18) это общая статья и я не стал бы не принимать за истину.
Там очень много ньюаносов.
Эскалации всякие, неявные транзанкии.
В зависимости от ситуации может оказаться что миллион записей менеджером будут для базы более предпочтительным сценарием чем запись набора с миллионом строк
   Вафель
 
21 - 16.08.19 - 13:06
через запись кода меньше, и он легче читается.
а это многого стоит


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