Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Разработка конфигурации Магазин "Продукты" на платформе 1С: Предприятие

Содержание:

ВВЕДЕНИЕ

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

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

- исключение возможности двойного ввода данных;

- полное и быстрое получение информации о нынешнем состоянии бизнеса;

- уменьшение времени обработки и анализа данных;

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

- уменьшение ошибок ввода;

- ускорение работы;

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

- позволяет проводить анализ и планирование деятельности предприятия или компании.

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

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

Объектом исследования данного проекта является автоматизация процесса продажи для магазина продуктов.

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

Для достижения поставленной цели необходимо решить следующие задачи:

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

– постановка требований к разрабатываемому модулю в системе «1С. Предприятие 8.3»;

– спроектировать и разработать модуль автоматизации работы с магазина продуктов

– дать описание интерфейса и протестировать разработанный модуль.

1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

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

Согласно Государственному стандарту РФ ГОСТ Р 51303-99 «Торговля. Термины и определения» (принят и введен в действие постановлением Госстандарта РФ от 11 августа 1999 г. № 242-ст) торговля – это «вид предпринимательской деятельности, связанный с куплей-продажей товаров и оказанием услуг покупателям».

Основными элементами торгового процесса учета движения продуктов в магазине являются:

– приемка продуктов на склад магазина;

– хранение продуктов на складе и витрине магазина;

– отпуск (продажа) продуктов покупателям.

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

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

Рисунок 1 – Представление о магазине продуктов

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

1.2 РАЗРАБОТКА ФУНКЦИОНАЛЬНОЙ МОДЕЛИ

Для проведения анализа и реорганизации бизнес – процессов предназначено CASE-средство верхнего уровня AllFusion Process Modeler (BPwin), поддерживающее методологии:

  • IDEF0 (функциональная модель);
  • DFD (DataFlow Diagram);
  • IDEF3 (Workflow Diagram).

Методология IDЕEF0 это совокупность представлений таких системных характеристик, как управление, обратная связь, исполнители [5]. В основе методологии лежат четыре основных понятия: функциональный блок, дуга (стрелка), декомпозиция, словарь, или глоссарий.

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

  • верхняя сторона имеет значение «Управление» (Control);
  • левая сторона имеет значение «Вход» (Input);
  • правая сторона имеет значение «Выход» (Output);
  • нижняя сторона имеет значение «Механизм» (Mechanism).

С точки зрения информационных процессов, которые свойственны для магазина продуктов, функциональная модель, созданная в продукте ERwin Procеss Modеler 7.1.1, представлена на рисунке 2.

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

Модель IDEF0 всегда начинается с представления системы как единого целого – одной активности с дугами, простирающимися за пределы рассматриваемой области. Такая диаграмма с одной активностью называется контекстной диаграммой. Дуги контекстной диаграммы должны описывать все основные связи моделируемой системы с внешним миром.

Рисунок 2 – Общая функциональная модель магазина продуктов

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

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

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

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

Рисунок 3 – Декомпозиция основной функциональной модели магазина продуктов

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

2 РАЗРАБОТКА АРМ МАГАЗИНА ПРОДУКТОВ

2.1 Проектирование структуры системы

АРМ «Магазин продуктов» на базе платформы «1С:Предприятие» на позволит вести учет продуктов и реализацию его в магазине. Исходя из групп пользователей, была разработана структура меню информационной системы «Магазин продуктов», которая приведена на рисунке 4.

Настройка

Магазин продуктов

Рабочий

стол

Общие

- Организац правовая форма

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

- Сотрудники

- Статьи

- Субконто

Складской учет

Справочники

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

- Товары

- Магазины

- Сотрудники

1С:Предприятие «Магазин продуктов»

Учет продуктов

Движение продуктов

Сервис

Информация об организации

Данные о продуктах

Учет продуктов

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

- Магазины

Магазин продуктов

- Основной план счетов

- Договор

- Виды субконто

- Товары

- Услуги

Сервис

Информация об организации

Справочники

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

- Договор

- Сотрудники

- Товары

- Услуги

- Субконто

- Виды субконто

- Основной план счетов

Журналы

- Движение товара

- Учет продуктов

Хозяйственные операции

- Поступление продуктов

- Реализация продуктов

- Передача в магазин

- Поступление продуктов

- Реализация продуктов

- Передача в магазин

Отчеты

- Оборотно- сальдовая ведомость

- Остатки продуктов по магазинам

- Перечень проводок за период

Сервис

Данные о продуктах

Журналы

- Учет продуктов

Складские документы

- Приход продуктов

- Расход продуктов

Сервис

- Метод списания

- Данные о продуктах

- Складская карточка

Рисунок 4 – Структура АИС «Магазин продуктов»

Модуль «Рабочий стол» содержит часто используемые документы, отчеты, справочники. Настройка рабочего стола системы позволит выделить из возможного многообразия функций автоматизированной системы наиболее востребованные, минуя процесс первоначальной настройки системы.

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

Рисунок 5 – Интерфейс модуля «Настройка»

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

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

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

Рисунок 6 – Интерфейс модуля «Магазин продуктов»

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

Модуль «Учет продуктов» представляет собой автоматизированное рабочее место кладовщика (материально-ответственного лица). Данный модуль (раздел журналы и складские документы) используется для формирования и печати складских ордеров. Раздел сервис позволит получать отчеты по движению товара внутри предприятия (рисунок 7).

Рисунок 7 – Интерфейс модуля «Учет продуктов»

2.2 Проектирование метаданных системы

Опишем структуру метаданных данных проектируемой системы «Магазин продуктов».

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

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

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

Состав основных объектов конфигурации, используемых в 1С:Предприятии 8.3 следующий:

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

2) Константы предназначены для хранения постоянной или условно-постоянной информации. В конфигурации созданы следующие константы:

— «МетодСписания» – (тип – ПеречислениеСсылка.МетодСписания), которая используется для хранения метода бухгалтерского учета товара на складах магазина. Списание продуктов со склада магазина на момент проектирования осуществляется по средней стоимости на дату списания.

– «НазваниеОрганизации» – (тип – «Строка», 50 символов) используется для хранения названия магазина;

– «ПочтовыйАдресОрганизации» – (тип – «Строка», 150 символов) в ней содержится юридический адрес магазина;

– «ИННОрганизации» – (тип – «Строка», 20 символов) хранит ИНН/КПП магазина;

– «Руководитель» – (тип – СправочникСсылка.Сотрудники) предназначен для хранения ссылки на информацию о текущем руководителе магазина;

– «ГлавныйБухгалтер» – (тип – СправочникСсылка.Сотрудники) предназначен для хранения ссылки на информацию о текущем главном бухгалтере магазина;

– «Кассир» – (тип – СправочникСсылка.Сотрудники) используется для хранения ссылки на информацию о кассире магазина;

– «ОсновнойСклад» – (тип – СправочникСсылка.Склады) содержит ссылку на склад магазина, который чаще других используется при оформлении документов;

– «ТелефоныОрганизации – (тип – «Строка», 20 символов) хранит контактные телефоны магазина.

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

В отличие от перечислений, для справочников конкретные значения обычно вводятся пользователем при работе с программой.

«МетодСписания» – перечисление, которое используется для определения метода бухгалтерского учета товара на складах магазина. Может принимать следующие значения:

– «ФИФО»;

– «По_Среднему».

«Пол» – перечисление, которое используется для определения пола сотрудников предприятия. Может принимать следующие значения:

– «мужской»;

– «женский».

4) Справочники предназначены для хранения более или менее постоянных сведений о множестве однотипных объектов. Данные из справочников используются для заполнения документов, ведения аналитического учета.

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

— Организация – справочник, содержащий информацию о контрагентах организации (юридических и физических лицах). Структура справочника описана в таблице 1.

Таблица 1 - Структура таблицы «Организация»

№ п/п

Название поля

Тип поля

Длина

Null

Краткая характеристика

1

ИД_Контрагенты

Числовой

4

Нет

Идентификатор организации

2

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

Текстовый

20

Да

Наименование организации

3

ИД_ОрганизПравФорма

Числовой

4

Да

Идентификатор организационно-правовой формы организации

4

ИНН/КПП

Текстовый

19

Да

ИНН/КПП организации

5

Юридический Адрес

Текстовый

150

Да

Юридический адрес организации

6

Телефоны

Текстовый

50

Да

Контактные телефоны организации

7

Директор

Текстовый

50

Да

Директор организации

8

Главный бухгалтер

Текстовый

50

Да

Главный бухгалтер организации

— ОрганизационноПравоваяФорма – справочник предназначен для хранения информации, содержащий виды организационно - правовых форм предприятия. Структура справочника описана в таблице 2.

Таблица 2 - Структура таблицы «ОрганизацПравоваяФорма»

№ п/п

Название поля

Тип поля

Длина

Null

Краткая характеристика

1

ИД_ОрганизПравФорма

Числовой

4

Нет

Идентификатор вида организационно - правовой формы

2

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

Текстовый

50

Да

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

— Товары – справочник используется для хранения информации о продуктах, продажей которой занимается магазин. Структура справочника описана в таблице 3.

Таблица 3 - Структура таблицы «Товары»

№ п/п

Название поля

Тип поля

Длина

Null

Краткая характеристика

1

ИД_Номенклатура

Числовой

4

Нет

Идентификатор товара

2

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

Текстовый

5

Да

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

3

ИД_ЕдИзм

Числовой

4

Да

Идентификатор единицы измерения товара

— Магазины – содержит в себе перечень магазинов (подразделений) предприятия, на которых хранится товар. Структура справочника описана в таблице 4.

Таблица 4 - Структура таблицы «Магазины»

№ п/п

Название поля

Тип поля

Длина

Null

Краткая характеристика

1

ИД_Подразделения

Числовой

4

Нет

Идентификатор магазина

2

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

Текстовый

50

Да

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

3

ИД_Сотрудники

Числовой

4

Нет

Идентификатор сотрудника. Начальник магазина или материально-ответственное лицо склада

— Сотрудники – справочник предназначен для ведения базы данных работников магазина. Структура справочника описана в таблице 5.

Таблица 5 - Структура таблицы «Сотрудники»

№ п/п

Название поля

Тип поля

Длина

Null

Краткая характеристика

1

ИД_Сотрудника

Числовой

4

Нет

Идентификатор сотрудника

2

ФИО

Текстовый

50

Нет

ФИО сотрудника

3

Должность

Текстовый

50

Нет

Должность сотрудника

4

ИД_Пол

Числовой

4

Нет

Идентификатор пола сотрудника

5

ДатаРождения

Дата

8

Да

Дата рождения сотрудника

6

Адрес

Текстовый

150

Да

Адрес по прописке в паспорте

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

— ЕдиницыИзмерения – справочник предназначен для хранения единиц измерения согласно Общероссийскому классификатору единиц измерения. Структура справочника описана в таблице 6.

Таблица 6 - Структура таблицы «ЕдиницыИзмерения»

№ п/п

Название поля

Тип поля

Длина

Null

Краткая характеристика

1

ИД_ ЕдИзм

Числовой

4

Нет

Идентификатор единицы измерения товара

2

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

Текстовый

20

Да

Наименование единицы измерения товара

3

УслОбознач

Текстовый

10

Да

Условное обозначение единицы измерения

4

КодПоОкеи

Текстовый

6

Да

Код по общероссийскому классификатору единиц измерения

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

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

Документ «ВыборСубконтоСчета» используется для ввода пользовательских аналитик (субконто1 и субконто2) по счетам бухгалтерского учета. Структура документа приведена в таблице 7.

Таблица 7 - Структура шапки документа «ВыборСубконтоСчета»

№ п/п

Реквизит

Тип

Краткая характеристика

1

Счет

ПланСчетовСсылка.

ОсновнойПланСчетов

Наименование счета бухгалтерского учета в плане счетов

2

Субконто1

Характеристика.

ВидыСубконто

Наименование объекта аналитического учета (субконто 1) по счёту

3

Субконто2

Характеристика.

ВидыСубконто

Наименование объекта аналитического учета (субконто 2) по счёту

Документ «ПоступлениеПродуктов» предназначен для учета поступления продуктов на склад магазина от поставщика. Структура документа представлена в таблице 8 (рисунок 8).

Рисунок 8 – Документ «ПоступлениеПродуктов»

Таблица 8 - Структура документа «ПоступлениеПродуктов»

№ п/п

Название поля

Тип поля

Длина

Null

Краткая характеристика

1

Номер

Текстовый

5

Нет

Регистрационный номер приходной накладной

2

Дата

Дата

8

Нет

Дата приходной накладной

3

Поставщик

Числовой

4

Нет

Идентификатор организации, которая поставила данный товар

4

Магазин

Числовой

4

Нет

Идентификатор магазина, на который приходуется товар

5

Всего

Числовой

10

Нет

Общая стоимость по приходной накладной в рублях

Табличная часть приходной накладной – таблица «ПоступлениеПродуктов»

6

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

Числовой

4

Нет

Идентификатор товара

7

ЕдИзм

Числовой

4

Нет

Идентификатор единицы измерения

8

Количество

Числовой

10

Нет

Количество приобретаемого товара

9

Цена

Числовой

10

Нет

Цена товара

10

Сумма

Числовой

10

Нет

Сумма = Количество * Цена

Документ «РеализацияПродуктов» предназначен для отражения продажи продуктов со склада по розничной цене на дату реализации (рисунок 9). Структура таблиц представлена в таблице 9.

Рисунок 9 – Документ «РеализацияПродуктов»

Таблица 9 - Структура документа «РеализацияПродуктов»

№ п/п

Название поля

Тип поля

Длина

Null

Краткая характеристика

1

Номер

Текстовый

5

Нет

Регистрационный номер расходной накладной

2

Дата

Дата

8

Нет

Дата расходной накладной

3

Магазин

Числовой

4

Нет

Идентификатор магазина, с которого списывают товар

4

Покупатель

Числовой

4

Нет

Идентификатор продавца, который купил данный товар

5

Всего

Числовой

10

Нет

Общая стоимость по расходной накладной в рублях

Табличная часть расходной накладной – таблица «РеализацияПродуктов»

6

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

Числовой

4

Нет

Идентификатор товара

7

ЕдИзм

Числовой

4

Нет

Идентификатор единицы измерения

7

Количество

Числовой

10

Нет

Количество реализованного товара

8

Цена

Числовой

10

Нет

Средняя цена товара на складе

9

Сумма

Числовой

10

Нет

Сумма = Количество * Цена

Для отражения внутреннего перемещения продуктов между складами и магазинами предприятия создан документ «ПередачаВМагазин». Структура документа приведена в таблице 10.

Таблица 10 - Структура таблицы документа «ПередачаВМагазин»

№ п/п

Название поля

Тип поля

Длина

Null

Краткая характеристика

1

РегНомер

Текстовый

5

Нет

Регистрационный номер акта на перемещение

2

Дата

Дата

8

Нет

Дата акта на перемещение товара

3

МагазинПередающий

Числовой

4

Нет

Идентификатор магазина, с которого списывают товар

5

МагазинПринимающий

Числовой

4

Нет

Идентификатор магазина, на который приходует товар

6

Всего

Числовой

10

Нет

Общая стоимость по акту на перемещение товаров в рублях

Табличная часть - таблица «СтрокиПеремещения»

7

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

Числовой

4

Нет

Идентификатор товара

8

ЕдИзм

Числовой

4

Нет

Идентификатор единицы измерения

9

Количество

Числовой

10

Нет

Количество перемещаемого товара

10

Цена

Числовой

10

Нет

Средняя цена товара на складе

11

Сумма

Числовой

10

Нет

Сумма = Количество * Цена

В системе «1С:Предприятие 8.3» журналы являются средством для работы с документами. Работая с журналом, пользователь может вводить документы, просматривать их, редактировать и удалять. Журналы позволяют группировать документы для просмотра и быстрого доступа к ним.

Документы «ПриходПродуктов» и «РасходПродуктов» для удобства просмотра порядка движения материалов на складе объединены в журнал «Учет продуктов на складе».

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

В конфигурацию были добавлены следующие обработки.

«ДанныеОПродуктах» – обработка предназначена для просмотра остатков продуктов на указанную дату по заданному магазину (рисунок 10);

Рисунок 10 — Форма обработки «ДанныеОПродуктах»

  1. формирования оборотно-сальдовой ведомости в количественных единицах по всем приобретенным товарам за указанный период (рисунок 11);

Рисунок 11 — Форма обработки «ДанныеОПродуктах»

  1. просмотр остатков товаров на указанную дату по заданной номенклатуре (рисунок 12).

Рисунок 12 — Форма обработки «ДанныеОТоварах»

«СкладскаяКарточка» – обработка предназначена для формирования складской карточки по выбранному магазину и товару (рисунок 13).

Рисунок 13 — Форма обработки «СкладскаяКарточка»

7) Регистр накопления образует многомерную систему измерений и позволяет «накапливать» числовые данные в разрезе нескольких измерений.

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

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

  1. РегистрУчетПродуктов – вид регистра «Остатки» хранит информацию об остатках товаров на складах.

Структура регистра имеет следующий вид.

Измерения:

– «Организация» (тип – СправочникСсылка.Организации);

– «Номенклатура» (тип – СправочникСсылка. Товары);

– «Магазин» (тип – СправочникСсылка. Магазины);

– «Партия» (составной тип – ДокументСсылка.РасходныйОрдер, ДокументСсылка.ПриходныйОрдер);

Ресурсы:

– «Сумма» (тип – «Число», длина – 15, точность – 2);

– «Количество» (тип – «Число», длина – 10, точность – 2);

  1. РегистрУчетПродуктовОб – вид регистра «Обороты» хранит информацию о движении товаров на складах.

Структура регистра имеет следующий вид.

Измерения:

– «Организация» (тип – СправочникСсылка.Организации);

– «Номенклатура» (тип – СправочникСсылка. Товары);

– «Магазин» (тип – СправочникСсылка. Магазины);

– «Партия» (составной тип – ДокументСсылка.РасходныйОрдер, ДокументСсылка.ПриходныйОрдер);

Ресурсы:

– «Сумма» (тип – «Число», длина – 15, точность – 2);

– «Количество» (тип – «Число», длина – 10, точность – 2);

При проведении документов «ПриходныйОрдер» и «РасходныйОрдер» выполняется движения по регистрам «РегистрУчетПродуктов» и «РегистрУчетПродуктовОб».

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

Регистр бухгалтерии «ОсновнойРегистрБухгалтерии» связывается с планом счетов «ОсновнойПланСчетов», и хранит бухгалтерские итоги в соответствии с его структурой. Информация в регистре бухгалтерии хранится в виде записей, структура которых строится системой динамически, в зависимости от настроек различных элементов учета, выполненной при редактировании плана счетов.

Структура регистра имеет следующий вид.

Измерения:

– «Организация» (тип – СправочникСсылка.Организации);

Ресурсы:

– «Сумма» (тип – «Число», длина – 10, точность – 2);

– «Количество» (тип – «Число», длина – 10, точность – 2);

Реквизиты:

– «Содержание» (тип – «Строка», длина – 30).

9) Для формирования сложных экономических и аналитических отчетов платформа «1С:Предприятие» содержит мощный и гибкий механизм – систему компоновки данных. Отчеты строятся на основе схемы компоновки данных – специального макета отчета, содержащего его декларативное описание.

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

В проектированной конфигурации были созданы три отчета:

— ОборотноСальдоваяВедомостьПоСчетам формируется с помощью запроса:

Пример отчета представлен на рисунке 14.

Рисунок 14 — Отчет «ОборотноСальдоваяВедомостьПоСчетам»

— ПереченьПроводокЗаПериод формируется с помощью запроса:

Пример отчета представлен на рисунке 15.

Рисунок 15 — Отчет «ПереченьПроводокЗаПериод»

— ОстаткиТоваровПоСкладам формируется с помощью запроса:

Пример отчета представлен на рисунке 16.

Рисунок 16 — Отчет «ОстаткиТоваровПоСкладам»

Заключение

В рамках курсового проекта на базе платформы «1С:Предприятие 8.3» была разработана автоматизированная информационная система по работе продуктового магазина.

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

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

2. Разработанная система позволяет достигнуть следующих эффектов:

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

– возможность формирования отчетов для своевременного контроля остатков на складах, проведения инвентаризации.

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

Список использованных источников

  1. Матюшенко М.В., Гуменюк М.М. Автоматизированные информационные технологии, их использование в экономической деятельности [электронный ресурс] // http://www.be5.biz/ekonomika1/r2010/01535.htm.
  2. Автоматизация учета и её преимущества [электронный ресурс] // http://bizness-idei.com/avtomatizaciya-ucheta-i-ee-preimushhestva.
  3. Сущность, понятия и виды торговли. [Электронный ресурс]. http://buhuchet-info.ru/buhgalterskiy-uchet-v-torgovle/302-sushchnost-ponyatiya-i-vidi-torgovli-.html.
  4. Количественно-суммовой и суммлвлй учет в розничной торговле. [Электронный ресурс]. http://rosbuh.senseagency.ru/?page=article&item=1976
  5. Информационные системы управления «Парус». Модуль «Склад». [Электронный ресурс]. // http://www.parus.com/products/gov/371/.
  6. Филатова В. О. Ф51 1С:Предприятие 8.2. Бухгалтерия предприятия, Управление торговлей, Управление персоналом. — СПб.: Питер, 2015.
  7. Основные объекты конфигурации в 1С: Предприятие 8.2 [Электронный ресурс]. – Режим доступа: http://1c-uroki.ru/articles/node/368
  8. Ажеронок В.А., Габец А.П., Гончаров Д.И. Профессиональная разработка в системе 1С: Предприятие 8. Том 1. Изд.: 1С-Паблишинг, 2-е издание, 2015.
  9. Ажеронок В.А., Габец А.П., Гончаров Д.И. Профессиональная разработка в системе 1С: Предприятие 8. Том 2. – М.: ООО «1С-Паблишинг», 2-е издание, 2016.
  10. Коллектив авторов фирмы "1С" - 1С:Предприятие 8.2. Руководство администратора [Электронный ресурс]. – Режим доступа: http://downloads.v8.1c.ru/ftp/Platform/8_2_17_143/Instruktsiya_po_polucheniyu_litsenziy.pdf
  11. Богачева Т.Г. «1С:Предприятие 8. Управление торговыми операциями в вопросах и ответах: практическое пособие», издание 5, - М.: ООО «1С-Паблишинг», 2016.
  12. Габец А.П., Гончаров Д.И., Козырев Д.В., Кухлевский Д.С., Радченко М.Г. Профессиональная разработка в системе 1С:Предприятие 8. – М.: ООО «1С-Паблишинг», СПб.: Питер, 2017.
  13. Радченко М.Г. «1С:Предприятие 8.2. Коротко о главном». Изд.: 1С-Паблишинг, 2009.
  14. Основные объекты конфигурации в 1С: Предприятие 8.2 [Электронный ресурс]. – Режим доступа: http://1c-uroki.ru/articles/node/368
  15. Радченко М.Г. «1С:Предприятие 8.1. Практическое пособие разработчика». – М.: ООО «1С-Паблишинг», 2016.
  16. Самарина Е.В., Харитонов С.А., Чистов Д.В. Секреты профессиональной работы с 1С:Бухгалтерией 8. Учет производственных операций. Учебное пособие. – М.: ООО «1С-Паблишинг», 2016.
  17. Филатова В. О. Ф51 1С:Предприятие 8.2. Бухгалтерия предприятия, Управление торговлей, Управление персоналом. — СПб.: Питер, 2015.
  18. Хрусталева Е.Ю. Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных. – М.: ООО «1С-Паблишинг», 2015.

Приложение

Код модуля "Учетпрдуктов"

&НаКлиенте

Процедура ПриНачалеРаботыСистемы() // предопределенная процедура,

// запускается при начале работы в 1С:Предприятии

Перем Значение; // Объявляем переменную

Перем Рез;

Если Константы.МетодСписания.Выбран()=0 Тогда // если константа не заполнена

Рез=ВвестиЗначение(Значение,"Выберите способ списания", "Перечисления.МетодСписания");

// просим выбрать способ списания. Рез=1, если выбор произведен, 0 – если нет

Если Рез=1 Тогда

Константы.МетодСписания=Значение; // установим константе выбранное значение

Иначе

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

КонецЕсли;

КонецЕсли;

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

Код модуля " МагазинПродуктов"

&НаСервере

Функция ПолучитьСреднЦенуТоваров(ДатаО, СкладО, Номенклатура) Экспорт

СредняяЦена = 0;

ОбщийОстаток = 0;

ОбщаяСтоимость = 0;

Момент = Новый Граница(КонецДня(ДатаО), ВидГраницы.Включая);

СчетТоваров = ПланыСчетов.ОсновнойПланСчетов.Материалы;

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

Запрос.Текст =

"ВЫБРАТЬ

| Остатки.Субконто1,

| Остатки.Субконто2,

| Остатки.КоличествоОстатокДт КАК КоличествоДт,

| Остатки.КоличествоОстатокКт КАК КоличествоКт,

| Остатки.СуммаОстатокДт КАК СуммаДт,

| Остатки.СуммаОстатокКт КАК СуммаКт

|ИЗ

| РегистрБухгалтерии.ОсновнойРегистрБухгалтерии.Остатки(&Момент, Счет = &Счет, , Организация = &Организация) КАК Остатки

|ГДЕ

| Остатки.Субконто1 = &Скл

| И Остатки.Субконто2 = &Номенкл";

Запрос.УстановитьПараметр("Момент", Момент);

Запрос.УстановитьПараметр("Счет", СчетТоваров);

Запрос.УстановитьПараметр("Организация", Справочники.Организация.НайтиПоКоду("000000001"));

Запрос.УстановитьПараметр("Номенкл", Номенклатура);

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

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();

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

ОбщийОстаток = Выборка.КоличествоДт - Выборка.КоличествоКт;

ОбщаяСтоимость = Выборка.СуммаДт - Выборка.СуммаКт;

КонецЦикла;

Если ОбщийОстаток>0 Тогда

СредняяЦена = ОбщаяСтоимость/ОбщийОстаток;

КонецЕсли;

Возврат СредняяЦена;

КонецФункции

Код документа "ПриходПродуктов"

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

// регистр РегистрУчетПродуктов Приход

Движения.РегистрУчетПродуктов.Записывать = Истина;

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

Движение = Движения.РегистрУчетПродуктов.Добавить();

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

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

Движение.Организация = Справочники.Организация.НайтиПоКоду("000000001");

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

Движение.Магазин = Магазин;

Движение.Партия = Ссылка;

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

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

КонецЦикла;

// регистр РегистрУчетПродуктовОб

Движения.РегистрУчетПродуктовОб.Записывать = Истина;

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

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

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

Движение.Организация = Справочники.Организация.НайтиПоКоду("000000001");

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

Движение.Магазин = Магазин;

Движение.Партия = Ссылка;

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

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

КонецЦикла;

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

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

Всего = ЭтотОбъект.Товары.Итог("Сумма");

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

//---------------------------------------------------------------------------------------

Перем Номенкл;

&НаКлиенте

Процедура ТоварыЦенаПриИзменении(Элемент)

РасчетСуммыСтроки();

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

&НаКлиенте

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

РасчетСуммыСтроки();

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

&НаКлиенте

Процедура РасчетСуммыСтроки()

ДанныеТекущейСтроки = Элементы.Товары.ТекущиеДанные;

ДанныеТекущейСтроки.Сумма = ДанныеТекущейСтроки.Цена * ДанныеТекущейСтроки.Количество;

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

&НаКлиенте

Процедура ТоварыНоменклатураПриИзменении(Элемент)

Строка = Элементы.Товары.ТекущиеДанные;

Строка.ЕдИзм = ПолучитьДанные(Строка.Номенклатура);

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

&НаСервере

Функция ПолучитьДанные(Ссылка)

Возврат Ссылка.ЕдиницаИзмерения;

КонецФункции

Код документа " РасходПродуктов"

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

// регистр РегистрУчетПродуктов Расход

Движения.РегистрУчетПродуктов.Записывать = Истина;

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

Движение = Движения.РегистрУчетПродуктов.Добавить();

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

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

Движение.Организация = Справочники.Организация.НайтиПоКоду("000000001");

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

Движение.Магазин = Магазин;

Движение.Партия = Ссылка;

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

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

КонецЦикла;

// регистр РегистрУчетПродуктовОб

Движения.РегистрУчетПродуктовОб.Записывать = Истина;

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

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

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

Движение.Организация = Справочники.Организация.НайтиПоКоду("000000001");

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

Движение.Магазин = Магазин;

Движение.Партия = Ссылка;

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

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

КонецЦикла;

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

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

Всего = ЭтотОбъект.Товары.Итог("Сумма");

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

//---------------------------------------------------------------------------------------

////////////////////////////////////////////////////////////////////////////////

// ПЕРЕМЕННЫЕ МОДУЛЯ

Перем Запись, Документ;

&НаКлиенте

Процедура ТоварыЦенаПриИзменении(Элемент)

РасчетСуммыСтроки();

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

&НаКлиенте

Процедура РасчетСуммыСтроки()

ДанныеТекущейСтроки = Элементы.Товары.ТекущиеДанные;

ДанныеТекущейСтроки.Сумма = ДанныеТекущейСтроки.Цена * ДанныеТекущейСтроки.Количество;

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

&НаКлиенте

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

РасчетСуммыСтроки();

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

&НаКлиенте

Процедура ДатаПриИзменении(Элемент) Экспорт

Для Итератор = 1 По Объект.Товары.Количество() Цикл

СтрокаТЗ = Объект.Товары[Итератор-1];

СтрокаТЗ.Цена = МагазинПродуктов.ПолучитьСреднЦенуТоваров(Объект.Дата, Объект.Магазин, СтрокаТЗ.Номенклатура);

КонецЦикла;

РасчетСуммыСтроки();

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

&НаКлиенте

Процедура ТоварыНоменклатураПриИзменении(Элемент)

Строка = Элементы.Товары.ТекущиеДанные;

Строка.ЕдИзм = ПолучитьДанные(Строка.Номенклатура);

Строка.Цена = МагазинПродуктов.ПолучитьСреднЦенуТоваров(Объект.Дата, Объект.Магазин, Строка.Номенклатура);

РасчетСуммыСтроки();

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

&НаСервере

Функция ПолучитьДанные(Ссылка)

Возврат Ссылка.ЕдиницаИзмерения;

КонецФункции

Код документа "ПоступлениеПродуктов"

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

ВсегоКоличество = ЭтотОбъект.Товары.Итог("Количество");

ВсегоСумма = ЭтотОбъект.Товары.Итог("Сумма");

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

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

// регистр ОсновнойРегистрБухгалтерии

Движения.ОсновнойРегистрБухгалтерии.Записывать = Истина;

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

Движение = Движения.ОсновнойРегистрБухгалтерии.Добавить();

Движение.СчетДт = ПланыСчетов.ОсновнойПланСчетов.Товары;

Движение.СчетКт = ПланыСчетов.ОсновнойПланСчетов.РасчетыСПоставщикамиИПодрядчиками;

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

Движение.Организация = Справочники.Организация.НайтиПоКоду("000000001");

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

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

Движение.Содержание = "Покупка товаров";

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Товары] = ТекСтрокаТовары.Номенклатура;

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Склады] = Магазин;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Организация] = Поставщик;

КонецЦикла;

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

//---------------------------------------------------------------------------------------

&НаСервере

Функция ПолучитьЕдИзм(Ссылка)

Возврат Ссылка.ЕдиницаИзмерения;

КонецФункции

&НаКлиенте

Процедура ТоварыНоменклатураПриИзменении(Элемент)

Строка = Элементы.Товары.ТекущиеДанные;

Строка.ЕдИзм = ПолучитьЕдИзм(Строка.Номенклатура);

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

&НаКлиенте

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

Строка = Элементы.Товары.ТекущиеДанные;

Строка.Сумма = Строка.Цена * Строка.Количество;

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

&НаКлиенте

Процедура ТоварыСуммаПриИзменении(Элемент)

Строка = Элементы.Товары.ТекущиеДанные;

Строка.Цена = Строка.Сумма / Строка.Количество;

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

&НаКлиенте

Процедура ТоварыЦенаПриИзменении(Элемент)

Строка = Элементы.Товары.ТекущиеДанные;

Строка.Сумма = Строка.Цена * Строка.Количество;

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

&НаКлиенте

Процедура СформироватьПрихОрдер(Команда)

СформироватьПО();

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

&НаСервере

Процедура СформироватьПО()

НовыйПО = Документы.ПриходПродуктов.СоздатьДокумент();

НовыйПО.Дата = Объект.Дата;

НовыйПО.Магазин = Объект.Магазин;

НовыйПО.Основание = Объект.Ссылка;

ТаблЧастьПО = НовыйПО.Товары;

ТаблЧастьРезультат = Объект.Товары;

Для каждого СтрокаТаблЧастьРез Из ТаблЧастьРезультат Цикл

НоваяСтрока = ТаблЧастьПО.Добавить();

НоваяСтрока.Номенклатура = СтрокаТаблЧастьРез.Номенклатура;

НоваяСтрока.ЕдИзм = ПолучитьЕдИзм(СтрокаТаблЧастьРез.Номенклатура);

НоваяСтрока.Количество = СтрокаТаблЧастьРез.Количество;

НоваяСтрока.Цена = СтрокаТаблЧастьРез.Цена;

НоваяСтрока.Сумма = СтрокаТаблЧастьРез.Сумма;

КонецЦикла;

НовыйПО.Записать();

Сообщить("Создан приходный ордер №"+ ЗначениеВСтрокуВнутр(НовыйПО.Номер), СтатусСообщения.Внимание);

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

Код документа "РеализацияПродуктов"

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

ВсегоКоличество = ЭтотОбъект.Товары.Итог("Количество");

ВсегоСумма = ЭтотОбъект.Товары.Итог("Сумма");

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

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

// регистр ОсновнойРегистрБухгалтерии

Движения.ОсновнойРегистрБухгалтерии.Записывать = Истина;

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

Движение = Движения.ОсновнойРегистрБухгалтерии.Добавить();

Движение.СчетДт = ПланыСчетов.ОсновнойПланСчетов.РасчетыСПокупателямиИПодрядчиками;

Движение.СчетКт = ПланыСчетов.ОсновнойПланСчетов.Товары;

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

Движение.Организация = Справочники.Организация.НайтиПоКоду("000000001");

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

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

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

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Организация] = Покупатель;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Склады] = Магазин;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Товары] = ТекСтрокаТовары.Номенклатура;

КонецЦикла;

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

//---------------------------------------------------------------------------------------

&НаКлиенте

Процедура ДатаПриИзменении(Элемент) //пересчитывает среднюю цену при изменении даты

Для Итератор = 1 По Объект.Товары.Количество() Цикл

СтрокаТЗ = Объект.Товары[Итератор-1];

СтрокаТЗ.Цена = МагазинПродуктов.ПолучитьСреднЦенуТоваров(Объект.Дата, Объект.Магазин, СтрокаТЗ.Номенклатура);

СтрокаТЗ.Сумма = СтрокаТЗ.Цена * СтрокаТЗ.Количество;

КонецЦикла;

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

&НаКлиенте

Процедура СкладПриИзменении(Элемент)

Для Итератор = 1 По Объект.Товары.Количество() Цикл

СтрокаТЗ = Объект.Товары[Итератор-1];

СтрокаТЗ.Цена = МагазинПродуктов.ПолучитьСреднЦенуТоваров(Объект.Дата, Объект.Магазин, СтрокаТЗ.Номенклатура);

СтрокаТЗ.Сумма = СтрокаТЗ.Цена * СтрокаТЗ.Количество;

КонецЦикла;

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

&НаСервере

Функция ПолучитьЕдИзм(Ссылка)

Возврат Ссылка.ЕдиницаИзмерения;

КонецФункции

&НаКлиенте

Процедура ТоварыНоменклатураПриИзменении(Элемент)

Строка = Элементы.Товары.ТекущиеДанные;

Строка.ЕдИзм = ПолучитьЕдИзм(Строка.Номенклатура);

Строка.Цена = МагазинПродуктов.ПолучитьСреднЦенуТоваров(Объект.Дата, Объект.Магазин, Строка.Номенклатура);

Строка.Сумма = Строка.Цена * Строка.Количество;

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

&НаКлиенте

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

Строка = Элементы.Товары.ТекущиеДанные;

Строка.Сумма = Строка.Цена * Строка.Количество;

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

&НаКлиенте

Процедура СформироватьРасхОрдер(Команда)

СформироватьРО();

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

&НаСервере

Процедура СформироватьРО()

//Перебор строк табличной части документа

НовыйРО = Документы.РасходПродуктов.СоздатьДокумент();

НовыйРО.Дата = Объект.Дата;

НовыйРО.Магазин = Объект.Магазин;

НовыйРО.Основание = Объект.Ссылка;

ТаблЧастьРО = НовыйРО.Товары;

ТаблЧастьРезультат = Объект.Товары;

Для каждого СтрокаТаблЧастьРез Из ТаблЧастьРезультат Цикл

НоваяСтрока = ТаблЧастьРО.Добавить();

НоваяСтрока.Номенклатура = СтрокаТаблЧастьРез.Номенклатура;

НоваяСтрока.ЕдИзм = ПолучитьЕдИзм(СтрокаТаблЧастьРез.Номенклатура);

НоваяСтрока.Количество = СтрокаТаблЧастьРез.Количество;

НоваяСтрока.Цена = МагазинПродуктов.ПолучитьСреднЦенуТоваров(НовыйРО.Дата, НовыйРО.Магазин, СтрокаТаблЧастьРез.Номенклатура);

НоваяСтрока.Сумма = НоваяСтрока.Цена * НоваяСтрока.Количество;

КонецЦикла;

НовыйРО.Записать();

Сообщить("Создан расходный ордер №"+ ЗначениеВСтрокуВнутр(НовыйРО.Номер), СтатусСообщения.Внимание);

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

Код документа " ПередачаВМагазин"

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

ВсегоКоличество = ЭтотОбъект.Товары.Итог("Количество");

ВсегоСумма = ЭтотОбъект.Товары.Итог("Сумма");

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

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

// регистр ОсновнойРегистрБухгалтерии

Движения.ОсновнойРегистрБухгалтерии.Записывать = Истина;

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

Движение = Движения.ОсновнойРегистрБухгалтерии.Добавить();

Движение.СчетДт = ПланыСчетов.ОсновнойПланСчетов.Товары;

Движение.СчетКт = ПланыСчетов.ОсновнойПланСчетов.Товары;

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

Движение.Организация = Справочники.Организация.НайтиПоКоду("000000001");

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

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

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

Движение.Содержание = "Перемещение товаров";

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Товары] = ТекСтрокаТовары.Номенклатура;

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Склады] = МагазинПринимающий;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Товары] = ТекСтрокаТовары.Номенклатура;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Склады] = МагазинПередающий;

КонецЦикла;

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

//---------------------------------------------------------------------------------------

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

ВсегоКоличество = ЭтотОбъект.Товары.Итог("Количество");

ВсегоСумма = ЭтотОбъект.Товары.Итог("Сумма");

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

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

// регистр ОсновнойРегистрБухгалтерии

Движения.ОсновнойРегистрБухгалтерии.Записывать = Истина;

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

Движение = Движения.ОсновнойРегистрБухгалтерии.Добавить();

Движение.СчетДт = ПланыСчетов.ОсновнойПланСчетов.Товары;

Движение.СчетКт = ПланыСчетов.ОсновнойПланСчетов.Товары;

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

Движение.Организация = Справочники.Организация.НайтиПоКоду("000000001");

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

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

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

Движение.Содержание = "Перемещение товаров";

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Товары] = ТекСтрокаТовары.Номенклатура;

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Склады] = МагазинПринимающий;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Товары] = ТекСтрокаТовары.Номенклатура;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Склады] = МагазинПередающий;

КонецЦикла;

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

Код обработки " ДанныеОПродуктах "

&НаКлиенте

Процедура КонецПериодаПриИзменении(Элемент)

КонецПериода = КонецДня(КонецПериода);

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

&НаКлиенте

Процедура Сформировать(Команда)

ПолучитьОстаткиТоваров();

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

&НаСервере

Процедура ПолучитьОстаткиТоваров()

Если Не ЗначениеЗаполнено(Дата) Тогда

Сообщить("Введите дату для отбора данных!", СтатусСообщения.Внимание);

Возврат;

КонецЕсли;

Момент = Новый Граница(КонецДня(Дата), ВидГраницы.Включая);

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

Запрос.Текст =

"ВЫБРАТЬ

| Остатки.Счет КАК Счет,

| Остатки.Субконто1 КАК Магазин,

| Остатки.Субконто2 КАК Номенкл,

| Остатки.КоличествоОстатокДт КАК Количество,

| Остатки.СуммаОстатокДт КАК Сумма

|ИЗ

| РегистрБухгалтерии.ОсновнойРегистрБухгалтерии.Остатки(&Момент, Счет = &Счет, , Субконто1 = &Магазин ) КАК Остатки";

Запрос.УстановитьПараметр("Момент", Момент);

Запрос.УстановитьПараметр("Счет", ПланыСчетов.ОсновнойПланСчетов.Товары);

Запрос.УстановитьПараметр("Магазин", Магазин);

Результат = Запрос.Выполнить();

Остатки = Результат.Выбрать();

ТЗ2.Очистить();

Пока Остатки.Следующий() Цикл

НоваяСтрока = ТЗ2.Добавить();

НоваяСтрока.Магазин = Остатки.Магазин;

НоваяСтрока.Номенклатура = Остатки.Номенкл;

НоваяСтрока.Количество = Остатки.Количество;

НоваяСтрока.Сумма = Остатки.Сумма;

КонецЦикла;

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

&НаКлиенте

Процедура Сформировать2(Команда)

ПолучитьОтчёт();

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

&НаСервере

Процедура ПолучитьОтчёт()

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

Запрос.Текст =

"ВЫБРАТЬ

| ОснРегистрБухОстаткиИОбороты.Счет КАК Счет,

| ОснРегистрБухОстаткиИОбороты.Субконто1 КАК Магазин,

| ОснРегистрБухОстаткиИОбороты.Субконто2 КАК Номенкл,

| ОснРегистрБухОстаткиИОбороты.КоличествоНачальныйОстатокДт КАК НачОст,

| ОснРегистрБухОстаткиИОбороты.КоличествоОборотДт КАК Приход,

| ОснРегистрБухОстаткиИОбороты.КоличествоОборотКт КАК Расход,

| ОснРегистрБухОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КонОст

|ИЗ

| РегистрБухгалтерии.ОсновнойРегистрБухгалтерии.ОстаткиИОбороты(

| &НачалоПериода,

| &КонецПериода,

| ) КАК ОснРегистрБухОстаткиИОбороты

|ГДЕ

| Субконто1 = &Магазин";

Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);

Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));

Запрос.УстановитьПараметр("Магазин",Магазин);

Результат = Запрос.Выполнить();

ТаблицаРезультат = Результат.Выгрузить();

ТЗ3.Очистить();

Для Каждого СтрокаТаблицаРезультат Из ТаблицаРезультат Цикл

НоваяСтрока = ТЗ3.Добавить();

НоваяСтрока.Номенклатура = СтрокаТаблицаРезультат.Номенкл;

НоваяСтрока.НачальноеКоличество = СтрокаТаблицаРезультат.НачОст;

НоваяСтрока.Приход = СтрокаТаблицаРезультат.Приход;

НоваяСтрока.Расход = СтрокаТаблицаРезультат.Расход;

НоваяСтрока.КонечноеКоличество = СтрокаТаблицаРезультат.КонОст;

КонецЦикла;

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

&НаСервере

Процедура ОстаткиНоменклатуры()

Если Не ЗначениеЗаполнено(Номенклатура) или Не ЗначениеЗаполнено(Дата) Тогда

Сообщить("Введите дату и выберите номенклатуру для отбора!", СтатусСообщения.Внимание);

Возврат;

КонецЕсли;

Момент = Новый Граница(КонецДня(Дата), ВидГраницы.Включая);

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

Запрос.Текст =

"ВЫБРАТЬ

| УчТоварОст.Номенклатура КАК Номенклатура,

| УчТоварОст.КоличествоОстаток КАК Количество,

| УчТоварОст.СуммаОстаток КАК Сумма,

| УчТоварОст.Партия

|ИЗ

| РегистрНакопления.РегистрУчетПродуктов.Остатки(&Момент, ) КАК УчТоварОст

|ГДЕ

| УчТоварОст.Номенклатура = &Номенклатура

| И УчТоварОст.КоличествоОстаток >= 0";

Запрос.УстановитьПараметр("Момент", Момент);

Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

Результат = Запрос.Выполнить();

ТаблицаРезультат = Результат.Выгрузить();

ТЗ.Очистить();

Для Каждого СтрокаТаблицаРезультат Из ТаблицаРезультат Цикл

НоваяСтрока = ТЗ.Добавить();

НоваяСтрока.ДокументОснование = СтрокаТаблицаРезультат.Партия;

НоваяСтрока.Количество = СтрокаТаблицаРезультат.Количество;

НоваяСтрока.Сумма = СтрокаТаблицаРезультат.Сумма;

КонецЦикла;

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

&НаКлиенте

Процедура Сформировать3(Команда)

ОстаткиНоменклатуры();

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

Код обработки " СкладскаяКарточка "

&НаКлиенте

Процедура Сформировать(Команда)

ПолучитьОтчёт();

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

&НаСервере

Процедура ПолучитьОтчёт()

Если Не ЗначениеЗаполнено(Номенклатура) или Не ЗначениеЗаполнено(НачалоПериода)

или Не ЗначениеЗаполнено(КонецПериода) или Не ЗначениеЗаполнено(Склад) Тогда

Сообщить("Введите условия для отбора!", СтатусСообщения.Внимание);

Возврат;

КонецЕсли;

ТЗ3.Очистить();

Момент = Новый Граница(НачалоДня(НачалоПериода), ВидГраницы.Исключая);

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

Запрос.Текст =

"ВЫБРАТЬ

| УчТоварОст.Номенклатура КАК Номенклатура,

| УчТоварОст.КоличествоОстаток КАК Количество,

| УчТоварОст.СуммаОстаток КАК Сумма

|ИЗ

| РегистрНакопления.РегистрУчетПродуктов.Остатки(

| &Момент,

| ) КАК УчТоварОст

|ГДЕ

| Номенклатура = &Номенклатура и

| Магазин = &Магазин";

Запрос.УстановитьПараметр("Момент", Момент);

Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

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

Результат = Запрос.Выполнить();

ТаблицаРезультат = Результат.Выгрузить();

НоваяСтрока = ТЗ3.Добавить();

НоваяСтрока.Партия = "-------Начальный Остаток-------";

Для Каждого СтрокаТаблицаРезультат Из ТаблицаРезультат Цикл

НоваяСтрока.Количество = СтрокаТаблицаРезультат.Количество;

НоваяСтрока.Сумма = СтрокаТаблицаРезультат.Сумма;

КонецЦикла;

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

Запрос.Текст =

"ВЫБРАТЬ

| РегУчТоваровОб.Номенклатура КАК Номенклатура,

| РегУчТоваровОб.Партия КАК ДокументОснование,

| РегУчТоваровОб.КоличествоОборот КАК Количество,

| РегУчТоваровОб.СуммаОборот КАК Сумма

|ИЗ

| РегистрНакопления.РегистрУчетПродуктов.Обороты(

| &НачалоПериода,

| &КонецПериода,

| ) КАК РегУчТоваровОб

|ГДЕ

| Магазин = &Магазин и

| Номенклатура = &Номенклатура

|УПОРЯДОЧИТЬ ПО

| ДокументОснование Возр";

Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);

Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));

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

Запрос.УстановитьПараметр("Номенклатура",Номенклатура);

Результат = Запрос.Выполнить();

ТаблицаРезультат = Результат.Выгрузить();

Для Каждого СтрокаТаблицаРезультат Из ТаблицаРезультат Цикл

НоваяСтрока = ТЗ3.Добавить();

НоваяСтрока.Партия = СтрокаТаблицаРезультат.ДокументОснование;

НоваяСтрока.Количество = СтрокаТаблицаРезультат.Количество;

НоваяСтрока.Сумма = СтрокаТаблицаРезультат.Сумма;

КонецЦикла;

Момент = Новый Граница(НачалоДня(КонецПериода), ВидГраницы.Включая);

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

Запрос.Текст =

"ВЫБРАТЬ

| УчТоварОст.Номенклатура КАК Номенклатура,

| УчТоварОст.КоличествоОстаток КАК Количество,

| УчТоварОст.СуммаОстаток КАК Сумма

|ИЗ

| РегистрНакопления.РегистрУчетПродуктов.Остатки(

| &Момент,

| ) КАК УчТоварОст

|ГДЕ

| Номенклатура = &Номенклатура и

| Магазин = &Магазин";

Запрос.УстановитьПараметр("Момент", Момент);

Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

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

Результат = Запрос.Выполнить();

ТаблицаРезультат = Результат.Выгрузить();

НоваяСтрока = ТЗ3.Добавить();

НоваяСтрока.Партия = "-------Конечный Остаток-------";

Для Каждого СтрокаТаблицаРезультат Из ТаблицаРезультат Цикл

НоваяСтрока.Количество = СтрокаТаблицаРезультат.Количество;

НоваяСтрока.Сумма = СтрокаТаблицаРезультат.Сумма;

КонецЦикла;

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