Изменение строк в регистре сведений

1. user860022 23.04.18 18:49 Сейчас в теме
Доброго времени суток!
задача состоит в следующем необходимо при проведение документа "ЗаказКомплектующих" добавлять данные в РегистрыСведений.ОстатокНаСкладе.
выполняю такие действия
&НаКлиенте
Процедура МатериалыЦенаПриИзменении(Элемент)
	СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти); 

КонецПроцедуры

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)




Запрос = Новый Запрос;
Запрос.Текст =" ВЫБРАТЬ * ИЗ РегистрСведений.ОстатокнаСкладе ";
РезультатЗапроса = Запрос.Выполнить();
    Записи = РезультатЗапроса.Выбрать();
	Пока Записи.Следующий() Цикл
			 ЗаписьДата = ТекущаяДата();
 			 НаборЗаписей = РегистрыСведений.ОстатокнаСкладе.СоздатьНаборЗаписей();
			 перемм = Записи.ОстатокНаСкладе;
			 НовЗапись = НаборЗаписей.Добавить();
	 		 НаборЗаписей.Отбор.Период.Установить(ЗаписьДата); 
			 НовЗапись.Период = ЗаписьДата; 
			 НовЗапись.Номенклатура = Материалы;
			 НовЗапись.ОстатокНаСкладе =Записи.ОстатокНаСкладе+Количество;
			 НаборЗаписей.Записать(Истина);
	КонецЦикла;
		 
КонецФункции
Показать


1.Провожу первый документ с номенклатурой "Барабан тормозной ЧМЗАП".


2.К примеру появилась еще потребность провести еще один документ с номенклатурой "Барабан тормозной ЧМЗАП".

Но второе проведение не совсем корректное,точнее необходимо что-бы в Регистре Сведений происходило суммирование по полю ОстатокНаСкладе,в целом то оно производиться,но при этом остается старая запись

Как исправить что-бы удалить старое?
Спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. harvester_sorrow 24 23.04.18 18:56 Сейчас в теме
(1) насколько я понял у Вас не подменяется записи,
НовЗапись.Период = ЗаписьДата;
ЗаписьДата одна и та же в обоих документах?
3. user860022 23.04.18 19:45 Сейчас в теме
4. user860022 23.04.18 20:07 Сейчас в теме
(2)ну опять же если явно указать даты,то другие перечни номенклатуры не будут записываться,а только перезаписывать запись.
5. DarkUser 23.04.18 21:15 Сейчас в теме
Используйте регистр накопления
ben19791010; +1 Ответить
6. user_gea 24.04.18 05:23 Сейчас в теме
Конечно, для таких задач необходимо использовать регистр накопления.

Но если все-таки оставаться на регистре сведений, что бы удалить старое, попробуйте использовать МенеджерЗаписи (создает объект для управления записью регистра сведений), по измерениям регистра сделать отбор, и перезаписывайте нужную сумму. СоздатьНаборЗаписей - создает пустой (новый, еще один) набор записей...
7. catena 110 24.04.18 05:32 Сейчас в теме
Судя по коду, на каждую запись из регистра вы создаете новую запись? При этом, без отбора по текущему материалу? И все это после записи и на клиенте? Что будет, если один документ записать 20 раз? Что будет, если перезапишут какой-то старый документ? Что будет, если документ удалят?

Кривое решение, рекомендую подумать еще раз.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот