Проектирование информационной системы учета на складе

Создание информационной системы учета товароматериальных запасов на складе. Выбор средства разработки. Структура данных. Текст и описание программы. Создание регистров накопления. Инструкция пользователя. Основные документы для ввода информации.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 02.05.2012
Размер файла 362,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Проектирование информационной системы учета на складе

Введение

В производственно-хозяйственной деятельности любого предприятия важную роль играют товарно-материальные запасы. Производственные запасы и материальные ценности являются предметами труда и обеспечивают основной производственный процесс предприятия.

Организация материального учета - один из наиболее сложных участков учетной работы. На промышленном предприятии номенклатура материальных ценностей исчисляется десятками тысяч наименований, а информация по учету материально-производственных запасов составляет более 30% всей информации по управлению производством. Поэтому организация учета и контроля по приобретению, движению, сохранностью и использованию материальных ценностей связана с большими трудностями. Большое значение имеет автоматизация всех учетных работ, начиная от выписки учетных документов и заканчивая составлением необходимой отчетности. Неотъемлемой частью учета и контроля материально-производственных запасов является экономический анализ их использования, который углубляет поиски резервов повышения эффективности производства.

Без правильной организации учета и контроля над использованием товарно-материальных ценностей невозможно обеспечить контроль за остатками, поступлением и расходами запасов на складах.

Таким образом, из вышесказанного вытекает, что данная тема весьма актуальна в условиях рыночной экономики.

Товарно-материальные запасы являются наиболее ликвидной статьей среди статей оборотных активов. Для ускоренного обращения этой статьи в денежные средства предприятию необходимо иметь соответствующие службы, а именно службу маркетинга - комплексную систему организации сбыта продукции ориентированную на удовлетворение потребностей потребителя на основе исследования и прогнозирования рынка. Анализ этой статьи имеет большое значение для эффективного финансового управления. Запасы могут составлять значительный удельный вес не только в составе оборотных активов, но и в целом в активах предприятия. Это может свидетельствовать о том, что предприятия испытывают затруднения со сбытом продукции, нарушением технологии производства и выбором неэффективных методов реализации. Нарушение оптимального уровня товарно-материальных запасов приводит к убыткам в деятельности предприятий, поскольку увеличивает расходы по хранению этих запасов, отвлекает из оборота ликвидные средства, увеличивает опасность обесценения товаров и снижения их потребительских качеств, приводит к потере клиентов

Целью курсовой работы является создать программный продукт для учета ТМЗ на складе.

1. Постановка задачи

1.1 Назначение программы

Целью курсового проекта является создать информационную систему учета товароматериальных запасов (ТМЗ) на складе.

В программе должны быть реализованы следующие функции:

– Добавление, изменение, удаление номенклатурных позиций;

– Регистрация факта поступления ТМЗ на склад;

– Регистрация факта перемещения ТМЗ со склада на склад;

– Регистрация факта реализации ТМЗ сторонним организациям;

– Регистрация факта списания ТМЗ со склада.

Информационная система должна предоставить возможно формирования отчетов по поступлению, по продажа и материальный отчет по складам.

В программе требуется максимально ускорить ввод повторяющихся данных. Программа не должна быть «привязана» к какому-то одному компьютеру, пользователь должен иметь возможность установить ее на любом компьютере.

1.2 Выбор средства разработки

1С: Предприятие является универсальной системой автоматизации деятельности предприятия. Имея гибкие механизмы система «1С: Предприятие 8.0» легко интегрируется в уже существующую систему управления предприятием. За счет своей универсальности, система 1С: Предприятие может быть использована для автоматизации самых разных участков деятельности предприятия: учета товарных и материальных средств, взаиморасчетов с контрагентами и т.д.

Система программ «1С: Предприятие» включает в себя платформу и прикладные решения, разработанные на ее основе, для автоматизации деятельности организаций и частных лиц. Сама платформа не является программным продуктом для использования конечными пользователями, которые обычно работают с одним из многих прикладных решений (конфигураций), разработанных на данной платформе. Такой подход позволяет автоматизировать различные виды деятельности, используя единую технологическую платформу.

Мощные средства формирования отчетов и печатных форм обеспечивают широкие возможности оформления и интерактивной работы:

– интеллектуальное построение иерархических, многомерных и кросс-отчетов;

– получение любых аналитических данных с произвольной настройкой пользователем без изменения прикладного решения;

– группировки и расшифровки в отчетах, детализация и агрегирование информации;

– сводные таблицы для анализа многомерных данных, динамическое изменение структуры отчета;

– различные типы диаграмм для графического представления экономической информации.

Система «1С: Предприятие 8.0» обеспечивает масштабируемость прикладных решений, начиная от самых простых однопользовательских программ до многопользовательских и многофункциональных комплексных решений:

– однопользовательский вариант для использования в небольших организациях или домашних условиях;

– файловый вариант для многопользовательской работы, обеспечивающий простоту установки и эксплуатации.

1.3 Структура данных

База данных должна включать в себя всю информацию, касающуюся учета товароматериальных запасов.

Основными таблицами являются регистр накопления «Остатки ТМЗ на складе», регистр накопления «Продажи» и регистр накопления «Поступление ТМЗ по поставщикам».

Документы предназначены для ввода информации (формирования движения регистров) о движении ТМЗ на складе.

Все данные необходимые для заполнения документа хранятся в справочниках, что позволяет максимально ускорить ввод повторяющихся данных.

Выходные данные представлены в виде отчетов, с помощью которых производится выборка и формирование в удобную для пользователя форму.

товароматериальный запас программа склад

2. Разработка приложения

2.1 Текст программы

ИС «Учет ТМЗ на складе» реализован с помощью комплекса программ «1С: Предприятие» и входящих в него прикладных объектов:

Справочники;

– Документы;

– Регистры накопления;

– Отчеты

– Обработки

Для каждого объекта с помощью встроенного языка были реализованы функции, которые должен выполнять каждый из объектов. Текст программы для каждого объекта располагается в модулях форм и модулях объектов.

2.2 Описание программы

2.2.1 Создание справочников

Справочники являются основным механизмом хранения условно-постоянной информации. Справочники часто используются в тех случаях, когда необходимо исключить неоднозначный ввод информации. Каждый справочник представляет собой список однородных объектов: сотрудников, организаций, товаров и т.д. Такие объекты называются элементами справочника.

Таблица 2.1. Структура справочника «Классификатор единиц измерения»

Поле

Тип

Код

Число 9.0

Наименование

Строка, длина - 5

Полное наименование

Строка, длина - 20

Таблица 2.2. Структура справочника «Склады»

Поле

Тип

Код

Число 9.0

Наименование

Строка, длина - 25

Таблица 2.3. Структура справочника «Контрагенты»

Поле

Тип

Код

Число 9.0

Наименование

Строка, длина -30

Полное наименование

Строка, длина - 100

РНН

Число, длина 12

Таблица 2.4. Структура справочника «Номенклатура»

Поле

Тип

Код

Число 9.0

Наименование

Строка, длина -30

Полное наименование

Строка, длина - 100

Единица измерения

Справочник Классификатор единиц измерения

Атрикул

Строка, длина 10

Комментарий

Строка, 100

2.2.2 Создание документов

Документы предназначены для хранения информации обо всех событиях, происходящих на предприятии и имеющих смысл с точки зрения экономики. При помощи документов отражаются платежи с расчетного счета и операции по кассе, кадровые перемещения сотрудников и движения товаров, а также другие события.

Дата и время - наиболее важные характеристики документов. Все документы вне зависимости от вида образуют единую хронологическую последовательность. Фактически эта последовательность отражает последовательность событий - так, как они происходили реально.

Документ «Поступление ТМЗ»

Рисунок 2.1 Форма документа «Поступление ТМЗ»

Текст модуля документа

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

 // проверяем чтобы все данные были заполнены

 // Дата

Если Дата = «00010101» тогда

Сообщить («Не указана Дата!»);

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

КонецЕсли;

 // Конрагент

Если Контрагент. Пустая() тогда

Сообщить («Не указан Контрагент!»);

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

КонецЕсли;

 // Склад

Если Склад. Пустая() тогда

Сообщить («Не указан Склад!»);

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

КонецЕсли;

 // проверяем на пустые значения табличную часть

Для каждого ТекСтрока из ТМЗ Цикл

НачалоСтроки = «В строке №» + (Тмз. Индекс(ТекСтрока)+1);

Если ТекСтрока. Номенклатура. Пустая() тогда

Сообщить (НачалоСтроки + «не заполнено значение Номенклатура.»);

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

КонецЕсли;

Если ТекСтрока. Количество = 0 тогда

Сообщить (НачалоСтроки + «не заполнено значение Количество.»);

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

КонецЕсли;

КонецЦикла;

Если Отказ тогда

возврат

КонецЕсли;

 // *****************************************************

 // Если все верно!!!

 // Добавляем запись по поступлению товара от поставщика

Для Каждого ТекСтрокаТМЗ Из ТМЗ Цикл

 // регистр ПоступлениеТМЗПоПоставщикам

Движение = Движения. ПоступлениеТМЗПоПоставщикам. Добавить();

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

Движение. Контрагент = Контрагент;

Движение. Номенклатура = ТекСтрокаТМЗ. Номенклатура;

Движение. Количество = ТекСтрокаТМЗ. Количество;

Движение. Сумма = ТекСтрокаТМЗ. Сумма;

КонецЦикла;

 // Добавляем запись по поступлению товара на склад

Для Каждого ТекСтрокаТМЗ Из ТМЗ Цикл

 // регистр ОстаткиТМЗНаСкладе Приход

Движение = Движения. ОстаткиТМЗНаСкладе. Добавить();

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

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

Движение. Склад = Склад;

Движение. Номенклатура = ТекСтрокаТМЗ. Номенклатура;

Движение. Количество = ТекСтрокаТМЗ. Количество;

Движение. Сумма = ТекСтрокаТМЗ. Сумма;

КонецЦикла;

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

Документ «Перемещение ТМЗ»

Рисунок 2.2. Форма документа «Перемещение ТМЗ»

Текст модуля документа

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

 // проверяем чтобы все данные были заполнены

 // Дата

Если Дата = «00010101» тогда

Сообщить («Не указана Дата!»);

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

КонецЕсли;

 // Склад - Отправитель

Если СкладОтправитель. Пустая() тогда

Сообщить («Не указан Склад - Отправитель!»);

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

КонецЕсли;

 // Склад - Получатель

Если СкладПолучатель. Пустая() тогда

Сообщить («Не указан Склад - Получатель!»);

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

КонецЕсли;

 // проверяем на пустые значения табличную часть

Для каждого ТекСтрока из ТМЗ Цикл

НачалоСтроки = «В строке №» + (Тмз. Индекс(ТекСтрока)+1);

Если ТекСтрока. Номенклатура. Пустая() тогда

Сообщить (НачалоСтроки + «не заполнено значение Номенклатура.»);

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

КонецЕсли;

Если ТекСтрока. Количество = 0 тогда

Сообщить (НачалоСтроки + «не заполнено значение Количество.»);

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

КонецЕсли;

КонецЦикла;

****************************************************************** // Если все верно!!!

 // Добавляем запись по перемещении товаров на склад

 // выбраем запросом количество остатка на складе - отправителя

Запрос = Новый Запрос;

Запрос. Текст=«ВЫБРАТЬ

| &ДатаСреза КАК Дата,

| ЕСТЬNULL (ОстаткиТМЗНаСкладеОстатки. Номенклатура, ПеремещениеТМЗТМЗ. Номенклатура) КАК Номенклатура,

| ЕСТЬNULL (ОстаткиТМЗНаСкладеОстатки. КоличествоОстаток, 0) КАК Количество,

| ЕСТЬNULL (ОстаткиТМЗНаСкладеОстатки. СуммаОстаток, 0) КАК Сумма,

| ПеремещениеТМЗТМЗ. Количество КАК Надо

|ИЗ

| Документ. ПеремещениеТМЗ.ТМЗ КАК ПеремещениеТМЗТМЗ

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления. ОстаткиТМЗНаСкладе. Остатки (

| &ДатаСреза,

| Склад = &Склад

| И Номенклатура В

| (ВЫБРАТЬ

| ДОК. Номенклатура

| ИЗ

| Документ. ПеремещениеТМЗ.ТМЗ КАК ДОК

| ГДЕ

| ДОК. Ссылка = &Док)) КАК ОстаткиТМЗНаСкладеОстатки

| ПО ПеремещениеТМЗТМЗ. Номенклатура = ОстаткиТМЗНаСкладеОстатки. Номенклатура

|ГДЕ

| ПеремещениеТМЗТМЗ. Ссылка = &Док»;

Запрос. УстановитьПараметр («ДатаСреза», Дата);

Запрос. УстановитьПараметр («Склад», СкладОтправитель);

Запрос. УстановитьПараметр («Док», Ссылка);

Выборка = Запрос. Выполнить().Выбрать();

Пока Выборка. Следующий() Цикл

 // проверяем если ли нужное количество на складе

Если Выборка. Надо > Выборка. Количество тогда

сообщить («Номенклатуры» + Выборка. Номенклатура + «- нет нужного количества на складе.»);

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

КонецЕсли;

Если Не отказ тогда

 // добавляем записи по выбытию со склада - отправителя, и по поступлению на склад - получателя

Движение = Движения. ОстаткиТМЗНаСкладе. Добавить();

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

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

Движение. Номенклатура = Выборка. Номенклатура;

Движение. Количество = Выборка. Надо;

Движение. Сумма =? (Выборка. Количество=1, Выборка. Сумма, Выборка. Сумма / Выборка. Количество * Выборка. Надо);

Движение. Склад = СкладОтправитель;

Движение = Движения. ОстаткиТМЗНаСкладе. Добавить();

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

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

Движение. Номенклатура = Выборка. Номенклатура;

Движение. Количество = Выборка. Надо;

Движение. Сумма =? (Выборка. Количество=1, Выборка. Сумма, Выборка. Сумма / Выборка. Количество * Выборка. Надо);

Движение. Склад = СкладПолучатель;

КонецЕсли

КонецЦикла;

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

2.2.3 Создание регистров накопления

Регистры накопления предназначены для хранения информации, развернутой по комбинации измерений и поддающейся суммированию. Это является важным отличием от регистров сведений, рассмотренных в предыдущей главе. Другим принципиальным отличием регистров накопления от регистров сведений является то, что две полностью идентичные записи для регистра накопления - вполне нормальное явление. Их ресурсы будут просуммированный, т.е. накоплены, для чего, собственно, и предназначены регистры накопления.

3. Инструкция пользователя

3.1 Документ «Поступление ТМЗ и услуг»

Документ «Поступление ТМЗ и услуг» служит для отражения операций по поступлению материальных ценностей и услуг.

В состав документа входят:

- Организация

- Склад - склад, на котором будут храниться приобретенные ТМЗ

- Контрагент - поставщик ТМЗ и ОС

- Комментарий

Табличная часть «ТМЗ» - служит для отражения операций по приобретению ТМЗ, а также для операций связанных с поступлением ТМЗ в переработку. Состав:

- Номенклатура - товары и материалы, приобретаемые данным документом

- Единица измерения - единица измерения номенклатуры

- Количество

- Цена

- Сумма

Документ формирует движения по регистру «Остатки ТМЗ на складе». При проведении формируются записи по оприходованию себестоимости ТМЗ на склад, указанный в табличной части «ТМЗ», кроме того формируются записи по поступлению товара от покупателя (регистр «Поступление ТМЗ по поставщикам».

3.2 Документ «Перемещение ТМЗ»

Документ «Перемещение ТМЗ» предназначен для оформления передачи номенклатурных позиций между различными складами

В качестве склада «Отправитель» указывается склад, с которого производится отгрузка товара, а в качестве склада «Получатель» указывается тот склад, на который поступает товар.

В состав документа входят:

- Склад отправитель

- Склад получатель

- Комментарий

Табличная часть «ТМЗ»:

- Номенклатура

- Единица измерения

- Количество

При проведении документа перемещения выполняется списание товаров со склада структурного подразделения - отправителя, и поступление товаров на склад структурного подразделения - получателя

3.3 Документ «Реализация ТМЗ и услуг»

Документ «Реализация товаров и услуг» служит для отражения операций по реализации товаров и услуг.

В состав документа входят:

- Склад - склад, с которого будут списаны продаваемые ТМЗ

- Контрагент - покупатель ТМЗ и услуг

- Комментарий

Табличная часть «ТМЗ» - служит для отражения операций по реализации ТМЗ. Состав:

- Номенклатура - товары и материалы, реализуемые данным документом

- Единица измерения - единица измерения номенклатуры

- Количество

- Цена

- Сумма

Документ формирует проводки по оперативному учету. При проведении формируются записи по списанию себестоимости ТМЗ со склада, указанного в табличной части «Товары» и отражению

3.4 Документ «Списание ТМЗ»

Документ «Списание ТМЗ» предназначен для оформления списания товаров.

Документ может быть оформлен на основании проведенной инвентаризации или как свободный документ в случае произвольного списания товаров.

Табличная часть документа заполняется стандартным образом - построчным вводом из справочника «Номенклатура».

Списание производится по себестоимости товаров, рассчитанной на момент оформления документа списания.

Заключение

В любой организации, как большой, так и маленькой, возникает проблема такой организации управления данными, которая обеспечила бы наиболее эффективную работу. Некоторые организации используют для этого шкафы с папками, но большинство предпочитают компьютеризированные АРМ, позволяющие эффективно хранить, извлекать информацию и управлять большими объемами данных.

Современные СУБД - многопользовательские системы управления базой данных, которые специализируется на управлении массивом информации одним или множеством одновременно работающих пользователей.

Информационное обеспечение предполагает: распространение информации, то есть предоставление пользователям информации, необходимой для решения научно-производственных задач; создание наиболее благоприятных условий для распространения информации, то есть проведение административно-организационных, научно-исследовательских и производственных мероприятий, обеспечивающих ее эффективное распространение.

Информация, и, особенно, ее автоматизированная обработка, является важным фактором повышения эффективности производства. Важную роль в исполнении информации играют способы ее регистрации, обработки, накопления и передачи; систематизированное хранение информации и выдача ее в требуемой форме; производство новой числовой, графической и иной информации.

В современных условиях в крупных организациях созданы и эффективно действуют информационные системы, обслуживающие процесс подготовки и принятия управленческих решений и решающие следующие задачи: обработка данных, обработка информации, реализация интеллектуальной деятельности.

Наиболее характерно использование электронной техники в двух основных направлениях:

- в конторском деле - для замены секретарей-машинисток и делопроизводителей;

- в бухгалтерском деле - для составления письменных финансовых документов, осуществления безкассовых связей с банками и финансовыми учреждениями.

ЭВМ используются, прежде всего, для обработки данных и решения расчетных задач. В современных условиях ЭВМ стали все чаще применять для обработки нечисловой информации (текстовой, графической) и термин «вычислительная техника» перестал соответствовать характеру задач, решаемых с помощью компьютера.

Современные ЭВМ способны одновременно обрабатывать цифровую, текстовую и графическую информацию.

Во многих организациях и предприятиях созданы базы данных, в которых хранится информация о состоянии финансового положения предприятия, о состоянии товарооборота на складе, о кадровом составе работников, постоянно обновляемая и максимально подробная, систематизированная по самым разнообразным признакам. Выбор информации делается с выводом на печатающее устройство отчетов, что позволяет следить за балансом предприятия, перемещением финансовых средств, делать прогнозы о будущем развитии.

Разработанное программное ПО может быть внедрено на любое небольшое предприятие. Данное решение значительно упростит учет по некоторым видам операций, позволило быстро и легко заполнять документы необходимыми данными, избавило от рутинной бумажной работы, получение нужной информации теперь не занимает много времени.

Соответственно у персонала появится больше времени на быстрое и качественное обслуживание клиентов.

Список литературы

1. Радостовец В.К. и др. Бухгалтерский учет на предприятии. Издание 3 доп. и перераб. - Алматы: Центраудит, 2002 г.

2. Разливаева Л.В. Производственный учет: Учебное пособие - Караганда: КЭУ, 1998 г.

3. 1С Предприятие 8.0 Практическое пособие разработчика. Радченко М.Т. Москва ООО 1С-Паблишинг 2004.

4. Разработка в системе 1С: Предприятие 8.0 Митичкин С.А. Москва ООО 1С - Паблишн, 2003.

Приложение А

Текст модуля «Реализация ТМЗ»

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

 // проверяем чтобы все данные были заполнены

 // Дата

Если Дата = «00010101» тогда

Сообщить («Не указана Дата!»);

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

КонецЕсли;

 // Контрагент

Если Контрагент. Пустая() тогда

Сообщить («Не указан Контрагент!»);

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

КонецЕсли;

 // Склад

Если Склад. Пустая() тогда

Сообщить («Не указан Склад!»);

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

КонецЕсли;

 // проверяем на пустые значения табличную часть

Для каждого ТекСтрока из ТМЗ Цикл

НачалоСтроки = «В строке №» + (Тмз. Индекс(ТекСтрока)+1);

Если ТекСтрока. Номенклатура. Пустая() тогда

Сообщить (НачалоСтроки + «не заполнено значение Номенклатура.»);

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

КонецЕсли;

Если ТекСтрока. Количество = 0 тогда

Сообщить (НачалоСтроки + «не заполнено значение Количество.»);

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

КонецЕсли;

КонецЦикла;

 // ****************************************************************** // Если все верно!!!

 // Добавляем запись по перемещении товаров на склад

 // выбраем запросом количество остатка на складе - отправителя

Запрос = Новый Запрос;

Запрос. Текст=«ВЫБРАТЬ

| &ДатаСреза КАК Дата,

| ЕСТЬNULL (ОстаткиТМЗНаСкладеОстатки. Номенклатура, РеализацияТМЗТМЗ. Номенклатура) КАК Номенклатура,

| ЕСТЬNULL (ОстаткиТМЗНаСкладеОстатки. КоличествоОстаток, 0) КАК Количество,

| ЕСТЬNULL (ОстаткиТМЗНаСкладеОстатки. СуммаОстаток, 0) КАК Сумма,

| РеализацияТМЗТМЗ. Количество КАК Надо,

| РеализацияТМЗТМЗ. Сумма КАК СуммаПродажи

|ИЗ

| Документ. РеализацияТМЗ.ТМЗ КАК РеализацияТМЗТМЗ

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления. ОстаткиТМЗНаСкладе. Остатки (

| &ДатаСреза,

| Склад = &Склад

| И Номенклатура В

| (ВЫБРАТЬ

| ДОК. Номенклатура

| ИЗ

| Документ. РеализацияТМЗ.ТМЗ КАК ДОК

| ГДЕ

| ДОК. Ссылка = &Док)) КАК ОстаткиТМЗНаСкладеОстатки

| ПО РеализацияТМЗТМЗ. Номенклатура = ОстаткиТМЗНаСкладеОстатки. Номенклатура

|ГДЕ

| РеализацияТМЗТМЗ. Ссылка = &Док»;

Запрос. УстановитьПараметр («ДатаСреза», Дата);

Запрос. УстановитьПараметр («Склад», Склад);

Запрос. УстановитьПараметр («Док», Ссылка);

Выборка = Запрос. Выполнить().Выбрать();

Пока Выборка. Следующий() Цикл

 // проверяем если ли нужное количество на складе

Если Выборка. Надо > Выборка. Количество тогда

сообщить («Номенклатуры» + Выборка. Номенклатура + «- нет нужного количества на складе.»);

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

КонецЕсли;

Если Не отказ тогда

 // добавляем записи по выбытию со склада

Движение = Движения. ОстаткиТМЗНаСкладе. Добавить();

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

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

Движение. Номенклатура = Выборка. Номенклатура;

Движение. Количество = Выборка. Надо;

Движение. Сумма =? (Выборка. Количество=1, Выборка. Сумма, Выборка. Сумма / Выборка. Количество * Выборка. Надо);

Движение. Склад = Склад;

 // добавляем запись по продаже

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

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

Движение. Номенклатура = Выборка. Номенклатура;

Движение. Количество = Выборка. Надо;

Движение. Сумма = Выборка. СуммаПродажи;

Движение. Контрагент = Контрагент;

КонецЕсли;

КонецЦикла;

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

Текст модуля «Списание ТМЗ»

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

 // проверяем чтобы все данные были заполнены

 // Дата

Если Дата = «00010101» тогда

Сообщить («Не указана Дата!»);

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

КонецЕсли;

 // Склад

Если Склад. Пустая() тогда

Сообщить («Не указан Склад!»);

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

КонецЕсли;

 // проверяем на пустые значения табличную часть

Для каждого ТекСтрока из ТМЗ Цикл

НачалоСтроки = «В строке №» + (Тмз. Индекс(ТекСтрока)+1);

Если ТекСтрока. Номенклатура. Пустая() тогда

Сообщить (НачалоСтроки + «не заполнено значение Номенклатура.»);

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

КонецЕсли;

Если ТекСтрока. Количество = 0 тогда

Сообщить (НачалоСтроки + «не заполнено значение Количество.»);

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

КонецЕсли;

КонецЦикла;

 // ****************************************************************** // Если все верно!!!

 // Добавляем запись по перемещении товаров на склад

 // выбраем запросом количество остатка на складе - отправителя

Запрос = Новый Запрос;

Запрос. Текст=«ВЫБРАТЬ

| &ДатаСреза КАК Дата,

| ЕСТЬNULL (ОстаткиТМЗНаСкладеОстатки. Номенклатура, СписаниеТМЗТМЗ. Номенклатура) КАК Номенклатура,

| ЕСТЬNULL (ОстаткиТМЗНаСкладеОстатки. КоличествоОстаток, 0) КАК Количество,

| ЕСТЬNULL (ОстаткиТМЗНаСкладеОстатки. СуммаОстаток, 0) КАК Сумма,

| СписаниеТМЗТМЗ. Количество КАК Надо

|ИЗ

| Документ. СписаниеТМЗ.ТМЗ КАК СписаниеТМЗТМЗ

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления. ОстаткиТМЗНаСкладе. Остатки (

| &ДатаСреза,

| Склад = &Склад

| И Номенклатура В

| (ВЫБРАТЬ

| ДОК. Номенклатура

| ИЗ

| Документ. СписаниеТМЗ.ТМЗ КАК ДОК

| ГДЕ

| ДОК. Ссылка = &Док)) КАК ОстаткиТМЗНаСкладеОстатки

| ПО СписаниеТМЗТМЗ. Номенклатура = ОстаткиТМЗНаСкладеОстатки. Номенклатура

|ГДЕ

| СписаниеТМЗТМЗ. Ссылка = &Док»;

Запрос. УстановитьПараметр («ДатаСреза», Дата);

Запрос. УстановитьПараметр («Склад», Склад);

Запрос. УстановитьПараметр («Док», Ссылка);

Выборка = Запрос. Выполнить().Выбрать();

Пока Выборка. Следующий() Цикл

 // проверяем если ли нужное количество на складе

Если Выборка. Надо > Выборка. Количество тогда

сообщить («Номенклатуры» + Выборка. Номенклатура + «- нет нужного количества на складе.»);

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

КонецЕсли;

Если Не отказ тогда

 // добавляем записи по выбытию со склада

Движение = Движения. ОстаткиТМЗНаСкладе. Добавить();

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

Движение. Номенклатура = Выборка. Номенклатура;

Движение. Количество = Выборка. Надо;

Движение. Сумма =? (Выборка. Количество=1, Выборка. Сумма, Выборка. Сумма / Выборка. Количество * Выборка. Надо);

Движение. Склад = Склад;

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.