Федеральное государственное автономное образовательное учреждение высшего образования «СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» Институт космических и информационных технологий институт Вычислительная техника кафедра УТВЕРЖДАЮ Заведующий кафедрой ________А.И. Легалов подпись инициалы, фамилия « _____» _______ 20 ___ г. ДИПЛОМНЫЙ ПРОЕКТ 230101.65 «Вычислительные машины, комплексы, системы и сети» код и наименование специальности Разработка конфигурации для малых торговых предприятий на базе 1С Предприятие 8.3 тема Пояснительная записка Руководитель __________ доцент, к.т.н. М.С. Медведев подпись, дата должность, ученая степень инициалы, фамилия Выпускник __________ ЗКИ 10-01 030904714 Н.Ю. Иванов подпись, дата номер группы номер зачетной книжки инициалы, фамилия Нормоконтролер __________ подпись, дата доцент, к.т.н. должность, ученая степень Красноярск 2016 В.И. Иванов инициалы, фамилия Федеральное государственное автономное образовательное учреждение высшего образования «СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» Институт космических и информационных технологий институт Вычислительная техника кафедра УТВЕРЖДАЮ Заведующий кафедрой ________ А.И. Легалов подпись инициалы, фамилия « _____» _______ 20 ___ г. ЗАДАНИЕ НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ в форме дипломного проекта Студенту: Иванову Николаю Юрьевичу фамилия, имя, отчество Группа ЗКИ 10-01 Направление (специальность) 230101.65 номер код Вычислительные машины, комплексы, системы и сети наименование Тема выпускной квалификационной работы: Разработка конфигурации для малых торговых предприятий на базе 1С Предприятие 8.3 Утверждена приказом по университету № 4042/с от 24.03.2016 г. Руководитель ВКР М.С. Медведев, доцент, к.т.н., СФУ ИКИТ, Кафедра ВТ инициалы, фамилия, должность, ученое звание и место работы Исходные данные для ВКР Техническое задание от ООО «Верное направление» Перечень разделов ВКРТехническое задание, Разработка программного обеспечения конфигурации для малых торговых предприятийна базе 1С Предприятие 8.3 Перечень графического материала _______________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Руководитель ВКР М.С. Медведев ___________ подпись инициалы, фамилия Задание принял к исполнению ___________ подпись Н.Ю. Иванов инициалы, фамилия « 01 » февраля 2016 г. РЕФЕРАТ Пояснительная записка дипломного проекта по теме «Разработка конфигурации для малых торговых предприятий на базе 1С Предприятие 8.3» содержит 63 страницы текстового документа, 25 иллюстраций так же, 1 таблицу, 9 использованных источников. Ключевые слова: 1С, 1С Предприятие,1С 8.3, Мини-склад, Торговая мини-система. Основные задачи дипломного проекта: - анализ и детализация требований к разрабатываемой конфигурации; - анализ и сравнение с существующими решениями; - проектирование структуры конфигурации - реализация решения на базе 1С Предприятие 8.3 Основные требования к разрабатываемой конфигурации: - автоматизация вычислений и ввода данных; - реализация проверки правильности заполнения документов и регистров; - Возможность формирования печатной формы для всех документов - простой и удобный пользовательский интерфейс. В результате выполнения дипломного проекта был произведен анализ существующих систем, выявлены их достоинства и недостатки. В ходе работы были разработаны структурная схема системы, алгоритмы функционирования системы. В результате была разработана полноценная конфигурация на базе 1С Предприятие 8.3. СОДЕРЖАНИЕ Введение ................................................................................................................. 5 1 Техническое задание на разработку конфигурации ....................................... 7 1.1 Техническое задание на разработку .......................................................... 7 1.2 Структурная схема конфигурации ............................................................ 9 1.3 UML диаграмма состояний ........................................................................ 10 1.4 Полный список объектов конфигурации .................................................. 11 1.5 Анализ технического задания .................................................................... 13 2 Разработка программного обеспечения конфигурации для малых торговых предприятий на базе 1С Предприятие 8.3 ...................................... 16 2.1 Подсистемы ................................................................................................. 16 2.2 Справочники ................................................................................................ 16 2.2.1 Справочник «Организация» ................................................................ 16 2.2.2 Справочник «Склады» ......................................................................... 18 2.2.3 Справочник «Номенклатура» ............................................................. 19 2.2.4 Справочник «Контрагенты»................................................................ 20 2.2.5 Справочник «Сотрудники» ................................................................. 22 2.2.6 Справочник «Должности»................................................................... 23 2.2.7 Справочник «Ставка НДС» ................................................................. 24 2.2.8 Справочник «Типы цен» ..................................................................... 24 2.3 Перечисления............................................................................................... 24 2.3.1 Перечисление «Тип организации» ..................................................... 24 2.3.2 Перечисление «Вид номенклатуры» .................................................. 25 2.3.3 Перечисление «Организационная форма» ........................................ 25 2.4 Документы ................................................................................................... 25 ДП - 230101.65 - ПЗ Изм. Лист № докум. Разраб. Иванов Н. Ю. Провер. Медведев М.С. Н. Контр. Иванов В.И. Легалов А.И. Утв. Подпись Дата Разработка конфигурации для малых торговых предприятий на базе 1С Предприятие 8.3 Записка пояснительная Лит. Лист 2 ВТ Листов 2.4.1 Документ «Установка начальных остатков» .................................... 25 2.4.2 Документ «Установка цен номенклатуры» ....................................... 26 2.4.3 Документ «Приходная накладная» .................................................... 28 2.4.4 Документ «Расходная накладная» ...................................................... 29 2.4.5 Документ «Инвентаризация» .............................................................. 31 2.4.6 Документ «Перемещение товара по складам» .................................. 34 2.4.7 Документ «Услуги сторонних организаций» .................................... 37 2.5 Регистры ....................................................................................................... 39 2.5.1 Регистр накопления «Остатки» .......................................................... 39 2.5.2 Регистр сведений «Регистр цены»...................................................... 43 2.6 Реализация модуля объекта документа «Расходная накладная» ........... 44 2.7 Реализация модуля объекта документа «Перемещение товара по складам» ........................................................... 45 2.8 Интерфейс Администратора ...................................................................... 45 2.9 Интерфейс продавца ................................................................................... 45 Список сокращений .............................................................................................. 47 Заключение ............................................................................................................ 48 Список используемых источников ...................................................................... 49 Приложение А Структурная схема конфигурации ........................................... 50 Приложение Б Листинг модуля формы документа «Инвентаризация» ......... 51 Приложение В Листинг модуля объекта документа «Расходная накладная» .................................................................. 53 Приложение Г Листинг модуля объекта документа «Перемещение товара по складам» .............................................. 56 Приложение Д Листинг модуля формы документа «Приходная накладная» ................................................................ 59 Приложение Е Листинг общих модулей............................................................ 60 Приложение Ж Блок-схема модуля объекта документа «Расходная накладная» ................................................................... 62 Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 3 1 Приложение И Блок-схема модуля объекта документа «Перемещение товара по складам» .............................................. 63 Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 4 1 ВВЕДЕНИЕ В данный момент лидером по разработке и продаже готовых решений для управления и учета на торговых предприятиях является компания «1С». Более того, кроме продажи типовых решений, «1С» позволяет сторонним программистам и разработчикам: - расширять и дорабатывать функционал типовых решений; - дорабатывать типовые решения под нужды конкретной организации; - создавать собственные конфигурации «с нуля». Однако продукты «1С» слабо распространены в малых и очень малых торговых предприятиях. Тому есть несколько причин: - высокая стоимость типовых решений; - необходимость обучения персонала работе в 1С; - необходимость периодического сопровождения программ 1С (обновление, тестирование и исправление ошибок); - необходимость Техническое приобретения Сопровождение (ИТС) подписки для на Информационное официального получения обновлений релизов конфигурации. В связи с вышесказанным становится актуальным вопрос создания бюджетных конфигураций «с нуля» с минимально необходимым и достаточным функционалом. Текущее решение как раз и создается «с нуля» и позволит организовать учет товаров по складам с возможностью проведения инвентаризации товаров и их перемещения между складами. А также учет различных услуг компании и услуг, которые для этой компании оказывают сторонние организации. Данная конфигурация автоматизирует создание различных отчетов позволяющих контролировать и анализировать все основные результаты работы организации. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 5 1 Также в конфигурации созданы и настроены нужные права доступа для различных пользователей, таких как: Администратор, Менеджер, Продавец. Конфигурация имеет простой и интуитивно понятный интерфейс, позволяющий обычному пользователю без проблем начать работать в ней. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 6 1 1 Техническое задание на разработку конфигурации 1.1 Техническое задание на разработку Разработать конфигурацию для управления торговлей организации (Магазин). Заполнение данных сделать на примере магазина, продающего канцелярию и оказывающего аналогичные услуги. Также учесть возможность наличия у организации нескольких точек. Основной функционал: 1 Установка начальных остатков. 1.1 Документ «Начальные остатки» (данные о наличии товаров на складах при начале работы с конфигурацией). 2 Система учета номенклатуры организации. 2.1 Документы (регистрация фактов хозяйственной деятельности): 2.1.1 «Приходная накладная» (ПН) (данные о поступлении товаров и указание затрат на их приобретение). 2.1.2 «Расходная накладная» (РН) (списание товаров со склада и отражение доходов). 2.1.3 «Установка цен номенклатуры» (указание размера цены для каждой номенклатуры). Учесть возможность указания 3 основных типов цен. 2.2 Регистры– регистрация изменений в БД с помощью документов: 2.2.1 «Остатки» (движения документов: «Установка начальных остатков», ПН, РН, «Перемещение товара по складам», «Списание недостач», «Оприходование излишков»). 2.2.2 «Продажи» (движения документа РН). 2.2.3 «Расходы» (движения документа ПН). 2.2.3 «Регистр цены» (движения документа «Установка цен номенклатуры»). 2.3 Отчеты: Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 7 1 2.3.1 Учет товаров по складам. 2.3.2 Анализ продаж. 2.3.3 Анализ расходов. 2.3.4 Прайс-лист товаров и услуг. 2.3.5 Отчет по продажам по каждому продавцу. 2.3.6 Рейтинг клиентов. 2.4 Дополнительно реализовать следующее: 2.4.1 Автоматическая подстановка цены и ставки НДС выбранной номенклатуры (ПН и РН). 2.4.2 Автоматический пересчет Суммы НДС и общей Суммы с НДС (ПН и РН). 2.4.3 Макет печатной формы. 2.4.4 Учесть, чтобы в регистр «Остатки» из всей номенклатуры прописывались только товары без услуг («Начальные остатки», ПН и РН). 2.4.5 Автоматическая проверка наличия выбранного товара на нужном складе при проведении РН и «Перемещение товара по складам». 3 Подсистема выполнения инвентаризации товаров по складам. 3.1 Документы: 3.1.1 «Инвентаризация товаров», с процедурой заполнения по выбранному складу ТЧ документа из регистра «Остатки». 3.1.2 «Оприходование излишков» (вводится на основании документа «Инвентаризация товаров» при появлении излишков, не учтенных в базе). 3.1.3 «Списание недостач»(вводится на основании документа «Инвентаризация товаров» при появлении недостачи товара на складе). 4 Подсистема выполнения перемещения товаров по складам. 4.1 Документ «Перемещение товара по складам». 5 Подсистема учета услуг сторонних организаций: 5.1 Документ «Поступление услуг сторонних организаций». 5.2 Регистр накопления «Услуги сторонних организаций». Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 8 1 5.3 Отчеты: 5.3.1 Поступление услуг по контрагентам, в котором будут выводиться суммы услуг каждым контрагентом. 5.4 Дополнительно реализовать печатную форму документа. 1.2 Структурная схема конфигурации На схеме, изображенной в приложении А, расписаны все справочники, документы, регистры и отчеты, использующиеся при создании конфигурации. А так же связи между ними. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 9 1 1.3 UML диаграмма состояний Данная диаграмма показывает основные варианты действий пользователя и конфигурации. Диаграмма изображена на рисунке 1. Рисунок 1 – UML диаграмма состояний Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 10 1 1.4 Полный список объектов конфигурации В конфигурации потребуется создать следующие объекты. Их список расписан в таблице 1. Таблица 1 – Список всех используемых объектов Тип объектов Наименование объектов - Начальные данные - Номенклатура Подсистемы - Бухгалтерия - Закупки - Продажи - Организация - Контрагенты - Номенклатура Справочники - Склады - Сотрудники - Должности - Ставки НДС - Типы цен - Тип организации Перечисления - Вид номенклатуры - Организационная форма Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 11 1 Продолжение таблицы 1 Тип объектов Наименование объектов - Установка начальных остатков - Установка цен номенклатуры - Приходная накладная - Расходная накладная Документы - Инвентаризация - Оприходование излишков - Списание недостач - Перемещение товара по складам. - Услуги сторонних организаций - Расходы (оборотный регистр) - Остатки (регистр остатков) Регистры - Продажи (оборотный регистр) - Регистр цены (регистр сведений) - Услуги Сторонних организаций Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 12 1 Окончание таблицы 1 Тип объектов Наименование объектов - Учет товаров по складам (Остатки и обороты) - Анализ продаж - Анализ расходов Отчеты - Цены номенклатуры (прайс-лист). - Продажи по каждому продавцу. - Рейтинг клиентов. - Поступление контрагентам, с услуг по выводом суммы услуг каждым контрагентом Роли и права - Администратор (полные права) - Продавец - Администратор Пользователи - Менеджер (как Администратор) - Продавец 1.5 Анализ технического задания В данный момент на рынке по продажам программных продуктов для малых торговых предприятий имеется хороший выбор решений на базе 1С Предприятие. Так сама компания 1С предоставляет такие типовые решения как: - "1С:Управление торговлей 8" (УТ) — это современный инструмент для повышения эффективности бизнеса торгового предприятия. "1С:Управление торговлей 8" позволяет в комплексе автоматизировать задачи оперативного и управленческого учета, анализа и планирования Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 13 1 торговых операций, обеспечивая тем самым эффективное управление современным торговым предприятием. - "1С:Управление небольшой фирмой 8" (УНФ) –это комплексное готовое решение для управления и учета на предприятиях малого бизнеса. В программе реализовано все самое необходимое для не фискального оперативного учета, контроля, анализа и планирования. Решение не перегружено излишним функционалом, его можно легко настроить на особенности организации управления и учета в компании – это обеспечивает возможность "быстрого старта" и удобство ежедневной работы. А компания «1С-Рарус» на базе «1С:Розница 8» сделала отраслевое решение «1С:Розница 8. Книжный магазин» предназначенное для комплексной автоматизации торговой деятельности одиночных и сетевых магазинов, ориентированных на продажу книжных и периодических изданий, аудио и видео, мультимедийной продукции. Это мощные, но в том числе дорогие и сложные решения. На данный момент стоимость УТ и УНФ ПРОФ версии одинакова и составляет 17400 рублей. Стоимость «1С:Розница 8. Книжный магазин» равна 26400 рублей. Кроме того, для подготовки сотрудника к работе с данными программными продуктами чаще всего приходится отправлять его на специализированные платные курсы. Средняя стоимость таких курсов составляет 5000 – 8000 рублей. Основное преимущество данной конфигурации - она легкая, без лишних механизмов и элементов интерфейса. Работать с ней просто и быстро. Оператора можно подготовить быстро. Подход к учету операций здесь намного проще, позволяет достичь сравнительно высокой скорости работы на обычных "домашних" компьютерах и ноутбуках. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 14 1 Конфигурация подойдѐт для автоматизации большого числа видов бизнеса на небольших, малых и очень малых предприятиях (сети в несколько торговых точек): - ларьки, лавки; - оптовые склады, торговля через интернет; - небольшие магазины; - предприятия оказания услуг, ремонтные мастерские, для учета работ бригад (строительных, монтажных и т.п.); Конфигурация не базируется на элементах бухгалтерского или налогового учета, не содержит средств регламентированной отчетности. Поэтому одинаково подходит предпринимателям России, Украины, других стран СНГ, Европы, стран ближнего и дальнего востока. Для ее работы необходима установленная платформа 1С Предприятие 8. Версии не ниже 8.3.6. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 15 1 2 Разработка программного обеспечения конфигурации для малых торговых предприятий на базе 1С Предприятие 8.3 2.1 Подсистемы В данной конфигурации создать 5 подсистем: - Начальные данные; - Номенклатура; - Бухгалтерия; - Закупки; - Продажи. И общий реквизит = Комментарий (Строка, Неограниченная, Автоиспользование = Использовать). 2.2 Справочники 2.2.1 Справочник «Организация» Имя и Синоним = Организация. Подсистемы = Бухгалтерия и Начальные данные. Длина наименования = 50. Реквизиты: - Имя = ТипОрганизации, Синоним = Тип организации (ссылка на перечисление «Тип организации»). Проверка заполнения = «Выдавать ошибку». - Имя = ОрганизационнаяФорма, Синоним = Организационная форма (ссылка на перечисление «Организационная форма»). Проверка заполнения = «Выдавать ошибку». Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 16 1 - Имя = ЮридическийАдрес, Синоним = Юридический адрес (строка, Неограниченная длина , Многострочный режим ). Проверка заполнения = «Выдавать ошибку». - Имя = ФактическийАдрес, Синоним = Фактический адрес (строка, Неограниченная длина , Многострочный режим ). Проверка заполнения = «Выдавать ошибку». - Имя ИНН_КПП, Синоним =ИНН/КПП (строка, 20). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Директор (Строка, 50). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Телефон (Строка, 20). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Email (Строка, 50). Получившийся интерфейс с заполненными данными изображен на рисунке 2. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 17 1 Рисунок 2 – Заполненный справочник «Организация» 2.2.2 Справочник «Склады» Имя и Синоним = Склады. Подсистемы = Номенклатура. Предопределенный склад = Главный. Реквизиты: - Имя и Синоним = Адрес (строка, Неограниченная длина , Многострочный режим ). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = МОЛ (ссылка на справочник «Сотрудники»). Проверка заполнения = «Выдавать ошибку». Получившийся интерфейс с заполненными данными изображен на рисунке 3. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 18 1 Рисунок 3 – Заполненный справочник «Склады» 2.2.3 Справочник «Номенклатура» Имя и Синоним = Номенклатура. Подсистемы = Номенклатура. Иерархический . Длина наименования = 50. Предопределенные группы = Товары, Услуги. Стандартному реквизиту «Родитель» задать Синоним = «Группа номенклатуры». Реквизиты: - Имя и Синоним = Описание (строка, 100). - Имя = СтавкаНДС, Синоним = Ставка НДС (ссылка на справочник «Ставки НДС»). Проверка заполнения = «Выдавать ошибку». - Имя = ВидНоменклатуры, Синоним = Вид номенклатуры (ссылка на перечисление «Вид номенклатуры»). Проверка заполнения = «Выдавать ошибку». Получившийся интерфейс с заполненными данными изображен на рисунке 4. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 19 1 Рисунок 4 – Заполненный справочник «Номенклатура» 2.2.4 Справочник «Контрагенты» Имя и Синоним = Контрагенты. Подсистемы = Бухгалтерия. Иерархический . Длина наименования = 50. Предопределенные группы = Покупатели, Поставщики. Стандартному реквизиту «Родитель» задать Синоним = «Группа контрагентов». Реквизиты: - Имя = ТипОрганизации, Синоним = Тип организации (ссылка на перечисление «Тип организации»). Проверка заполнения = «Выдавать ошибку». - Имя = ОрганизационнаяФорма, Синоним = Организационная форма (ссылка на перечисление «Организационная форма»). Проверка заполнения = «Выдавать ошибку». - Имя = ЮридическийАдрес, Синоним = Юридический адрес (строка, Неограниченная длина , Многострочный режим ). Проверка заполнения = «Выдавать ошибку». Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 20 1 - Имя = ФактическийАдрес, Синоним = Фактический адрес (строка, Неограниченная длина , Многострочный режим ). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним =ИНН/КПП (строка, 20). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Директор (Строка, 50). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Телефон (Строка, 20). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = E-mail (Строка, 50). Получившийся интерфейс с заполненными данными изображен на рисунке 5. Рисунок 5 – Заполненный справочник «Контрагенты» Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 21 1 2.2.5 Справочник «Сотрудники» Имя и Синоним = Сотрудники. Подсистемы = Бухгалтерия. Длина наименования = 50. Реквизиты: - Имя и Синоним = Должность (ссылка на справочник «Должности»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Зарплата (Число, 10, 2, Неотрицательное). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Телефон (Строка, 20). Проверка заполнения = «Выдавать ошибку». - Имя = ДатаРождения, Синоним = Дата рождения (Дата, Состав даты = Дата). - Имя = СерияПаспорта, Синоним = Серия паспорта (Строка, 4). Проверка заполнения = «Выдавать ошибку». - Имя = НомерПаспорта, Синоним = Номер паспорта (Число, 6, Неотрицательное). Проверка заполнения = «Выдавать ошибку». - Имя = ДатаВыдачи, Синоним = Дата выдачи (Дата, Состав даты = Дата). Проверка заполнения = «Выдавать ошибку». - Имя = КемВыдан, Синоним = Кем выдан (Строка, 100). Проверка заполнения = «Выдавать ошибку». Получившийся интерфейс с заполненными данными изображен на рисунке 6. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 22 1 Рисунок 6 – Заполненный справочник «Сотрудники» 2.2.6 Справочник «Должности» Имя и Синоним = Должности. Подсистемы = Бухгалтерия. Длина наименования = 50. Реквизиты: отсутствуют. Получившийся интерфейс с заполненными данными изображен на рисунке 7. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 23 1 Рисунок 7 – Заполненный справочник «Должности» 2.2.7 Справочник «Ставка НДС» Имя = СтавкаНДС, Синоним = Ставка НДС. Подсистемы = Номенклатура. Длина наименования = 5. Реквизиты: - Имя и Синоним = Значение (Число, 2, Неотрицательное). Проверка заполнения = «Выдавать ошибку». 2.2.8 Справочник «Типы цен» Имя = ТипыЦен, Синоним = Типы цен. Подсистемы = Номенклатура. 2.3 Перечисления 2.3.1 Перечисление «Тип организации» Имя = ТипОрганизации, синоним = Тип организации. Подсистемы = Бухгалтерия. Значения: Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 24 1 - Юридическое лицо - Физическое лицо 2.3.2 Перечисление «Вид номенклатуры» Имя = ВидНоменклатуры, Синоним = Вид номенклатуры. Подсистемы = Номенклатура. Значения: - Товар - Услуга 2.3.3 Перечисление «Организационная форма» Имя = ОрганизационнаяФорма, синоним = Организационная форма. Подсистемы = Бухгалтерия. Значения: - ООО - ПАО - АО - ИП 2.4 Документы 2.4.1 Документ «Установка начальных остатков» Имя = УстановкаНачальныхОстатков, Синоним = Установка начальных остатков. Подсистемы = Начальные данные. Реквизиты: Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 25 1 - Имя и Синоним = Организация (ссылка на справочник «Организации»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Склад (ссылка на справочник «Склады»). Проверка заполнения = «Выдавать ошибку». Реквизиты табличной части (Имя и Синоним = Материалы): - Имя и Синоним = Товар (ссылка на справочник «Номенклатура»); - Имя и Синоним = Количество (Число, 10, Неотрицательное); Получившийся интерфейс с заполненными данными изображен на рисунке 8. Рисунок 8 – Заполненный документ «Установка начальных остатков» 2.4.2 Документ «Установка цен номенклатуры» Имя = УстановкаЦенНоменклатуры, Синоним = Установка цен номенклатуры. Подсистемы = Начальные данные и Номенклатура. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 26 1 Реквизиты: - Имя и Синоним = Организация (ссылка на справочник «Организации»). Проверка заполнения = «Выдавать ошибку». - Имя = ТипЦены, Синоним = Тип цены (ссылка на справочник «Типыцен»). Проверка заполнения = «Выдавать ошибку». Реквизиты табличной части (Имя и Синоним =ТоварыИУслуги): - Имя и Синоним = Номенклатура (ссылка на справочник «Номенклатура»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Цена (Число, 10, 2, Неотрицательное). Проверка заполнения = «Выдавать ошибку». Получившийся интерфейс с заполненными данными изображен на рисунке 9. Рисунок 9 – Заполненный документ «Установка цен номенклатуры» Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 27 1 2.4.3 Документ «Приходная накладная» Имя = ПриходнаяНакладная, Синоним = Приходная накладная. Подсистемы = Закупки. Реквизиты: - Имя и Синоним = Поставщик (ссылка на справочник «Контрагенты»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Склад (ссылка на справочник «Склады»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Организация (ссылка на справочник «Организации»). Проверка заполнения = «Выдавать ошибку». - Имя = ОтветственноеЛицо, Синоним = Ответственное лицо (ссылка на справочник «Сотрудники»). Проверка заполнения = «Выдавать ошибку». - Имя = ТипЦены, Синоним = Тип цены, (ссылка на справочник «ТипыЦен»). Проверка заполнения = «Выдавать ошибку». Реквизиты табличной части (Имя и Синоним = Материалы): - Имя и Синоним = Наименование (ссылка на справочник «Номенклатура»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Количество (Число, 10, Неотрицательное). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Цена (Число, 10, 2, Неотрицательное). - Имя = СтавкаНДС, Синоним = Ставка НДС (ссылка на справочник «Ставка НДС»). - Имя = СуммаНДС, Синоним = Сумма НДС (Число, 10, 2, Неотрицательное). - Имя и Синоним = Сумма (Число, 15, 2, Неотрицательное). В ФОРМЕ ДОКУМЕНТА: Цена; Ставка НДС; Сумма НДС; Сумма -> Свойства: «Только просмотр». Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 28 1 Перенести Комментарий под таблицу. Создать две группы в форме: Имя = Группа 1, заголовок = (пустой), Вид = Обычная группа, Группировка = Горизонтальная, Ширина… = Авто. Перетащить в эту группу «Номер», «Дата» и «Организация». Имя = Группа2, заголовок = (пустой), Вид = Обычная группа, Группировка = Горизонтальная, Ширина… = Авто. Перетащить в эту группу «Поставщик», «Склад» и «ТипЦены». Получившийся интерфейс с заполненными данными изображен на рисунке 10. Рисунок 10 – Заполненный документ «Приходная накладная» 2.4.4 Документ «Расходная накладная» Имя = РасходнаяНакладная, Синоним = Расходная накладная. Подсистемы = Продажи. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 29 1 Реквизиты: - Имя и Синоним = Покупатель(ссылка на справочник «Контрагенты»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Склад (ссылка на справочник «Склады»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Организация (ссылка на справочник «Организации»). Проверка заполнения = «Выдавать ошибку». - Имя = ОтветственноеЛицо, Синоним = Ответственное лицо (ссылка на справочник «Сотрудники»). Проверка заполнения = «Выдавать ошибку». - Имя = ТипЦены, Синоним = Тип цены, (ссылка на справочник «ТипыЦен»). Проверка заполнения = «Выдавать ошибку». Реквизиты табличной части (Имя и Синоним = Материалы): - Имя и Синоним = Наименование (ссылка на справочник «Номенклатура»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Количество (Число, 10, Неотрицательное). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Цена (Число, 10, 2, Неотрицательное). - Имя = СтавкаНДС, Синоним = Ставка НДС (ссылка на справочник «Ставка НДС»). - Имя = СуммаНДС, Синоним = Сумма НДС (Число, 10, 2, Неотрицательное). - Имя и Синоним = Сумма (Число, 15, 2, Неотрицательное). В ФОРМЕ ДОКУМЕНТА: Цена, Ставка НДС, Сумма НДС, Сумма -> Свойства: «Только просмотр». Перенести Комментарий под таблицу. Создать две группы в форме: Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 30 1 Имя = Группа1, заголовок = (пустой), Вид = Обычная группа, Группировка = Горизонтальная, Ширина… = Авто. Перетащить в эту группу «Номер», «Дата» и «Организация». Имя = Группа2, заголовок = (пустой), Вид = Обычная группа, Группировка = Горизонтальная, Ширина… = Авто. Перетащить в эту группу «Покупатель», «Склад» и «ТипЦены». Получившийся интерфейс с заполненными данными изображен на рисунке 11. Рисунок 11 – Заполненный документ «Расходная накладная» 2.4.5 Документ «Инвентаризация» Имя и Синоним = Инвентаризация. Подсистемы: = Номенклатура и Бухгалтерия. Реквизиты: Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 31 1 - Имя и Синоним = Склад (ссылка на справочник «Склады»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Организация (ссылка на справочник «Организации»). Проверка заполнения = «Выдавать ошибку». - Имя = ОтветственноеЛицо, Синоним = Ответственное лицо (ссылка на справочник «Сотрудники»). Проверка заполнения = «Выдавать ошибку». Реквизиты табличной части (Имя и Синоним = Товары): - Имя и Синоним = Наименование (ссылка на справочник «Номенклатура»). Проверка заполнения = «Выдавать ошибку». - Имя = КоличествоПоУчету, Синоним = Количество по учету (Число, 10, Неотрицательное). - Имя = КоличествоФакт, Синоним = Количество факт (Число, 10, Неотрицательное). - Имя и Синоним =Отклонение (Число, 10). Вкладка «Ввод на основании»: Является основанием для: Документ.ОприходованиеИзлишков Документ.СписаниеНедостач В ФОРМЕ ДОКУМЕНТА: Цена; Количество по учету и Отклонение --> Свойства: «Только просмотр». Перенести Комментарий под таблицу. Создать одну группу в форме: Имя = Группа1, заголовок = (пустой), Вид = Обычная группа, Группировка = Горизонтальная, Ширина… = Авто. Перетащить в эту группу «Номер», «Дата», «Организация» и «Ответственное лицо». В свойствах реквизита «Склад» на закладке «События» в поле «При изменении» создать обработчик события, выбрать «Создать на клиенте». Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 32 1 И то же самое сделать для поля табличной части «КоличествоФакт». Далее нужно прописать код, приведенный в Приложении Б. В данном коде реализовано заполнение табличной части из регистра остатков при изменении реквизита «Склад». А также пересчет поля «Отклонение» при изменении реквизита «КоличествоФакт». Получившийся интерфейс с заполненными данными изображен на рисунке 12. Рисунок 12 – Созданный документ «Инвентаризация» Получившийся интерфейс с заполненными данными изображен на рисунке 13. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 33 1 Рисунок 13 – Заполненный документ «Инвентаризация» 2.4.6 Документ «Перемещение товара по складам» Имя = ПеремещениеТовараПоСкладам, Синоним = Перемещение товара по складам. Подсистемы = Номенклатура. Реквизиты: - Имя и Синоним = Организация(ссылка на справочник «Организации») Проверка заполнения = «Выдавать ошибку». - Имя = ТипЦены, Синоним = Тип цены, (ссылка на справочник «ТипыЦен»). Проверка заполнения = «Выдавать ошибку». - Имя = СкладИсточник, Синоним = Откуда взять (ссылка на справочник «Склады»), Проверка заполнения = «Выдавать ошибку». - Имя = СкладПриемник, Синоним = Куда переместить (ссылка на справочник «Склады»). Проверка заполнения = «Выдавать ошибку». Реквизиты табличной части (Имя и Синоним = Перемещение): - Имя и Синоним = Товар (ссылка на справочник «Номенклатура»). Проверка заполнения = «Выдавать ошибку». Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 34 1 - Имя и Синоним = Количество (Число, 10, Неотрицательное). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Цена (Число, 10, 2, Неотрицательное). - Имя = СтавкаНДС, Синоним = Ставка НДС (ссылка на справочник «Ставка НДС»). - Имя = СуммаНДС, Синоним = Сумма НДС (Число, 10, 2, Неотрицательное). - Имя и Синоним = Сумма (Число, 10, 2,Неотрицательное). В ФОРМЕ ДОКУМЕНТА: Цена; Ставка НДС; Сумма НДС; Сумма-> Свойства: «Только просмотр». Перенести Комментарий под таблицу. Создать две группы в форме: Имя = Группа1, заголовок = (пустой), Вид = Обычная группа, Группировка = Горизонтальная, Ширина = Авто. Перетащить в эту группу «Номер», «Дата» и «Организация». Имя = Группа2, заголовок = (пустой), Вид = Обычная группа, Группировка = Горизонтальная, Ширина… = Авто. Перетащить в эту группу «СкладИсточник» и «СкладПриемник». Получившийся интерфейс созданного документа изображен на рисунке 14. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 35 1 Рисунок 14 – Созданный документ «Перемещение товара по складам» Получившийся интерфейс с заполненными данными изображен на рисунке 15. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 36 1 Рисунок 15 – Заполненный документ «Перемещение товара по складам» 2.4.7 Документ «Услуги сторонних организаций» Имя = УслугиСтороннихОрганизаций, Синоним = Услугистороннихорганизаций. Подсистемы = Бухгалтерия. Реквизиты: - Имя и Синоним = Организация (ссылка на справочник «Организации»). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Контрагент (ссылка на справочник «Контрагенты»). Проверка заполнения = «Выдавать ошибку». - Имя = ТипЦены, Синоним = Тип цены (ссылка на справочник «Типыцен»). Проверка заполнения = «Выдавать ошибку». Реквизиты табличной части (Имя и Синоним = Услуги): - Имя и Синоним = Наименование (ссылка на справочник «Номенклатура»). Проверка заполнения = «Выдавать ошибку». Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 37 1 - Имя и Синоним = Количество (Число, 10, Неотрицательное). Проверка заполнения = «Выдавать ошибку». - Имя и Синоним = Цена (Число, 10, 2, Неотрицательное). Проверка заполнения = «Выдавать ошибку». - Имя = СтавкаНДС, Синоним = Ставка НДС (ссылка на справочник «Ставка НДС»). - Имя = СуммаНДС, Синоним = Сумма НДС (Число, 10, 2, Неотрицательное). - Имя и Синоним = Сумма (Число, 10, 2,Неотрицательное). В ФОРМЕ ДОКУМЕНТА: Цена; Ставка НДС; Сумма НДС; Сумма-> Свойства: «Только просмотр». Перенести Комментарий под таблицу. Создать две группы в форме: Имя = Группа1, заголовок = (пустой), Вид = Обычная группа, Группировка = Горизонтальная, Ширина… = Авто. Перетащить в эту группу «Номер» и «Дата» Имя = Группа2, заголовок = (пустой), Вид = Обычная группа, Группировка = Горизонтальная, Ширина… = Авто. Перетащить в эту группу «Организация» и «Контрагент». Получившийся интерфейс с заполненными данными изображен на рисунке 16. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 38 1 Рисунок 16 Заполненный документ «Поступление услуг сторонних организаций» 2.5 Регистры 2.5.1 Регистр накопления «Остатки» Имя и Синоним = Остатки. Вид регистра = Остатки. Подсистемы: = Номенклатура и Бухгалтерия. Измерения: - Имя и Синоним = Товар (Ссылка на справочник «Номенклатура»). - Имя и Синоним = Склад (Ссылка на справочник «Склады»). Ресурсы: - Имя и Синоним = Количество (Число, 10). Вкладка «Регистраторы»: РасходнаяНакладная, ПеремещениеТовараПоСкладам, = ПриходнаяНакладная, УстановкаНачальныйОстатков, ОприходованиеИзлишков, СписаниеНедостач. Открыть документ «ПриходнаяНакладная», далее вкладка «Движения» Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 39 1 Получившийся интерфейс открытия конструктора движений изображен на рисунке 17. Рисунок 17 – Запуск Конструктора движений Регистр «Остатки» уже выбран, так как данный документ выбран в качестве регистратора. Нажать кнопку «Конструктор движений». Получившийся интерфейс запущенного конструктора движений изображен на рисунке 18. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 40 1 Рисунок 18 – Запущенный Конструктор движений Выбрать тип движения регистра. Приходной накладной соответствует тип движения «Приход». Далее нужно выбрать Табличную часть, в данном случае она одна, и нажать кнопку «Заполнить выражения» для их автоматического заполнения. Для поля «Товар» нужно выбрать выражение соответствующее реквизиту «Наименование» из табличной части документа. Получившийся интерфейс заполненного конструктора движений изображен на рисунке 19. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 41 1 Рисунок 19 – Заполненный Конструктор движения для документа «Приходная накладная» Нажать кнопку ОК. В результате в «Модуле объекта» данного документа создалась процедура «ОбработкаПроведения» и в ней сформировались движения по регистру «Остатки». Аналогично следующих Приходной накладной документах: сформировать движения в УстановкаНачальныйОстатков, ПеремещениеТовараПоСкладам, ОприходованиеИзлишков. Для документов: РасходнаяНакладная, ПеремещениеТовараПоСкладам, СписаниеНедостач движения по данному регистру отличаются только типом движения. В них нужно выбрать тип «Расход». Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 42 1 2.5.2 Регистр сведений «Регистр цены» Имя = РегистрЦены, Синоним = Регистр Цены. Периодичность = В пределах секунды. Режим записи = Подчинение регистратору. Подсистемы»: = Номенклатура. Измерения: - Имя и Синоним = Номенклатура (Ссылка на справочник «Номенклатура»). - Имя = ТипыЦен, Синоним = Типы цен (Ссылка на справочник «ТипыЦен»). Ресурсы: - Имя и Синоним = Цена (Число, 10, 2, Неотрицательное). Вкладка «Регистраторы»: = УстановкаЦенНоменклатуры Открыть документ«УстановкаЦенНоменклатуры», далее вкладка «Движения». Запустить конструктор движений. Выбрать табличную часть (она там одна). Нажать кнопку Заполнить выражения. Получится как на рисунке 20. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 43 1 Рисунок 20 – Заполненный конструктор движения для документа «УстановкаЦенНоменклатуры» Нажать кнопку ОК. В результате в «Модуле объекта» данного документа создалась процедура «ОбработкаПроведения» и в ней сформировались движения по регистру цены. 2.6 Реализация модуля объекта документа «Расходная накладная» Блок-схема алгоритма модуля изображена в приложении Ж, на рисунке Ж.1. Листинг данного модуля расписан в приложении В. Условие 1 = ВыборкаОстатки.Товар.ВидНоменклатуры = Перечисления.ВидНоменклатуры.Товар И ВыборкаОстатки.Разница < 0 Условие 2 = ТекСтрокаМатериалы.Наименование.ВидНоменклатуры = Перечисления.ВидНоменклатуры.Товар Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 44 1 2.7 Реализация модуля объекта документа «Перемещение товара по складам» Блок-схема алгоритма модуля изображена в приложении И, на рисунке И.1. Листинг данного модуля расписан в приложении Г. Условие 1 = ТекСтрокаПеремещение.Наименование.ВидНоменклатуры = Перечисления.ВидНоменклатуры.Услуга 2.8 Интерфейс Администратора В результате полной настройки интерфейса Администратора получается вид, как на рисунке 21. Рисунок 21 – Интерфейс Администратора 2.9 Интерфейс продавца Для продавца интерфейс отличается от интерфейса администратора, и выглядит как на рисунке 22. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 45 1 Рисунок 22 – Интерфейс продавца Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 46 1 СПИСОК СОКРАЩЕНИЙ БД – База данных ПН - Приходная накладная РН - Расходная накладная УНФ – Управление небольшой фирмой УТ – Управление торговлей ИТС – Информационное техническое сопровождение МОЛ – Материально-ответственное лицо Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 47 1 ЗАКЛЮЧЕНИЕ В результате проделанной работы была разработана конфигурация для малых торговых предприятий, основные функции которой, это: - контроль движений товаров и услуг организации; - установка цен номенклатуры с возможностью их дальнейшего использования; - проведение инвентаризации на складах; - перемещение товара по складам; - контроль услуг поступающих от контрагентов; - получение сводной информации из различных отчетов. Выполнены все предъявляемые требования к разрабатываемой конфигурации: - автоматизация вычислений и ввода данных; - реализация проверки правильности заполнения документов и регистров; - возможность формирования печатной формы для всех документов; - простой и удобный пользовательский интерфейс. Основные достоинства разработанной конфигурации: - минимально необходимый функционал; - минимизация затрат со стороны заказчика; - возможность изменять программу под нужды заказчика. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 48 1 СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 1 Мини-склад | Учебник по 1С [Электронный ресурс] – Режим доступа: http://www.mista.ru/tutor_1c/example_sklad.htm. 2 Общее описание 1C:Предприятие 8 | 1С:Управление небольшой ресурс] [Электронный – фирмой Режим 8 | доступа: http://v8.1c.ru/small.biz/index-a.jsp. 3 Общее описание | Управление торговлей | 1C:Предприятие 8 [Электронный ресурс] – Режим доступа: http://v8.1c.ru/trade. 4 Элементарная торговля [Электронный ресурс] – Режим доступа: https://sites.google.com/site/elementarytrade. 5 Радченко, М.Г. 1С: Предприятие 8.3 Практическое пособие разработчика. Примеры и типовые приемы / М.Г. Радченко, Е.Ю. Хрусталева. – Москва: ООО «1С - Паблишинг», 2013. – 964с.: ил. 6 Помощник бухгалтера в 1С: бесплатные программы и статьи[Электронный ресурс] – Режим доступа: http://helpme1c.ru. 7 Бесплатные онлайн уроки 1С:Предприятие 8.3 и 1С:Предприятие 8.2[Электронный ресурс] – Режим доступа: http://1c-uroki.ru. 8 Разработка приложений 1С [Электронный ресурс] – Режим доступа: http://programmist1s.ru/razrabotka-konfiguratsii-1s-s-nulya. 9 1С 8 разработка на примерах. - 1С8 простые примеры разработки. [Электронный ресурс] – Режим доступа: http://j008.ru/ps/index.php. Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 49 1 ПРИЛОЖЕНИЕ А Структурная схема конфигурации Справочники Организация Типы цен Номенклатура Документы Приходная накладная Расходная накладная Установка начальных остатков Склады Сотрудники Инвентаризация Оприходование излишков Должности Перемещение товара по складам Ставки НДС Контрагенты Установка цен номенклатуры Услуги сторонних организаций Цены Услуги сторонних организаций Цены номенклатуры Поступление услуг по контрагентам Списание недостач А Регистры Рахсходы Продажи Отчеты Анализ расходов Анализ продаж Продажи по каждому продавцу А Остатки Рейтинг клиентов Учет товаров Рисунок А.1 – Структурная схема конфигурации Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 50 1 ПРИЛОЖЕНИЕ Б Листинг модуля формы документа «Инвентаризация» &НаСервере Функция ЗапросОстатков(ВыбСклад) Запрос = Новый Запрос; Запрос.УстановитьПараметр("Склад",ВыбСклад); Запрос.Текст = "ВЫБРАТЬ | ОстаткиОстаткиИОбороты.Товар, | ОстаткиОстаткиИОбороты.КоличествоКонечныйОстаток, | ОстаткиОстаткиИОбороты.Склад |ИЗ | РегистрНакопления.Остатки.ОстаткиИОбороты(, , , , Склад = &Склад) КАК ОстаткиОстаткиИОбороты |ГДЕ | ОстаткиОстаткиИОбороты.Склад = &Склад"; Результат = Запрос.Выполнить().Выгрузить(); МассивЗапроса = новый Массив; Для каждого Эл из Результат Цикл СтруктураЗапроса = новый структура; СтруктураЗапроса.Вставить("Товар",Эл.Товар); СтруктураЗапроса.Вставить("КоличествоКонечныйОстаток",Эл.КоличествоКонечн ыйОстаток); МассивЗапроса.Добавить(СтруктураЗапроса); КонецЦикла; Возврат МассивЗапроса; КонецФункции &НаКлиенте Процедура ТоварыКоличествоФактПриИзменении(Элемент) СтрокаТЧ = Элементы.Товары.ТекущиеДанные; Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 51 1 СтрокаТЧ.Отклонение = СтрокаТЧ.КоличествоФакт - СтрокаТЧ.КоличествоПоУчету; КонецПроцедуры &НаКлиенте Процедура СкладПриИзменении(Элемент) ТЧ = Объект.Товары; Результат = ЗапросОстатков(Объект.Склад); ТЧ.Очистить(); Для Каждого ЭлементРезультата из Результат Цикл НоваяСтрокаТЧ = ТЧ.Добавить(); НоваяСтрокаТЧ.Наименование = ЭлементРезультата.Товар; НоваяСтрокаТЧ.КоличествоПоУчету = ЭлементРезультата.КоличествоКонечныйОстаток; НоваяСтрокаТЧ.КоличествоФакт = ЭлементРезультата.КоличествоКонечныйОстаток; НоваяСтрокаТЧ.Отклонение = НоваяСтрокаТЧ.КоличествоФакт НоваяСтрокаТЧ.КоличествоПоУчету; КонецЦикла; КонецПроцедуры Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 52 1 ПРИЛОЖЕНИЕ В Листинг модуля объекта документа «Расходная накладная» Процедура ОбработкаПроведения(Отказ, Режим) ЗапросОстатки=Новый Запрос; ЗапросОстатки.Текст="ВЫБРАТЬ | ЕСТЬNULL(ОстаткиОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | РасходнаяНакладнаяМатериалы.Количество, | ЕСТЬNULL(ОстаткиОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(РасходнаяНакладнаяМатериалы.Количество, 0) КАК Разница, | РасходнаяНакладнаяМатериалы.Цена, | РасходнаяНакладнаяМатериалы.Наименование КАК Товар, | РасходнаяНакладнаяМатериалы.Сумма |ИЗ | Документ.РасходнаяНакладная.Материалы КАК РасходнаяНакладнаяМатериалы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остатки.Остатки( | &дата, | Склад = &Склад) КАК ОстаткиОстатки | ПО РасходнаяНакладнаяМатериалы.Наименование = ОстаткиОстатки.Товар |ГДЕ | РасходнаяНакладнаяМатериалы.Ссылка = &Ссылка"; ЗапросОстатки.УстановитьПараметр("Ссылка",Ссылка); ЗапросОстатки.УстановитьПараметр("Склад",Склад); ЗапросОстатки.УстановитьПараметр("Дата",Ссылка.Дата); РезультатЗапроса=ЗапросОстатки.Выполнить(); ВыборкаОстатки=РезультатЗапроса.Выбрать(); Пока ВыборкаОстатки.Следующий()Цикл Если ВыборкаОстатки.Товар.ВидНоменклатуры = Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 53 1 Перечисления.ВидНоменклатуры.Товар И ВыборкаОстатки.Разница < 0 Тогда Сообщить("Недостаточно " + сокрП(ВыборкаОстатки.Товар) + " " + -ВыборкаОстатки.Разница + " шт."); Отказ=Истина; КонецЕсли; КонецЦикла; // регистр Остатки Расход Движения.Остатки.Записывать = Истина; Для Каждого ТекСтрокаМатериалы Из Материалы Цикл Если ТекСтрокаМатериалы.Наименование.ВидНоменклатуры = Перечисления.ВидНоменклатуры.Товар Тогда Движение = Движения.Остатки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Товар = ТекСтрокаМатериалы.Наименование; Движение.Склад = Склад; Движение.Количество = ТекСтрокаМатериалы.Количество; КонецЕсли; КонецЦикла; // регистр Продажи Движения.Продажи.Записывать = Истина; Для Каждого ТекСтрокаМатериалы Из Материалы Цикл Движение = Движения.Продажи.Добавить(); Движение.Период = Дата; Движение.Номенклатура = ТекСтрокаМатериалы.Наименование; Движение.Контрагент = Покупатель; Движение.Исполнитель = ОтветственноеЛицо; Движение.Количество = ТекСтрокаМатериалы.Количество; Движение.Стоимость = ТекСтрокаМатериалы.Цена * ТекСтрокаМатериалы.Количество; Движение.Выручка = ТекСтрокаМатериалы.Сумма; КонецЦикла; КонецПроцедуры Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 54 1 Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 55 1 ПРИЛОЖЕНИЕ Г Листинг модуля объекта документа «Перемещение товара по складам» Процедура ОбработкаПроведения(Отказ, Режим) // Проверка, чтобы в данном документе прописывались только товары Для Каждого ТекСтрокаПеремещение Из Перемещение Цикл Если ТекСтрокаПеремещение.Наименование.ВидНоменклатуры = Перечисления.ВидНоменклатуры.Услуга Тогда Сообщить("В данном документе должны быть прописаны только товары! Без услуг!"); Отказ=Истина; КонецЕсли; КонецЦикла; // Проверка наличия нужного товара на складе источнике ЗапросОстатки=Новый Запрос; ЗапросОстатки.Текст="ВЫБРАТЬ | ЕСТЬNULL(ОстаткиОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | ПеремещениеТовараПоСкладамПеремещение.Количество, | ЕСТЬNULL(ОстаткиОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ПеремещениеТовараПоСкладамПеремещение.Количество, 0) КАК Разница, | ПеремещениеТовараПоСкладамПеремещение.Цена, | ПеремещениеТовараПоСкладамПеремещение.Наименование КАК Товар, | ПеремещениеТовараПоСкладамПеремещение.Сумма |ИЗ | Документ.ПеремещениеТовараПоСкладам.Перемещение КАК ПеремещениеТовараПоСкладамПеремещение | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остатки.Остатки(&дата, Склад = &Склад) КАК ОстаткиОстатки | ПО ПеремещениеТовараПоСкладамПеремещение.Наименование = ОстаткиОстатки.Товар Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 56 1 |ГДЕ | ПеремещениеТовараПоСкладамПеремещение.Ссылка = &Ссылка"; ЗапросОстатки.УстановитьПараметр("Ссылка",Ссылка); ЗапросОстатки.УстановитьПараметр("Склад",СкладИсточник); ЗапросОстатки.УстановитьПараметр("Дата",Ссылка.Дата); РезультатЗапроса=ЗапросОстатки.Выполнить(); ВыборкаОстатки=РезультатЗапроса.Выбрать(); Пока ВыборкаОстатки.Следующий()Цикл Если ВыборкаОстатки.Разница < 0 Тогда Сообщить("Недостаточно " + сокрП(ВыборкаОстатки.Товар) + " " + ВыборкаОстатки.Разница + " шт."); Отказ=Истина; КонецЕсли; КонецЦикла; // регистр Остатки Расход; списание товара со склада источника Движения.Остатки.Записывать = Истина; Для Каждого ТекСтрокаПеремещение Из Перемещение Цикл Движение = Движения.Остатки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Товар = ТекСтрокаПеремещение.Наименование; Движение.Склад = СкладИсточник; Движение.Количество = ТекСтрокаПеремещение.Количество; КонецЦикла; // регистр Остатки Приход; запись товара на склад приемник Движения.Остатки.Записывать = Истина; Для Каждого ТекСтрокаПеремещение Из Перемещение Цикл Движение = Движения.Остатки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Товар = ТекСтрокаПеремещение.Наименование; Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 57 1 Движение.Склад = СкладПриемник; Движение.Количество = ТекСтрокаПеремещение.Количество; КонецЦикла; КонецПроцедуры Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 58 1 ПРИЛОЖЕНИЕ Д Листинг модуля формы документа «Приходная накладная» &НаКлиенте Процедура МатериалыКоличествоПриИзменении(Элемент) СтрокаТЧ = Элементы.Материалы.ТекущиеДанные; НаКлиенте.ЗаполнитьСтрокуТабЧасти(СтрокаТЧ); КонецПроцедуры &НаКлиенте Процедура МатериалыНаименованиеПриИзменении(Элемент) СтрокаТЧ = Элементы.Материалы.ТекущиеДанные; СтрокаТЧ.Цена = НаСервере.ВыбратьЦенуНоменклатуры(СтрокаТЧ.Наименование, Объект.ТипЦены, Объект.Дата); НаКлиенте.ЗаполнитьСтрокуТабЧасти(СтрокаТЧ); КонецПроцедуры Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 59 1 ПРИЛОЖЕНИЕ Е Листинг общих модулей Общий модуль «НаКлиенте» Функция Сумма_с_НДС(СуммаБезНДС, СуммаНДС) Экспорт Возврат СуммаБезНДС + СуммаНДС; КонецФункции Функция СуммаБезНДС(Цена, Количество) Экспорт СуммаБезНДС = Цена * Количество; Возврат СуммаБезНДС; КонецФункции Процедура ЗаполнитьСтрокуТабЧасти(СтрокаТЧ) Экспорт СтавкаНДС = НаСервере.СтавкаНДСТовара(СтрокаТЧ.Наименование); СуммаБезНДС = СуммаБезНДС(СтрокаТЧ.Цена, СтрокаТЧ.Количество); СуммаНДС = НаСервере.НДС(СтрокаТЧ.Наименование, СуммаБезНДС); Сумма = Сумма_с_НДС(СуммаБезНДС, СуммаНДС); СтрокаТЧ.СтавкаНДС = СтавкаНДС; СтрокаТЧ.СуммаНДС = СуммаНДС; СтрокаТЧ.Сумма = Сумма; КонецПроцедуры Общий модуль «НаСервере» Функция СтавкаНДСТовара(Товар) Экспорт Возврат Товар.СтавкаНДС; КонецФункции Функция НДС(Товар, СуммаБезНДС) Экспорт Если Товар.СтавкаНДС <> неопределено Тогда СуммаНДС = СуммаБезНДС*Товар.СтавкаНДС.Значение/100; Иначе Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 60 1 СуммаНДС = 0; КонецЕсли; Возврат СуммаНДС; КонецФункции Функция ВыбратьЦенуНоменклатуры (ЭлементНоменклатуры, ТипЦены, АктуальнаяДата) Экспорт Отбор = Новый Структура("Номенклатура, ТипыЦен", ЭлементНоменклатуры, ТипЦены); ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор); Возврат ЗначенияРесурсов.Цена; КонецФункции Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 61 1 ПРИЛОЖЕНИЕ Ж Блок-схема модуля объекта документа «Расходная накладная» 1 Начало 2 Создание запроса по РН и регистру Остатки 3 Установка параметров запроса 4 РезультатЗапроса=Запр осОстатки.Выполнить() ВыборкаОстатки=Резул ьтатЗапроса.Выбрать() 5 нет ВыборкаОстатки.Сл едующий() да нет 6 Условие 1 да 7 9 Недостаточно товара на складе Движения.Остатки.Запи сывать = Истина 8 Отказ=Истина 10 ТекСтрокаМатериал ы нет 13 да нет Движения.Продажи.Зап исывать = Истина 11 Условие 2 да 12 Запись движений по регистру Остатки нет 14 ТекСтрокаМатериал ы 15 да Запись движений по регистру Продажи 16 Конец Рисунок Ж.1 – Блок-схема модуля объекта документа «Расходная накладная» Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 62 1 ПРИЛОЖЕНИЕ И Блок-схема модуля объекта документа «Перемещение товара по складам» 1 Начало нет да 3 Условие 1 да нет 4 6 В этом документе не должно быть услуг Создание запроса по РН и регистру Остатки 5 7 Установка параметров запроса Отказ=Истина 8 РезультатЗапроса=Запр осОстатки.Выполнить() ВыборкаОстатки=Резул ьтатЗапроса.Выбрать() А нет 2 ТекСтрокаПеремеще ние 10 ВыборкаОстатки.Раз ница < 0 да 11 Недостаточно товара на складе да 9 ВыборкаОстатки.Сл едующий() нет 13 Движения.Остатки.Запи сывать = Истина 12 Отказ=Истина 14 ТекСтрокаМатериал ы нет да нет 15 Запись движений по регистру Остатки (расход по складу источнику) 16 ТекСтрокаМатериал ы да 17 Запись движений по регистру Остатки (приход на склад приемник) А 18 Конец Рисунок И.1 – Блок-схема модуля объекта документа «Перемещение товара по складам» Лист ДП - 230101.65 - ПЗ Изм. Лист № докум. Подпись Дата 63 1