МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего образования «Пензенский государственный университет» (ФГБОУ ВО «Пензенский государственный университет») ______________________________________________________________________ Кафедра «Математическое обеспечение и применение ЭВМ» Зав. кафедрой Макарычев П.П. "___" _____________ 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