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

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 раз? Что будет, если перезапишут какой-то старый документ? Что будет, если документ удалят?

Кривое решение, рекомендую подумать еще раз.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)