|
Удалить движения документа с отбором | ☑ | ||
---|---|---|---|---|
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) Спасибо помогло
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |