|
Удалить движения документа с отбором |
☑ |
0
tatoshka0403
10.10.17
✎
17:47
|
Суть такова, документ при проведении делает две записи в регистр в одной сумма + в другой сумма -. Хочу удалить только +. Написал код:
Движ1 = Док.ПолучитьОбъект().Движения.РасчетыСКлиентами;
Движ1.Прочитать();
Для каждого Стр из Движ1 цикл
Попытка
Если Стр.Сумма>0 ИЛИ Стр.Сумма=0 тогда
Стр.Очистить()
КонецЕсли;
Исключение
КонецПопытки;
КонецЦикла;
Движ1.Записать();
Не работает( Пожалуйста подскажите как это реализовать.
|
|
1
YFedor
10.10.17
✎
17:48
|
(0) где этот код выполняется, в обработке?
|
|
2
tatoshka0403
10.10.17
✎
17:48
|
(1) Да
|
|
3
tatoshka0403
10.10.17
✎
17:49
|
Движ1.Прочитать();
Движ1.Очистить();
Движ1.Записать();
Вот так отчищает все, но мне это не надо
|
|
4
YFedor
10.10.17
✎
17:52
|
(2) При перепроведении что будешь делать?
|
|
5
tatoshka0403
10.10.17
✎
17:54
|
(4) их запрещено перепроводить)
|
|
6
_Дайвер_
10.10.17
✎
17:57
|
(5) Пиши запрос, делай соединение с регистром, и удаляй
|
|
7
craxx
10.10.17
✎
17:58
|
(6) не обязательно, можно в цикле по записям из набора почикать согласно условиям.
|
|
8
h-sp
10.10.17
✎
17:58
|
(5) Стр.Очистить() что это такое?
надо Движ1.Удалить(Стр);
|
|
9
azernot
10.10.17
✎
18:01
|
Движ1 = РегистрыНакопления.РасчетыСКлиентами.СоздатьНаборЗаписей();
Движ.Отбор.Регистратор.Установить(Док.Ссылка);
Движ1.Прочитать();
Для каждого Стр из Движ1 цикл
Если Стр.Сумма>0 ИЛИ Стр.Сумма=0 тогда
Движ1.Удалить(Стр)
КонецЕсли;
КонецЦикла;
Движ1.Записать();
|
|
10
craxx
10.10.17
✎
18:02
|
(9) неа. сначала в массив складываешь, а потом из массива удаляешь.
|
|
11
azernot
10.10.17
✎
18:04
|
(10) В (0) сказано про 2 записи, удаляется одна. В таких условиях (9) сработает.
|
|
12
craxx
10.10.17
✎
18:06
|
(11) сработает, только вот случайным образом, а не тем которым надо ТС
|
|
13
tatoshka0403
10.10.17
✎
18:11
|
(8-12) Спасибо помогло
|
|