|
Проблема задваивания записей движений в регистр накопления (остатки) | ☑ | ||
---|---|---|---|---|
0
alpha78
18.07.22
✎
10:27
|
Здравствуйте, возникла Проблема задваивания записей движений в регистр накопления
Вот ОбработкаПроведения документа, работает для каждой строки табличной части документа в регистр накопления записывается 2 строки - так надо - одна для грузчика, другая для водителя Вот код: Процедура ОбработкаПроведения(Отказ, РежимПроведения) Движения.ЗарплатаВодителямГрузчикам.Записывать = Истина ; //зарплата водителям Для Каждого Строка Из Маршруты Цикл Движение = Движения.ЗарплатаВодителямГрузчикам.Добавить() ; Движение.ВидДвижения=ВидДвиженияНакопления.Приход ; Движение.Период = Дата ; Движение.Регистратор = Ссылка ; Движение.Маршрут = Строка.Маршрут ; Движение.Тоннаж = Строка.Тоннаж ; Движение.Топливо = Строка.Топливо ; Движение.Скорость = Строка.Скорость ; Движение.Водитель = Строка.Водитель ; Движение.Штраф = Строка.Штраф ; Движение.Зарплата = Строка.ЗарплатаВодителю ; Движение.Итог = Строка.Топливо + Строка.Скорость + Строка.ЗарплатаВодителю - Строка.Штраф ; КонецЦикла ; // зарплата грузчикам Для Каждого Строка Из Маршруты Цикл Если Не Строка.Грузчик.Пустая()Тогда Движение = Движения.ЗарплатаВодителямГрузчикам.Добавить() ; Движение.ВидДвижения=ВидДвиженияНакопления.Приход ; Движение.Период = Дата ; Движение.Регистратор = Ссылка ; Движение.Маршрут = Строка.Маршрут ; Движение.Грузчик = Строка.Грузчик ; Движение.Зарплата = Строка.ЗарплатаГрузчику ; Движение.Итог = Строка.ЗарплатаГрузчику; КонецЕсли ; КонецЦикла ; Движения.Записать(); КонецПроцедуры Проблема при проведении бывет записывакется как надо - по 1 строке в регистр, а бывает записывается по 2 строки на каждую фамилию (водителя и грузчика), кто знает подскажите пожалуйста, спасибо. |
|||
1
1Сергей
18.07.22
✎
10:43
|
Если в документе не установлено автоматическое удаление движений, и программист не позаботился о их очистке, при каждом проведении будут добавляться новые записи
|
|||
2
mikecool
18.07.22
✎
10:55
|
+1 значит данные для записи есть
|
|||
3
mikecool
18.07.22
✎
10:56
|
+2 в первом цикле нет условия
|
|||
4
alpha78
18.07.22
✎
11:49
|
в начале ОбработкиПроведения()
Движения.ЗарплатаВодителямГрузчикам.Записывать = Истина ; Движения.ЗарплатаВодителямГрузчикам.Очистить(); затем пишем записи в измерения и ресурсы с документа процедуру ДвиженияЗаписать() не нужно |
|||
5
1Сергей
18.07.22
✎
12:13
|
(4) Тогда ничто не мешает в отладке отловить момент, когда появляются дубли в движениях
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |