Произаодственная практика профессионального модуля



бет15/15
Дата18.05.2022
өлшемі0.93 Mb.
#457176
1   ...   7   8   9   10   11   12   13   14   15
Отчёт

Сообщить("В данном документе должны быть прописаны только товары! Без услуг!");
Отказ=Истина;
КонецЕсли;
КонецЦикла;
// Проверка наличия нужного товара на складе источнике
ЗапросОстатки=Новый Запрос;
ЗапросОстатки.Текст="ВЫБРАТЬ
| ЕСТЬNULL(ОстаткиОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
| ПеремещениеТовараПоСкладамПеремещение.Количество,
| ЕСТЬNULL(ОстаткиОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ПеремещениеТовараПоСкладамПеремещение.Количество, 0) КАК Разница,
| ПеремещениеТовараПоСкладамПеремещение.Цена,
| ПеремещениеТовараПоСкладамПеремещение.Наименование КАК Товар,
| ПеремещениеТовараПоСкладамПеремещение.Сумма
|ИЗ
| Документ.ПеремещениеТовараПоСкладам.Перемещение КАК ПеремещениеТовараПоСкладамПеремещение
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остатки.Остатки(&дата, Склад = &Склад) КАК ОстаткиОстатки
|ПО ПеремещениеТовараПоСкладамПеремещение.Наименование = ОстаткиОстатки.Товар
|ГДЕ
| ПеремещениеТовараПоСкладамПеремещение.Ссылка = &Ссылка";
ЗапросОстатки.УстановитьПараметр("Ссылка",Ссылка);
ЗапросОстатки.УстановитьПараметр("Склад",СкладИсточник);
ЗапросОстатки.УстановитьПараметр("Дата",Ссылка.Дата);
РезультатЗапроса=ЗапросОстатки.Выполнить();
ВыборкаОстатки=РезультатЗапроса.Выбрать();
Пока ВыборкаОстатки.Следующий()Цикл
Если ВыборкаОстатки.Разница < 0 Тогда
Сообщить("Недостаточно " + сокрП(ВыборкаОстатки.Товар) + " " + ВыборкаОстатки.Разница + " шт.");
Отказ=Истина;
КонецЕсли;
КонецЦикла;


// регистр Остатки Расход
Движения.Остатки.Записывать = Истина;
Для Каждого ТекСтрокаПеремещение Из Перемещение Цикл
Движение = Движения.Остатки.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Товар = ТекСтрокаПеремещение.Наименование;
Движение.Склад = СкладИсточник;
Движение.Количество = ТекСтрокаПеремещение.Количество;
Движение.Комментарий = Комментарий;
КонецЦикла;

Движения.Остатки.Записывать = Истина;
Для Каждого ТекСтрокаПеремещение Из Перемещение Цикл
Движение = Движения.Остатки.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Товар = ТекСтрокаПеремещение.Наименование;
Движение.Склад = СкладПриемник;
Движение.Количество = ТекСтрокаПеремещение.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры


Модуль формы документа «Перемещение товара по складам»
&НаКлиенте
Процедура ПеремещениеКоличествоПриИзменении(Элемент)
СтрокаТЧ = Элементы.Перемещение.ТекущиеДанные;
НаКлиенте.ЗаполнитьСтрокуТабЧасти(СтрокаТЧ);
КонецПроцедуры


&НаКлиенте
Процедура ПеремещениеНаименованиеПриИзменении(Элемент)
СтрокаТЧ = Элементы.Перемещение.ТекущиеДанные;
СтрокаТЧ.Цена = НаСервере.ВыбратьЦенуНоменклатуры(СтрокаТЧ.Наименование, Объект.ТипЦены, Объект.Дата);
НаКлиенте.ЗаполнитьСтрокуТабЧасти(СтрокаТЧ);
КонецПроцедуры

Достарыңызбен бөлісу:
1   ...   7   8   9   10   11   12   13   14   15




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет