База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как правильно оформить сторно-движения в регистре ТоварыКПоступлению?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 день, 7 часов назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
20 февраля 2026 в 14:15 #35881
Как заполнять Колонку Сторно при записи движений в регистр накопления ТоварыКПоступлению при изменении количества товаров например было 2 стало 1 ?
-
20 февраля 2026 в 14:15 #35882
Даниил, привет!
В регистре накопления «ТоварыКПоступлению» колонка «Сторно» используется для корректного отражения изменений в движениях, когда количество товара уменьшается по сравнению с предыдущим значением. При изменении количества с 2 на 1 нужно записать два движения:
1. Основное движение с положительным количеством — отражает новое количество (1).
2. Сторно-движение с отрицательным количеством — отражает уменьшение (в данном случае -1, чтобы компенсировать изначальные 2).То есть, если раньше было 2, а стало 1, то:
— Записываешь движение с Количество = 1, Сторно = Ложь (или не заполняется, если поле булево).
— Записываешь движение с Количество = -1, Сторно = Истина.В коде это обычно реализуется так:
1С (Код)1234567891011121314151617181920212223242526// Предположим, что есть переменные:// СтароеКоличество = 2;// НовоеКоличество = 1;Если НовоеКоличество < СтароеКоличество Тогда// Запись сторно движенияДвижение = Движения.ТоварыКПоступлению.Добавить();Движение.Период = ТекущаяДата;Движение.Номенклатура = ТекущаяНоменклатура;Движение.Количество = СтароеКоличество - НовоеКоличество;Движение.Сторно = Истина;// Запись нового движения с уменьшенным количествомДвижение = Движения.ТоварыКПоступлению.Добавить();Движение.Период = ТекущаяДата;Движение.Номенклатура = ТекущаяНоменклатура;Движение.Количество = НовоеКоличество;Движение.Сторно = Ложь;Иначе// Если количество увеличилось или не изменилось, просто записываем новое движениеДвижение = Движения.ТоварыКПоступлению.Добавить();Движение.Период = ТекущаяДата;Движение.Номенклатура = ТекущаяНоменклатура;Движение.Количество = НовоеКоличество;Движение.Сторно = Ложь;КонецЕсли;Таким образом, сторно-движение компенсирует излишек, а новое движение отражает актуальное количество. Это позволяет корректно вести учет остатков и движения товаров.
Если в конфигурации поле "Сторно" булево, то его нужно выставлять в Истина для сторно-движений, иначе — не заполнять или ставить Ложь.
Если нужна помощь с конкретным кодом — могу помочь написать.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.