Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Функция ПолучитьОстаток(Номенклатура, Период)
- //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
- // Данный фрагмент построен конструктором.
- // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
- Запрос = Новый Запрос;
- Запрос.Текст =
- "ВЫБРАТЬ
- | ОстаткиОстатки.КоличествоОстаток КАК Остаток
- |ИЗ
- | РегистрНакопления.Остатки.Остатки(&Дата, ) КАК ОстаткиОстатки
- |ГДЕ
- | ОстаткиОстатки.Товар = &Номенклатура";
- Запрос.УстановитьПараметр("Дата", Период);
- Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
- РезультатЗапроса = Запрос.Выполнить();
- ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
- ОстатокН = 0;
- Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
- // Вставить обработку выборки ВыборкаДетальныеЗаписи
- ОстатокН = ВыборкаДетальныеЗаписи.Остаток;
- КонецЦикла;
- Возврат ОстатокН;
- КонецФункции
- Процедура ОбработкаПроведения(Отказ, Режим)
- //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
- // Данный фрагмент построен конструктором.
- // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
- // регистр Остатки Приход
- Движения.Остатки.Записывать = Истина;
- Для Каждого ТекСтрокаТовар Из Товар Цикл
- ОстатокНаСкладе = ПолучитьОстаток(ТекСтрокаТовар.Номенклатура, Дата);
- Если ОстатокНаСкладе - ТекСтрокаТовар.Количество >=0 Тогда
- Движение = Движения.Остатки.Добавить();
- Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
- Движение.Период = Дата;
- Движение.Товар = ТекСтрокаТовар.Номенклатура;
- Движение.Количество = ТекСтрокаТовар.Количество;
- Движение.Сотрудник = Принял;
- Иначе
- Сообщить("Недостаточно товара на складе: "+ТекСтрокаТовар.Номенклатура);
- Отказ = ИСТИНА;
- КонецЕсли;
- КонецЦикла;
- //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
- КонецПроцедуры
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement