close

Вход

Забыли?

вход по аккаунту

Бахтина Анна Николаевна. Разработка мобильного приложения учета товаров на примере магазина детских товаров «Светлячок»

код для вставки
Scanned by CamScanner
АННОТАЦИЯ
ВКР 95 с., 36 рис., 1 табл., 18 источников, 1 прил.
ИНФОРМАЦИОННАЯ
СИСТЕМА,
МОБИЛЬНОЕ
ПРИЛОЖЕНИЕ,
1С:ПРЕДПРИЯТИЕ, УЧЕТ ТОВАРОВ, ОБМЕН ДАННЫМИ.
Выпускная квалификационная работа посвящена разработки мобильного
приложения учета товаров на примере детского магазина «Светлячок».
В первой главе проводится анализ предметной области, выбирается система
для разработки мобильного приложения, формируются функциональные и
нефункциональные требование к разрабатываемой системе учета товаров детского
магазина «Светлячок».
Во второй главе описывается структура и принцип функционионирования
мобильного приложения: выбирается СУБД, описывается структура базы данных
и обеспечение надежности и безопасности мобильной информационной системы.
В третьей главе представлены общие системы мобильного приложения:
описывается
алгоритм
функционирования
приложения,
разрабатывается
пользовательский интерфейс мобильного приложения учета товаров на примере
детского магазина «Светлячок».
В заключении сделаны основные выводы по выпускной квалификационной
работе.
4
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
6
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ
РАЗРАБАТЫВАЕМОГО МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЕТСКОГО
МАГАЗИНА «СВЕТЛЯЧОК»
7
1.1 Описание бизнес-процесса торговой деятельности детского магазина
7
1.2 Анализ существующих средств управленческого учета и выбор среды
разработки информационной системы учета товаров детского магазина
14
1.3 Постановка задачи: функциональные и нефункциональные требования к
разрабатываемой информационной системе учета товаров детского магазина
«Светлячок»
22
2 ОПИСАНИЕ СТРУКТУРЫ И ПРИНЦИПОВ ФУНКЦИОНИРОВАНИЯ
МОБИЛЬНОГО
ПРИЛОЖЕНИЯ
УЧЕТА
ТОВАРОВ
ДЕТСКОГО
МАГАЗИНА «СВЕТЛЯЧОК»
24
2.1 Выбор системы управления базами даннных
24
2.2 Описание структуры базы данных мобильного приложения для учета
товаров детского магазина «Светлячок»
28
2.3 Структура системы учета товаров детского магазина
32
2.4 Реализация безопасность мобильного приложения учета товаров детского
магазина «Светлячок»
42
3 РЕАЛИЗАЦИЯ СИСТЕМЫ МОБИЛЬНОГО ПРИЛОЖЕНИЯ УЧЕТА
ТОВАРОВ ДЕТСКОГО МАГАЗИНА «СВЕТЛЯЧОК»
46
3.1 Описание алгоритмов функционирования мобильного приложения учета
товаров детского магазина
46
3.2 Разработка пользовательского интерфейса информационной системы
учета товаров детского магазина
51
ЗАКЛЮЧЕНИЕ
59
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
60
ПРИЛОЖЕНИЕ А ФРАГМЕНТЫ КОДА
62
5
УДОСТОВЕРЯЮЩИЙ ЛИСТ
93
ИНФОРМАЦИОННО-ПОИСКОВАЯ ХАРАКТЕРИСТИКА ДОКУМЕНТА
НА ЭЛЕКСТРОННОМ НОСИТЕЛЕ
94
6
ВВЕДЕНИЕ
Информационные технологии играют огромную роль в повседневной
жизни, а создание мобильного приложения стало одним из основных этапов
автоматизации бизнес-системы предприятия, которая помогает формировать
программное решение под нужды заказчика.
На сегодняшний момент необходимость автоматизации бизнес-систем не
вызывает никаких сомнений. Перенеся ведение бизнес-процессов на платформу
автоматизированной информационной системы, получится точный результат и
минимизация затрат.
Целью данной выпускной квалификационной работы является создание
мобильного приложения для учета товара детского магазина «Светлячок».
Основные задачи, которые необходимо решить в процессе выполнения
выпускной квалификационной работы:
− анализ и выявления принципов учета товаров;
− формирование функциональных требований к разрабатываемому
мобильному приложению;
− разработка структуры информационной системы учета товаров и
принципов его функционированию;
− разработка приложения, в том числе алгоритмов его работы.
7
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ
РАЗРАБАТЫВАЕМОГО МОБИЛЬНОГО ПРИЛОЖЕНИЯ
ДЕТСКОГО МАГАЗИНА «СВЕТЛЯЧОК»
1.1 Описание бизнес-процесса торговой деятельности детского
магазина
Многие предприниматели, стремящиеся повысить эффективность работы
своей предпринимательской деятельности, внедряют информационные системы.
Создавая информационную систему необходимо построить функциональную
модель,
описывающую
совокупную
последовательность
действий
по
преобразованию ресурсов, полученных на входе, в конечный продукт, имеющий
ценность для предприятия, на выходе [1].
Нами было создана функциональная модель, с помощью программы
Ramus средствами диаграмм IDEF0 для учета товаров детского магазина
«Светлячок».
Данная модель позволяет описать все основные виды процессов, как
административные,
так
и
организационные,
функциональная
модель
представляет собой набор блоков, каждый из которых представляет «черный
ящик» со входными данными и выходными, управлением и механизмами,
которые детализируются (декомпозируются) до необходимого уровня. Каждый
вид стрелок имеет собственное значение.
Стрелки имеют следующее значение:
− входящие – ставящие определенные задачи;
− исходящие – выводящие результат деятельности;
− управляющие (сверху-вниз) – механизмы управления (положения,
инструкции и пр.);
− механизмы (снизу-вверх) – ресурсы для того, чтобы произвести
необходимую работу.
8
В данной работе был описан бизнес-процесса торговой деятельности:
товар, поставленный в магазин поставщиком (отражена накладная дата для
формирования заказа) трансформируется в проданный товар (документально
подтверждающем виде чек, накладная о списанном товаре (Утиль) и форма
отчетности для анализа торговой деятельности)
В нотации IDEF0 предполагается выделить несколько управляющих
механизмов, исполнителей, которые задействуются в торговой деятельности. На
рисунке 1, в качестве механизма выступают следующие ресурсы: программное
обеспечение,
сотрудники,
выполняющие
свою
трудовую
деятельность
обслуживая все процессы в магазине. Проведение работ регламентировано
внутренними
правилами
магазина,
и
которые
отражены
с
помощью
управляющей стрелки «Регламент работы», так же формирует данные с
помощью шаблона форм.
Рисунок 1 – Контекстная диаграмма процесса «торговая деятельность»
9
Следующий этапом была осуществлена декомпозицию контекстной
диаграммы, представленную на рисунке 2.
Торговая деятельность формируется следующими процессами:
− поступление товара на склад;
− оприходование товара;
− реализация товара;
− формирование отчета.
Блок «Поступление товара на склад» включает последовательность
действий, приводящую к тому, что поступающий на товар проходит доставку в
магазин и сортировку по виду, что подтверждается накладной о поставленном
товаре. А товар, поступивший на склад упорядочивается по своему виду.
Следующий блок «Оприходование товара» показывает, как поступивший
и первично отсортированный товар проходит дополнительный отбор и
разбиение на группы, для удобства продажи. Кроме того, в процессе
оприходования формируется отчетный документ о товаре, поступившем на
склад и готовом к продаже товаре.
Подпроцесс «Формирование отчета» создан для того, чтобы из входных
данных, а именно даты, накладной о поставке, отчете об оприходовании и
информации о товаре, получить эту информацию, но в структурированном и
оформленном виде, удобном для просмотра пользователем. Используя такие
входные параметры, как накладная поставленного товара, дата поставки, отчет
об уже оприходованном товаре и информацию о самом товаре, содержащий в
себе всю необходимую информацию, которая используется для оформления
нового заказа. На диаграмме оформление нового заказа отображено при помощи
возврата к ранее идущему блоку «Поступление товара на склад».
Кроме
того,
для
формирования
отчетов
используется
заранее
подготовленный шаблон формы, что отображено стрелкой управления «Шаблон
формы».
Подпроцесс «Реализация товара» представляет собой непосредственную
последовательность процедур по переходу товара из собственности магазина в
10
собственность клиента. Это происходит после того, как товар будет продан, а в
системе будет указана причина списания товара и произойдет списание товара.
Кроме того, возможны и предусмотрены в системе случаи, когда товар может
быть реализован иначе. Таким образом, после всех перечисленных процедур,
результатом работы системы становятся товарный чек и накладная о списанном
товаре.
Все описанные процессы подчиняются внутреннему регламенту работы и
выполняются при помощи программного обеспечения (ПО) системы и работы
сотрудников.
Рисунок 2 – Диаграмма декомпозиции первого уровня «торговая деятельность»
Была проведена декомпозиция каждого блока в функциональной
диаграмме:
Декомпозиция блока «Поступление товара на склад» представлена на
рисунке 3. В диаграмме представлены функциональные блоки: заказ
поставщику, закупка товара, доставка товара, сортировка товара. Поступление
товара от поставщиков в магазин в совокупности с заказом поставщику
преобразуется в отсортированный товар и в отчет о поставленном товаре. C
11
помощью программного обеспечения осуществляется заказ поставщику, закупку
товара и доставку. Сотрудники выполняют поставленные задачи: заказ, закупка,
организация доставки и сортировка товара. Проведение работ регламентировано
внутренними правилами магазина, что отражено с помощью стрелки управления
«Регламент работы». С помощью «Шаблона форма» формируется заказ
поставщику, а «накладная» участвует при доставке товара в магазин.
Рисунок 3 – Диаграмма декомпозиции второго уровня «поступление товара на
склад»
Декомпозиция блока «Оприходование товара» представлена на рисунке 4
содержащая следующие блоки: выбор поставщика, выбор номенклатуры,
внесение характеристики товара в базу данных, присвоение штрих-кода.
Отсортированный товар после выполнения всех действий преобразовывается в
товар, который готов к продаже и в отчет о оприходованном товаре. Проведение
работ регламентировано внутренними правилами магазина, что отражено с
помощью стрелки управления «Регламент работы». С помощью «Шаблона
12
форм» выбирается поставщик, номенклатура а так же вносятся характеристики
о товаре в базу данных.
Рисунок 4 – Диаграмма декомпозиции второго уровня «оприходование товара»
Декомпозиция блока «Реализация товара» представлена на рисунке 5.
Рисунок 5 – Диаграмма декомпозиции второго уровня «реализация заказа»
13
В диаграмме представлены функциональные блоки: продажа товара,
выбор причины списания товара, списание товара. Товар готовый к продаже
проходя через все блоки конвертируется в накладную о списанном товаре, так
же преобразовывается в информацию о товаре и информацию о проданном,
отраженный виде чека. Товар готовый к продаже может быть продан,
утилизирован или использован в иных целях. После товар списывается с базы
данных выбирая причину списания. Проведение работ регламентировано
внутренними правилами магазина, что отражено с помощью стрелки управления
«Регламент работы», так же «Шаблон форм» способствует произвести все
операции по реализации товара.
Декомпозиция блока «Формирование отчета» представлена на рисунке 6
содержащая следующие блоки: выбор даты, формирование запроса к базе
данных, вывод информации.
Входные данные: отчет, информация, накладная о поставленном товаре и
дата после выполнения всех действий отражаются в отчете данных. С помощью
этой функции пользователь способен проанализировать товар и сформировать
данные для закупки. Проведение работ регламентировано шаблоном форм, что
отражено с помощью стрелки управления «Шаблон форм».
Рисунок 6 – Диаграмма декомпозиции второго уровня «Формирование отчета»
14
1.2 Анализ существующих средств управленческого учета и
выбор среды разработки информационной системы учета товаров
детского магазина
В современном мире каждое успешное предприятие или организация
пытается оптимизировать и автоматизировать свой бизнес-процесс начиная с
листка бумаги, а заканчивая сложными учетными системами. В сфере малых и
средних предприятий «классическим» решением стало создание ИС информационной системы, предназначенной для упрощения цикла действий
связанных с реализацией товаров или услуг, а также введение торгового учета.
Хорошие системы вне зависимости от их масштаба, программно –
аппаратной платформы и стоимости должны обеспечивать качественное ведение
учета, быть надежными и удобными в эксплуатации.
Система для ведения учета должна отвечать определенным требованиям:
1. Интегрированность и полнота: система, содержащая функции учет,
управления и планирования, используемых на различных предприятиях.
2. Модульность: функционирование модулей едино с системой независимо
друг от друга.
3. Единая база данных: модули системы, работающие в рамках единой
компьютерной сети.
4. Разграничение прав доступа: доступ, осуществляющий на разных
уровнях группы, в которую входят конкретные пользователи.
5. Высокие эксплуатационные характеристики: техническая надежность и
высокая производительность программного продукта.
6. Простота освоения программы: программа доступная для понимания
широкого круга пользователей с различным уровнем знания[2].
Рынок программного обеспечения, содержащий большое количество
программных
решений
от
самых
простейших,
способных
выполнить
минимальный набор операций, необходимых для мелких фирм, до очень
разветвленных, осуществляющих расширенный комплекс операций с глубокой
аналитикой. Для полного анализа необходимо проанализировать работу
15
предприятия: полный цикл товарооборота, логику бизнес-процесса и документы,
которые используются. Основываясь на этих данных рассмотрены программные
решения, наиболее подходящие для решения поставленной задачи.
На рынке ПО существуют следующие программные продукты для учета
товаров:
− «1С Предприятие»;
− «Галактика ERP»;
− «Парус»;
− «Турбо-Бухгалтер 6.9»;
− «Ауби»;
− «ABACUS professional».
Рассмотрим каждый из них более подробно:
Программа «1С Предприятие», является универсальной и предназначена
для
ведения
синтетического
и
аналитического
учета
по
различным
направлениям.
Одна из наиболее популярная программа в России, позволяющая
осуществлять управленческий учет, движение денежных средств, имеет
хорошую техническую поддержку, постоянное обновление и осуществляет
постоянное
взаимодействие
с
клиентами.
Платформа
позволяет
автоматизировать разные разделы: основные средства, материалы, банк, касса,
зарплата, товары, расчеты с организациями и т.д. С ее помощью создают
свободные отчеты для внутренних нужд, либо формируют отчетность по
финансам и налогам по установленным стандартам.
Данная система используется для ведения практически любых разделов
управленческого учёта:
− учёта материалов, товаров, услуг, производства продукции;
− учёта взаиморасчетов с дебиторами, кредиторами, организациями и
подотчётными лицами;
− учёта расчётов по заработной плате;
− расчёта с бюджетом.
16
Программа имеет гибкие возможности по организации учета разного вида:
− синтетического учета по многоуровневому плану счетов;
− учета по нескольким планам счетов;
− валютного учета и учета покрытия валют;
− многомерного аналитического учета [3].
Комплексная система управления предприятием Галактика ERP – является
ядром комплекса бизнес-решений Галактика Business Suite, главное назначение
которого является выполнение в едином информационном пространстве
типовых и специализированных задач управления предприятием, холдингом,
группой компаний в условиях современной экономики. Система адресована
средним и крупным предприятиям и обладает широкой функциональностью для
информационной поддержки всего спектра задач стратегического планирования
и оперативного управления.
Система Галактика ERP представляется в виде модульной структуры.
Модуль предназначен для автоматизации отдельных и узких задач. Модульная
система
дает
возможность
использовать
любую
конфигурации,
соответствующую потребностям потребителя.
Галактика ERP - поддерживает открытые стандарты разработки (XML,
COM, ActiveX, ODBC), что в свою очередь дает возможность интеграции
системы с любым специализированным или отраслевым программным
обеспечением. Дополнительные возможности для интеграции Галактики ERP с
продуктами
сторонних
производителей
и
построения
глобальных
распределенных систем дает реализация в системе сервис-ориентированной
архитектуры (SOA) и технологий web-сервисов. В состав системы содержаться
средства для централизованной настройки параметров системы, ее обновлением
и установки необходимых приложений. Этот процесс способствует более
безопасной работы в системы, улучшает защиту от несанкционированного
доступа и значительно облегчает процесс ее администрирования [4].
Система
«Парус»,
разработчик
корпорация
«Галактика-ПАРУС»,
предназначена для малых и средних предприятий различной отраслевой
17
деятельности (торговля, сфера услуг, элементарное производство, реклама и
СМИ, общественное питание, туризм, иностранные компании и др.).
Позволяющая
автоматизировать
деятельности
коммерческих
и
государственных предприятий, также рассчитать и начислить заработную плату,
управлять персоналам и процессами в предприятии. Она работает по
международным стандартам. Это простая, удобная, но, в то же время, мощная
полнофункциональная система, позволяющая автоматизировать:
− бухгалтерский учет;
− основные торговые процессы и складской учет;
− расчет заработной платы;
− кадровый учет.
Пользователями системы могут быть главные бухгалтеры и бухгалтеры по
разделам учета, менеджеры по сбыту и складские работники, специалисты
финансово-экономических отделов.
Система содержит в себе модули каждый из которых предназначен для
автоматизации одного из видов деятельности предприятия. Каждый модуль
работает как самостоятельное приложение.
«Парус» ведет работы по улучшению отраслевых решений, которые
упростят настройку и ввод системы в эксплуатацию. При этом не исключаются
возможность индивидуальной адаптации системы на каждом предприятии с
помощью средств гибкой настройки:
− бухгалтерия;
− реализация и склад;
− комплекс;
− учет договоров;
− кадры [5].
Ввод информации в систему начинается с обработки первичных
документов. Платежные поручения, приходные и расходные кассовые ордера, и
прочие платежные документы хранятся в специальном разделе, к которому
разрешен прямой доступ. Накладные на отпуск продукции и счета хранятся
18
отдельно друг от друга. После занесения первичных документов имеется
возможность отработать документы в учетной части. Использование разного
рода
справочников организаций и
материальных ценностей облегчает
заполнение документов.
«Турбо-Бухгалтер
6.9»
разработана
ЗАО
«Долгопрудненский
исследовательский центр», предназначена для комплексной автоматизации
бухгалтерского и управленческого учёта предприятий крупного и малого
бизнеса.
Программа «Турбо Бухгалтер 6.9» позволяет:
− вести учет хозяйственной деятельности предприятия как от "проводки",
так и от "первичного документа";
− осуществлять перерасчет при изменении проводок "задним числом";
− формировать различные внутренние отчеты в любом разрезе с
помощью встроенного генератора отчетов;
− изменять и создавать формы первичных и отчетных документов любой
сложности с помощью визуального редактора бланков [6].
Управленческая
информационная
система
учёта
содержит
унифицированных форм отчетных и первичных документов формировавшиеся
соответствии с законодательством.
Основной
характеристикой
программы
для
автоматизации
управленческого учёта является быстродействие её системы. Информационная
система учёта используется для управления средним и малым предприятием.
«АУБИ» интегрированная программная система для малых, средних и
больших предприятий, разработанной фирмой «О’стрим». Подходит для
успешной автоматизации управленческого учета предприятий различного рода
деятельности.
Гибкая
система
позволяет
сформировать
план
счетов;
информационные справочники, содержащие названия предприятий-партнеров и
их банковские реквизиты; список материально ответственных лиц и т.д. В
зависимости от специфики деятельности предприятия «АУБИ» позволяет вести
учет по следующим элементам управленческого учета:
19
− учет материалов;
− учет малоценных и быстроизнашивающихся материалов;
− основные средства;
− учет кассовых операций;
− учет банковских операций;
− учет счетов;
− ведение журнала хозяйственных операций;
− ведение главной бухгалтерской книги [7].
Все данные сохраняются на жестком диске в виде ASCII и RTF файлов или
выводятся непосредственно на принтер. В случае сохранения выходных форм
на
жестком
диске
пользователь
имеет
возможность
просматривать,
корректировать и выводить на печать все документы, используя для этого
имеющиеся у него стандартные программные средства (утилиты DOS, текстовые
редакторы и т.д.).
Программный комплекс «ABACUS professional» для управленческого
учета, разработанный фирмой «Омега», обладающий функциональной полнотой
и комплексным решение всех задач учета.
«ABACUS Professional» предназначен для ведения управленческого
финансового планирования и управления на предприятиях с численностью
работников до 50 – 60 человек.
Любая конфигурация требует модуль настройки, обеспечивающий привязку
комплекса к конкретному учету и ввод главных данных. В основе продукта
«ABACUS Professional» лежит единое поле действий, выполненные в одном
программном модуле, дублируя во всех остальных разделах системы независимо
от того, откуда произведен ввод данных.
На программном уровне в концепцию «ABACUS» заложена конфигурация
"файл-сервер". Все рабочие станции настраиваются на одни и те же файлы базы
данных, обработка информации (ввод, редактирование, удаление) проводятся на
каждой станции.
20
Анализ
программных
систем
среди
достоинств
и
недостатков
управленческого учёта в соответствии с предъявляемыми требованиями
представлены в таблице 1.
Таблица 1 Сравнительная характеристика программ управленческого
ABACUS professional
Парус
Галактика
Параметры
1С Предприятие
Программы
АУБИ
Турбо-Бухгалтер 6.9
учёта
1 Интеграция
+
-
+
+
+
+
2 Модульность
+
-
+
+
+
+
3 Единая база
+
+
+
+
+
+
+
+
+
-
-
+
5 Гибкость
+
+
+
-
+
+
6 Простота и
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
+
-
+
данных
4 Разграничение
прав доступа
удобство
7 Высокие
эксплуатационные
характеристики
8 Простота
освоения
программ
21
На основе проведенного анализа произведен выбор программного
продукта, максимально подходящий для автоматизации управленческого учёта
на конкретном предприятии с учётом предъявляемых требований.
Изучив
подробно
функционал
и
характеристики
программных
комплексов, был сделан выбор в пользу "1С". Так же каждое предприятие
совершенствуется, требуя автоматизации своего бизнес-процесса и потребность
в управленческой программе на ПК становится недостаточно для повышения
эффективности деятельности предприятия. Таким образом, самым удобным
способом для автоматизации является создание мобильного приложения.
На сегодняшний момент мобильное приложение или приложение для
смартфона является самой растущей потребностью в мире. Российский рынок
мобильной разработки растет на сотни процентов ежегодно.
Мобильные приложения разделяется на две группы:
− система
для
внутреннего
пользования,
например,
системы
документооборота, управления логистикой и т.п.;
− клиентское приложение, конечным пользователем которых является
покупатель.
Автоматизированные системы внутри компании с участием мобильного
приложения создают целую экосистему. За счет этого разработка мобильного
приложения для внутреннего пользования является неотъемлемой частью для
повышения эффективности труда, нацеленного на развития компании и
удовлетворение потребностей потребителей.
Критерии к разрабатываемому мобильному приложению:
− корректная работа приложения;
− корректная работа форм и элементов управления в формах мобильного
приложения;
− обмен данными с сервером мобильных приложений с использованием
TCP/IP;
− сканирование штрих-кода и выявление количества товара в магазине;
− отслеживание остатков товара по наименование и поставщику;
22
− осуществлять заказ поставщику.
На сегодняшний момент существуют различные мобильные приложения,
но не одно приложения не поддерживает обмен данными с «1C» приложением
на персональном компьютере. Так же не удовлетворяет полностью заданными
критериям. Перед нами была поставлена цель разработать приложение
удовлетворяющая потребностям предприятия.
1.3 Постановка задачи: функциональные и нефункциональные
требования к разрабатываемой информационной системе учета
товаров детского магазина «Светлячок»
Целью данной выпускной квалификационной работы является разработка
мобильного приложения для учета товаров, позволяющая оптимизировать
бизнес-процесс, так же ускорить работу организации, вести учет материальных
средств, заказов клиентов. Приложение помогает управлять складской
деятельностью, которая позволит быть в курсе того какие товары и в каком
количестве остались на складе. Для того чтобы создать приложение необходимо
исследовать главную задачу системы. Главной задачей является двухсторонний
обмен данными с ПК на телефон и с телефона на ПК. Тут необходимо понять,
как и каким можно осуществить универсальный способ передачи данных. Для
реализации задачи необходимо подключится к серверу и импортировать данные.
Для этого используется механизм TCP/IP. В результате двухстороннего обмена
получим информацию с результатами запроса на персональный компьютер или
мобильный телефон.
TCP/IP - это два основных сетевых пpотокола Internet. Пpотокол IP (Internet
Protocol - IP v4) обеспечивает маршрутизацию (доставку по адресу) сетевых
пакетов. Протокол TCP (Transfer Control Protocol) обеспечивает установление
надежного соединения между двумя машинами и собственно передачу данных,
контролируя оптимальный размер пакета передаваемых данных и осуществляя
пеpепосылку в случае сбоя. Число одновременно устанавливаемых соединений
между абонентами сети не ограничивается, т. е. любая машина может в
23
некоторый промежуток времени обмениваться данными с любым количеством
других машин по одной физической линии [8].
Для создания мобильного приложения учета товаров для получение
актуальной информации об остатках на складе магазина и информации о
предполагаемой потребности в их закупке
предъявляются
следующие
функциональные требования:
− вывод в виде таблицы информации: формирование остатка товара на
складе в виде таблицы, для быстрого анализа информации;
− поиск товара по штрих-коду: выводом информации о цене и остатке на
мобильное приложение через числовой код на этикетке;
− обмен данными с базой данных через интернет: получение информации
с телефона на ПК и с ПК на телефон с помощью TCP/IP (двухсторонний обмен);
− ручной регистрации потребности в закупке: составление заказа о
недостатках товара в магазин с помощью справочник «Заказ поставщику»;
− разработчик должен использовать тот же инструмент и те же подходы к
разработке, что и при разработке приложений для «обычного» компьютера.
При обсуждении технического задания на выполнение программной
системы с заказчиком, был выявлен ряд эксплуатационных пожеланий и
требований, список которых приведен ниже:
1. Предусмотреть необходимое время отклика системы, не превышающее
двух секунд, а также общее время обмена данными не должно превосходить трех
минут. Система должна поддерживать работу с Интернет-соединением для
обмена данными, объёмам 1МБит/сек.
2. Для обеспечения безопасности приложения исключить возможность
регистрации новых пользователей в программной системе. Логины и пароли
пользователем должны быть выданы администратором базы данных.
24
2 ОПИСАНИЕ СТРУКТУРЫ И ПРИНЦИПОВ
ФУНКЦИОНИРОВАНИЯ МОБИЛЬНОГО ПРИЛОЖЕНИЯ УЧЕТА
ТОВАРОВ ДЕТСКОГО МАГАЗИНА «СВЕТЛЯЧОК»
2.1 Выбор системы управления базами данных
Спектр
применения
баз
данных
достаточно
широк:
от
однопользовательских приложений, например, “записных книжек”, до больших
распределенных информационных систем, таких как поисковые службы,
интернет-магазины и др. База данных – совокупность набора данных,
организованных в соответствии с концептуальной структурой, описывающей
характеристики
этих
данных
и
взаимоотношения
между
ними,
поддерживающую одну или более областей применения [9].
Существует большое количество разнообразных Система управления
базами данных (СУБД), предназначенных для разных задач, однако обычно не
так просто понять, какая СУБД покажет себя лучше в тех или иных условиях.
Работа с СУБД в «1С» продемонстрирована на рисунке 7 осуществляется
со специализированной программой (чаще комплекс программ) напрямую с
файловой базой данных либо через веб-сервер.
Файловая СУБД является частью платформы, поэтому при работе системы
в файловом варианте тонкий и толстый клиенты самостоятельно работает с
данными. В «1С Предприятии» работа осуществляется непосредственно через
веб-клиент, который взаимодействует с веб-сервером.
Рисунок 7 – Работа файловой СУБД
25
Виды СУБД в «1С Предприятие»:
1. Толстый клиент - это одно из клиентских приложений системы
«1С:Предприятие». «Толстый клиент» использует всю функциональность,
предоставляемую встроенным языком. Но, требует огромное количества
аппаратных ресурсов на компьютере пользователя и может «общаться» с базой
данных или с кластером серверов «1С:Предприятия»
только посредством
файлового доступа или по локальной сети [10].
«Толстый клиент» подключается к кластеру серверов «1С:Предприятия».
Кластер взаимодействует с одной из систем управления базами данных.
Подключение выполняется по протоколу TCP/IP по локальной сети. Это
наиболее распространенный сценарий работы.
2. «Тонкий клиент» – это приложение, устанавливаемое на компьютер
пользователя. При этом доступна лишь часть функциональности. «Тонкий
клиент» работает с готовыми данными, которые подготовлены для отображения.
Выполнение запросов и вся работа с базой данных и объектными данными
происходит на стороне сервера. Он позволяет работать с интерфейсом
1С:Предприятия
настроенный
через
для
Интернет.
работы
с
Для
«1С:
этого
используется
Предприятием».
веб-сервер,
«Тонкий
клиент»
взаимодействует с веб-сервером по протоколу HTTP или HTTPS. Веб-сервер, в
свою очередь, взаимодействует с 1С: Предприятием 8 в файловом или клиентсерверном
варианте
работы.
В
качестве
веб-сервера
используется Apache или IIS. Благодаря этому, «тонкий клиент» использует
меньше аппаратных мощностей и его объем дистрибутива намного меньше [11].
3. «Веб-клиент» не имеет исполняемого файла. Запуск этого приложения
осуществляется в среду браузера. Чтобы производилась работа в этом режиме,
необходим веб-сервер (используется IIS или Apache), который настроен на
работу
с
«1С:Предприятие».
Веб-сервер
и
система
на
платформе
«1С:Предприятие» обращается клиент-серверу. С браузером же веб-сервер
взаимодействует по протоколам HTTPS или HTTP.
26
Весь функционал «1С:Предприятие» в режиме веб-клиента исполняется
при помощи языка JavaScript. При этом клиентские модули, которые были
разработаны в конфигурации, автоматически транслируются в JavaScript из
встроенного языка «1С:Предприятие».
Подключение «веб-клиента» к файловой базе данных выполняется через
веб-сервер, и непосредственную работу с данными выполняет не клиентское
приложение, а модуль расширения веб-сервера, который также содержит в себе
файловую СУБД. Взаимодействие элементов системы с файловой базой данных
осуществляется по собственному протоколу обмена данными, разработанному
фирмой "1С".
Все виды СУБД продемонстрированы на рисунке 8 показывают работу
каждого клиента. «Тонкий клиент» является более подходящим для разработки
мобильного приложения, так как предназначен для ускоренной работы на слабых
компьютерах. Он не требует быстрого интернет-соединения. Установка его не
занимает много времени. Весь этот функционал является простым для обычного
пользователя.
Рисунок 8 – Работа СУБД
27
Базы данных «1С:Предприятие» имеет отличительные особенности,
отличающие ее от реляционных моделей систем управления базами данных.
Отличительной особенностью работы с базой "1С" является возможность
осуществлять работу напрямую с платформой, не выполняя запрос к базе
данных.
Программист «1C» может выполнять различный ряд работ, отличных от
других систем:
−
описывать структуры данных в конфигураторе;
−
с помощью объектов встроенного языка манипулировать данными;
−
используя язык запросов для получение данных.
Платформа 1С:Предприятия обеспечивает операции исполнения запросов,
описания структур данных и манипулирования данными, транслируя их в
соответствующие команды. Это могут быть команды системы управления
базами данных, в случае клиент-серверного варианта работы, или команды
собственного движка базы данных для файлового варианта. – Модель работы с
базой данных «1С» продемонстрированно на рисунке 9.
Рисунок 9 – Модель работы с базой данных «1С»
28
2.2 Описание структуры базы данных мобильного приложения для
учета товаров детского магазина «Светлячок»
Для
работы
приложения
необходимо
хранить,
обрабатывать
и
взаимодействовать с информацией, которая непосредственно будет храниться в
базе данных. Для этого необходимо построить базу данных, которая будет
взаимодействовать с нашим приложением. В ней будут отображаться все
атрибуты для работы бизнес-процесса.
Подключение к базе данных будет инициализировано в коде системы для
учета товара.
В базе данных выделено 7 основных сущностей.
1. Сущность «Поставщик», хранит информацию о лицах поставляющие
товар в магазин (idПоставщик, наименование, ИНН, КПП).
2. Сущность «Пользователь», хранит информацию о зарегистрированных
пользователях в системе, так же информация из сущности «Пользователь»
используется при оформлении заказа оно является ответственным лицом
(idПользователь, ФИО, логин, пароль).
3. Сущность «Заказ_поставщику», хранит информацию для заказа товара
(idЗаказ_поставщику, дата, ответственное лицо).
4. Сущность
«Организация»,
хранит
информацию
о
организации
(idОрганизация, Наименование, ИНН, КПП, адрес).
5. Сущность
«Таблица_заказов»,
содержит
список
заказов
(idТаблица_заказов, количество).
6. Сущность «Номенклатура», содержит информацию о товарах в
магазине (idНоменклатура, наименование, артикул, штрих-код, единица
измерения);
7. Сущность «Вид_номенклатуры», содержит информацию товара по
видам (idВид_номенклатуры, наименования.
На рисунке 10 представлена концептуальная схема базы данных, используемая в
мобильном приложении для учета товаров.
29
Рисунок 10 – Концептуальная схема базы данных
За
целостность
базы
данных
отвечает
триггеры
ON
DELETE
{CASCADE}. При помощи каскадных ограничений ссылочной целостности
можно определить список действий, которые SQL-сервер будет принимать при
попытке пользователем удалить или обновить ключ в таблице, на который
указывают еще существующие внешние ключи.
Список действий, которые SQL-сервер будет принимать можно
определить с помощью инструкции триггера, определяя поведение системы в
зависимости от различных действий. Так, в данном случае система отреагирует
на удаление определенных строк, удалив так же последовательно (каскадно)
связанные строки.
К примеру, удалив одного из поставщиков будут последовательно
удалены записи, содержащие информацию о данном поставщике в остальных
связанных таблицах.
Концептуальную схему базы данных необходимо преобразовать в
реляционную схему. Преобразование состоит из следующих этапов:
1. Каждая сущность превращается в таблицу, имя сущности становится
именем таблицы.
30
2. Атрибут становится возможным столбцом с тем же именем. каждая
сущность превращается в таблицу, имя сущности становится именем таблицы.
3. Атрибут становится возможным столбцом с тем же именем.
4. Компоненты уникального
первичными ключами.
идентификатора
сущности
становятся
5. Внешними ключами становятся связи многие-к-одному (и один-комногим).
6. Создаются уникальные индексы для первичного ключа и внешних
ключей [11].
Реляционная схема базы данных, получившаяся после преобразования,
показана на рисунке 11.
Рисунок 11 – Реляционная схема базы данных
Таблица «Поставщик», хранит информацию о лицах поставляющие товар
в магазин.
 «idПоставщик» – первичный ключ, номер в базе данных;
 «Наименование» – аббревиатура для использования в официальных
документах;
 «ИНН» – цифровой код, содержащий информацию о данных владельца;
31
 «КПП» – цифровой код, присваивающий дополнительно к ИНН.
Таблица «Пользователь», хранит информацию о зарегистрированных
пользователях в системе, так же информация из сущности «Пользователь»
используется при оформлении заказа оно является ответственным лицом;
 «idПользователь» – первичный ключ, номер в базе данных;
 «ФИО» – аббревиатура для использования в официальных документах;
 «Логин» – содержит данные, используемый для входа на сайт или
сервис;
 «Пароль» – цифровой код, предназначенный для подтверждения
личности.
Сущность
«Организация»,
хранит
информацию
о
организации
(idОрганизация, Наименование, ИНН, КПП, адрес);
 «idОрганизация» – первичный ключ, номер в базе данных;
 «Наименование» – аббревиатура для использования в официальных
документах;
 «ИНН» – цифровой код, содержащий информацию о данных владельца;
 «КПП» – цифровой код, присваивающий дополнительно к ИНН;
 «Адрес» – местоположение организации.
Сущность «Заказ_поставщику», хранит информацию для заказа товара.
 «idЗаказ_поставщику» – первичный ключ, номер в базе данных;
 «idПоставщик» – первичный ключ, используется для идентификации по
номеру поставщика;
 «idПользователь» – внешний ключ, используется для идентификации по
номеру пользователя;
 «idОрганизация» – внешний ключ, используется для идентификации по
номеру организации;
 «Дата» – отображение информации о времени создания заказа;
 «Ответственное лицо» – пользователь, отвечающий за формирование
заказа.
Сущность «Таблица_заказов», содержит список заказов.
32
− «idТаблица_заказов» –– содержит номер в базе данных;
− «idЗаказ_поставщику»
––
внешний
ключ,
используется
для
идентификации по номеру заказа;
− «idНоменклатура» – внешний ключ, используется для идентификации
по номеру номенклатуры;
− «idВид_номенклатуры»
–
внешний
ключ,
используется
для
идентификации по номеру организации;
− «Количество» – числовое значение обозначающее количество заказов.
Таблица «Вид_номенклатуры», содержит информацию товара по видам
(idВид_номенклатуры, наименование).
 «idВид_номенклатура» – первичный ключ, номер в базе данных;
 «Наименование» – содержит информацию о видах товара.
2.3 Структура системы учета товаров детского магазина
«1С:Предприятие» – это специализированная объектно-ориентированная
система управления базами данных, предназначенная для автоматизации
деятельности предприятия. Содержащие в себе систему прикладных решений,
построенных по единым принципам и на единой технологической платформе.
Система «1С» для всех прикладных решений независимо от отраслевой
специфики обеспечивает:
−
возможность использования системы от локального компьютера до
десятков пользователей в локальной сети;
−
использование файлового варианта или варианта «клиент-сервер»;
−
возможность развертывания работы на нескольких территориально
удаленных точках с периодическим обменом информацией;
−
возможность использования современных технологий (web, XML) [12].
С помощью единой технологической платформы и общей методологии
программа позволяет создавать индивидуальные решения учитывая специфику
отрасли.
Преимущество «1С Предприятия»:
33
−
обеспечение
достаточно
низкой
стоимости
отраслевых
и
индивидуальных решений, так как затраты на их создание существенно ниже,
чем затраты на разработку программы «с нуля»;
−
обеспечение высокой скорости создания и внедрения решений, так как
максимально используется отработанная функциональность и методология,
содержащиеся в типовых решениях;
−
быстрое освоение возможностей программного решения;
−
упрощение
и
администрирование
системы,
так
как
функции
администрирования практически не зависят от конкретного прикладного
решения.
Структура пакета 1С:Предприятие:
«1С:Предприятие» является гибкой настраиваемой системой для решения
широкого круга задач в сфере автоматизации деятельности предприятий. Это
обеспечивается общей структурой системы, которая представлена на рис. 12.
Рисунок 12 – Структурная схема «1С:Предприятия»
В основе системы – технологическая платформа 1С, выполняющая
общесистемные функции. Прикладные задачи (бизнес-логику) и функции
34
взаимодействия
с
пользователем
реализуют
различные
решения,
т.н.
конфигурации, на базе технологической платформы.
«Пакет приложений 1С – Предприятие» продемонстрированный на
рисунке 13 разделяется на платформу и прикладное решение.
Платформа представляет собой framework, в котором функционирует
прикладное решение.
Платформа
состоит
из
исполняемых
файлов
и
динамически
присоединяемых библиотек, которые содержат:
−
основные свойства системы: язык, редакторы;
−
свойства базовых типов данных: число, строка, дата;
−
свойства
служебных
типов
метаданных:
таблица,
запрос,
списокЗначений, таблицаЗначений, xbase, форма, метаданные;
− свойства
видов метаданных: справочники, отчеты, документы, регистры.
Конфигурация создается на основе платформы содержащий в себе набор
объектов метаданных и алгоритмов их обработки. Используется разработчиками
и администраторами баз данных.
Прикладное решение – это самостоятельная сущность и выступает как
отдельный продукт, которая опирается на технологии платформы.
Рисунок 13 – Пакет приложений «1С:Предприятие»
35
Проектное внедрение состоит из множества этапов:
− сбор нужной информации;
− составление проекта;
− «подгон» всех процессов системы;
− тестирование приложения;
− тестирование ПО;
− ввод в эксплуатацию.
Мобильная платформа — это всего один из компонентов всего комплекса,
благодаря которому «1С:Предприятие » работает на мобильных устройствах.
Мобильная
платформа
«1С:Предприятия»
представляет
собой
набор
инструментов и технологий для быстрой разработки приложений под мобильные
ОС iOS, Android, с использованием той же среды разработки (Конфигуратор) с
использованием тех же методик разработки, что для «обычных» приложений
«1С». В результате получаются автономные, офлайновые приложения, но с
возможностью обмена при помощи широкого спектра средств интеграции,
предоставляемого платформой: Web и HTTP-сервисы, е-мейл и т.д. Связь между
платформой исполнения мобильных приложений и информационной базой
«1С:Предприятия» осуществляется посредством обмена данными. Платформа
передает операции серверу строго в определенном порядке, сводящая к
последовательно вызову методов, реализованных в конфигураторе.
Порядок выполнение методов предоставлен ниже:
1. Аутентификация мобильного пользователя: один из инструментов
администрирования. Он позволяет определить, кто именно из пользователей,
перечисленных в списке пользователей системы, подключается к прикладному
решению
в
данный
момент
при
помощи
метода ПолучитьМобильноеПриложение().
2. Получение мобильного приложения: по имени и версии приложения
происходит
сравнение,
информационную
базе
имеющего
на
«1С:Предприятия»,
компьютере
которые
пользователя
определяются
и
при
разработке приложения. Если имена и версии приложений совпадают, получение
36
приложения из информационной базы «1С:Предприятия» и передача его на
компьютер пользователя не производится. В противном случае приложение
получается
при
помощи
метода «ПолучитьМобильноеПриложение()»
и
передается на компьютер пользователя, заменяя собой приложение, имеющееся
на мобильном компьютере.
3. Запись данных мобильного пользователя в информационной базе
«1С:Предприятия»: платформа мобильного приложения формирует пакет
обмена, в который включаются данные, вновь введенные пользователем (новые
элементы справочников, документы, записи регистров сведений), а также
данные, которые были получены из информационной базы «1С:Предприятия» и
были изменены на мобильном компьютере со времени последнего сеанса
обмена. Сформированный пакет обмена передается серверу мобильных
приложений, который, в свою очередь, обращается к методу конфигурации
«ЗаписатьДанные()» и в качестве одного из параметров данного метода передает
пакет обмена.
4. Получение данных мобильным пользователем из информационной базы
1С:Предприятия:
осуществляется
посредством
обращения
к
методу
конфигурации «ПолучитьДанные()». Сервер мобильных приложений, получив
от
конфигурации
«1С:Предприятия»
пакет
обмена,
выполняет
его
преобразование в нужный формат.
5. Регистрация
получения
данных
мобильным
пользователем:
завершающий сеанс обмена данными, вызывается метод конфигурации
«1С:Предприятия» «ЗарегистрироватьПолучениеДанных()»[13].
Представим программный комплекс виде диаграммы компонентов
предназначены
для
отображения
программных
модулей
и
файлов
представленных в виде компонентов-экземпляров программы.
Компонент
является
физической
частью
системы.
Компоненты,
представляющие собой файлы с исходным кодом классов, библиотеки,
исполняемые модули и т.п., которые должны обладать согласованным набором
интерфейсов.
37
На рисунке 14 представлена диаграмма компонентов приложения.
Рисунок 14 – Структура информационной системы
Основным способом обмена будет обмен данными через веб-сервис. Этот
вариант обмена предполагается использовать всегда, когда возможно интернетсоединение, так же реализуем запасной обмен данными так, чтобы его можно
было использовать как аварийный способ обмена в том случае, если отсутствует
доступ в Интернет.
Запасной
обмен
данными
посредством
файла
XML,
он
же
"1С:Конвертация данных" – это технология обмена данными между различными
конфигурациями на платформе «1С» представлен на рисунке 15.
Запасным способом обмена данными является обмен через USB-кабель,
при котором данные обмена выгружаются и загружаются из файла обмена.
38
Технология «Конвертации данных» предлагает два способа передачи данных:
через файлы – в одной базе выгрузили, в другой загрузили, либо через вебсервер.
Достоинства web-сервера:
1. Возможность организовать онлайн-обмен.
2. Возможность организовать удаленный онлайн-обмен, т.е. через
Интернет.
3. База-приемник и база-источник могут работать на разных версиях
платформы (COM-соединение в таких ситуациях использовать проблематично,
почти невозможно).
4. Удобно для разработчика, возможность использовать одну и ту же
технологию трансфера данных.
Рисунок 15 – Запасной обмен данными
Для быстрого обмена данными используется возможности сервисориентированной архитектуры, с помощью которой система «1С:Предприятие»
может обмениваться через Web-сервер.
Сервер – это информационная база, которая принимает и отдает данные.
Всё делаем на платформе «1С:Предприятие». Web-сервис
Web сервис 1С - это объект 1С, который находится в конфигурации, в ветке
Общие/Web-сервисы показанный на рисунке 16.Данные из центральной,
мобильной базы конвертируются в xml отправляются через apache на веб- сервер.
39
Рисунок 16 – Web-сервис 1С
С помощью операции ПринятьДанные. Записывает информацию из
центральной, мобильной базы конвертируя в XML файл на веб-сервер.
Операция «ПринятьДанные» реализуется следующим образом:
Функция ПринятьДанные(Данные, ТекстОшибки)
УстановитьПривилегированныйРежим(Истина);
ОбработкаОбмена
=
Обработки.УниверсальныйОбменДаннымиXML.Создать();
ОбработкаОбмена.РежимОбмена = "Загрузка";
РаботаВозможна
=
ОбработкаОбмена.ВыполнитьДействияПередЧтениемДанных(Данные.Получит
ь());
Если НЕ РаботаВозможна Тогда
Возврат 0;
40
КонецЕсли;
ОбработкаОбмена.ПроизвестиЧтениеДанных(ТекстОшибки);
ОбработкаОбмена.ВыполнитьДействияПослеЗавершенияЧтенияДанных();
Возврат ОбработкаОбмена.мСчетчикЗагруженныхОбъектов;
КонецФункции
С помощью операции ОтдатьДанные возвращает xml-данные, выгружая по
переданным правилам обмена. Файл XML будет отправлен с веб-сервера на
центральную или мобильную базу.
Операция «ОтдатьДанные» реализуется следующим образом:
Функция
ОтдатьДанные(ПравилаОбмена,
ПравилаВыгрузкиXDTO,
ЗначенияПараметровXDTO)
УстановитьПривилегированныйРежим(Истина);
// Иницализация данных
Обмен = Обработки.УниверсальныйОбменДаннымиXML.Создать();
Обмен.РежимОбмена = "Выгрузка";
ИмяВремФайла = ПолучитьИмяВременногоФайла("xml");
Обмен.ИмяФайлаОбмена = ИмяВремФайла;
// Загрузка правил при обмене данными
ИмяФайлаПравилОбмена = ПолучитьИмяВременногоФайла("xml");
ЗаписьТекста = Новый ЗаписьТекста(ИмяФайлаПравилОбмена);
ЗаписьТекста.Записать(ПравилаОбмена.Получить());
ЗаписьТекста.Закрыть();
Обмен.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;
Обмен.ЗагрузитьПравилаОбмена();
// Параметры
ЗначенияПараметров
СериализаторXDTO.ПрочитатьXDTO(ЗначенияПараметровXDTO);
Если ЗначениеЗаполнено(ЗначенияПараметров) Тогда
=
41
Для каждого КлючИЗнач Из ЗначенияПараметров Цикл
Обмен.УстановитьЗначениеПараметраВТаблице(КлючИЗнач.Ключ,
КлючИЗнач.Значение);
КонецЦикла;
КонецЕсли;
// Правила выгрузки данных
ПравилаВыгрузки
=
СериализаторXDTO.ПрочитатьXDTO(ПравилаВыгрузкиXDTO);
Если ЗначениеЗаполнено(ПравилаВыгрузки) Тогда
// Сначала снимаем все отметки
Для Каждого Строка из Обмен.ТаблицаПравилВыгрузки.Строки Цикл
Строка.Включить = 0;
Обмен.УстановитьПометкиПодчиненных(Строка, "Включить");
КонецЦикла;
// Теперь устанавливаем по переданным ПВД
Для каждого ИмяПравилаВыгрузки Из ПравилаВыгрузки Цикл
СтрДерева
=
Обмен.ТаблицаПравилВыгрузки.Строки.Найти(ИмяПравилаВыгрузки,
"Имя",
Истина);
Если СтрДерева = Неопределено Тогда
ВызватьИсключение
"ОбменДаннымиXML.ОтдатьДанныеXML():
удалось найти ПВД """ + ИмяПравилаВыгрузки + """!";
Иначе
СтрДерева.Включить = 1;
Обмен.УстановитьПометкиРодителей(СтрДерева, "Включить");
КонецЕсли;
КонецЦикла;
КонецЕсли;
// Выгрузка
не
42
Обмен.ВыполнитьВыгрузку();
// Конец
ЧтениеТекста = Новый ЧтениеТекста;
ЧтениеТекста.Открыть(ИмяВремФайла, КодировкаТекста.UTF8);
Результат = ЧтениеТекста.Прочитать();
ЧтениеТекста.Закрыть();
УдалитьФайлы(ИмяВремФайла);
УдалитьФайлы(ИмяФайлаПравилОбмена);
ХранилищеДанных
=
Новый
ХранилищеЗначения(Результат,
Новый
СжатиеДанных(9));
Возврат ХранилищеДанных;
КонецФункции
Обмен данными через веб-сервер продемонстрирован на рисунке 17.
Рисунок 17 – Обмен данными через веб-сервер
2.4 Реализация безопасность мобильного приложения учета товаров
детского магазина «Светлячок»
Одной
из
наиболее
частых
проблем
является
нарушение
работоспособности сервера и целость базы «1С:Предприятие». Аппаратные
отказы, вирусы, человеческий фактор могут в принципе прекратить
существование баз данных.
Для повышения степени защиты от несанкционированного доступа
информации,
возможности:
хранящейся
в
программе,
предусмотрены
следующие
43
−
аутентификация;
−
настройка и контроль сложности пароля;
−
требование смены пароля по расписанию или вручную;
−
настройка и контроль повторяемости пароля.
Механизм аутентификации позволяет определить кто именно из
пользователей подключается к системе в данный момент предотвращая
несанкционированный доступ.
«1С:Предприятие» поддерживается три вида аутентификации, которые
могут использоваться в зависимости от конкретных задач, стоящих перед
администратором информационной базы:
−
аутентификация «1С:Предприятия» — аутентификация по созданному
в программе пользователю и паролю;
−
аутентификация операционной системы — программа анализирует, от
имени какого пользователя операционной системы выполняется подключение,
и на основании этого определяет соответствующего пользователя программы;
−
OpenID-аутентификация — аутентификацию пользователя выполняет
внешний OpenID-провайдер, хранящий список пользователей[14].
Если для пользователя не указан ни один из видов аутентификации,
такому пользователю доступ к Программе закрыт.
Форма «настройка входа» разделяется на внутренних и внешних
пользователей. В программе настраиваются следующие параметры:
− настройка сложности пароля;
− требование смены пароля по расписанию или вручную;
− настройка повторяемости пароля;
− ограничение срока действия учетной записи.
Пароль должен отвечать следующим требованиям:
− иметь не менее семи символов;
− содержать любые три из четырех типов символов: заглавные буквы,
строчные буквы, цифры, специальные символы;
− не совпадать с логином для входа.
44
Так же для защиты от несанкционированного доступа можно установить
ограничения для пользователя, не работающие в системе, например, 45 дней.
По истечению указанного срока доступ к системе будет закрыт.
Для обеспечения безопасности недостаточно просто задать пароль
учетной записи или зашифровать данные, усиливая защиту информации только
на некоторых «участках» функционирования системы. Обеспечение защиты
данных понятие комплексное. Часть мер по организации контроля доступа к
информации
осуществляется
техническими
средствами,
в
том
числе
1С:Предприятием, СУБД (например, Microsoft SQL Server) и операционной
системой. Часть мер представляет собой набор административных действий и
правил компании.
Базовый принцип защиты данных заключается в том, что пользователи не
имеют прямого доступа к файлам информационной базы. «Посредником»
между клиентами «1С:Предприятия» и сервером СУБД является рабочий
процесс rphost, который обращается с запросом к СУБД от имени своей учетной
записи. Затем полученный результат возвращает клиенту. Реализация клиентсерверной архитектуры представлено на рисунке 18.
Рисунок 18 – Реализация клиент-серверной архитектуры
45
Доступ
к
серверу
СУБД
должен
быть
предоставлен
только администраторам сервера и учетной записи служб кластера серверов
«1С:Предприятие».Такой доступ имеет некоторый недостаток, из-за передачи
данных по сети процесс работы замедляется. Для компьютера, на котором
запущен MS SQL Server лучше оставить работающим приложением только MS
SQL Server, исключив такие сервисы как "общий файловый доступ", "почтовый
сервер", "интернет-прокси", "веб-сервера" и т.п.
Разумеется, необходимо ежедневно проверять компьютеры, на которых
установлена антивирусная защита.
46
3 РЕАЛИЗАЦИЯ СИСТЕМЫ МОБИЛЬНОГО ПРИЛОЖЕНИЯ
УЧЕТА ТОВАРОВ ДЕТСКОГО МАГАЗИНА «СВЕТЛЯЧОК»
3.1 Описание алгоритмов функционирования мобильного
приложения учета товаров детского магазина
В программном комплексе для предприятия исключена возможность
зарегистрироваться в системе, в соответствии с требованиями к которой данное
приложение может использоваться только ограниченным кругом лиц.
Для использования всех возможностей программы, пользователь должен
ввести выданные ему заранее пароль. Если же пользователь по какой-либо
причине не знает свой пароль (утеря, кража), то ему необходимо будет
обратиться к администратору, который внесет необходимые изменения в
учетные записи в базе данных.
После правильного ввода пароля пользователь попадает на главную
форму, где может выбрать интересующий ему раздел. На этой страницы
предоставляется полная информация о возможности системы по данному
каталогу. Выбрав нужную подсистему для работы можно выбрать действие,
которое необходимо пользователю для решения различных ряд задач.
Продемонстрируем алгоритм работы с приложением на рисунке 19.
Для функционирования системы необходимо рассмотреть алгоритмы,
которые
будут
выполнять
большую
часть
функциональности.
Система включает следующие алгоритмы:
1. Алгоритм обмен данными.
2. Алгоритм создание справочника.
3. Алгоритм оформления заказа.
4. Алгоритм формирование отчета.
работы
по
обеспечение
47
Рисунок 19 – Основной алгоритм работы мобильного приложения
Опишем первый алгоритм «Обмен данными», приведенный на рисунке 20.
Магазин работает с несколькими информационными базами и возникла
необходимость в переносе данных из одной программы в другую. Например,
выгрузить информацию о недостатках товара из управленческой базы, а также
возможность внести информацию в информационную базу. Все эти задачи
помогает решить обмен данными между конфигурациями. В нашем случае
используется двухсторонний обмен, так как он способствует вносить и
выгружать информацию.
Первым делом необходимо установить в информационной системе
соединение с базой данных центральной или мобильной. Программа может
взаимодействовать с мобильными приложениями на «1С» или с центральной
базой данных. Обмен данными осуществляется программно для получения
информации из центральной базы необходимо загрузить следом выгрузить
48
информацию, такой же процесс поддерживает мобильная база. Если соединение
не установилось, то система выдает сообщение об ошибке.
Обмен
данными
между
основной
базой
данных
и
мобильным
приложением осуществляется автоматически, причем этот процесс возможен на
любом мобильном устройстве, на котором установлена мобильное приложения
на «1С». Ключевым моментом при работе мобильного приложения является
взаимодействие двух баз данных: мобильная, центральная база данных. Для
работы
мобильного
приложения
необходимо
указать
узел
связи
для
подключения к мобильной или центральной базе. После успешного ввода узла
происходит подключение по выбранному узлу. Используя эту связь возможно
производить загрузку данных в приложение либо выгрузку данных в основную
базу.
Рисунок 20 – Алгоритм функции запасного обмен данными
49
Второй алгоритм «создание справочника» изображенный на рисунке 21.
Справочник - это прикладной объект конфигурации, позволяющий хранить в
информационной базе данные, имеющие одинаковую структуру и списочный
характер. Это может быть, например, список сотрудников, список поставщиков
или покупателей. В справочнике хранится информация о статусе выполнения
заказа,
к какому поставщику относится
данный заказ,
кто является
ответственным лицом при оформлении заказа. В справочнике возможен
просмотр, редактирование и сохранение информации. После сохранения,
информация
попадает
в
базу
данных
для
хранения
использования.
Рисунок 21 – Алгоритм создания справочника
и
дальнейшего
50
Третий алгоритм «таблица заказов» изображен на рисунке 22. В таблице
заказов хранится
информация
о номенклатуре
и единицы измерения
недостающего товара. В таблице заказов возможен просмотр, редактирование и
сохранение информации. После сохранения, информация попадает в базу
данных для хранения и дальнейшего использования.
Рисунок 22 – Алгоритм «таблица заказов»
Алгоритм «формирование отчета» представлен на рисунке 23.
Все
процедуры и операции, из которых состоит процесс торговли, направлены на
повышение оборота и прибыли. Формирование специализированных отчётов и
51
своевременный контроль товародвижение поможет снизить денежные потери.
Формирование отчета состоит из следующих этапов:
− выбор подсистемы «остатки товаров»;
− выбор временных параметров;
− формирование отчета с выводом всей информацией о товаре.
Рисунок 23 – Алгоритм формирование отчета
3.2 Разработка пользовательского интерфейса информационной
системы учета товаров детского магазина
Диаграмма прецедентов играет основную роль в моделировании
поведения системы, показывающая множество прецедентов, актеров и
отношения между ними [16].
Данные диаграммы имеют большое значение для визуализации,
документирования и специфицирования поведения элемента. Они облегчают
понимание систем, представляя взгляд извне на то, как данные элементы могут
быть использованы в соответствующем контексте. Кроме того, эти диаграммы
52
важны для тестирования разрабатываемых систем в процессе проектирования и
для понимания их внутреннего устройства.
На рисунке 18 представлена диаграмма прецедентов пользователя. Пока
пользователь не ввел пароль в системе, он не может получить доступ к
пользовательскому меню. Это сделано в целях безопасности как системы, так и
информации, собранной системой.
Рисунок 18 – Диаграмма прецедентов приложения
После успешного входа в систему, пользователь получает права доступа
к программе. В ней он может совершать различного рода задачи: вносить,
изменять данные в базе, формировать отчет, создавать справочники, оформлять
заказы, так же пользователь может обмениваться между собой данными
центральной базой и мобильной базой.
Огромную роль в проектировании мобильного приложения для учета
товаров играет диаграмма состояний — это, по существу, диаграмма состояний
из теории автоматов со стандартизированными условными обозначениями,
которая может определять множество систем от компьютерных программ до
бизнес-процессов [15].
Диаграмма состояний используется для описания последовательности
переходов объекта из одного состояний в другой, а также показывает все
53
возможные состояния, в которых может находиться объект. Диаграмма
состояний имеет схожую семантику с диаграммой деятельности, только
деятельность здесь заменена состоянием, а переходы символизируют действия.
Основными элементами диаграммы являются «Состояние» и «Переход».
Переход может быть инициирован событием, которое отражается на
диаграмме состояний.
Состояние может содержать только имя или имя и дополнительно список
внутренних действий, содержащий перечень действий, которые выполняются
во время ожидания объекта в данном состоянии.
Для удобства использования приложения необходимо реализовать
диаграмму состояний пользователя.
На рисунке 24 показано как происходит обмен данными между ПК и
телефоном. Для выполнения обмена данными необходимо указать нужный узел
обмена. После ввода верного адреса узла происходит подключение к
центральной или мобильной базе, в зависимости от адреса, и осуществляется
синхронизация данных.
Рисунок 24 – Диаграмма состояний «обмен данными»
54
На рисунке 25 представлена диаграмма состояний, описывающая логику
диалога пользователя с приложением, при работе в подсистеме «Оформление
заказа» при работе со справочником. В каталоге можно просматривать
имеющий справочник, редактировать и создавать новые документы, заполняя
все пустые поля в меню. В справочнике редактируется индикационный номер,
дату заказа, выбрать контрагента (ответственное лицо) и статус выполнения
заказа (выполнен, не выполнен).
Рисунок 25 – Диаграмма состояний «Добавление справочника»
На рисунке 26 продемонстрируем работу диаграммы состояний в
подсистеме «Оформление заказа» при работе с таблицей заказов. Справочник
хранит в себе список заказов. Таблица заказов содержит поля: «Номер заказа»,
55
«Номенклатуры», «Количество», которые требуют заполнения при создании
нового заказа или редактирование одного из полей при изменении данных.
Рисунок 26 – Диаграмма состояний «Таблица заказов»
На рисунке 27 продемонстрирована работа по формированию отчета.
Для формирования отчета необходимо задать временные параметры (дата
начала, дата окончания) после чего нажать на кнопку «сформировать» для
получения полного списка данных о товаре.
Рисунок 27 – Диаграмма состояний «Формирование отчета»
56
Для удобства использования приложения необходимо рассмотреть
логику диалога с пользователем.
На рисунке 28 покажем логику диалога с пользователем мобильное
приложение учета товара в детском магазине «Светлячок». Пользователь, войдя
в систему должен ввести пароль, после успешного входа запускается главное
меню где можно производить работы с разными подсистемами: «Заказ
поставщику», «Остатки товар», «Запасной обмен данными», «Настройками»
каждая подсистема работает в своем определенном назначении.
Рисунок 28 – Логики диалога с пользователем мобильного приложения
учета товаров детского магазина «Светлячок»
57
После запуска приложения пользователю будет необходимо ввести свои
логин и пароль. Регистрация в приложении невозможна, так как выдача прав
доступа производится администратором системы. Первой формой, с которой
пользователь
будет
взаимодействовать,
является
окно
доступа
к
информационной базе, в котором пользователю предлагается ввести свои логин
и пароль.
Рисунок 29 – Вход в мобильное приложение
После успешного входа в систему, пользователю будет показана главная
форма мобильного приложения, иначе появится сообщение об отказе в доступе
к приложению. На рисунке 30 показано стартовое меню. В этом меню
пользователь может выбрать один из каталогов в верхней части формы. Выбрав
каталог «Заказ поставщику» загружается подсистема предназначенная для
оформления заказа. В данном каталоге пользователь может создать справочник
с номером, датой, названием контрагента и статусом заказа. Так же пользователь
может создать в справочнике таблицу заказов где указывается номер,
номенклатура и количество необходимого товара. Работа каталога «Заказ
поставщику» продемонстрирован на рисунке 31.
58
Рисунок 30 – Главное меню приложения
Рисунок 31 – Создание заказа
В этом каталоге можно просмотреть все заказы, которые были созданы
пользователем и в каком они находятся статусе выполнения. Хранение заказов
изображено на рисунке 31.
Рисунок 32 – Список заказов поставщика
59
В
каталоге
«Контрагенты»
продемонстрированы
физические
лица,
работающие в магазине в качестве поставщиков. Список контрагентов
изображен на рисунке 33.
Рисунок 33 – Список контрагентов
В каталоге «Номенклатура» хранится список товаров имеющийся в базе
данных. Список контрагентов изображен на рисунке 34.
Рисунок 34 – Список товаров в каталоге «Номенклатура»
С помощью каталога «Остатки товара» можно сформировать список товаров,
в котором можно просмотреть информацию о характеристике продукции, о
остатке
начальном
товара,
о количестве
прихода
товара,
о расходе
определенного товара и конечном остатке. Работа с каталогом «Остатки товара»
изображен на рисунке 35-36.
60
Рисунок 35 – Список характеристик товара в каталоге «Остатки товаров»
Рисунок 36 – Список характеристик товара в каталоге «Остатки товаров»
61
ЗАКЛЮЧЕНИЕ
В результате выполнения дипломной работы было реализовано
мобильное приложение учета товаров на примере детского магазина
«Светлячок».
В процессе работы был проведен анализ предметной области, в
результате которого были выдвинуты функциональные и требования к системе.
Так же произведен анализ программных обеспечений учета товаров, в ходе
которого были выявлены все плюсы и минусы. Выявлен процесс построения
СУБД.
В ходе проектирования были составлены диаграммы: бизнес-процессов и
составлена архитектура системы. Были составлены и описаны алгоритмы,
В результате работы была получена рабочая система, которая полностью
удовлетворяет нашим требования.
Было создано корректно работающее приложение, в котором реализовано:
− корректная работа форм и элементов управления в формах мобильного
приложения;
− выполнение обмена данными с сервером мобильных приложений с
использованием TCP/IP;
− отслеживание остатков товара по наименование и поставщику;
− осуществлять заказ поставщику.
Произведено тестирование приложения в условиях реальных предприятий.
Были решены следующие задачи:
1. Произведен анализ существующих системы для управленческого
учета.
2. Описаны бизнес-процессы торговой деятельности.
3. Реализованы необходимые структуры данных.
4. Разработаны алгоритмы для автоматизации бизнес-процесса.
5. Реализован прототип мобильного приложения учета товаров детского
магазина детского магазина «Светлячок» на платформе «1С».
62
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Бизнес-процессы — основа эффективного управления предприятием
[Электронный ресурс]. – Режим доступа: https://www.u-b-s.ru/publikacii/biznesprocessy.html (Дата обращения: 18.04.2018).
2. Управленческие
функции
автоматизированы
в
45%
компаний
[Электронный ресурс]. – Режим доступа: https://nafi.ru/analytics/avtomatiziruyeto/ (Дата обращения: 18.04.2018).
3. Методические
аспекты
преподавания
компьютерного
учета
с
использованием ПП «1С:Бухгалтерия 8.0» [Электронный ресурс]. – Режим
доступа : http://1c.ru/rus/partners/training/edu/theses/?y=2005&s=25&t=492 (Дата
обращения: 25.04.2018).
4. Описание системы | Галактика ERP [Электронный ресурс]. – Режим
доступа:
(Дата
https://www.galaktika.ru/erp/galaktika-erp.html
обращения:
27.04.2018).
5. Для малого бизнеса - Дагестан-Парус [Электронный ресурс]. – Режим
доступа: http://dagparus.ru/dlya-malogo-biznesa (Дата обращения: 08.05.2018).
6. Возможности программы Турбо Бухгалтер - Петербургский капитал
[Электронный
ресурс].
–
Режим
доступа:
http://www.pcapital.ru/produkty/turbo_buhgalter/vozmozhnosti_turbo_buhgalte
(Дата обращения: 10.05.2018).
7. Aubi
-
StudFiles
[Электронный
ресурс].
–
Режим
доступа:
https://studfiles.net/preview/486060/page:5/ (Дата обращения: 11.05.2018).
8. Протоколы TCP/IP как основа Интернет. Многоуровневая модель
взаимодействия открытых систем [Электронный ресурс]. – Режим доступа:
http://studbooks.net/2141481/informatika/protokoly_tcpip_osnova_internet
(Дата
обращения: 18.05.2018).
9. Словарь-справочник по информатике [Электронный ресурс]. – Режим
доступа:
http://www.nsc.ru/win/elbib/data/show_page.dhtml?77+329+35
обращения: 23.05.2018).
(Дата
63
10. Толстый клиент - 1С:Предприятие 8 [Электронный ресурс]. – Режим
доступа:
http://v8.1c.ru/overview/Term_000000123.htm
(Дата
обращения:
01.06.2018).
11. 1С:Предприятия 8.2: обзор, описание, возможности [Электронный
ресурс]. – Режим доступа: https://wiseadvice-it.ru/o-kompanii/blog/articles/obzor1s-predpriyatiya-8-2/ (Дата обращения: 01.06.2018).
12. Реляционная модель данных. Получение реляционной схемы из ERдиаграммы. [Электронный ресурс]. – Режим доступа: https://e-educ.ru/bd23.html
(Дата обращения: 08.06.2018).
13. Описание протокола обмена данными [Электронный ресурс]. –
Режим
доступа:
http://its.1c.eu/db/metod8dev#content:2338:hdoc
(Дата
обращения: 11.06.2018).
14. Отчет «Сведения о пользователях» [Электронный ресурс]. – Режим
доступа: https://buh.ru/articles/documents/52829/ (Дата обращения: 11.06.2018).
15. Отчет «Сведения о пользователях» [Электронный ресурс]. – Режим
доступа: https://studfiles.net/preview/5944271/ (Дата обращения: 13.06.2018).
16. Введение | Вариант использования [Электронный ресурс]. – Режим
доступа: https://studfiles.net/preview/6488854/ (Дата обращения: 13.06.2018).
17. Олькина, Е.В. Методические указания по оформлению электронных
материалов [Текст] / Е.В. Олькина. – ОрёлГТУ, 2010. - 21 с.: ил.
18. Харрингтон, Д. Л. Проектирование реляционных баз данных. [Текст]/
Джен Л. Харрингтон – М.: Лори, 2006. – 230 с. – 1500 экз. – ISBN 5-85582-0823
64
ПРИЛОЖЕНИЕ А
ФРАГМЕНТЫ КОДА
Функция ПолучитьПрефиксНомера() Экспорт
Возврат ПланыОбмена.Мобильные.ЭтотУзел().Код + "-";
КонецФункции
Функция ВыполнитьОбменДанными(ТекстОшибки) Экспорт
Прокси = ПолучитьПрокси(ТекстОшибки);
Если Прокси = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
КодЦБ = Константы.КодЦентральнойБазы.Получить();
ЦентральныйУзелОбмена =
ПланыОбмена.Мобильные.НайтиПоКоду(КодЦБ);
Узел = ПланыОбмена.Мобильные.ЭтотУзел();
// Инициализируем обмен с центральной базой
КодУзла = Прокси.НачатьОбмен(Узел.Код,
ЦентральныйУзелОбмена.НомерПринятого,
ЦентральныйУзелОбмена.НомерОтправленного);
Если КодУзла = "" Тогда
ТекстОшибки = "Узел с кодом " + Узел.Код + " не найден!";
Возврат Ложь;
КонецЕсли;
65
// Отправляем данные
ДанныеОбмена =
Обмен.СформироватьПакетОбмена(ЦентральныйУзелОбмена);
Попытка
Прокси.ЗаписатьДанные(Узел.Код, ДанныеОбмена);
Исключение
КонецПопытки;
// Принимаем данные
ДанныеОбмена = Прокси.ПолучитьДанные(Узел.Код);
Обмен.ПринятьПакетОбмена(ЦентральныйУзелОбмена, ДанныеОбмена);
Возврат Истина;
КонецФункции
Функция ПолучитьПрокси(ТекстОшибки) Экспорт
ТекстОшибки = "";
Адрес = Константы.АдресЦентральнойБазы.Получить();
Адрес = Адрес + "/ws/wsExchange.1cws?wsdl";
//Попытка
//Определения = Новый WSОпределения(Адрес,"Prog","123",,60);
Определения = Новый WSОпределения(СокрЛП(Адрес),,,,60);
//Исключение
// // Сообщим пользователю о том, что не получилось получить определение
сервиса
66
// ТекстОшибки = "Не удалось установить соединение с сервером. Повторите
попытку позже.";
// Возврат Неопределено;
//КонецПопытки;
URI = URIПространстваИменСервиса();
Прокси = Новый WSПрокси(Определения, URI, "MAExchange",
"MAExchangeSoap");
//Прокси.Пользователь = "Prog";
//Прокси.Пароль = "123";
Возврат Прокси;
КонецФункции
Функция URIПространстваИменСервиса()
Возврат "http://localhost/wsExchange";
КонецФункции
Функция СформироватьПакетОбмена(УзелОбмена) Экспорт
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку("UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена);
67
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi",
"http://www.w3.org/2001/XMLSchema-instance");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("v8",
"http://v8.1c.ru/data");
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелОбмена,
ЗаписьСообщения.НомерСообщения);
Пока ВыборкаИзменений.Следующий() Цикл
Данные = ВыборкаИзменений.Получить();
// Записываем данные в сообщение
ЗаписатьДанные(ЗаписьXML, Данные);
КонецЦикла;
ЗаписьСообщения.ЗакончитьЗапись();
Возврат Новый ХранилищеЗначения(ЗаписьXML.Закрыть(), Новый
СжатиеДанных(9));
КонецФункции
Процедура ПринятьПакетОбмена(УзелОбмена, ДанныеОбмена) Экспорт
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(ДанныеОбмена.Получить());
ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
68
ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправите
ль,
ЧтениеСообщения.НомерПринятого);
НачатьТранзакцию();
Пока ВозможностьЧтенияДанных(ЧтениеXML) Цикл
Данные = ПрочитатьДанные(ЧтениеXML);
Если Не Данные = Неопределено Тогда
// Не переносим изменение, полученное из офиса, если есть регистрация
изменения на
//планшете
Если Не ПринятьИзменения(ЧтениеСообщения.Отправитель, Данные)
Тогда
Продолжить;
КонецЕсли;
//Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
Данные.ОбменДанными.Загрузка = Истина;
Данные.Записать();
КонецЕсли;
КонецЦикла;
ЗафиксироватьТранзакцию();
//ЧтениеСообщения.ЗакончитьЧтение();
ЧтениеXML.Закрыть();
69
КонецПроцедуры
Процедура ЗаписатьДанные(ЗаписьXML, Данные) Экспорт
Если ТипЗнч(Данные) = Тип("СправочникОбъект.Номенклатура") Тогда
// Записываем элемент справочника вручную.
ЗаписатьXMLТовары(ЗаписьXML, Данные);
ИначеЕсли ТипЗнч(Данные) = Тип("СправочникОбъект.Склады") Тогда
// Записываем элемент справочника вручную.
ЗаписатьXMLСклады(ЗаписьXML, Данные);
ИначеЕсли ТипЗнч(Данные) = Тип("СправочникОбъект.Пользователи") Тогда
// Записываем элемент справочника вручную.
ЗаписатьXMLПользователи(ЗаписьXML, Данные);
ИначеЕсли ТипЗнч(Данные) = Тип("СправочникОбъект.Контрагенты") Тогда
// Записываем элемент справочника вручную.
ЗаписатьXMLКонтрагенты(ЗаписьXML, Данные);
ИначеЕсли ТипЗнч(Данные) = Тип("СправочникОбъект.ВидыНоменклатуры")
Тогда
// Записываем элемент справочника вручную.
70
ЗаписатьXMLВидыНоменклатуры(ЗаписьXML, Данные);
ИначеЕсли ТипЗнч(Данные) =
Тип("СправочникОбъект.ХарактеристикиНоменклатуры") Тогда
// Записываем элемент справочника вручную.
ЗаписатьXMLХарактеристикиНоменклатуры(ЗаписьXML, Данные);
ИначеЕсли ТипЗнч(Данные) = Тип("ДокументОбъект.ЗаказПоставщику")
Тогда
// Записываем элемент справочника вручную.
ЗаписатьXMLЗаказПоставщику(ЗаписьXML, Данные);
Иначе
// Записываем данные с помощью стандартного метода.
ЗаписатьXML(ЗаписьXML, Данные);
КонецЕсли
КонецПроцедуры
Процедура ЗаписатьXMLТовары(ЗаписьXML, Номенклатура) Экспорт
71
// Записываем начало элемента XML
ЗаписьXML.ЗаписатьНачалоЭлемента("CatalogObject.Номенклатура");
// Ссылка
ЗаписатьXML(ЗаписьXML, Номенклатура.Ссылка, "Ref",
НазначениеТипаXML.Явное);
// ЭтоГруппа
ЗаписатьXML(ЗаписьXML, Номенклатура.ЭтоГруппа, "IsFolder",
НазначениеТипаXML.Явное);
// Родитель
//Если ЗначениеЗаполнено(Номенклатура.Родитель) Тогда
ЗаписатьXML(ЗаписьXML, Номенклатура.Родитель, "Parent",
НазначениеТипаXML.Явное);
//КонецЕсли;
//Код
ЗаписатьXML(ЗаписьXML, Номенклатура.Код, "Code",
НазначениеТипаXML.Явное);
// Наименование
ЗаписатьXML(ЗаписьXML, Номенклатура.Наименование, "Description",
НазначениеТипаXML.Явное);
// Реквизиты, выгружаемые только для элемента справочника
Если Не Номенклатура.ЭтоГруппа Тогда
// Описание
ЗаписатьXML(ЗаписьXML, Номенклатура.Артикул, "Артикул",
НазначениеТипаXML.Явное);
// ФайлКартинки
//ЗаписатьXML(ЗаписьXML, Номенклатура.ФайлКартинки,
"ФайлКартинки", НазначениеТипаXML.Явное);
КонецЕсли;
72
// Записываем конец элемента
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецПроцедуры
Процедура ЗаписатьXMLСклады(ЗаписьXML, Склад) Экспорт
// Записываем начало элемента XML
ЗаписьXML.ЗаписатьНачалоЭлемента("CatalogObject.Склады");
// Ссылка
ЗаписатьXML(ЗаписьXML, Склад.Ссылка, "Ref",
НазначениеТипаXML.Явное);
//Код
ЗаписатьXML(ЗаписьXML, Склад.Код, "Code", НазначениеТипаXML.Явное);
// Наименование
ЗаписатьXML(ЗаписьXML, Склад.Наименование, "Description",
НазначениеТипаXML.Явное);
// Записываем конец элемента
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецПроцедуры
Процедура ЗаписатьXMLПользователи(ЗаписьXML, Пользователь) Экспорт
// Записываем начало элемента XML
ЗаписьXML.ЗаписатьНачалоЭлемента("CatalogObject.Пользователи");
// Ссылка
ЗаписатьXML(ЗаписьXML, Пользователь.Ссылка, "Ref",
НазначениеТипаXML.Явное);
73
// Наименование
ЗаписатьXML(ЗаписьXML, Пользователь.Наименование, "Description",
НазначениеТипаXML.Явное);
// Записываем конец элемента
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецПроцедуры
Процедура ЗаписатьXMLВидыНоменклатуры(ЗаписьXML,
ВидыНоменклатуры) Экспорт
// Записываем начало элемента XML
ЗаписьXML.ЗаписатьНачалоЭлемента("CatalogObject.ВидыНоменклатуры");
// Ссылка
ЗаписатьXML(ЗаписьXML, ВидыНоменклатуры.Ссылка, "Ref",
НазначениеТипаXML.Явное);
// Наименование
ЗаписатьXML(ЗаписьXML, ВидыНоменклатуры.Наименование, "Description",
НазначениеТипаXML.Явное);
// Записываем конец элемента
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецПроцедуры
Процедура ЗаписатьXMLХарактеристикиНоменклатуры(ЗаписьXML,
ХарактеристикиНоменклатуры) Экспорт
// Записываем начало элемента XML
ЗаписьXML.ЗаписатьНачалоЭлемента("CatalogObject.ХарактеристикиНоменк
латуры");
74
// Ссылка
ЗаписатьXML(ЗаписьXML, ХарактеристикиНоменклатуры.Ссылка, "Ref",
НазначениеТипаXML.Явное);
// Владелец
ЗаписатьXML(ЗаписьXML, ХарактеристикиНоменклатуры.Владелец,
"Owner", НазначениеТипаXML.Явное);
// Наименование
ЗаписатьXML(ЗаписьXML, ХарактеристикиНоменклатуры.Наименование,
"Description", НазначениеТипаXML.Явное);
// Записываем конец элемента
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецПроцедуры
Процедура ЗаписатьXMLЗаказПоставщику(ЗаписьXML, ЗаказПоставщику)
Экспорт
// Записываем начало элемента XML
ЗаписьXML.ЗаписатьНачалоЭлемента("CatalogObject.ЗаказыПоставщику");
// Ссылка
ЗаписатьXML(ЗаписьXML, ЗаказПоставщику.Ссылка, "Ref",
НазначениеТипаXML.Явное);
ЗаписатьXML(ЗаписьXML, ЗаказПоставщику.Номер, "Номер",
НазначениеТипаXML.Явное);
ЗаписатьXML(ЗаписьXML, ЗаказПоставщику.Дата, "Дата",
НазначениеТипаXML.Явное);
// Контрагент
ЗаписатьXML(ЗаписьXML, ЗаказПоставщику.Контрагент, "Контрагент",
НазначениеТипаXML.Явное);
// Статус
75
ЗаписатьXML(ЗаписьXML, ЗаказПоставщику.Статус, "Статус",
НазначениеТипаXML.Явное);
// Ответственный
ЗаписатьXML(ЗаписьXML, ЗаказПоставщику.Ответственный,
"Ответственный", НазначениеТипаXML.Явное);
//ТЧ
ЗаписатьТЧТоварыЗаказаПоставщику(ЗаписьXML,
ЗаказПоставщику.Товары);
// Записываем конец элемента
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецПроцедуры
Процедура ЗаписатьТЧТоварыЗаказаПоставщику(ЗаписьXML, Товары)
ЗаписьXML.ЗаписатьНачалоЭлемента("Товары");
Для каждого стр из Товары Цикл
ЗаписатьТЧСтрокиТоварыЗаказаПоставщику(ЗаписьXML, стр)
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецПроцедуры
Процедура ЗаписатьТЧСтрокиТоварыЗаказаПоставщику(ЗаписьXML, Строка)
ЗаписьXML.ЗаписатьНачалоЭлемента("Row");
// Номенклатура
ЗаписатьXML(ЗаписьXML, Строка.Номенклатура, "Номенклатура",
НазначениеТипаXML.Явное);
76
// Характеристика
ЗаписатьXML(ЗаписьXML, Строка.Характеристика, "Характеристика",
НазначениеТипаXML.Явное);
// Количество
ЗаписатьXML(ЗаписьXML, Строка.Количество, "Количество",
НазначениеТипаXML.Явное);
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецПроцедуры
Процедура ЗаписатьXMLКонтрагенты(ЗаписьXML, Контрагенты) Экспорт
// Записываем начало элемента XML
ЗаписьXML.ЗаписатьНачалоЭлемента("CatalogObject.Контрагенты");
// Ссылка
ЗаписатьXML(ЗаписьXML, Контрагенты.Ссылка, "Ref",
НазначениеТипаXML.Явное);
// ЭтоГруппа
ЗаписатьXML(ЗаписьXML, Контрагенты.ЭтоГруппа, "IsFolder",
НазначениеТипаXML.Явное);
//Код
ЗаписатьXML(ЗаписьXML, Контрагенты.Код, "Code",
НазначениеТипаXML.Явное);
// Наименование
ЗаписатьXML(ЗаписьXML, Контрагенты.Наименование, "Description",
НазначениеТипаXML.Явное);
Если Не Контрагенты.ЭтоГруппа Тогда
//ИНН
77
ЗаписатьXML(ЗаписьXML, Контрагенты.ИНН, "ИНН",
НазначениеТипаXML.Явное);
//КПП
ЗаписатьXML(ЗаписьXML, Контрагенты.КПП, "КПП",
НазначениеТипаXML.Явное);
КонецЕсли;
// Записываем конец элемента
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецПроцедуры
Функция ВозможностьЧтенияДанных(ЧтениеXML)Экспорт
// Получаем тип данных XML, который может быть считан в данный момент
ТипXML = ПолучитьXMLТип(ЧтениеXML);
Если ТипXML = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Если (ТипXML.ИмяТипа = "CatalogObject.Номенклатура" ИЛИ
ТипXML.ИмяТипа = "CatalogObject.Склады"
или ТипXML.ИмяТипа = "CatalogObject.ВидыНоменклатуры" ИЛИ
ТипXML.ИмяТипа = "CatalogObject.Контрагенты"
или ТипXML.ИмяТипа = "CatalogObject.Пользователи" ИЛИ
ТипXML.ИмяТипа = "CatalogObject.ХарактеристикиНоменклатуры"
или ТипXML.ИмяТипа = "CatalogObject.ЗаказыПоставщику")
И ТипXML.URIПространстваИмен = "" Тогда
Возврат Истина;
КонецЕсли;
78
Возврат ВозможностьЧтенияXML(ЧтениеXML);
КонецФункции
Функция ПрочитатьДанные(ЧтениеXML)Экспорт
ТипXML = ПолучитьXMLТип(ЧтениеXML);
Если ТипXML = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
Если ТипXML.ИмяТипа = "CatalogObject.Склады" И
ТипXML.URIПространстваИмен = "" Тогда
// Пытаемся прочесть значение справочника "Склады".
Возврат ПрочитатьXMLСклады(ЧтениеXML);
КонецЕсли;
Если ТипXML.ИмяТипа = "CatalogObject.Номенклатура" И
ТипXML.URIПространстваИмен = "" Тогда
// Пытаемся прочесть значение справочника Товары
Возврат ПрочитатьXMLТовары(ЧтениеXML);
КонецЕсли;
Если ТипXML.ИмяТипа = "CatalogObject.ВидыНоменклатуры" И
ТипXML.URIПространстваИмен = "" Тогда
// Пытаемся прочесть значение справочника Товары
Возврат ПрочитатьXMLВидыНоменклатуры(ЧтениеXML);
КонецЕсли;
79
Если ТипXML.ИмяТипа = "CatalogObject.Контрагенты" И
ТипXML.URIПространстваИмен = "" Тогда
// Пытаемся прочесть значение справочника Товары
Возврат ПрочитатьXMLКонтрагенты(ЧтениеXML);
КонецЕсли;
Если ТипXML.ИмяТипа = "CatalogObject.Пользователи" И
ТипXML.URIПространстваИмен = "" Тогда
// Пытаемся прочесть значение справочника Товары
Возврат ПрочитатьXMLПользователи(ЧтениеXML);
КонецЕсли;
Если ТипXML.ИмяТипа = "CatalogObject.ХарактеристикиНоменклатуры" И
ТипXML.URIПространстваИмен = "" Тогда
// Пытаемся прочесть значение справочника Товары
Возврат ПрочитатьXMLХарактеристикиНоменклатуры(ЧтениеXML);
КонецЕсли;
Если ТипXML.ИмяТипа = "CatalogObject.ЗаказыПоставщику" И
ТипXML.URIПространстваИмен = "" Тогда
// Пытаемся прочесть значение справочника Товары
Возврат ПрочитатьXMLЗаказыПоставщику(ЧтениеXML);
КонецЕсли;
// Пытаемся прочесть значение из объекта ЧтениеXML стандартным образом.
Возврат ПрочитатьXML(ЧтениеXML);
КонецФункции // ПрочитатьДанные(ЧтениеXML)
80
Функция ПрочитатьXMLСклады(ЧтениеXML) Экспорт
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла.
ЧтениеXML.Прочитать();
// Чтение ссылки на элемент справочника.
СкладСсылка = ПрочитатьXML(ЧтениеXML);
Если ТипЗнч(СкладСсылка) <> Тип("СправочникСсылка.Склады") Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Пытаемся создать объект по полученной ссылке.
Попытка
Склад = СкладСсылка.ПолучитьОбъект();
Исключение
Склад = Неопределено;
КонецПопытки;
Если Склад = Неопределено Тогда
// Создаем элемент справочника.
Склад = Справочники.Склады.СоздатьЭлемент();
// Устанавливаем значение ссылки для нового объекта.
Склад.УстановитьСсылкуНового(СкладСсылка);
81
КонецЕсли;
// Наименование
Склад.Код = ПрочитатьXML(ЧтениеXML);
Склад.Наименование = ПрочитатьXML(ЧтениеXML);
// Проверяем, что текущим узлом является КонецЭлемента
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла для завершения чтения элемента.
ЧтениеXML.Прочитать();
Возврат Склад;
КонецФункции
Функция ПрочитатьXMLТовары(ЧтениеXML) Экспорт
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла.
ЧтениеXML.Прочитать();
// Чтение ссылки на элемент справочника.
ТоварСсылка = ПрочитатьXML(ЧтениеXML);
82
Если ТипЗнч(ТоварСсылка) <> Тип("СправочникСсылка.Номенклатура")
Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Пытаемся создать объект по полученной ссылке.
Попытка
Товар = ТоварСсылка.ПолучитьОбъект();
Исключение
Товар = Неопределено;
КонецПопытки;
// Чтение признака группы.
ЭтоГруппа = ПрочитатьXML(ЧтениеXML);
Если Товар <> Неопределено Тогда
Если Товар.ЭтоГруппа <> ЭтоГруппа Тогда
//ВызватьИсключение "Некорректные данные";
КонецЕсли;
Иначе
// Создаем элемент справочника.
Если ЭтоГруппа = Истина Тогда
Товар = Справочники.Номенклатура.СоздатьГруппу();
Иначе
Товар = Справочники.Номенклатура.СоздатьЭлемент();
КонецЕсли;
// Устанавливаем значение ссылки для нового объекта
83
Товар.УстановитьСсылкуНового(ТоварСсылка);
КонецЕсли;
// Родитель.
Товар.Родитель = ПрочитатьXML(ЧтениеXML);
Товар.Код = ПрочитатьXML(ЧтениеXML);
// Наименование.
Товар.Наименование = ПрочитатьXML(ЧтениеXML);
// Реквизиты, загружаемые только для элемента справочника.
Если Не ЭтоГруппа Тогда
// Описание.
Товар.Артикул = ПрочитатьXML(ЧтениеXML);
КонецЕсли;
// Проверяем, что текущим узлом является "КонецЭлемента".
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла для завершения чтения элемента.
ЧтениеXML.Прочитать();
Возврат Товар;
КонецФункции
Функция ПрочитатьXMLВидыНоменклатуры(ЧтениеXML) Экспорт
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла.
84
ЧтениеXML.Прочитать();
// Чтение ссылки на элемент справочника.
ВидыНоменклатурыСсылка = ПрочитатьXML(ЧтениеXML);
Если ТипЗнч(ВидыНоменклатурыСсылка) <>
Тип("СправочникСсылка.ВидыНоменклатуры") Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Пытаемся создать объект по полученной ссылке.
Попытка
ВидыНоменклатуры = ВидыНоменклатурыСсылка.ПолучитьОбъект();
Исключение
ВидыНоменклатуры = Неопределено;
КонецПопытки;
Если ВидыНоменклатуры = Неопределено Тогда
// Создаем элемент справочника.
ВидыНоменклатуры = Справочники.ВидыНоменклатуры.СоздатьЭлемент();
// Устанавливаем значение ссылки для нового объекта.
ВидыНоменклатуры.УстановитьСсылкуНового(ВидыНоменклатурыСсылка);
КонецЕсли;
// Наименование
ВидыНоменклатуры.Наименование = ПрочитатьXML(ЧтениеXML);
// Проверяем, что текущим узлом является КонецЭлемента
85
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла для завершения чтения элемента.
ЧтениеXML.Прочитать();
Возврат ВидыНоменклатуры;
КонецФункции
Функция ПрочитатьXMLКонтрагенты(ЧтениеXML) Экспорт
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла.
ЧтениеXML.Прочитать();
// Чтение ссылки на элемент справочника.
КонтрагентСсылка = ПрочитатьXML(ЧтениеXML);
Если ТипЗнч(КонтрагентСсылка) <> Тип("СправочникСсылка.Контрагенты")
Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Пытаемся создать объект по полученной ссылке.
Попытка
86
Контрагент = КонтрагентСсылка.ПолучитьОбъект();
Исключение
Контрагент = Неопределено;
КонецПопытки;
// Чтение признака группы.
ЭтоГруппа = ПрочитатьXML(ЧтениеXML);
Если Контрагент <> Неопределено Тогда
Если Контрагент.ЭтоГруппа <> ЭтоГруппа Тогда
//ВызватьИсключение "Некорректные данные";
КонецЕсли;
Иначе
// Создаем элемент справочника.
Если ЭтоГруппа = Истина Тогда
Контрагент = Справочники.Контрагенты.СоздатьГруппу();
Иначе
Контрагент = Справочники.Контрагенты.СоздатьЭлемент();
КонецЕсли;
// Устанавливаем значение ссылки для нового объекта
Контрагент.УстановитьСсылкуНового(КонтрагентСсылка);
КонецЕсли;
// Наименование.
Контрагент.Код = ПрочитатьXML(ЧтениеXML);
Контрагент.Наименование = ПрочитатьXML(ЧтениеXML);
// Реквизиты, загружаемые только для элемента справочника.
Если Не ЭтоГруппа Тогда
87
// Описание.
Контрагент.ИНН = ПрочитатьXML(ЧтениеXML);
Контрагент.КПП = ПрочитатьXML(ЧтениеXML);
КонецЕсли;
// Проверяем, что текущим узлом является "КонецЭлемента".
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла для завершения чтения элемента.
ЧтениеXML.Прочитать();
Возврат Контрагент;
КонецФункции
Функция ПрочитатьXMLПользователи(ЧтениеXML)Экспорт
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла.
ЧтениеXML.Прочитать();
// Чтение ссылки на элемент справочника.
ПользователиСсылка = ПрочитатьXML(ЧтениеXML);
Если ТипЗнч(ПользователиСсылка) <>
Тип("СправочникСсылка.Пользователи") Тогда
ВызватьИсключение "Ошибка чтения XML";
88
КонецЕсли;
// Пытаемся создать объект по полученной ссылке.
Попытка
Пользователи = ПользователиСсылка.ПолучитьОбъект();
Исключение
Пользователи = Неопределено;
КонецПопытки;
Если Пользователи = Неопределено Тогда
// Создаем элемент справочника.
Пользователи = Справочники.Пользователи.СоздатьЭлемент();
// Устанавливаем значение ссылки для нового объекта.
Пользователи.УстановитьСсылкуНового(ПользователиСсылка);
КонецЕсли;
// Наименование
Пользователи.Наименование = ПрочитатьXML(ЧтениеXML);
// Проверяем, что текущим узлом является КонецЭлемента
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла для завершения чтения элемента.
ЧтениеXML.Прочитать();
89
Возврат Пользователи;
КонецФункции
Функция ПрочитатьXMLХарактеристикиНоменклатуры(ЧтениеXML)
Экспорт
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла.
ЧтениеXML.Прочитать();
// Чтение ссылки на элемент справочника.
ХарактеристикиНоменклатурыСсылка = ПрочитатьXML(ЧтениеXML);
Если ТипЗнч(ХарактеристикиНоменклатурыСсылка) <>
Тип("СправочникСсылка.ХарактеристикиНоменклатуры") Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Пытаемся создать объект по полученной ссылке.
Попытка
ХарактеристикиНоменклатуры =
ХарактеристикиНоменклатурыСсылка.ПолучитьОбъект();
Исключение
ХарактеристикиНоменклатуры = Неопределено;
КонецПопытки;
Если ХарактеристикиНоменклатуры = Неопределено Тогда
90
// Создаем элемент справочника.
ХарактеристикиНоменклатуры =
Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
// Устанавливаем значение ссылки для нового объекта.
ХарактеристикиНоменклатуры.УстановитьСсылкуНового(ХарактеристикиНо
менклатурыСсылка);
КонецЕсли;
// Наименование
ХарактеристикиНоменклатуры.Владелец = ПрочитатьXML(ЧтениеXML);
ХарактеристикиНоменклатуры.Наименование =
ПрочитатьXML(ЧтениеXML);
// Проверяем, что текущим узлом является КонецЭлемента
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла для завершения чтения элемента.
ЧтениеXML.Прочитать();
Возврат ХарактеристикиНоменклатуры;
КонецФункции
91
Функция ПрочитатьXMLЗаказыПоставщику(ЧтениеXML) Экспорт
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла.
ЧтениеXML.Прочитать();
// Чтение ссылки на элемент справочника.
ЗаказПоставщикуСсылка = ПрочитатьXML(ЧтениеXML);
Если ТипЗнч(ЗаказПоставщикуСсылка) <>
Тип("ДокументСсылка.ЗаказПоставщику") Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Пытаемся создать объект по полученной ссылке.
ЗаказПоставщику = ЗаказПоставщикуСсылка.ПолучитьОбъект();
Если ЗаказПоставщику = Неопределено Тогда
// Создаем элемент справочника.
ЗаказПоставщику = Документы.ЗаказПоставщику.СоздатьДокумент();
// Устанавливаем значение ссылки для нового объекта.
ЗаказПоставщику.УстановитьСсылкуНового(ЗаказПоставщикуСсылка);
КонецЕсли;
//Заполнение
92
ЗаказПоставщику.Номер = ПрочитатьXML(ЧтениеXML);
ЗаказПоставщику.Дата = ПрочитатьXML(ЧтениеXML);
ЗаказПоставщику.Контрагент = ПрочитатьXML(ЧтениеXML);
ЗаказПоставщику.Статус = ПрочитатьXML(ЧтениеXML);
ЗаказПоставщику.Ответственный = ПрочитатьXML(ЧтениеXML);
// Проверяем, что текущим узлом является КонецЭлемента
Если ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента Тогда
ВызватьИсключение "Ошибка чтения XML";
КонецЕсли;
// Чтение следующего узла для завершения чтения элемента.
ЧтениеXML.Прочитать();
Возврат ЗаказПоставщику;
КонецФункции
Функция ПринятьИзменения(Отправитель, Данные) Экспорт
Прием = Истина;
Если ПланыОбмена.ИзменениеЗарегистрировано(Отправитель, Данные)
Тогда
//Если ТипЗнч(Данные) = Тип("ДокументОбъект.ЗаказПоставщику") Тогда
// Прием = Ложь;
//КонецЕсли;
КонецЕсли;
Возврат Прием;
КонецФункции
Scanned by CamScanner
94
ИНФОРМАЦИОННО-ПОИСКОВАЯ ХАРАКТЕРИСТИКА
ДОКУМЕНТА НА ЭЛЕКТРОННОМ НОСИТЕЛЕ
Наименование
Характеристики документа
на электронном носителе
группы атрибутов
атрибута
1.
Описание Обозначение документа Бахтина А.41-ИТ.ppt
документа
(идентификатор(ы)
файла(ов))
Наименование документа Демонстрационные плакаты к
выпускной
квалификационной работе
Класс документа
ЕСКД
Вид документа
Оригинал
документа
на
электронном носителе
Аннотация
Демонстрационный материал,
отображающий
основные
этапы выполнения выпускной
квалификационной работы
Использование документа Операционная
система
Windows
7,
Microsoft
PowerPoint 2010
2. Даты и время
Дата и время копирования 20.06.2017
документа
Дата создания документа 02.06.2018
Дата
утверждения 06.06.2018
документа
3. Создатели
Автор
Бахтина А.Н.
Изготовитель
Бахтина А.Н.
4. Внешние ссылки Ссылки
на
другие Удостоверяющий лист
документы
№ 140026
5. Защита
Санкционирование
ОГУ имени И.С. Тургенева
Классификация защиты
По законодательству РФ
6. Характеристики Объем
информации 1,56 МБ
содержания
документа
95
7.
Структура Наименование
документа(ов)
(слайда) №1
Наименование
(слайда) №2
Наименование
(слайда) №3
Наименование
(слайда) №4
Наименование
(слайда) №5
Наименование
(слайда) №6
Наименование
(слайда) №7
Наименование
(слайда) №8
Наименование
(слайда) №9
Наименование
(слайда) №10
плаката Титульный лист
плаката Описание
бизнес-процесса
«торговая деятельность»
плаката Обзор аналогов приложения
учета товаров
плаката Клиент-серверная
архитектура 1C
плаката Концептуальная схема базы
данных
мобильного
приложения учета товаров
плаката Структурная
схема
информационной системы
плаката Реализация обмена данными
между
мобильной
и
центральной базой
плаката Алгоритм обмен данными
информационной системой
учета
товаров
детского
магазина «Светлячок»
плаката Описание логики диалога с
пользователем
мобильного
приложения учета товаров
детского
магазина
«Светлячок»
плаката Примеры экранных форм
пользовательского
интерфейса
Scanned by CamScanner
1/--страниц
Пожаловаться на содержимое документа