Uploaded by Ильяс Хусаинов

Курсовой проект Хусаинов И.Н. 17ВИ1

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Пензенский государственный университет»
(ФГБОУ ВО «Пензенский государственный университет»)
______________________________________________________________________
Кафедра «Математическое обеспечение и применение ЭВМ»
Зав. кафедрой
Макарычев П.П.
"___" _____________ 2020 г.
Система обслуживания заявок покупателей в системе "1С:Предприятие 8.3"
Пояснительная записка к курсовому проекту по дисциплине
«Технологическая платформа 1С»
ПГУ 09.03.02 – 7КП161.01 ПЗ
Автор работы
Хусаинов И.Н..
Группа
17ВИ1
Специальность
09.03.02
Руководитель работы
Попова Н.А.
Работа сдана
“___”________2020 г.
Работа защищена
“___”________2020 г.
Оценка
____________________
г. Пенза – 2020 г.
Реферат
Пояснительная
записка
содержит
35
листов,
25
рисунков,
4
использованных источника и 2 приложения.
Ключевые
слова:
1С
Предприятие,
конфигурация,
документ,
справочник, регистр бухгалтерии, отчеты.
Объектом разработки является конфигурация для обслуживания заявок
покупателей,
созданная
с
использованием
средств,
предоставляемых
программой «1С Предприятие 8.3».
Цель работы – разработка конфигурации для обслуживания заявок
покупателей.
Полученные результаты: разработана конфигурация, позволяющая
вести
обслуживание
заявок
покупателей.
Конфигурация
позволяет
отслеживать поступление материалов на склад, перемещение материалов для
их резервирования, поступление заявки клиента, реализацию материалов.
Изм. Лист
№ докум.
Разраб.
Хусаинов И.Н..
Провер.
Попова Н.А.
Реценз.
Н. Контр.
Утверд.
Подпись Дата
ПГУ 09.03.02 – 7КП161.01 ПЗ
Система обслуживания заявок
покупателей в системе
"1С:Предприятие 8.3".
Пояснительная записка.
Лит.
Лист
Листов
2
35
группа 17ВИ1
Содержание
Введение ................................................................................................................... 4
1
Анализ предметной области ......................................................................... 5
2
Проектирование системы .............................................................................. 6
2.1 Основные требования к реализации системы ............................................. 6
2.2 Объектная модель системы ........................................................................... 6
2.3 Проектирование с помощью диаграмм UML.............................................. 7
Реализация системы....................................................................................... 9
3
3.1
Особенности реализации системы обслуживания заявок ...................... 9
3.2
Тестирование системы ............................................................................. 10
Заключение ............................................................................................................ 22
Список использованных источников .................................................................. 23
Приложение А. Диаграммы UML........................................................................ 24
Приложение В. Листинг конфигурации ............................................................. 26
3
Введение
1С:Предприятие
предназначенный
–
для
это
программный
быстрой
разработки
продукт
компании
прикладных
1С,
решений.
Технологическая платформа «1С:Предприятие» не является программным
продуктом для использования конечными пользователями, которые обычно
работают с одним из многих прикладных решений (конфигураций),
использующих
единую
технологическую
платформу.
Платформа
и
прикладные решения, разработанные на её основе, образуют систему
программ «1С:Предприятие», которая предназначена для автоматизации
различных видов деятельности, включая решение задач автоматизации учёта
и управления на предприятии.
Средства
быстрой
разработки
представлены
визуальным
«конфигурированием», которое позволяет разработчику сосредоточиться на
создании бизнес-логики приложения и не заниматься технологическими
подробностями, такими, как организация взаимодействия с базой данных,
обработка транзакционных блокировок, нюансы программирования экранных
форм и т. п. Конфигурирование частично заменяет кодирование и, таким
образом, снижает требования к квалификации разработчиков 1С. Тем не
менее, имеет встроенный язык для реализации произвольной бизнес-логики.
Основной целью освоения программы 1С:Предприятие является
создание собственных прикладных решений, развития практических навыков
по конфигурированию [1].
Целью данной курсовой работы является закрепление навыков работы
конфигурирования и администрирования системы. Задачей курсовой работы
является разработка и тестирование конфигурации предприятия для
обслуживания заявок покупателей
4
1
Анализ предметной области
Предприятие занимается операциями по оптовой торговле.
Учет материалов на предприятии ведется в разрезе склада и количества
материалов.
Клиент оставляет заявку на покупку необходимых материалов в
определенном количестве. Если в момент оформления заявки необходимый
товар есть у предприятия в нужном количестве, то на основании данной заявки
формируется документ реализации и товар отпускаются клиенту.
Если в момент оформления заявки необходимый товар есть у фирмы
частично, то этот товар для данного покупателя резервируется для того, чтобы
для следующего покупателя этот товар был недоступен, а со свободного
остатка этот товар списывается.
Через определенное количество дней покупателю либо отпускается
зарезервированный товар с помощью документа реализации, либо происходит
отказ покупателя от заявки. После этого заявка объявляется закрытой и в
дальнейшем резервировании не участвует.
5
2
Проектирование системы
2.1
Основные требования к реализации системы
Система должна быть разработана на платформе 1С:Предприятие 8.3.
Необходимо обеспечить учет движения материалов на предприятии. Для этого
необходимо сформировать справочники «Номенклатура» и «Склады».
Предприятие
осуществляется
ведет
с
складской
контролем
учет.
остатков.
Списание
Списание
материалов
себестоимости
осуществляется методом «по-среднему».
Интерфейс документов и проводки, формируемые при проведения
документов, разработать самостоятельно.
Необходимо разработать документы, обеспечивающие:
 Поступление материала на склад;
 Реализацию материалов;
 Оформление заявки покупателя;
 Резервирование нужных материалов.
Сформировать следующие отчеты:
 «Оборотно-сальдовая ведомость товаров» за выбранный период;
 «Список незакрытых заявок» за выбранную дату;
 «Отчет о прибыли организации» за определенный период.
2.2
Объектная модель системы
В системе можно выделить следующие объекты:
 Справочники:
«Клиенты»,
«Склады»,
«Поставщики»,
«Номенклатура», «Субконто»;
 Документы:
«Заявка
покупателя»,
«Поступление
товара»,
«Перемещение товара», «Реализация», «Отказ покупателя»;
 Перечисления: «Статус», «Статус отгрузки», «Статус перемещения»;
6
 Отчеты: «Оборотно-сальдовая ведомость движения материалов»,
«Список незакрытых заявок», «Прибыль организации»;
 Планы видов характеристик: «Виды субконто»;
 Планы счетов: «Основной»;
 Регистры накопления: «Остатки материалов», «Резерв материалов»,
«Стоимость материалов», «Продажи».
2.3
Проектирование с помощью диаграмм UML
Диаграмма приведена в приложении А
Диаграмма вариантов использования описывает взаимоотношения и
зависимости между группами вариантов использования и действующими
лицами, участвующими в процессе. В системе два основных актера – это
«Сотрудник» и «1С».
Сотрудник инициализирует четыре основных варианта использования.
Первый вариант использования – «Ввести данные заявки клиента».
Изначально клиент оставляет заявку в предприятии на необходимые ему
материалы после чего сотрудник вносит эти данные в информационную
систему, исходя из заявки клиента. Если клиента нет в базе, сотрудник
добавляет данные о клиенте в информационную систему.
Следующий
вариант
использования
–
«Оформить
поступление
товаров». В нем сотрудник отражает поступление на склад товаров от
поставщиков, указывая какое количество и какие позиции номенклатуры были
доставлены на склад предприятия. После проведения документа остатки в
регистре накоплений увеличиваются. При этом сотрудник может добавлять
новых поставщиков в систему, а также новую номенклатуру.
Вариант использования «Оформить реализацию» отражает факт
продажи товаров клиенту. Сотрудник указывает какая номенклатура и в каком
количестве была продана клиенту. После проведения документа количество
материалов на складе уменьшается, а также рассчитывается себестоимость
номенклатуры методом «По-среднему».
7
Вариант использования «Посмотреть отчет» позволяет сотруднику
посмотреть сводные отчеты по деятельности организации и делать на основе
их различные анализы.
Последний вариант использования актера «Сотрудник» - «Оформить
перемещение». Перемещение товаров осуществляется для обеспечения
резервирования
при
недостаточном
количестве
товаров
на
складе
организации.
Актер «1С» занимается программной обработкой данных, вводимых
сотрудником. После поступления и реализации товаров обеспечивает
увеличение и уменьшение количества товаров в регистре накопления
соответственно. Также после проведения документа реализации проводится
расчет
себестоимости
методом
«По-среднему»
для
каждого
вида
номенклатуры и данные записываются в регистр «Стоимость материалов».
Вдобавок ко всему этому формирует отчет для дальнейшего его анализа
сотрудником.
8
3
Реализация системы
3.1
Особенности реализации системы обслуживания заявок
С
помощью
документа
«Поступление
товара»
осуществляется
оформление прихода материала с указанием наименования материала, его
количества, цены, суммы. Также указывается склад, на который он поступает.
Для документа «Поступление товаров» была разработана следующая
процедура:
Процедура ОбработкаПроведения(Отказ, Режим) – добавляет движения
в регистры.
С помощью документа «Перемещение товаров» осуществляется
оформление перевода материала с одного регистра на другой для обеспечения
резервирования товара под конкретного покупателя.
Для документа «Перемещение товаров» была разработана следующая
процедура:
Процедура
ОбработкаПроведения(Отказ,
Режим)
–
в
регистр
накопления «Остатки материалов» добавляет запись расход, после чего в
регистр накопления «Резерв материалов» добавляет запись приход, если в
реквизите документа указан статус «В резерв», выполняет противоположные
операции если статус «Из резерва».
С
помощью
документа
«Заявка
покупателя»
осуществляется
оформление заявки покупателя с нужными позициями номенклатуры в
необходимом количестве, на основании этого документа возможно создание
документа «Реализация».
С помощью документа «Реализация» осуществляется оформление
реализации товара с указанием склада, наименования номенклатуры, его
количества, цены, суммы.
Для документа «Реализация» была разработана следующая процедура:
Процедура ОбработкаПроведения(Отказ, Режим)
– осуществляет
проверку количества материала на складе и если оно ниже, чем пользователь
вводит, система выдает соответствующее сообщение. Процедура записывает
9
движения в регистр и осуществляет списание себестоимости материла,
списание материала методом «по-среднему».
Общий модуль «Работа с документами» предназначен для хранения
следующих экспортных функций, которые могут быть вызваны из любого
места конфигурации:
Процедура РассчитатьСумму(СтрокаТабличнойЧасти) – производит
расчет суммы материала.
Код процедур и функций представлен в приложении В.
3.2
Тестирование системы
Тестирование
ПО
–
это
процесс
исследования
программного
обеспечения с целью выявления ошибок и проверки его качества. Также
тестирование ПО можно описать как процесс валидации и верификации того
или иного программного продукта, чтобы узнать, на сколько точно он
удовлетворяет всем техническим требованиям [2].
Тестирование ПО может производиться на любом этапе разработки, но
чаще всего это происходит по окончанию процесса кодирования.
На рисунке 1 представлен интерфейс начального окна программы
10
Рисунок 1 – Начальное окно программы
После открытия приложения откроется доступ к подсистемам –
«Взаимодействие
с
клиентами»,
«Деятельность
организации»,
«Дополнительно». На вкладке «Взаимодействие с клиентами» доступны
действия, представленные на рисунке 2.
Рисунок 2 – Подсистема «Взаимодействие с клиентами»
11
С помощью документа «Заявка покупателя» вводятся данные о
необходимых позициях номенклатуры, их количестве и к какому клиенту
относится эта заявка.
Рисунок 3 – Интерфейс документа «Заявка покупателя»
На основании этого документа создается документ «Реализация», в
который переходят все основные данные заявки.
Рисунок 4 – Интерфейс документа «Реализация»
Если на складе есть необходимое количество товара, то документ
успешно проводится и создаются записи в регистрах. Для тестирования
проведем документ реализации, представленный на рисунке 4.
12
Рисунок 5 – Наличие материала «Шкаф-купэ» на складе
Документ успешно провелся, вывелось сообщение о проведении.
Сформировались записи в регистрах.
Рисунок 6 – Сообщение о проведении документа
Проведенный документ появился в общем списке документов
реализации и создались записи в регистрах.
13
Рисунок 7 – Проведенный ранее документ в общем списке
Рисунок 8 – Запись в регистре накопления «Остатки материалов»
Рисунок 9 – Запись в регистре накопления «Продажи»
Рисунок 10 – Запись в регистре накопления «Стоимость материалов»
14
Рисунок 11 – Запись в регистре бухгалтерии «Управленческий»
Проведем тестирование на тот случай, если на складе нет необходимого
количества материалов. На рисунке 5 указано, что материал шкаф-купэ на
складе имеется в количестве девяти штук. Попробуем провести документ
реализации этого материала с количеством двенадцать штук. Выводится
сообщение о невозможности проведения.
Рисунок 12 – Сообщение о не проведении документа
При нажатии клавиши «ОК» внизу документа выводится сообщение о
том, что на складе недостаточно материала «Шкаф-купэ» в количестве трех
штук.
15
Рисунок 13 – Сообщение о том, какого материала не хватает и в каком
количестве
Резервирование товаров осуществляется с помощью документа
«Перемещение товаров». Его можно создать на основании документа
«Реализация», предварительно его записав. Для тестирования переместим
товар «Стол стеклянный» в количестве пяти штук в резерв.
Рисунок 14 – Сообщение об успешном проведении
Документ успешно провелся и появился в списке документов
16
Рисунок 15 – Список документов перемещения
После проведения документа создаются записи в регистрах. В регистре
накопления «Остатки материалов» создается запись вида расход, а в регистре
накопления «Резерв материалов» запись вида приход.
Рисунок 16 – Запись в регистре накопления «Остатки материалов»
Рисунок 17 – Запись в регистре накопления «Резерв материалов»
Поступления материалов оформляются при
помощи документа
«Поступление товара». При заполнении которого указывается поставщик,
склад, на который осуществляется поставка, а также какая номенклатура и в
каком количестве прибыла на склад организации. Для тестирования проведем
документ, представленный на рисунке 14.
17
Рисунок 18 – Интерфейс документа «Поступление товара»
Документ успешно провелся и сформировал движение по трем
регистрам
–
«Остатки
материалов»,
«Стоимость
материалов»,
«Управленческий»
Рисунок 19 – Сообщение о проведении документа
Рисунок 20 – Запись в регистре накопления «Остатки материалов»
18
Рисунок 21 – Запись в регистре накопления «Стоимость материалов»
Рисунок 22 – Запись в регистре бухгалтерии «Управленческий»
В конфигурации имеются три отчета, которые находятся в подсистеме
«Деятельность
организации».
Отчет
«Оборотно-сальдовая
ведомость»
содержит остатки на начало и конец периода и обороты по дебету и кредиту
за данный период для каждого счета.
19
Рисунок 23 – Отчет «Оборотно-сальдовая ведомость»
Отчет «Прибыль организации» содержит данные о том, сколько
прибыли принес каждый вид номенклатуры, реализованный предприятием.
Рисунок 24 – Отчет «Прибыль организации»
20
Отчет о незакрытых заявках содержит заявки покупателей, которые ещё
не были удовлетворены и которые находятся в резерве
Рисунок 25 – Отчет «Незакрытые заявки»
21
Заключение
В
ходе
выполнения
курсового
проекта
была
разработана
и
протестирована конфигурация обслуживания заявок покупателей в системе
«1С:Предприятие
8.3».
Была
разработана
диаграмма
вариантов
использования. Также был спланирован и разработан пользовательский
интерфейс, который интуитивно понятен для неопытного пользователя. Все
регистры и документы упорядочены и систематизированы для удобной
навигации по интерфейсу. Было проведено тестирование системы, все тесты
завершились успешно.
22
Список использованных источников
1.
1С:
Предприятие
[Электронный
ресурс]
//
Техническая
документация компании 1С. URL: http://v8.1c.ru/ (Дата обращения 09.11.2020)
2.
Пошерстник Н. В., Мейксин М. С., Кондраков Н. П. 1С:
Конфигуратор., - Москва, 2005.
3.
Родченко М., Хрусталёва Е. 1С:Предприятие 8.3. Практическое
пособие разработчика. Примеры и типовые приемы. – М.: ЗАО «1С», 2009 –
965 с.
4.
Островерх А. В, Разработка управляемого интерфейса. - Санкт-
Петербург, Символ-Плюс, 2019.
23
Приложение А. Диаграммы UML
Приложение А
Диаграммы UML
(обязательное)
24
Рисунок А – Диаграмма вариантов использования
25
Приложение В. Листинг конфигурации
Приложение В
ЛИСТИНГ КОНФИГУРАЦИИ
(обязательное)
26
Общий модуль «РаботаСДокументами»
Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт
СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество
СтрокаТабличнойЧасти.Цена;
КонецПроцедуры
Модуль объекта документа «ПоступлениеТовара»
Процедура ОбработкаПроведения(Отказ, Режим)
// регистр ОстаткиМатериалов Приход
Движения.ОстаткиМатериалов.Записывать = Истина;
Движения.СтоимостьМатериалов.Записывать = Истина;
Движения.Управленческий.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из
ПереченьНоменклатуры Цикл
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Товар;
Движение.Склад = Склад;
Движение.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Товар;
Движение.Стоимость =
ТекСтрокаПереченьНоменклатуры.Сумма;
Движение.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Основной.Товары;
Движение.СчетКт =
ПланыСчетов.Основной.РасчетыСПоставщиками;
Движение.Период = Дата;
Движение.Сумма = ТекСтрокаПереченьНоменклатуры.Сумма;
Движение.КоличествоДт =
ТекСтрокаПереченьНоменклатуры.Количество;
27
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Ма
териалы] = ТекСтрокаПереченьНоменклатуры.Товар;
КонецЦикла;
Модуль объекта документа «Реализация»
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиМатериалов.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из
ПереченьНоменклатуры Цикл
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Товар;
Движение.Склад = Склад;
Движение.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
Движения.Записать();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|
ОстаткиМатериаловОстатки.Материал,
|
ОстаткиМатериаловОстатки.Склад,
|
-ОстаткиМатериаловОстатки.КоличествоОстаток КАК
Количество
|ИЗ
|
РегистрНакопления.ОстаткиМатериалов.Остатки(
|
,
|
Склад = &Склад
|
И Материал В
28
|
(ВЫБРАТЬ
|
РеализацияПереченьНоменклатуры.Товар
|
ИЗ
|
Документ.Реализация.ПереченьНоменклатуры КАК
РеализацияПереченьНоменклатуры
|
ГДЕ
|
РеализацияПереченьНоменклатуры.Ссылка = &Ссылка)) КАК
ОстаткиМатериаловОстатки
|ГДЕ
|
ОстаткиМатериаловОстатки.КоличествоОстаток < 0";
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Отказ = Истина;
Сообщить("Недостаточно товара " +
ВыборкаДетальныеЗаписи.Материал + " в количестве " +
ВыборкаДетальныеЗаписи.Количество);
КонецЦикла;
КонецЕсли;
Если Не Отказ Тогда
Движения.СтоимостьМатериалов.Записывать = Истина;
Движения.Продажи.Записывать = Истина;
Движения.Управленческий.Записывать = Истина;
ЭтотОбъект.Статус = Перечисления.СтатусОтгрузки.Зарезервирован;
29
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|
СтоимостьМатериаловОстатки.Материал,
|
СтоимостьМатериаловОстатки.СтоимостьОстаток КАК
Стоимость,
|
СтоимостьМатериаловОстатки.КоличествоОстаток КАК
Количество
|ИЗ
|
РегистрНакопления.СтоимостьМатериалов.Остатки(
|
&МоментВремени,
|
Материал В
|
(ВЫБРАТЬ
|
РеализацияПереченьНоменклатуры.Товар
|
ИЗ
|
Документ.Реализация.ПереченьНоменклатуры КАК
РеализацияПереченьНоменклатуры
|
ГДЕ
|
РеализацияПереченьНоменклатуры.Ссылка = &Ссылка)) КАК
СтоимостьМатериаловОстатки";
Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Количество <> 0 Тогда
СебестоимостьЕдиницы =
ВыборкаДетальныеЗаписи.Стоимость /
ВыборкаДетальныеЗаписи.Количество;
Иначе
СебестоимостьЕдиницы = 0;
КонецЕсли;
Движение = Движения.СтоимостьМатериалов.Добавить();
30
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
СтрокаТЧ =
ПереченьНоменклатуры.Найти(ВыборкаДетальныеЗаписи.Материал,"Товар"
);
Движение.Материал = ВыборкаДетальныеЗаписи.Материал;
Движение.Количество = СтрокаТЧ.Количество;
Движение.Стоимость = СебестоимостьЕдиницы *
СтрокаТЧ.Количество;
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Материал;
Движение.Клиент = Покупатель;
Движение.Количество = СтрокаТЧ.Количество;
Движение.Стоимость = СебестоимостьЕдиницы *
СтрокаТЧ.Количество;
Движение.Выручка = ТекСтрокаПереченьНоменклатуры.Сумма;
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт =
ПланыСчетов.Основной.ДебиторскаяЗадолженность;
Движение.СчетКт = ПланыСчетов.Основной.Капитал;
Движение.Период = Дата;
Движение.Сумма = ТекСтрокаПереченьНоменклатуры.Сумма;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Кли
енты] = Покупатель;
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Основной.Капитал;
Движение.СчетКт = ПланыСчетов.Основной.Товары;
Движение.Период = Дата;
Движение.Сумма = СебестоимостьЕдиницы *
СтрокаТЧ.Количество;
Движение.КоличествоКт = СтрокаТЧ.Количество;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Ма
териалы] = ТекСтрокаПереченьНоменклатуры.Товар;
31
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаЗаполнения(ДанныеЗаполнения,
СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) =
Тип("ДокументСсылка.ЗаявкаПокупателя") Тогда
// Заполнение шапки
ДатаОтпускаЗаказа = ДанныеЗаполнения.ДатаОтпускаЗаказа;
Покупатель = ДанныеЗаполнения.Покупатель;
Для Каждого ТекСтрокаПереченьНоменклатуры Из
ДанныеЗаполнения.ПереченьНоменклатуры Цикл
НоваяСтрока = ПереченьНоменклатуры.Добавить();
НоваяСтрока.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
НоваяСтрока.Сумма =
ТекСтрокаПереченьНоменклатуры.Сумма;
НоваяСтрока.Товар =
ТекСтрокаПереченьНоменклатуры.Товар;
НоваяСтрока.Цена =
ТекСтрокаПереченьНоменклатуры.Цена;
КонецЦикла;
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
Модуль объекта документа «Перемещение товара»
Процедура ОбработкаПроведения(Отказ, Режим)
Если ЭтотОбъект.Статус = Перечисления.СтатусПеремещения.ВРезерв
Тогда
32
Движения.ОстаткиМатериалов.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из
ПереченьНоменклатуры Цикл
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Товар;
Движение.Склад = Склад;
Движение.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
// регистр РезервМатериалов Приход
Движения.РезервМатериалов.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из
ПереченьНоменклатуры Цикл
Движение = Движения.РезервМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Товар;
Движение.Склад = Склад;
Движение.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
ИначеЕсли ЭтотОбъект.Статус =
Перечисления.СтатусПеремещения.ИзРезерва Тогда
Движения.РезервМатериалов.Записывать = Истина;
Движения.ОстаткиМатериалов.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из
ПереченьНоменклатуры Цикл
Движение = Движения.РезервМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Товар;
Движение.Склад = Склад;
Движение.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
Для Каждого ТекСтрокаПереченьНоменклатуры Из
ПереченьНоменклатуры Цикл
33
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Товар;
Движение.Склад = Склад;
Движение.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаЗаполнения(ДанныеЗаполнения,
СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) =
Тип("ДокументСсылка.Реализация") Тогда
// Заполнение шапки
ДатаОтпускаЗаказа = ДанныеЗаполнения.ДатаОтпускаЗаказа;
Покупатель = ДанныеЗаполнения.Покупатель;
Склад = ДанныеЗаполнения.Склад;
Для Каждого ТекСтрокаПереченьНоменклатуры Из
ДанныеЗаполнения.ПереченьНоменклатуры Цикл
НоваяСтрока = ПереченьНоменклатуры.Добавить();
НоваяСтрока.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
НоваяСтрока.Сумма =
ТекСтрокаПереченьНоменклатуры.Сумма;
НоваяСтрока.Товар =
ТекСтрокаПереченьНоменклатуры.Товар;
НоваяСтрока.Цена =
ТекСтрокаПереченьНоменклатуры.Цена;
КонецЦикла;
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
Модуль объекта документа «ОтказПокупателя»
34
Процедура ОбработкаПроведения(Отказ, Режим)
// регистр ОстаткиМатериалов Приход
Движения.ОстаткиМатериалов.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из
ПереченьНоменклатуры Цикл
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Товар;
Движение.Склад = Склад;
Движение.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
// регистр РезервМатериалов Расход
Движения.РезервМатериалов.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из
ПереченьНоменклатуры Цикл
Движение = Движения.РезервМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Товар;
Движение.Склад = Склад;
Движение.Количество =
ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
35
Download