|
Записи в периодический независимый регистр | ☑ | ||
---|---|---|---|---|
0
letovd
17.07.19
✎
20:06
|
Добрый вечер. Подскажите, что я делаю не так?
Ибо массив заполняется таким способом, а в регистр заносится лишь последнее значение цикла Для Счетчик = 0 По 160 Цикл Если Счетчик > 0 И Счетчик % 10 = 0 Тогда НаборЗаписей = РегистрыСведений.Десяточки.СоздатьНаборЗаписей(); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Цифра = Счетчик; НаборЗаписей.Записать(); НаборЗаписей.Очистить(); КонецЕсли; КонецЦикла; |
|||
1
lodger
17.07.19
✎
20:09
|
(0) измерения регистра какие?
|
|||
2
lodger
17.07.19
✎
20:11
|
ну как минимум
ВремяСтарта=началодня(ТекущаяДата()) Для Счетчик = 0 По 160 Цикл Если Счетчик > 0 И Счетчик % 10 = 0 Тогда НаборЗаписей = РегистрыСведений.Десяточки.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Период.использование = истина; НаборЗаписей.Отбор.Период.значение= ВремяСтарта+Счетчик; // помимо Периода надо определить и другие измерения НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Цифра = Счетчик; НаборЗаписей.Записать(); КонецЕсли; КонецЦикла; |
|||
3
letovd
17.07.19
✎
20:17
|
(2) Спасибо, сработало
Я не использовал эти две строки и мучался. НаборЗаписей = РегистрыСведений.Десяточки.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Период.использование = истина; НаборЗаписей.Отбор.Период.значение= ВремяСтарта+Счетчик; // помимо Периода надо определить и другие измерения НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Цифра = Счетчик; НаборЗаписей.Записать(); Причем нужно ведь еще добавлять НоваяЗапись.Период = ВремяСтарта+Счетчик; |
|||
4
lodger
17.07.19
✎
20:42
|
(3) а ты думал я тебе полностью готовый код дам?
|
|||
5
letovd
18.07.19
✎
14:41
|
Для чего в данном примере использовать эти две строчки?
НаборЗаписей.Отбор.Период.использование = истина; НаборЗаписей.Отбор.Период.значение= ВремяСтарта+Счетчик; |
|||
6
hhhh
18.07.19
✎
15:28
|
(5) чтобы оно работало только для данного периода. А то если в регистре миллион записей, у вас без отбора этот весь миллион попадет в оперативную память.
|
|||
7
letovd
18.07.19
✎
16:06
|
(6) Так я ведь не читаю его, а просто создаю и записываю с замещением старых записей
|
|||
8
hhhh
18.07.19
✎
16:10
|
(7) ну чтобы сделать замещение старых записей она должна прочитать их? поэтому она читает миллион записей, потом записывает миллион обратно.
|
|||
9
hhhh
18.07.19
✎
16:12
|
(7) и не забывайте, что в 1с замещения записей не существует такой операции. Тут делается тупо, старые записи удаляются, новые возникают. Это мы для удобства говорим "замещение".
|
|||
10
hhhh
18.07.19
✎
16:13
|
(7) набор записей всегда пишется целиком. Не по одной записи.
|
|||
11
letovd
18.07.19
✎
16:14
|
(10) Да, я уже понял, спасибо.
Для того что писать по одной используют менеджер |
|||
12
letovd
18.07.19
✎
16:14
|
(8) А если у меня конструкция по типу
НаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей(); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий(); НоваяЗапись = НаборЗаписей.Добавить(); Запрос.Период = Выборка.Период; Запрос.Измерение= Выборка.Измерение; КонецЦикла; НаборЗаписей.Записать(Истина); То в какой момент делать отбор? |
|||
13
letovd
18.07.19
✎
16:16
|
(8) А если у меня конструкция по типу
НаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей(); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий(); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись .Период = Выборка.Период; НоваяЗапись .Измерение= Выборка.Измерение; КонецЦикла; НаборЗаписей.Записать(Истина); То в какой момент делать отбор? |
|||
14
letovd
18.07.19
✎
17:04
|
Или в данном случае отбор нужно делать перед записью в цикле(так как дата изменяется), типа того?
НаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей(); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий(); НаборЗаписей.Отбор.Период.Установить = (Выборка.Период); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись .Период = Выборка.Период; НоваяЗапись .Измерение= Выборка.Измерение; НаборЗаписей.Записать(Истина); НаборЗаписей.Очистить(); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |