Загрузил Purple

Лабораторная работа на тему контроль остатков

реклама
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ
КОММУНИКАЦИЙ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Ордена Трудового Красного Знамени федеральное государственное
бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра КИС
АРОЗвКИС
Отчёт по лабораторной работе №3
«Организация по печати методических пособий»
Выполнил:
студент 4 курса,
группы БВТ2004
Куликов П.М.
Москва 2023
Цель работы:
Контроль остатков списания методических пособий.
Задачи работы:
1)
2)
3)
4)
5)
Создать необходимые справочники
Создать необходимые документы
Создать необходимые регистры накопления
Создать необходимые отчеты
Выполнить настройку созданных объектов конфигурации
Задание:
Требования заказчика:
В уже существующей программе возникла проблема несвоевременной
закупки, а также отсутствие контроля некорректного списания
методических пособий «в минус». В связи с этим необходимо
реализовать контроль отрицательных остатков при попытке списания
такого количества методических пособий, которого физически нет на
складах издания.
Дополнительные требования:
После успешного списания методических пособий необходимо
выводить сообщение пользователю, если количество методических
пособий после списания менее 10 штук.
Выполнение:
Для реализации контроля остатков при списании использована «новая
методика контроля остатков». В модуле объекта написан следующий код:
Движения.ОстаткиУчебныхПособий.Записывать = Истина;
Для Каждого ТекСтрокаУчебныеПособия Из УчебныеПособия Цикл
Движение = Движения.ОстаткиУчебныхПособий.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Пособие = ТекСтрокаУчебныеПособия.Пособие;
Движение.Количество = ТекСтрокаУчебныеПособия.Количество;
КонецЦикла;
Движения.ОстаткиУчебныхПособий.Записывать = Истина;
Движения.Записать();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|
ОстаткиУчебныхПособийОстатки.Склад КАК Склад,
|
ОстаткиУчебныхПособийОстатки.Пособие КАК Пособие,
|
-ОстаткиУчебныхПособийОстатки.КоличествоОстаток КАК Дефицит
|ИЗ
|
РегистрНакопления.ОстаткиУчебныхПособий.Остатки(&МоментВремени,
Склад = &Склад) КАК ОстаткиУчебныхПособийОстатки
|ГДЕ
|
ОстаткиУчебныхПособийОстатки.КоличествоОстаток < 0";
ГраницаКонтроля = Новый Граница(МоментВремени(), ВидГраницы.Включая);
Запрос.УстановитьПараметр("МоментВремени", ГраницаКонтроля);
Запрос.УстановитьПараметр("Склад", Склад);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Отказ = Истина;
ВыборкаОшибки = РезультатЗапроса.Выбрать();
Пока ВыборкаОшибки.Следующий() Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Товара "+ВыборкаОшибки.Пособие+" недостаточно на складе
"+ВыборкаОшибки.Склад+", в количестве "+ВыборкаОшибки.Дефицит+" шт.";
Сообщение.Сообщить();
КонецЦикла;
Иначе
СписанныеУчебныеПособия = УчебныеПособия.ВыгрузитьКолонку("Пособие");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|
ОстаткиУчебныхПособийОстатки.Пособие КАК Пособие
|ИЗ
|
РегистрНакопления.ОстаткиУчебныхПособий.Остатки(&МоментВремени, Склад = &Склад)
КАК ОстаткиУчебныхПособийОстатки
|ГДЕ
|
ОстаткиУчебныхПособийОстатки.КоличествоОстаток < 10";
ГраницаКонтроля = Новый Граница(МоментВремени(), ВидГраницы.Включая);
Запрос.УстановитьПараметр("МоментВремени", ГраницаКонтроля);
Запрос.УстановитьПараметр("Склад", Склад);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
ВыборкаСписания = РезультатЗапроса.Выбрать();
Пока ВыборкаСписания.Следующий() Цикл
Если СписанныеУчебныеПособия.Найти(ВыборкаСписания.Пособие) <>
Неопределено Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Товара "+ВыборкаСписания.Пособие+" на складе
"+Склад+", менее 10 шт.";
Сообщение.Сообщить();
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Результат работы кода при списании большего количества пособий, чем
имеется на складе:
Результат работы кода при остатке менее 10 пособий после списания:
Вывод:
В ходе выполнения задания, был изучен контроль остатков при списании
методических пособий.
Скачать