Как сделать движение по одному регистру 2 раза?
Пока Выборка.Следующий() Цикл
Если Выборка.КоличествоОстаток<0 Тогда
Продолжить;
КонецЕсли;
// регистр ПартииТоваровНаСкладах Приход
Движения.ПартииТоваровНаСкладах.Записывать = Истина;
Движения.ПартииТоваровНаСкладах.Очистить();
Движение = Движения.ПартииТоваровНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = Аппарат;
Движение.Склад = Склад;
Движение.СерияНоменклатуры = Выборка.СерияНоменклатуры;
ЗапомненнаяСерия = Выборка.СерияНоменклатуры;
Если Выборка.КоличествоОстаток <= Кол Тогда
СписываемоеКоличество = Выборка.КоличествоОстаток
Иначе
СписываемоеКоличество = Кол;
КонецЕсли;
Движение.Количество = СписываемоеКоличество;
Кол=Кол - СписываемоеКоличество;
Стоимость = Выборка.СтоимостьОстаток/Выборка.КоличествоОстаток;
Движение.Стоимость = Стоимость*СписываемоеКоличество;
Удорожание = Удорожание+Стоимость;
Если Кол <=0 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
*****************************
Движение = Движения.ПартииТоваровНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = Аппарат;
Движение.Склад = Склад;
Движение.СерияНоменклатуры = ЗапомненнаяСерия;
Движение.Количество = Количество;
Движение.Стоимость = Удорожание;
ПоказатьПо теме из базы знаний
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Как сдать экзамен 1С:Специалист по платформе?
- Переход с УПП на ERP с сохранением документов. Фантастика или реальность?
- Сопровождение по-другому: как совершить революцию, не покалечив сотрудников, и не порваться от изменений. Взгляд с двух сторон: руководитель и эксперт
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Эту строку вообще не использовать, например.
Движения.ПартииТоваровНаСкладах.Записать();
Движения.ПартииТоваровНаСкладах.Записать();
Бывает можно так написать
Движения.ПартииТоваровНаСкладах.Записать(Истина); // это по-умолчанию, замещать
Движения.ПартииТоваровНаСкладах.Записать(Ложь); // не замещать существующие
Движения.ПартииТоваровНаСкладах.Записывать = Истина;
Движения.ПартииТоваровНаСкладах.Записать();
Движения.ПартииТоваровНаСкладах.Записать();
Бывает можно так написать
Движения.ПартииТоваровНаСкладах.Записать(Истина); // это по-умолчанию, замещать
Движения.ПартииТоваровНаСкладах.Записать(Ложь); // не замещать существующие
Уберите из тела цикла Очистить:
Движения.ПартииТоваровНаСкладах.Записывать = Истина;
Движения.ПартииТоваровНаСкладах.Очистить();
Пока Выборка.Следующий() Цикл
Если Выборка.КоличествоОстаток<0 Тогда
Продолжить;
КонецЕсли;
// регистр ПартииТоваровНаСкладах Приход
Движение = Движения.ПартииТоваровНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот