Файл: Проектирование реализации операций бизнес-процесса « Складской учет »..pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 18.06.2023

Просмотров: 39

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Приложение

Код модуля объекта (обрабатываем проведение, при котором проверяются остатки и записываются движения по регистрам для дальнейшего учета):

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

для каждого текОтгрузка из ЭтотОбъект.Отгрузка цикл

текПродукция = текОтгрузка.Продукция;

текКоличество = текОтгрузка.Количество;

запрос = новый запрос ("ВЫБРАТЬ

| ОстаткиПродукцииОстатки.КоличествоОстаток

|ИЗ

| РегистрНакопления.ОстаткиПродукции.Остатки КАК ОстаткиПродукцииОстатки

|ГДЕ

| ОстаткиПродукцииОстатки.Продукция = &Продукция");

запрос.УстановитьПараметр("Продукция", текПродукция);

выбор = запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("КоличествоОстаток");

если выбор.Количество() <> 0 тогда

остаток = выбор.Получить(0);

если остаток < текКоличество тогда

неХватает = текКоличество - остаток;

Сообщить ("Не хватает продукции " + текПродукция + " в количестве " + неХватает + " единиц." + "Документ не может быть проведен." );

отказ = истина;

КонецЕсли;

Иначе

Сообщить ("Не хватает продукции " + текПродукция + " в количестве " + текКоличество + " единиц." + "Документ не может быть проведен." );

отказ = истина;

КонецЕсли;

КонецЦикла;

если отказ = ложь тогда

Движения.ОстаткиПродукции.Записывать = истина;

Движения.Продажи.Записывать = истина;

для каждого текОтгрузка из ЭтотОбъект.Отгрузка цикл

Движение = Движения.ОстаткиПродукции.Добавить();

Движение.Период = Дата;

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Продукция = текОтгрузка.Продукция;

Движение.Количество = текОтгрузка.Количество;

Движение = Движения.Продажи.Добавить();

Движение.Период = Дата;

Движение.Продукция = текОтгрузка.Продукция;

Движение.Количество = текОтгрузка.Количество;

Движение.Сумма = текОтгрузка.Стоимость;

Движения.Продажи.Записать();

КонецЦикла;

КонецЕсли;

КонецПроцедуры

Код формы документа (автоматически проставляем стоимость при выборе номенклатуры и изменении ее количества и автоматически вычисляем общую сумму Отгрузкаа):

&НаКлиенте

Процедура ОтгрузкаКоличествоПриИзменении(Элемент)

ТекущаяСтрока = элементы.Отгрузка.ТекущиеДанные.НомерСтроки;

ОтгрузкаКоличествоПриИзмененииСервер(ТекущаяСтрока);

КонецПроцедуры

&НаСервере

Процедура ОтгрузкаКоличествоПриИзмененииСервер(НомерСтроки)