|
КАК перезаписать часть регистра сведений | ☑ | ||
---|---|---|---|---|
0
ЭЦ
20.01.12
✎
13:57
|
ГОСПОДА !
имеется РегистрСведений Измерения - Дата - Контрагент Ресурс - Количество отгрузок Требуется перезаписать часть записей удовлетворяющих условию : Контрагент = ЗаданныйКонтрагент И Дата >= НачДата И Дата <= КонДата ----------------------------------- Прошу подсказать как это лучше реализовать с учетом того, что в регистре хранятся записи по 12000 контрагентов на каждый день с 2001 г |
|||
1
Господин ПЖ
20.01.12
✎
13:59
|
покурить update в BOL...
|
|||
2
Maxus43
20.01.12
✎
14:07
|
Контрагент = ЗаданныйКонтрагент
И Дата >= НачДата И Дата <= КонДата ну дак запрос вернёт тебе записи нужные. дальше создаёш набор записей регистра с нужными отборами и перезаписываеш. Не вижу где будут тормоза, даже если столько много записей. Регистр какой? как понимаю непериодический независимый? |
|||
3
Maxus43
20.01.12
✎
14:09
|
если даже весь период взять по одному контру - это 365*10 лет, 3,5 тыщи записей переписать даже для 1с это мелочи
|
|||
4
1с-кин
20.01.12
✎
14:11
|
(3) он говорит - 12000/день
т.е. 12000*365*10 |
|||
5
ЭЦ
20.01.12
✎
14:11
|
Проблема в том что Отбор для НаборЗаписейРегистра можно устанавливать только на СТРОГОЕ РАВЕНСТВО
Соответственно НаборЗаписейРегистра использовать не получится Возможно только МенеджерЗаписи отдельно для каждой записи - а это долго. |
|||
6
1с-кин
20.01.12
✎
14:12
|
+ это 43 млн 800 тыс записей
думаю, что даже для диаграммы, где бы отображалась такая производительность 1С, это будет многовато :) |
|||
7
Рэйв
20.01.12
✎
14:13
|
Набор=РегистрСведений.Твой.СоздатьНаборЗаписей();
Набор.Отбор.Контрагент,Установить(Конт); Набор.Прочитать(); Для Каждого Зап Из Набор Цикл Если Зап.Дата >= НачДата И Зап.Дата <= КонДата Тогда Зап.Реквизит1=ЧтоТо1; Зап.Реквизиит2=ЧтоТо2; КонецЕсли; КонецЦикла; Набор.Записать(Истина); |
|||
8
ЭЦ
20.01.12
✎
14:17
|
(7) В Этом случае в регистре будут убиты все записи по ЗаданномуКонтрагенту
не входящие в интервал. А их надо сохранить. |
|||
9
Maxus43
20.01.12
✎
14:20
|
(8) с чего вдруг? Прочитать() есть
|
|||
10
Рэйв
20.01.12
✎
14:21
|
не будут. Они заменятся такими же. А измененные заменятся измененными. Из набора не удаляются записи.Просто нужные изменяються,а не нужные останутся старыми
|
|||
11
ЭЦ
20.01.12
✎
14:28
|
Согласен в таком случае не будут.
Плохо только то что придется позиционировать каждую запись в исходном наборе данных - т.е. получается практически тоже что и в случае использования МенеджерЗаписи. Хочется очистить все записи отфильтрованного набора и записать туда новый. |
|||
12
Maxus43
20.01.12
✎
14:36
|
(11) далеко не то же что и менеджер, тут читаеш и записываеш 1 раз а не 100500 раз, это главное
|
|||
13
ЭЦ
20.01.12
✎
14:45
|
Ну тогда спасибо.
так и будем действовать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |