|
|
|
Как очистить регистр накопления?! | ☑ | ||
|---|---|---|---|---|
|
0
navarafree
29.12.09
✎
20:38
|
Вечер Добрый! Люди добрые подскажите как регистр накопления отчистить? Почитал Габеца, там только про регистры сведений нашел. А как с регистрами накопления быть? Заранее спасибо!
|
|||
|
1
Irbis
29.12.09
✎
20:38
|
Для каждого регистратора набор очищать
|
|||
|
2
navarafree
29.12.09
✎
20:43
|
(1) набор?
|
|||
|
3
NcSteel
29.12.09
✎
20:43
|
(2) Набор записей
|
|||
|
4
Irbis
29.12.09
✎
20:43
|
Набор записей регистра накопления
|
|||
|
5
AndreyFAN
29.12.09
✎
20:44
|
например так
Запрос=Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Регистр.Регистратор |ИЗ | РегистрНакопления.ЗаказыМагазинов КАК Регистр |ГДЕ | Регистр.Регистратор.Дата<&КонПериода"; Запрос.УстановитьПараметр("КонПериода",КонПериода); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Кол=0; Пока Выборка.Следующий() цикл Набор = РегистрыНакопления.ЗаказыМагазинов.СоздатьНаборЗаписей(); Набор.Отбор.Регистратор.Значение = Выборка.Регистратор; Набор.Записать(); Кол=Кол+1; Сообщить(""+Кол+" "+Выборка.Регистратор.Дата); КонецЦикла; Предупреждение("Обработка завершена. Удалены записи по "+Кол+" документам.",60); |
|||
|
6
navarafree
29.12.09
✎
20:52
|
(5) а без отбора по регистратору никак?
|
|||
|
7
Irbis
29.12.09
✎
20:54
|
(5) Желательно в запрос еще РАЗЛИЧНЫЕ
(6) Отмени проведение всех документов |
|||
|
8
navarafree
29.12.09
✎
20:57
|
(7)(6) Точно! Спасибо!
|
|||
|
9
AndreyFAN
29.12.09
✎
21:12
|
(8) ну если этот регистратор никаких больше действий не производит, то да...
обычно ещё куча взаимосвязей... у меня например юзеры следят за удалением доков, т.к. зарплату получают в том числе и от кол-ва обработанных доков ;-)))) |
|||
|
10
acsent
29.12.09
✎
21:16
|
желательно очишать с конца
|
|||
|
11
H A D G E H O G s
29.12.09
✎
21:40
|
Запрос=Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | Регистр.Регистратор |ИЗ | РегистрНакопления.ЗаказыМагазинов КАК Регистр |ГДЕ | Регистр.Регистратор.Дата<&КонПериода"; Запрос.УстановитьПараметр("КонПериода",КонПериода); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Кол=0; БылиОшибки=Ложь; Пока Выборка.Следующий() цикл ОбработкаПрерыванийПользователя(); Набор = РегистрыНакопления.ЗаказыМагазинов.СоздатьНаборЗаписей(); Набор.Отбор.Регистратор.Значение = Выборка.Регистратор; Попытка Набор.Записать(); Исключение БылиОшибки=Истина; КонецПопытки; Кол=Кол+1; ЕСЛИ Кол%100=0 Тогда Сообщить("Отработано "+Кол+" документов из "+Выборка.Количество()); КонецЕсли; КонецЦикла; Если БылиОшибки Тогда Предупреждение("Обработка завершена. Регистр очищен не до конца!!!"); КонецЕсли; |
|||
|
12
H A D G E H O G s
29.12.09
✎
21:42
|
(5) Наверное никогда по настоящему БОЛЬШИЕ регистры не чистили.
Сообщить(""+Кол+" "+Выборка.Регистратор.Дата); - очень плохо. 1) - обращение через точку: "Регистратор.Дата" 2) - на отображение надписи ресурсов тратится очень много! |
|||
|
13
H A D G E H O G s
29.12.09
✎
21:43
|
Нет Попытки/Исключения - спокойно пописать не отойдешь.
Нет ОбработкаПрерыванийПользователя() - не прервешься, когда надоест. |
|||
|
14
Irbis
29.12.09
✎
21:44
|
(13) Про отключение расчета итогов еще забыл сказать
|
|||
|
15
acsent
29.12.09
✎
21:44
|
На скуле можно все быстрее сделать
|
|||
|
16
Irbis
29.12.09
✎
21:45
|
Хотя тоже штука обоюдоострая
|
|||
|
17
H A D G E H O G s
29.12.09
✎
21:45
|
Ах, да! В начале, перед циклом:
РегистрыНакопления.ЗаказыМагазинов.УстановитьИспользованиеИтогов(Ложь); После цикла: РегистрыНакопления.ЗаказыМагазинов.УстановитьИспользованиеИтогов(Истина); |
|||
|
18
AndreyFAN
29.12.09
✎
21:50
|
ОК. Профи есть профи :-)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |