Имя: Пароль:
1C
1С v8
Массовая корректировка реквизита для Регистра сведений
,
0 mishkerdon
 
02.07.14
10:16
Есть периодический независимый регистр сведений. У него есть реквизит "Статус выгрузки" типа "Число" равное по умолчанию 0. Запросом беру данные в срезе последних, выгружаю их, и хочу установить для них всех (взятых в срезе последних) реквизит Статус выгрузки - 1. Как можно это сделать быстро??
1 Maxus43
 
02.07.14
10:17
набор целиком не уверен что получится,
стандартно - на каждую запись создавать набор, ставить отборы и изменять
2 Cube
 
02.07.14
10:18
(0) Беру сальдо по контрагентам на дату - везде разное. Так вотхочу установить у них у всех сальдо 0. Как можно это сделать быстро??
=)))))
3 Крошка Ру
 
02.07.14
10:19
(0) Быстро в плане времени выполнения кода или в плане времени написания кода?
4 Cube
 
02.07.14
10:21
+(3) А код писать будешь в тапочках или босиком?
А телевизор при это смотреть будешь или нет?
А на столе у тебя будет чисто или завалено?
Ну, тогда не знаю... :)
5 mishkerdon
 
02.07.14
10:22
(3) В плане выполнения.
(1) так очень медленно, записей около 150000
6 Ненавижу 1С
 
гуру
02.07.14
10:22
прямой UPDATE к базе
7 Maxus43
 
02.07.14
10:23
(5) если около 150к - то одним набором записывать (если получится вобще) - крайне опасно (нехватка памяти иль ещё что) и не сильно быстрее
8 Крошка Ру
 
02.07.14
10:24
(7) Разбивать на порции и записывать
9 Maxus43
 
02.07.14
10:24
я бы таки сделал (1), только в транзакции по 1000 записей например
10 mishkerdon
 
02.07.14
10:26
а оптимально по сколько записей собирать??
И еще вопрос - отборы по нескольким значениям одного измерения нельзя делать?
11 Maxus43
 
02.07.14
10:29
(10) отборы в наборе записей - только на равество.
Как вариант в одной транзакции:
1. выгрузить 100 записей
2. удалить их из регистра
3. загрузить в набор изменённые записи
4. Записать(Ложь);
это в набор записей регистра без отборов
надо попробовать
12 Maxus43
 
02.07.14
10:32
но опять же нифига не быстрей, на удалении потеряешь.
А если в регистр без отбора записывать(Истина) - удаляться все другие записи регистра. Если записывать(Ложь) без удаления - будут ошибки записи, т.к. такие записи уже есть
13 John83
 
02.07.14
10:34
"записей около 150000" - разве это так много?
14 mishkerdon
 
02.07.14
10:35
На самом деле не знаю много это или нет, но просто по отбору записей по каждому значению измерения и периоду он долго делает.
15 Maxus43
 
02.07.14
10:35
(13) нет, но надо найти оптимальный способ можификации этих записей, без потери других данных
Основная теорема систематики: Новые системы плодят новые проблемы.