В.В. Рыбалка «Mobile 1С! Пример быстрой разработки мобильного приложения на платформе "1С:Предприятие 8.3"» Электронная книга в формате pdf; ISBN 978-5-9677-2092-5. Электронный аналог печатного издания «Mobile 1С! Пример быстрой разработки мобильного приложения на платформе "1С:Предприятие 8.3"» (ISBN 978-5-9677-2075-8, М.: ООО «1С-Паблишинг», 2014; артикул печатной книги по прайс-листу фирмы «1С»: 4601546109781; по вопросам приобретения печатных изданий издательства «1С-Паблишинг» обращайтесь к партнеру «1С», обслуживающему вашу организацию, или к другим партнерам фирмы «1С»). Книга представляет собой художественное изложение мастер-класса "Пример быстрой разработки мобильного приложения на платформе "1С:Предприятие 8.3", который проведен фирмой "1С" и партнерами "1С" для студентов и выпускников в рамках Дней 1С:Карьеры 11-18 ноября 2013 года более чем в 80 городах России и других стран ближайшего зарубежья. Книга показывает самые простые, основные возможности разработки прикладных решений в системе "1С:Предприятия 8". Она будет интересна и полезна тем, кто хочет узнать, что же представляет собой процесс разработки. Это сложно? Интересно ли этим заниматься? Книга адресована в первую очередь тем, кто хотел бы самостоятельно, "вживую" попробовать, насколько это интересно и увлекательно – создавать программы с помощью "1С:Предприятия 8". А если вы после нашего знакомства захотите понастоящему освоить "1С:Предприятие 8" – у вас есть для этого много возможностей: от книг ведущих разработчиков "1С" и интернет-курсов до центров сертифицированного обучения, которые есть практически во всех регионах нашей страны. Приложение к книге Дополнительные материалы к книге содержат учебную версию платформы "1С:Предприятие 8.3", с помощью которой можно самостоятельно воспроизвести пример, описанный в книге, и собрать дистрибутив мобильного приложения. Все действия подробно описаны, так что каждый может повторить их самостоятельно на своем компьютере. Желающим продолжить разработку приложения предложены три "домашних задания" разного уровня сложности. Скачайте материалы по ссылке http://its.1c.ru/download/book_demo/pubmobile1c (458 Мб), раскройте архив и следуйте инструкциям по установке. Интернет-конференция для начинающих разработчиков http://devtrainingforum.v8.1c.ru/forum. СОДЕРЖАНИЕ СОДЕРЖАНИЕ ..................................................................................... 3 ВВЕДЕНИЕ ........................................................................................... 5 ВСЕ ЛИ У НАС ЕСТЬ........................................................................... 6 ИНФОРМАЦИОННАЯ БАЗА............................................................... 7 НАЧНЕМ «ПРОГРАММИРОВАТЬ».................................................. 17 Справочники .............................................................................................. 22 Регистры.....................................................................................................36 Документы ................................................................................................. 49 Рабочий стол ............................................................................................. 73 ДОРАБАТЫВАЕМ ФУНКЦИОНАЛ РАБОЧЕГО СТОЛА .............107 УЛУЧШАЕМ ИНТЕРФЕЙС ..............................................................122 Командный интерфейс основного раздела........................................... 122 Управляемые формы.............................................................................. 126 Настройка форм документов.................................................................. 127 Добавление кнопок на рабочий стол ..................................................... 152 Обновление таблиц рабочего стола...................................................... 174 Финальный «тюнинг» интерфейса......................................................... 190 КРОССПЛАТФОРМЕННОСТЬ........................................................199 Работа в Linux ......................................................................................... 199 Веб-клиент ............................................................................................... 202 Мобильная платформа ........................................................................... 207 ДОМАШНИЕ ЗАДАНИЯ ..................................................................218 Домашнее задание №1........................................................................... 218 Домашнее задание №2........................................................................... 226 Домашнее задание №3........................................................................... 233 ПРИМЕР СБОРКИ МОБИЛЬНОГО ПРИЛОЖЕНИЯ.....................270 Подготовка............................................................................................... 271 Настройка ................................................................................................ 285 Сборка...................................................................................................... 298 Проверка.................................................................................................. 303 3 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 ГДЕ И КАК ИЗУЧАТЬ 1С:ПРЕДПРИЯТИЕ ....................................311 1С:ПРЕДПРИЯТИЕ 8. Версия для обучения программированию ...... 311 1С:БУХГАЛТЕРИЯ 8. Учебная версия................................................... 313 Центры сертифицированного обучения ................................................ 314 Интернет-курсы ....................................................................................... 315 КАК ПОДТВЕРДИТЬ СВОЮ КВАЛИФИКАЦИЮ .........................317 СТУДЕНЧЕСКИЕ 1С:СОРЕВНОВАНИЯ........................................318 ЕСТЬ ТАКАЯ ПРОФЕССИЯ – РОДИНУ АВТОМАТИЗИРОВАТЬ ..................................................319 1С:ПРЕДПРИЯТИЕ 8 .............................................................................. 319 Что такое 1С:Франчайзинг...................................................................... 320 КАК УСТРОИТЬСЯ НА РАБОТУ В ФИРМЫ СЕТИ 1С:ФРАНЧАЙЗИНГ..........................................................................322 День 1С:Карьеры – главное мероприятие «1С» для студентов и выпускников.......................................................................................... 325 ПОЛЕЗНЫЕ ИНТЕРНЕТ-РЕСУРСЫ ФИРМЫ «1С» .....................326 4 ВВЕДЕНИЕ Основные направления деятельности фирмы «1С» – разработка компьютерных систем для управления и учета, разработка и издание образовательных программ, дистрибуция программного обеспечения. Фирма «1С» и ее партнеры обеспечивают самый большой объем продаж программного обеспечения в России и странах СНГ. Бизнес-приложения на платформе «1С:Предприятие» фактически являются индустриальным стандартом автоматизации управления и учета в России, их используют более 1 000 000 предприятий, с ними работают более 4 000 000 человек. Спрос на разработчиков, специалистов и квалифицированных пользователей постоянно растет. Цель нашего мастер-класса – показать самые простые, основные возможности платформы «1С:Предприятие 8» и приемы разработки. Не будет никаких секретов, кроме одного: за несколько минут, практически с помощью одной «мышки» можно создать вполне работоспособную программу по учету личных финансов, которая будет работать на разных СУБД, под Windows и под Linux, в браузере через интернет и на мобильных устройствах под управлением Android и iOS. Возможно, вы уже знакомы с универсальными средами программирования (Delphi, С++ и т. д.). Многие книги и курсы по программированию начинаются с того, что сначала делается простая программа, которая печатает что-нибудь на экране, например «Hello, World!» По сути то, что мы сейчас покажем, это «Hello, World» в исполнении «1С». Конечно же, функциональность нашей программы будет гораздо больше, чем просто вывести надпись на экран. Но если рассматривать все возможности, которыми обладает «1С:Предприятие 8», то, что мы покажем сейчас – это именно «Hello, World» в мире «1С». 5 ВСЕ ЛИ У НАС ЕСТЬ Прежде чем начинать, убедимся, что у нас есть все, что нужно для начала. А именно – что установлена система 1С:Предприятие 8: Пуск Все программы 1С Предприятие 8 (учебная версия) Если этого пункта меню нет, значит, систему надо установить. Сделать это просто. Вставим диск МАСТЕР-КЛАСС в дисковод, в открывшемся окне перейдем в раздел Выборочная установка… и выберем пункт 1С:Предприятие 8.3. Учебная версия. Если окно автозапуска не сработало, запустите вручную с диска программу «autorun.exe». Рис. 1-1. Установка системы 1С:Предприятие 8.3 Процесс установки прост, нужно соглашаться со всем, что стандартно предлагается, и нажимать кнопку Далее >. 6 ИНФОРМАЦИОННАЯ БАЗА Система 1С:Предприятие – это не универсальная среда программирования. С ее помощью нельзя создать «какую угодно» программу. Назначение 1С:Предприятия – автоматизация деятельности организаций и частных лиц. По этой причине многие технологические решения уже жестко зашиты в «сердце» этой системы – технологическую платформу. Везде, где есть 1С:Предприятие – есть технологическая платформа. Поэтому процесс разработки и модификации программ, структура программ 1С:Предприятие – везде одинаковые. Эту одинаковость как раз обеспечивает технологическая платформа. Потому что она одновременно является и инструментом разработки, и средой исполнения программ 1С:Предприятия (подробнее – см. http://v8.1c.ru/news/publication.jsp?id=193). Главным технологическим понятием, которое используется в 1С:Предприятии, является информационная база. Грубо говоря, каждая информационная база это и есть одна «программа» 1С:Предприятия. Например, 1С:Бухгалтерия, или 1С:ERP Управление предприятием. Особенность заключается в том, что каждая информационная база содержит не только данные, с которыми работают пользователи, но и собственно саму «программу» (прикладное решение) которую исполняет платформа. Таким образом, если вам нужна 1С:Бухгалтерия, вы создаете информационную базу с прикладным решением Бухгалтерия и затем в этой же базе храните все данные. Если вам нужна еще одна бухгалтерия для другой вашей организации – вы создаете новую информационную базу с той же самой «программой» Бухгалтерия, но хранить в ней будете уже другие данные. А если вам нужна 1С:Зарплата и Управление Персоналом, то вы создаете третью информационную базу уже с другой «программой», с программой Зарплата и Управление персоналом, и, естественно, храните в ней данные, относящиеся именно к учету зарплаты. Таким образом, информационная база – это как домик у улитки – «все свое ношу с собой». Если у вас есть информационная база – значит, у вас есть все, что нужно: и данные, и сама программа, которая знает, как обрабатывать и представлять эти данные. Итак, создание любой программы 1С:Предприятия начинается с создания информационной базы, в которой будет находиться и сама «программа» и данные, с которыми она работает. 7 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Запустим систему – Пуск Все программы 1С Предприятие 8 (учебная версия) 1С Предприятие Рис. 1-2. Запуск программы Первым делом система откроет список информационных баз, с которыми мы можем работать, и обнаружит, что этот список пуст. В нем нет еще ни одной информационной базы. Система сразу же предложит добавить в список информационную базу. Но ведь мы еще не создавали никаких информационных баз?! Ничего страшного, согласимся. 8 Информационная база Рис. 1-3. Добавление информационной базы 9 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Совет. Если вы (или кто-то до вас) уже добавлял информационные базы в список, то, конечно, система не задаст этот вопрос. Тогда, чтобы добавить в список информационную базу, нужно будет нажать кнопку Добавить… Рис. 1-4. Добавление информационной базы 10 Информационная база Вот теперь система поинтересуется, а что же именно мы хотим добавить в список наших баз: совсем новую информационную базу, которой еще нет, или же информационную базу, которая уже существует где-то (например, на каком-нибудь сервере в локальной сети...). Стандартно предлагается создать новую информационную базу – именно это нам и нужно. Поэтому снова согласимся и нажмем Далее >. Рис. 1-5. Создание новой информационной базы Система задаст нам еще один вопрос. Дело в том, что информационную базу можно создать двумя путями. Можно создать ее совсем новую, в которой не будет ни «программы», ни данных. А можно создать информационную базу из шаблона так, что она сразу же будет содержать нужную «программу», например, бухгалтерию. Или сразу же будет содержать нужную «программу» и какие-то данные (например, демонстрационные данные). Для 11 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 этого и используется первый вариант, показанный в этом диалоге – создание информационной базы из шаблона. Но мы с вами не устанавливали никаких шаблонов, поэтому снова согласимся с тем, что стандартно предлагает нам система – создать информационную базу без конфигурации (то есть без «программы») и просто нажмем Далее >. Рис. 1-6. Создание информационной базы без конфигурации 12 Информационная база Теперь система поинтересуется, как будет называться наша новая информационная база. Название можно дать любое, оно ни на что не влияет, но лучше назвать ее Мои деньги. Именно это название будет отображаться в списке информационных баз, который открывается при запуске системы. Нажмем Далее >. Рис. 1-7. Название информационной базы 13 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Напоследок система сообщит нам, где будет располагаться информационная база. Стандартно она будет размещена в профиле пользователя. Если у вас есть проблемы со свободным местом на диске «С:», то можно указать для нее другое место. Но в большинстве случаев можно согласиться с тем, что предлагает система и нажать кнопку Далее >. Рис. 1-8. Размещение информационной базы 14 Информационная база В следующем окне ничего менять не будем. Главное проконтролировать, что поле «Версия 1С:Предприятия» содержит значение «8.3». Жмем сразу Готово. Рис. 1-9. Завершение подключения информационной базы В результате в списке информационных баз мы увидим нашу новую базу – Мои деньги. Останется лишь нажать на кнопку Конфигуратор, чтобы начать создание нашей «программы». Конфигуратор – это режим запуска платформы для разработчика, чтобы создавать или изменять «программу», которая есть в информационной базе. 1С:Предприятие – это режим запуска для пользователя, чтобы работать с данными информационной базы. 15 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Мы с вами сейчас – разработчики, поэтому запускаем Конфигуратор. Рис. 1-10. Новая информационная база в списке 16 НАЧНЕМ «ПРОГРАММИРОВАТЬ» Не случайно везде слова «программа», «программировать» мы используем в кавычках. Собственно программирование (в привычном его понимании – написание кода программы) занимает в 1С:Предприятии значительное, но далеко не главное место. Поскольку 1С:Предприятие, как мы говорили в начале, специализированная система, она «прячет» от разработчика многие скучные, рутинные действия. Так все программы 1С:Предприятия по большому счету имеют одинаковую логику и технологию построения. Любая программа собирается из готовых «кубиков». Набор «кубиков» ограничен, платформа изначально знает, для чего предназначены те или иные «кубики», знает, как они между собой взаимодействуют. Таким образом, разработчику достаточно просто добавить в информационную базу нужные «кубики» – и все это сразу же будет работать, платформа самостоятельно обеспечит правильное функционирование добавленных «кубиков». Конечно, такое функционирование сильно ограничено. В реальной жизни все бывает намного интереснее и разнообразнее. Для этого существует встроенный язык, язык запросов, с помощью которых можно задавать особенное поведение этих «кубиков», можно описывать особенные алгоритмы взаимодействия этих кубиков между собой, можно создавать собственные алгоритмы обработки данных и т. д. Как мы говорили в начале, сейчас мы делаем «Hello, World!» в исполнении 1С. Поэтому встроенный язык, а тем более язык запросов мы использовать практически не будем. Это отдельная сложная тема. Сейчас наша задача – собрать из кубиков простую программу. То есть показать «костяк» разработки. Прикручивать «бантики», улучшать, дорабатывать – можно будет потом, если у вас будет желание и возможности. Но важно, что даже в таком «скелетном» виде наша программа будет вполне функциональна и работоспособна, причем, минимальными усилиями. Примечание. Чтобы убедиться в этом, можете попробовать создать аналогичную по функциональности программу с помощью какой-нибудь универсальной среды разработки, и сравнить затраченные усилия и необходимые знания. 17 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Итак, вернемся к «кубикам». Поскольку назначение программ системы 1С:Предприятие четко определено, используются не абстрактные, а вполне конкретные «кубики», соответствующие сущностям, присутствующим в реальной жизни автоматизируемого предприятия или частного лица. Например, справочник или документ. В 1С:Предприятии эти «кубики» называются объектами конфигурации. Все объекты конфигурации собираются в дерево. Таким образом, взглянув на дерево объектов конфигурации, всегда можно понять, из каких объектов она состоит. Можно быстро найти нужный объект, узнать его свойства и т. д. Сейчас у нас открыт конфигуратор (на рис. 1-10 мы нажали на кнопку Конфигуратор). Чтобы увидеть дерево объектов конфигурации, нужно нажать на кнопку Открыть конфигурацию. Рис. 2-1. Открыть конфигурацию 18 Начнем «программировать» Сейчас это дерево «пустое», оно содержит только ветки верхнего уровня объектов метаданных, которые есть в любой информационной базе 1С:Предприятия. Рис. 2-2. Дерево объектов конфигурации Все, чем мы будем сейчас, в основном, заниматься, – это добавлять нужные нам объекты конфигурации. По пути мы покажем, где и как можно потом прикрутить «бантики», повысить удобство работы пользователя, но сильно углубляться в это не будем. Итак, какие объекты конфигурации добавлять? Это зависит от той задачи автоматизации, которая перед нами стоит. Сформулируем. 19 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 В нашем мастер-классе мы создадим простейшую учетную систему, которая позволит, с одной стороны, учитывать наши доходы и расходы в разрезах Кошельков и Статей (учет по статьям будем использовать и для затрат, и для поступлений) по Суммам операций. С другой стороны – позволит оперативно контролировать текущие остатки денег в используемых Кошельках и анализировать наши финансовые обороты по Статьям. Проектировать и создавать наше приложение будем сразу с учетом его будущего использования на мобильных устройствах – чтобы учет денежных средств всегда был под рукой. При этом работа в самой программе должна быть простой и легкой. Вот собственно и вся задача, ничего сложного. Для начала зададим начальные параметры нашего приложения (конфигурации). Выбираем свойства конфигурации – отмечаем самый верхний уровень дерева конфигурации и из меню по правой кнопке мыши выбираем Свойства. А можно просто нажать Alt+Enter. Рис. 2-3. Свойства конфигурации 20 Начнем «программировать» В отрывшейся палитре свойств пишем Имя – МоиДеньги. После нажатия Tab или Enter на клавиатуре, синоним заполнится автоматически. Рис. 2-4. Имя конфигурации Кроме этого, сразу укажем платформе 1С:Предприятия, что разработка будет вестись для мобильной платформы. Свойство Назначения использования устанавливаем в Мобильное устройство. Рис. 2-5. Мобильное устройство После включения данной опции конфигуратор 1С:Предприятия автоматически настроится для разработки приложения под мобильную платформу. Например, часть объектов конфигурации в дереве станет недоступной. Нас этом вполне устраивает. 21 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Справочники По условию поставленной задачи система хранит в себе списки используемых нами кошельков, а так же статей поступлений и затрат. При этом хотелось бы иметь возможность оперативно изменять состав этих списков, подстраиваясь под реалии текущего дня – удалять неиспользуемые, добавлять новые и так далее. Примечание. Более подробно об объектах метаданных вида Справочник можно узнать по этой ссылке: http://v8.1c.ru/overview/Term_000000168.htm Кошелек – как видно из названия, это место хранения определенной суммы. Нашему виртуальному кошельку можно найти прямой аналог в реальности. Например, кошелек с наличными или безналичный счет, связанный с используемой банковской картой. Статья – элемент классификации (отбора, группировки) движения денежных средств: поступления или траты. Например, отдельной статьей можно считать поступление денег при получении ежемесячной стипендии. Статью можно так и назвать – «Стипендия». И привязывать к ней все поступления аналогичного вида. Или виды затрат, которые можно сгруппировать по проезду (например, «Метро») или питанию («Завтрак», «Обед», …). Таким образом, у нас «прорисовываются» два справочника, связанных с реализацией нашей учетной задачи: Кошельки, где будут храниться все записи об используемых нами «хранилищах» денег, Статьи – здесь будем хранить всю нашу классификацию поступлений и затрат. Добавление любых объектов конфигурации выполняется одинаковым образом. Нужно выделить ту ветку дерева конфигурации, в которой располагаются нужные объекты, и из контекстного меню выполнить команду Добавить (Ins). 22 Начнем «программировать» Справочники находятся в ветке дерева, которая так и называется – Справочники. Добавим новый справочник. Рис. 3-1. Добавление справочника 23 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 При добавлении справочника открылось окно редактирования объекта конфигурации. Справочник – довольно сложный объект конфигурации, поэтому для того, чтобы легче и быстрее задать его свойства, система использует этот диалог. Хотя все те же свойства справочника можно задать и в палитре свойств справа, удобнее пользоваться этим диалогом. Последовательно переходя по закладкам этого диалога, можно заполнить все нужные свойства и ничего не пропустить. Рис. 3-2. Окно редактирования справочника 24 Начнем «программировать» Начнем с имени – Кошельки. Синоним система 1С:Предприятие добавит сама, после того, как мы нажмем клавишу Enter или Tab в поле Имя. Больше здесь ничего заполнять не нужно – перейдем на закладку Данные. Рис. 3-3. Окно редактирования справочника 25 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Увеличиваем длину поля Наименование до 150. Рис. 3-4. Длина наименования В принципе, этого вполне достаточно для хранения видов наших кошельков. Можно закрыть окно редактирования свойств справочника кнопкой Закрыть. 26 Начнем «программировать» Теперь создадим справочник, который будет хранить список статей поступлений и затрат денежных средств. Аналогично предыдущему справочнику заполним у него имя – Статьи. Рис. 3-5. Добавление второго справочника Рис. 3-6. Имя второго справочника 27 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Но перед тем, как перейти на закладку Данные, выполним одну дополнительную относительно справочника Кошельки настройку. Дело в том, что мы условились хранить в одном справочнике и статьи поступлений, и статьи затрат – ибо идея «деления по статьям» едина для обоих случаев и логично размещать их в одном месте. Но чтобы не мешать все в одну кучу, позволим пользователю группировать используемые статьи по видам. Благо, у платформы 1С:Предприятие для этого есть подходящий удобный механизм – Иерархия в справочнике. При помощи этого механизма можно легко сгруппировать статьи по видам применения, а так же оставить место «универсальным» статьям – таким, которые можно одновременно использовать и при поступлении денег, и при их затратах (например, переводы между кошельками или учет долгов). Перейдем на закладку Иерархия и включим флажок Иерархический справочник. Ограничим уровни иерархии до двух. Рис. 3-7. Иерархический справочник 28 Начнем «программировать» Аналогично предыдущему справочнику, устанавливаем на закладке Данные длину Наименования равной 150. Рис. 3-8. Длина наименования 29 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 А теперь воспользуемся еще одной возможностью платформы и поможем пользователю, который будет начинать работу в нашем «приложении» с пустой базы. Заведем несколько значений только что созданного справочника, чтобы пользователю было проще ориентироваться при заполнении оного своими данными. Для этого воспользуемся механизмом платформы 1С:Предприятия – Предопределенные данные. Перейдем на закладку Прочее и нажмем кнопку Предопределенные. Рис. 3-9. Предопределенные данные 30 Начнем «программировать» В отрывшемся окне нажмем кнопку Добавить группу (Ctrl+F9). Рис. 3-10. Добавить группу И добавляем группу для статей поступлений денежных средств. Пишем Имя – Поступления. После нажатия клавиши Enter или Tab система автоматически заполнит поле Наименование. После этого можно нажать OK. Рис. 3-11. Группа Поступления 31 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Аналогично добавляем группу для статей затрат – Затраты. Рис. 3-12. Группа Затраты В заключение, добавим один предопределенный элемент, который пригодится нам впоследствии – Перевод. С помощью него мы реализуем механизм перевода денег между кошельками. Нажмем кнопку Добавить (Ins). Рис. 3-13. Добавить элемент справочника 32 Начнем «программировать» Заполняем поле Имя – Перевод. Проверяем, чтобы элемент располагался в корне нашего справочника – на одном уровне с созданными чуть ранее группами (поле Родитель должно отображать «Элементы») Рис. 3-14. Элемент справочника Перевод На этом создание справочника Статьи можно считать законченным. 33 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Перед тем как перейти к следующему этапу разработки стоит сохранить наши наработки. Нажмем кнопку Обновить конфигурацию базы данных (F7). Рис. 3-15. Обновить конфигурацию базы данных Система отобразит изменения, внесенные в конфигурацию (только что созданные нами справочники) – принимаем изменения. Рис. 3-16. Реорганизация информации 34 Начнем «программировать» Отлично, справочник Кошельки может содержать записи обо всех наших местах хранения денег. Справочник Статьи – информацию о статьях поступления денег и их затратах, удобно сгруппированных по смыслу. Идем дальше. 35 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Регистры Теперь перейдем к добавлению «кубиков», которые на первый взгляд могут показаться не совсем очевидным. Добавим два регистра накопления Кошельки и Затраты. Сразу возникает вопрос: что такое регистр? Непонятно! Зачем он вообще нужен? Попробуем объяснить просто. По условиям задачи наша система должна не просто хранить списки кошельков и статей поступлений/затрат денег. Она должна уметь вести базовый финансовый учет – как минимум регистрировать денежные потоки и предоставлять минимальную отчетность, что же с нашими финансами происходит. Примечание. Более подробно об объектах метаданных вида Регистр накопления можно узнать по этой ссылке: http://v8.1c.ru/overview/Term_000000176.htm Регистрация различных событий, связанных с поступлением и тратой денег, будет производиться такими объектами конфигурации, как Документы. Чуть позже мы добавим парочку документов в нашу конфигурацию. Кроме регистрации фактов поступления и расходования денежных средств, мы наверняка захотим получать какие-то показатели, наглядно отображающие происходящее с нашими финансами. Как минимум мы ожидаем увидеть актуальные остатки по кошелькам и обороты денег по используемым статьям. Такие данные вполне можно было бы получить из тех данных, которые содержатся во вводимых документах поступления и расходования денег. Но представьте, что через месяц (или год), например, вы решите дополнить свой финансовый учет новыми документами или функционально расширить уже существующие. Или документов станет настолько много, что перебор их для получения необходимых значений начнет занимать ощутимое время. Внести изменения в конфигурацию, как вы уже поняли, задача несложная. Алгоритмы расчета нужных показателей тоже, в принципе, переписать несложно. Но количество таких задач со временем будет расти как снежный ком. И все придется учитывать, за всем следить, переделывать одно и то же по нескольку раз, увеличивая риск возникновения ошибок… 36 Начнем «программировать» Чтобы избежать этой рутинной и довольно неэффективной работы в системе 1С:Предприятие применяется следующий подход. Для хранения данных о движениях каких-либо сущностей (например, финансов) используются специальные объекты конфигурации – регистры. Документы, которые отражают события финансовой деятельности, заносят свои данные в эти регистры. А нужные нам показатели рассчитываются по данным этих регистров. В результате мы получаем независимую структуру. С одной стороны, однажды создав регистры нужной нам структуры, мы можем сразу же получать оттуда нужные данные. С другой стороны, при появлении новых видов документов в системе нам нужно будет всего лишь правильно написать алгоритм, по которому их данные помещаются в эти регистры. При этом вся созданная нами аналитика на основании этих регистров останется актуальной и мы по-прежнему будем получать правильные данные. Рис. 4-1. Схема Документы-Регистры-Отчеты Итак, для нашей задачи достаточно создать два регистра накопления – Кошельки и Затраты. Смысл регистра Кошельки состоит в быстром получении остатков по используемым кошелькам. Т.е. можно будет быстро узнать, сколько в каком кошельке доступно денег в настоящий момент времени. 37 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Регистр Затраты позволит анализировать обороты по используемым статьям движений денежных средств. Иными словами этот регистр покажет объемы затрат по той или иной статье – например, это пригодится при выявлении наиболее затратных для нас видов деятельности. Регистры накопления находятся в ветке дерева объектов конфигурации, которая так и называется: Регистры накопления. Добавим новый регистр накопления. Рис. 4-2. Создание регистра накопления 38 Начнем «программировать» Назовем регистр Кошельки. Вид регистра - устанавливаем Остатки. После чего можно перейти к закладке Данные. Рис. 4-3. Регистр накопления Кошельки 39 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Здесь нам предстоит добавить измерения, ресурсы и реквизиты регистра. Рис. 4-4. Данные регистра накопления Ресурсы – это те данные, которые мы хотим получать из регистра. В нашем случае мы хотели бы знать сумму наших средств по кошелькам. Значит, нам нужен всего один числовой ресурс – Сумма. Измерения – это то, в каких разрезах мы хотели бы получать данные из регистра. Вряд ли нам будет интересно каждый раз наблюдать только лишь остаток денег «вообще». Поэтому, понадобится измерение – Кошелек. Реквизиты – это дополнительная информация, сопровождающая каждую запись в регистре. В нашем случае в реквизит мы будем помещать информацию о статье, сопровождающей запись в регистр. Соответственно заводим единственный реквизит – Статья. Итак, добавим перечисленные измерение, ресурс и реквизит. Для добавления будем пользоваться контекстным меню, которое вызывается на соответствующих ветках данных регистра на закладке Данные. 40 Начнем «программировать» Добавим измерение. Рис. 4-5. Добавление измерения 41 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 В палитре свойств укажем, что называться оно будет Кошелек, и выберем тип – СправочникСсылка.Кошельки. Рис. 4-6. Свойства измерения Кошелек 42 Начнем «программировать» Теперь добавим ресурс – Сумма. Тип (число) и длину оставим такими, какие предложены по умолчанию – нас это устраивает. Скорректируем только Точность – с 0 на 2. Рис. 4-7. Свойства ресурса Сумма 43 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 В заключение добавляем реквизит – Статья. В палитре свойств выберем тип – СправочникСсылка.Статьи. Рис. 4-8. Свойства реквизита Статья 44 Начнем «программировать» В результате регистр накопления Кошельки будет выглядеть следующим образом. Рис. 4-9. Регистр Кошельки 45 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Аналогичным образом добавим в конфигурацию еще один регистр накопления – Затраты. В отличие от регистра Кошельки, у которого вид был выбран как Остатки, вид нового регистра устанавливаем в Обороты. Рис. 4-10. Регистр накопления Затраты Так как этот регистр предназначен для анализа оборотов по статьям, в измерение у нас пойдет Статья. Ресурс останется идентичным ресурсу регистра Кошельки – Сумма. А в реквизит поместим данные по кошельку, который связан с фиксируемой записью в регистре. Переходим на закладку Данные и заводим необходимое. 46 Начнем «программировать» Добавим измерение. В палитре свойств укажем, что называться оно будет Статья, и выберем тип – СправочникСсылка.Статьи. Рис. 4-11. Свойства измерения Статья Теперь добавим ресурс – Сумма. Тип и длину оставим такими, какие предложены по умолчанию. Точность – 2. Рис. 4-12. Свойства ресурса Сумма 47 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Осталось добавить реквизит – Кошелек. В палитре свойств выберем тип – СправочникСсылка.Кошельки. Рис. 4-13. Свойства реквизита Кошелек В результате регистр накопления Статьи будет выглядеть следующим образом. Рис. 4-14. Регистр Статьи 48 Начнем «программировать» Документы Теперь перейдем к добавлению документов, регистрирующих поступление и расход денежных средств. Начнем с документа Доход. Примечание. Более подробно об объектах метаданных вида Документ можно узнать по этой ссылке: http://v8.1c.ru/overview/Term_000000169.htm Документы находятся в ветке дерева объектов конфигурации, которая так и называется: Документы. Добавим новый документ. Рис. 5-1. Добавление нового документа 49 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Назовем его Доход и перейдем на закладку Данные. Рис. 5-2. Создание документа Доход У каждого документа стандартно есть два реквизита – номер и дата создания. Однако, кроме них, всегда хочется иметь еще какую-то информацию, характеризующую конкретный документ. Например, в нашем случае хотелось бы понимать, в результате какого события к нам поступили денежные средства – на какой кошелек и к какой статье это событие можно отнести. 50 Начнем «программировать» Для того чтобы впоследствии иметь возможность отслеживать поступления по кошелькам и статьям, заведем два соответствующих реквизита – Кошелек и Статья. Для фиксации самой суммы операции – реквизит Сумма. Для пометок пользователя добавим еще реквизит Комментарий: Кошелек, тип – СправочникСсылка.Кошельки, Статья, тип – СправочникСсылка.Статьи, Сумма, тип – Число, длина – 10, точность – 2, неотрицательное, Комментарий, тип – Строка, длина – 1024. В результате этих действий данные документа будут иметь следующий вид: Рис. 5-3. Заполнение документа реквизитами 51 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 5-4. Реквизит Кошелек Рис. 5-5. Реквизит Статья Рис. 5-6. Реквизит Сумма 52 Начнем «программировать» Рис. 5-7. Реквизит Комментарий Заключительный, но самый важный этап работы с документом – перейдем на закладку Движения. Как мы уже объясняли ранее, документы записывают какие-то данные в регистры, а уже из регистров мы получаем данные в том виде, который удобен для последующего анализа. Можно просто сохранить документ в системе, но на данных в регистрах это никак не отразится. Для того, чтобы документ «отметился» в регистре – нужно сформировать движения этого документа по нужному регистру. Движения документа – это как раз те записи, которые документ делает в регистрах. В нашем случае – документ Доход должен «отметиться» в регистре Кошельки. 53 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Поэтому раскроем ветку Регистры накопления и отметим флажком регистр Кошельки, после чего нажмем кнопку Конструктор движений, чтобы система помогла нам сформировать алгоритм записи данных в этот регистр. Рис. 5-8. Конструирование движений документа по регистру Откроется конструктор движений документа. Здесь мы оставим тип движений как есть («Приход», т.к. наш документ будет регистрировать поступление денег) и нажмем кнопку Заполнить выражения. В таблице, расположенной в нижней части окна конструктора, мы увидим, что система автоматически установила соответствие между реквизитами регистра накопления и реквизитами документа. Так, в измерение регистра Кошелек будут записаны данные реквизита Кошелек документа, в ресурс Сумма – данные реквизита Сумма документа, а в реквизит регистра Статья – Статья из документа. После заполнения и проверки таблицы соответствий можно нажать кнопку OK. 54 Начнем «программировать» Рис. 5-9. Конструктор движений Система сформирует процедуру записи данных документа в регистр и покажет ее на экране. Рис. 5-10. Процедура записи данных документа в регистр 55 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Как можно заметить, процедура довольно проста. В регистр добавляется новая запись, куда из документа попадают данные из соответствующих реквизитов. Мы могли бы написать этот алгоритм сами, но для облегчения работы мы воспользовались конструктором движений. Конструктор сформировал этот код автоматически, о чем говорят комментарии в начале и в конце процедуры. С учетом поступления денег мы закончили. Но надо фиксировать еще и расходы. По логике вещей, нужно создать документ Расход. Можно быстро создать его вручную по образу и подобию уже существующего документа Доход – ведь по своему составу они будут практически идентичны. А можно воспользоваться сервисом платформы 1С:Предприятия – созданием новых объектов конфигурации на основании уже существующих путем их копирования. Для этого нужно установить курсор на существующий документ Доход в списке объектов метаданных и нажать кнопку Добавить копированием (F9). Рис. 5-11. Добавление копированием 56 Начнем «программировать» После нажатия на эту кнопку появится новый документ Доход1 – точная копия Доход. Рис. 5-12. Копия документа Доход Нам останется только переименовать этот документ и несколько подправить его свойства. Этим и займемся. 57 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Прежде всего откроем окно редактирования его свойств и изменим имя документа – Расход. После чего переходим на закладку Данные. Рис. 5-13. Документ Расход 58 Начнем «программировать» На закладке Данные изменим при помощи палитры свойств название реквизита Статья, переименовав его в Цель. Рис. 5-14. Переименование реквизита Статья в Цель Здесь требуется небольшое пояснение. Дело в том, что документом Расход мы предоставляем пользователю два сервиса – два вида операции: Фиксацию факта перевода денег между кошельками - согласитесь, весьма распространенная финансовая операция, Регистрацию собственно затраты. То есть один документ сможет регистрировать либо перевод денег между кошельками, либо какую-либо трату с привязкой к статье расходов. 59 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Для определения впоследствии какой из видов операции необходим пользователю, реквизиту Цель устанавливаем составной тип – СправочникСсылка.Кошельки и СправочникСсылка.Статьи. Рис. 5-15. Изменения типа реквизита Цель Если целью будет выбран кошелек – это перевод. Потому что и источник (реквизит Кошелек), и приемник (реквизит Цель) – кошельки. Если в цели будет указана статья, то это регистрация финансовой затраты. Остальные реквизиты не трогаем – они нас полностью устраивают. Переходим на закладку Движения. Здесь нам нужно будет переделать движения документа. Сейчас они скопированы из документа 60 Начнем «программировать» Доход. Тот документ учитывал поступления денег. Здесь же нам нужно учи- тывать переводы и расходы. Включаем флажки для обоих регистров – Кошельки и Затраты. После чего запустим конструктор движений. Система предупредит нас, что существующая процедура проведения будет замещена. Согласимся. Рис. 5-16. Конструктор движений 61 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Для регистра Кошельки (он должен автоматически подставиться в список регистров левой верхней части окна конструктора) все выполняем по аналогии с предыдущим документом. Меняем только тип движения документа на Расход и жмем кнопку Заполнить выражения. Рис. 5-17. Конструктор движений 62 Начнем «программировать» Обратите внимание, поле регистра Статья в нижней части окна конструктора осталось незаполненным. Дело в том, что конструктор «угадывает» соответствие по именам реквизитов. А в нашем документе Расход реквизита Статья нет. Поможем конструктору – установим курсор на сточку с полем Статья, после чего дважды кликнем мышкой по реквизиту Цель в правой верхней части окна конструктора (в области Реквизиты документа). Рис. 5-18. Заполнение поля Статья 63 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Это еще не все. Если документу Доход было достаточно формировать записи только в регистре Кошельки, то документу Расход нужно фиксировать так же расходы в регистре Затраты. Поэтому, не закрывая окно конструктора движений, добавляем в список регистров (слева сверху) еще и регистр Затраты. Рис. 5-19. Добавление регистра Затраты 64 Начнем «программировать» Убеждаемся, что курсор встал на регистр Затраты и снова нажимаем кнопку Заполнить выражения. Рис. 5-20. Заполнить движения по Затратам 65 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Видим, что как и в предыдущем случае автоматически не заполнилось поле регистра Статья. Аналогично описанному выше заполняем поле Статья реквизитом документа Цель. Рис. 5-21. Цель в Статью 66 Начнем «программировать» Теперь все готово для формирования движений по регистрам – нажимаем на кнопку OK. Рис. 5-22. Автоматически сформированный конструктором модуль проведения документа Расход Можно заметить, что в части движений по регистру Кошельки отличие от документа Доход минимальны – по сути всего в одной строке, которая задает вид движений. В нашем случае в регистр будут добавляться движения расхода. Кроме этого, в модуль проведения добавился программный код создания записи в регистре Затраты. В этом тоже нет ничего сложного. Единственное, что следует пояснить – данный набор движений реализует только один вид деятельности документа Расход – фиксацию затраты денег. А как обсуждалось выше, нужно чтобы документ Расход реализовывал еще и перевод денег из кошелька в кошелек. Здесь (впервые за наш мастер-класс) придется немного модифицировать программу проведения документа вручную. 67 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Определить вид операции документа Расход несложно – достаточно проанализировать тип выбранного в реквизите Цель значения. Для этого в модуль проведения документа нужно добавить классическое условие «Если Тогда – Иначе». Если тип значения в реквизите Цель - СправочникСсылка.Статьи, то это затрата и блок записи в регистры у нас уже есть (сформирован конструктором – см. рис. 5-22). Если тип значения в реквизите Цель - СправочникСсылка.Кошельки, формируем записи о переводе в регистре Кошельки. Одна запись должна списать (вычесть) указанную сумму из кошелька реквизита Кошелек, другая запись должна добавить эту же сумму в кошелек реквизита Цель. Регистр Затраты в данном случае «трогать» не нужно. Кстати, здесь пригодится предопределенный элемент справочника Статьи – Перевод. Именно его будем записывать в реквизит Статья регистра Кошельки при формировании перевода. После реализации всех правок, модуль проведения документа Расход должен выглядеть подобным образом: 68 Начнем «программировать» Процедура ОбработкаПроведения(Отказ, Режим) //Если цель затраты - кошелек, то это перевод и мы делаем два проведения ТОЛЬКО по регистру кошельков и ни одного по затратам Если ТипЗнч(Цель) = Тип("СправочникСсылка.Кошельки") Тогда //1. Списываем с кошелька-источника Движения.Кошельки.Записывать = Истина; Движение = Движения.Кошельки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Кошелек = Кошелек; Движение.Статья = Справочники.Статьи.Перевод;//ПРЕДОПРЕДЕЛЕННЫЙ! Движение.Сумма = Сумма; //2. Добавляем в кошелек-получатель Движения.Кошельки.Записывать = Истина; Движение = Движения.Кошельки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Кошелек = Цель; Движение.Статья = Справочники.Статьи.Перевод;//ПРЕДОПРЕДЕЛЕННЫЙ! Движение.Сумма = Сумма; //Если же это просто затрата - делаем проводку и по затратам, и по кошелькам! //(оставляем то, что было сформировано конструктором) Иначе //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! // регистр Кошельки Расход Движения.Кошельки.Записывать = Истина; Движение = Движения.Кошельки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Кошелек = Кошелек; Движение.Сумма = Сумма; Движение.Статья = Цель; // регистр Затраты Движения.Затраты.Записывать = Истина; Движение = Движения.Затраты.Добавить(); Движение.Период = Дата; Движение.Статья = Цель; Движение.Сумма = Сумма; Движение.Кошелек = Кошелек; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецЕсли; КонецПроцедуры Рис. 5-23. Доработанный текст модуля проведения документа Расход 69 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Текст модуля можно увидеть в файле «Документ на диске, приложенном к книге. Расход - модуль.txt» Перед тем как перейти к следующему этапу разработки сохраним наши наработки. Нажмем кнопку Обновить конфигурацию базы данных (F7). Рис. 5-24. Обновить конфигурацию базы данных 70 Начнем «программировать» Система традиционно отобразит изменения, внесенные в конфигурацию (только что созданные нами регистры и документы) – принимаем. Рис. 5-25. Обновление конфигурации базы данных Теперь в системе есть справочники, в которых пользователь будет хранить свои кошельки и статьи движений денежных средств. Есть регистры, из которых можно будет оперативно получать необходимую информацию, и присутствуют документы фиксации доходов и расходов. По сути, каркас прикладного решения готов. Функционально он уже реализует поставленные перед ним учетные задачи практически полностью. Посмотрим, удобно ли будет пользователю использовать наше решение. 71 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Запускаем пользовательский режим. Чтобы из режима конфигуратор запустить систему в пользовательском режиме (1С:Предприятие), нужно нажать кнопку Начать отладку (F5). Рис. 5-26. Начать отладку 72 Рабочий стол Рабочий стол Итак, мы создали каркас учетной системы. Задачи по регистрации финансовых операций она уже вполне способна выполнять. На данный момент назвать работу в программе простой можно, но удобной – вряд ли Посмотрим на основное окно программы. Рис. 6-1. Рабочий стол Рабочий стол – пуст. Для того, чтобы завести новые документы или записи в справочники приходится «интуитивно» догадываться куда нажимать и что делать – благо, есть список доступных вариантов слева. Конечно же, пользователю будет в таком окружении некомфортно. Попробуем облагородить это рабочее пространство. Для начала создадим рабочее пространство пользователя, с которого он будет начинать свою работу в приложении – форму рабочего стола. Обрати73 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 те внимание, до этого момента платформа 1С:Предприятия генерировала все экранные формы «на лету» – учитывая состав и особенности справочников, документов и регистров, которые мы создали на предыдущем этапе. Согласно условию поставленной задачи, пользователь должен смочь быстро зафиксировать доход или расход денежных средств, а так же иметь возможность оперативно контролировать остатки в своих кошельках и видеть обороты по статьям затрат. Логично предположить, что именно этот функционал должен всегда быть «под рукой» – т.е. располагаться на рабочем столе нашего приложения. Возвращаемся в конфигуратор, открываем ветку в дереве метаданных Общие, активируем раздел Общие формы и добавляем туда новую форму. Рис. 6-2. Добавляем новую общую форму 74 Рабочий стол Тип формы – Произвольный. Имя – РабочийСтол. Синоним – Мои деньги. После этого нажмем кнопку Готово. Рис. 6-3. Параметры общей формы 75 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Откроется конструктор формы, в котором мы продолжим ее настройку. Рис. 6-4. Общая форма Мои деньги По условию задачи нужно демонстрировать остатки в кошельках и обороты по статьям затрат. Для этого на форму добавим две таблицы, которые будут содержать необходимые показатели. 76 Рабочий стол Сначала – таблица остатков в кошельках. Добавляем новый реквизит формы – Остатки. Кнопка Добавить реквизит (Ins) в правом верхнем разделе конструктора формы. Рис. 6-5. Новый реквизит формы В палитре свойств для нового реквизита пишем имя – Остатки. Выбираем тип – ТаблицаЗначений. Рис. 6-6. Реквизит формы Остатки 77 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 После этого для реквизита Остатки добавляем две колонки – кнопкой Добавить колонку реквизита. Рис. 6-7. Новая колонка реквизита Первой колонке назначаем имя – Кошелек. В палитре свойств выбираем для нее тип – СправочникСсылка.Кошельки. Рис. 6-8. Колонка реквизита Кошелек 78 Рабочий стол Вторая колонка – Сумма. Тип – Число. Длина – 10. Точность – 2. Рис. 6-9. Колонка реквизита Сумма Теперь следует только что созданный реквизит (таблицу Остатки) расположить на форме. Для этого берем ее левой кнопкой мыши и перетаскиваем на форму. Можно перетащить в левую верхнюю область конструктора формы – например, на надпись Форма. А можно непосредственно на область предварительного просмотра компоновки элементов формы – в нижней части конструктора. Рис. 6-10. Размещение реквизита Остатки на форме 79 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 На вопрос, следует ли добавить колонки таблицы Остатки, отвечаем положительно. Рис. 6-11. Таблица Остатки на форме 80 Рабочий стол Корректность результата размещения таблицы на форме можно проконтролировать в области предварительного просмотра в нижней части конструктора форм – см. рис. 6-12. Рис. 6-12. Предварительный просмотр 81 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Теперь можно добавить вторую таблицу, которая будет отображать пользователю обороты по используемым им статьям расходов. Полностью аналогично предыдущим действиям добавим новый реквизит и называем его Затраты. Выбираем тип – ТаблицаЗначений. Рис. 6-13. Новый реквизит формы Рис. 6-14. Реквизит формы Затраты 82 Рабочий стол Далее добавим в эту таблицу две колонки – Статья и Сумма. Для колонки Статья указываем тип СправочникСсылка.Статьи. Колонку Сумма вообще можно скопировать через буфер обмена (Ctrl+C, Ctrl+V) из реквизита Остатки. А можно завести снова вручную: тип – Число. Длина – 10. Точность – 2. Рис. 6-15. Колонка реквизита Статья Рис. 6-16. Колонка реквизита Сумма Теперь поместим созданный табличный реквизит Затраты на форму. Перетащим его мышкой на форму, ответим положительно на вопрос следует ли добавить колонки таблицы Затраты и проконтролируем, чтобы он разместился ниже таблицы Остатки – это можно сделать соответствующими клавишами на панели над полями формы, или попросту передвигая таблицу в окне предварительного просмотра. 83 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 6-17. Таблица Затраты на форме Рис. 6-18. Клавиши перемещения элементов формы 84 Рабочий стол В итоге форма рабочего стола будет содержать две таблицы – Остатки и Затраты, одна над другой. Рис. 6-19. Форма рабочего стола 85 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Теперь, чтобы созданная форма рабочего стола стала доступна пользователю, платформе 1С:Предприятие нужно сообщить об этом. Переходим в свойства конфигурации и в палитре свойств нажимаем мышью на опцию Рабочая область начальной страницы. Рис. 6-20. Рабочая область начальной страницы Выберем шаблон рабочего стола – Одна колонка. Рис. 6-21. Шаблон рабочего стола 86 Рабочий стол Добавляем нашу общую форму РабочийСтол, которую мы подготовили чуть ранее. Нажимаем кнопку Добавить (Ins) и выбираем форму РабочийСтол из секции Общие, раскрывая Общие формы, после чего нажимаем OK. Рис. 6-22. Добавление общей формы на рабочий стол Запускаем пользовательский режим, соглашаемся с предложением об обновлении конфигурации и смотрим, что получилось. 87 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 6-23. Рабочий стол пользовательского режима Рабочий стол стал более полезен – уже можно контролировать свои остатки в кошельках и финансовые потоки, иметь быстрый доступ к справочникам и документам для регистрации финансовой деятельности пользователя. Примечание. Обратите внимание, что рабочий стол довольно «беден» по своему содержимому. И на обычном компьютере с хорошим монитором на этапе разработки и отладки, это вполне естественно бросается в глаза. Тем не менее, следует помнить, что мы создаем кроссплатформенное приложение с ориентацией в первую очередь на работу на мобильных устройствах. И по большому счету мы, как разработчик, не знаем – на планшете оно будет запускаться или на коммуникаторе с небольшим экраном. Поэтому при создании нашего приложения в данном мастерклассе мы исходим из «худших» условий – небольшого экрана мобильного пользователя. И такой рабочий стол будет удобен для использования даже там. 88 Рабочий стол Попробуем зарегистрировать несколько операций. Заодно проверим удобство работы с нашим приложением. Слева есть список из четырех пунктов: Доход, Кошельки, Расход, Статьи. Рис. 6-24. Список доступных действий Логично начать с регистрации поступления денежных средств. Кликаем мышью по пункту рабочего стола Доход и в открывшемся пустом списке нажимаем кнопку Создать (Ins). Рис. 6-25. Создание нового документа Доход 89 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Сделаем попытку зарегистрировать, например, стипендию в размере 10 000 рублей, поступившей к нам на счет банковской карты. В открывшемся окне нового документа заполняем поле Сумма и переходим к полю Кошелек. Рис. 6-26. Заполнили сумму, перешли к кошельку Так как в справочниках пока нет никакой пользовательской информации, ее нужно туда завести. И платформа 1С:Предприятие предоставляет удобный сервис для этого. Вариантов заведения нового элемента справочника несколько: Можно кликнуть мышью по пункту рабочего стола Кошельки и в открывшемся списке завести новый элемент кнопкой Создать (Ins) – см. рис. 6-27. А затем выбрать его в документе. Можно в форме нашего документа нажать на кнопку выбора элемента справочника в поле Кошелек и выбрать опцию Создать – см. рис. 6-28. Можно, находясь в поле Кошелек, нажать «быструю клавишу» F8 – см. рис. 6-29. А можно сразу начать набирать нужное нам наименование элемента справочника – то, которое мы хотим использовать в документе, – и если платформа не найдет такого в справочнике, она предложит его создать (см. рис. 6-30). 90 Рабочий стол Рис. 6-27. Создание нового элемента справочника Кошельки в отдельном списке Рис. 6-28. Создание нового элемента справочника Кошельки в при попытке выбора в поле документа 91 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 6-29. Создание нового элемента справочника Кошельки «быстрой клавишей» F8 в поле документа Рис. 6-30. Создание нового элемента справочника Кошельки в момент ввода в поле документа Воспользуемся последним вариантом заведения нового элемента справочника – ведь по большому счету пользователь может не знать, есть такой элемент или нет. А платформа «угадает» (подберет) совпадающий с введен92 Рабочий стол ными символами элемент, если таковой уже присутствует. А если нет – предложит его создать (см. рис. 6-30). Итак, набираем в поле Кошелек наименование кошелька – Безналичные. Рис. 6-31. Создание нового элемента справочника Кошельки Платформа 1С:Предприятие, не обнаружив в справочнике соответствующего элемента, предложит его создать – соглашаемся. 93 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 6-32. Новый элемент справочника Кошельки Видим, что наименование создаваемого элемента заполнилось автоматически нужным нам значением. Нажимаем кнопку Записать и закрыть и убеждаемся, что только что созданный элемент справочника Безналичные подставился в поле Кошелек нашего документа. Рис. 6-33. Кошелек Безналичные в поле документа 94 Рабочий стол Переходим в поле Статья документа. Здесь поведение платформы при попытке выбора элемента справочника будет мало отличаться от поля Кошелек. Рис. 6-34. Статья из справочника Создаем любым удобным способом элемент справочника Стипендия и контролируем, чтобы он находился в группе Поступления. Выбрать нужную группу (справочник иерархический) можно в поле Родитель формы создания элемента. 95 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 6-35. Новый элемент справочника Статьи Исправить параметры элемента справочника всегда можно, открыв его в отдельном окне, нажав на кнопку «лупа» в поле документа. А можно просто найти его в списке соответствующего справочника и открыть двойным кликом мыши. 96 Рабочий стол Рис. 6-36. Просмотр элемента справочника 97 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Наш первый документ практически заполнен. По желанию можно чтолибо написать в поле Комментарий. Сохранить созданный документ в системе с регистрацией записей в регистрах нужно кнопкой Провести и закрыть. Рис. 6-37. Сохранение и проведение документа После того как форма документа закроется, можно самостоятельно проверить списки справочников и документов и удостовериться, что все введенные данные на местах. Давайте отметим в нашей системе еще одно финансовое событие – снятие наличных с банковской карты. Фактически, с точки зрения нашего приложения, это перевод из «безналичного» кошелька в «наличный» (в реальный кошелек, карман и т.п.). С точки зрения реализованной в приложении логики за перевод у нас отвечает документ Расход. Создадим такой документ. Сумма пускай будет равна 3 000 рублям. Перевод осуществим с кошелька Безналичные (уже присутствует в справочнике Кошельки) в кошелек Наличные (пока еще отсутствует в справочнике Кошельки). 98 Рабочий стол Переходим в список Расход, нажимаем кнопку создания документа. Рис. 6-38. Создание нового документа Расход В открывшемся окне нового документа заполняем поле Сумма и переходим к полю Кошелек. Рис. 6-39. Заполнили сумму, перешли к кошельку 99 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 В поле Кошелек выбираем уже существующий элемент Безналичные. Можно просто начать набирать нужное слово, можно воспользоваться кнопкой быстрого выбора. Рис. 6-40. Выбор кошелька В поле Цель при попытке выбора нам будет предложено выбрать тип значения – Кошелек или Статья. Так как мы фиксируем перевод – выбираем Кошелек. 100 Рабочий стол Рис. 6-41. Выбор типа цели В открывшемся списке кошельков добавляем новый элемент – Наличные. И после сохранения, выбираем его. 101 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 6-42. Кошелек цели 102 Рабочий стол По желанию заполняем поле Комментарий и сохраняем созданный документ в системе с регистрацией записей в регистрах – кнопка Провести и закрыть. Рис. 6-43. Сохранение и проведение документа 103 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Проверяем, что в списках появилось все, что было добавлено только что – документ Расход и новый элемент справочника Кошельки. Теперь можно вернуться на рабочий стол и проверить – появились ли какие-нибудь данные в табличках, призванных оперативно отражать финансовые показатели. Рис. 6-44. Рабочий стол после ввода документов Таблички пусты. Возможно, регистры не заполнились должным образом при проведении документов в нашем приложении? Проверяем. На данный момент «добраться» до записей регистров не очень просто – платформа 1С:Предприятия по умолчанию скрывает эти списки, ибо простому пользователю от них мало прока. Тем не менее на этапе отладки информация оттуда нам вполне пригодится. 104 Рабочий стол Открываем системное меню и выбираем пункт Все функции… Рис. 6-45. Все функции… Раскрываем в дереве метаданных ветку Регистры накопления и выбираем регистр Кошельки. Регистр Затраты нас пока не интересует – в нем пока нет никаких записей, ибо реальных трат мы пока не регистрировали. Рис. 6-46. Регистр Кошельки 105 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 6-47. Список записей регистра Кошельки Убеждаемся, что документы отработали корректно. Первый документ (Доход) создал одну запись в регистре, отмечая факт поступления 10 000 рублей на безналичный кошелек. Второй документ (Расход), фиксируя факт перевода, создал две записи – списание 3 000 рублей с «безналичного» кошелька и приходование этой же суммы на «наличный». При этом использовалась предопределенная статья Перевод, как было изначально спроектировано и реализовано при создании этого документа в нашем приложении. В чем же дело? Почему таблицы на рабочем столе пусты? Все дело в том, что таблички рабочего стола «ничего не знают» о фактах записи в регистры и никаким образом не получают данные оттуда. Для того чтобы таблицы на рабочем столе заполнялись, нужно прописать логику их заполнения на встроенном языке – иными словам написать немного программного кода. 106 ДОРАБАТЫВАЕМ ФУНКЦИОНАЛ РАБОЧЕГО СТОЛА Закрываем приложение в пользовательском режиме и возвращаемся в конфигуратор, открываем общую форму РабочийСтол. Рис. 6-48. Общая форма РабочийСтол 107 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Переключаемся в модуль формы. Сейчас он абсолютно пуст. Рис. 6-49. Модуль формы РабочийСтол Для каждой таблицы формы (а их у нас две) создадим по одной процедуре их заполнения. Начнем с таблицы Остатки. По условиям задачи она должна отображать пользователю текущие (актуальные) остатки в кошельках. Назовем процедуру ЗаполнитьОстатки(). Внутри процедуры нужно будет обратиться к регистру Кошельки и получить оттуда актуальные остатки. Не вдаваясь в особенности методов регистров и синтаксиса встроенного языка, решение нашей задачи выглядит следующим образом – см. рис. 6-50: &НаСервере Процедура ЗаполнитьОстатки() Остатки.Загрузить(РегистрыНакопления.Кошельки.Остатки()); КонецПроцедуры Рис. 6-50. Процедура ЗаполнитьОстатки() 108 Дорабатываем функционал рабочего стола Метод «РегистрыНакопления.Кошельки.Остатки()» обращается к регистру Кошельки и получает оттуда актуальные остатки. Метод «Остатки.Загрузить()» помещает полученные из регистра данные в таблицу Остатки. При желании можно более подробно изучить особенности использованных в процедуре методов, обратившись к встроенному в платформу 1С:Предприятие синтаксис-помощнику. Для этого достаточно установить курсор на интересующий метод и нажать Ctrl+F1. Для второй таблицы Затраты пишем похожий код, только получать будем не остатки, а обороты, и не из регистра Кошельки, а из регистра Затраты. Процедуру назовем ЗаполнитьЗатраты() – см. рис. 6-51: &НаСервере Процедура ЗаполнитьЗатраты() Затраты.Загрузить(РегистрыНакопления.Затраты.Обороты()); КонецПроцедуры Рис. 6-51. Процедура ЗаполнитьЗатраты() Здесь метод «РегистрыНакопления.Затраты.Обороты()» обращается к регистру Затраты и получает оттуда текущие обороты по использованным статьям. Метод «Затраты.Загрузить()» помещает полученные из регистра данные в таблицу Затраты. 109 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Осталась самая малость – как-то инициировать выполнение только что созданных процедур. Для этого воспользуемся предопределенной для формы процедурой, срабатывающей на ее открытие - ПриОткрытии(). Здесь писать придется еще меньше – воспользуемся встроенным механизмом активации таких процедур. Нажимаем кнопку Процедуры и функции (Ctrl+Alt+P). Рис. 6-52. Процедуры и функции К слову, этот механизм позволяет быстро найти и пользовательские процедуры или функции – на рис. 6-52 как раз видны в самом верху две наши. 110 Дорабатываем функционал рабочего стола В списке ниже находим процедуру <ПриОткрытии> и дважды кликаем по ней мышью или жмем кнопку Перейти. Рис. 6-53. Выбор ПриОткрытии В появившемся диалоге создания процедуры выбираем вариант Создать на клиенте и нажимаем ОК. Рис. 6-54. Варианты создания процедуры В итоге получаем в модуле формы новую процедуру, которая будет срабатывать при открытии формы пользователем. 111 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 6-55. ПриОткрытии Осталось только добавить в эту процедуру вызов двух, созданных ранее для обновления табличек. Имена процедур можно просто скопировать, не забывая скобки после них и завершающий строку символ «точка с запятой» («;»). А можно воспользоваться встроенный в текстовый редактор конфигуратора механизм автозаполнения, набрав первые буквы нужной нам процедуры, нажав на клавиатуре комбинацию Ctrl+Пробел, выбрав в появившемся списке нужную и нажав Enter. 112 Дорабатываем функционал рабочего стола В итоге код процедуры ПриОткрытии() должен выглядеть аналогично изображенному на рис. 6-56. &НаКлиенте Процедура ПриОткрытии(Отказ) ЗаполнитьОстатки(); ЗаполнитьЗатраты(); КонецПроцедуры Рис. 6-56. Заполненная процедура ПриОткрытии() Запускаем пользовательский режим, соглашаемся с предложением об обновлении конфигурации и проверяем работоспособность созданного только что функционала. Рис. 6-57. Заполнение таблиц После запуска видно, таблица остатков по кошелькам заполнилась и отражает корректные данные. Таблица оборотов пока пуста. Зафиксируем еще одну трату – например, обед на сумму 300 рублей. 113 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Создаем новый документ Расход. Рис. 6-58. Создание нового документа Расход В открывшемся окне нового документа заполняем поле Сумма и переходим к полю Кошелек. Рис. 6-59. Заполнили сумму, перешли к кошельку 114 Дорабатываем функционал рабочего стола Будем считать, что за обед расплачивались наличными. В поле Кошелек выбираем уже существующий элемент Наличные. Можно просто начать набирать нужное слово, можно воспользоваться кнопкой быстрого выбора. Рис. 6-60. Выбор кошелька В поле Цель при попытке выбора нам будет предложено выбрать тип значения – Кошелек или Статья. Так как мы фиксируем расход – выбираем Статья. Рис. 6-61. Выбор типа цели 115 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 В открывшемся списке кошельков добавляем в группу Затраты новый элемент – Обед. И после сохранения, выбираем его. Рис. 6-62. Статья цели По желанию заполняем поле Комментарий и сохраняем созданный документ в системе с регистрацией записей в регистрах – кнопка Провести и закрыть. 116 Дорабатываем функционал рабочего стола Рис. 6-63. Сохранение и проведение документа 117 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Возвращаемся на рабочий стол и обнаруживаем, что таблица оборотов по прежнему пуста. Рис. 6-64. Рабочий стол 118 Дорабатываем функционал рабочего стола При этом, если проверить список записей регистра Затраты (через системное меню Все функции…) – там будет все заполнено. Рис. 6-65. Регистр Затраты Это ошибка? Нет. Дело в том, что обновление таблиц рабочего стола мы привязали к событию «при открытии» – т.е. таблицы будут обновляться момент открытия формы рабочего стола. А в данный момент времени открытия как такового не случилось – мы просто вернулись после создания документа к уже открытой форме. Чтобы инициировать обновление табличек можно перезапустить пользовательский режим – закрыть приложение и запустить его заново. Либо закрыть форму рабочего стола и тут же открыть ее заново. Рис. 6-66. Закрыть рабочий стол 119 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 6-67. Открыть рабочий стол Вот, теперь все отображается как надо – все данные в табличках актуальны. Можно считать, что поставленная в начале мастер-класса задача реализована. Но согласитесь, требовать от пользователя перезапуска приложения только ради обновления данных в табличках – это слишком. Кроме этого, набор доступных пользователю средств сейчас довольно примитивен. А к таблицам регистров и вовсе нужно лазить через системное меню. Юзабилити нашего решения хромает на обе ноги. Тем более, на мобильном устройстве вряд ли у пользователя возникнет желание постоянно что-то перезапускать и копаться в дебрях системных настроек. 120 Дорабатываем функционал рабочего стола Потратим еще немного времени для того, чтобы привести внешний вид и функционал нашего приложения к более-менее приличному виду, удобному для использования в повседневной жизни. 121 УЛУЧШАЕМ ИНТЕРФЕЙС Командный интерфейс основного раздела На данный момент на рабочем столе доступно четыре пункта меню и две таблицы. А если мы хотим больше? Или хочется более понятно организовать доступный функционал приложения – чтоб все необходимое было сразу под рукой. Для этого даже программировать ничего не нужно – достаточно настроить командный интерфейс основного раздела. В конфигураторе вызываем свойства конфигурации и нажимаем ссылку Командный интерфейс основного раздела. Рис. 7-1. Командный интерфейс основного раздела 122 Улучшаем интерфейс В открывшемся окне можно выбрать объекты конфигурации и разместить их в командном интерфейсе рабочего стола. Тут все просто – включаем видимость у нужных элементов соответствующими флажками. Перемещаем объекты мышкой или клавишами Переместить вверх (Ctrl+Shift+Вверх) и Переместить вниз (Ctrl+Shift+Вниз). Расположим объекты нашей системы так, как это показано на рис. 7-2. Рис. 7-2. Настройка командного интерфейса основного раздела 123 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Посмотрим, как будет выглядеть рабочий стол после такой настройки – запускаем пользовательский режим. Рис. 7-3. Командный интерфейс рабочего стола 124 Улучшаем интерфейс Отлично – все необходимое под рукой и сгруппировано по смыслу. К слову, используя специальные разделители в окнах платформы 1С:Предприятия, можно довольно гибко подстраивать экранные формы под себя. Например, элементы командного интерфейса можно размещать так, как нам удобно. Рис. 7-4. Изменение интерфейса экранных форм 125 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Управляемые формы Если внимательно проанализировать, как мы вводим данные о поступлении или расходовании денег, то выявляется такая тенденция – сначала мы стремимся зафиксировать сумму, а потом уже указать, с каким кошельком и статьей эта операция связана. Кроме этого, если внимательно посмотреть на экранные формы документов, которые платформа 1С:Предприятие генерирует «на лету» - далеко не все поля документов нужны обычным пользователям. Например, поле Номер не особо нужно пользователю в рамках решаемой задачи, а место на экране занимает. Особенно критичным внешний вид наших документов становится на небольших экранах мобильных устройств. Рис. 8-1. Форма документа, сгенерированная автоматически Еще один момент. Сейчас, в момент выполнения приложения на компьютере, в интерфейсе нам доступны опции быстрого создания документов – мы включили их при настройке командного интерфейса основного раздела (см. рис. 7-3). На мобильной платформе, установленной в коммуникатор, командный интерфейс основного раздела становится основным меню приложения – т.е. эти опции на мобильном рабочем столе пользователю недоступны. Пользователь, конечно, сможет открыть меню и выбрать необходимое. Но предоставить ему функционал быстрого добавления нужного документа в рамках решаемой задачи – довольно важная задача. 126 Улучшаем интерфейс Эти две задачи сейчас решим при помощи более тонкой настройки управляемых форм соответствующих объектов конфигурации. Настройка форм документов Возвращаемся в конфигуратор. Начнем с документа Доход. До сих пор все формы объектов конфигурации, которые мы видели в пользовательском режиме, генерировались автоматически – на лету (по запросу пользователя при работе в системе). Исключение составляет общая форма РабочийСтол, которую мы создали явно. Для того чтобы облегчить работу пользователя с документов – создадим соответствующую форму и настроим ее под требования решаемой задачи. Рис. 9-1. Добавление формы документу 127 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Откроется окно добавления форм объекту конфигурации. В данном случае выбираем вариант Форма документа и сразу нажимаем Готово. Рис. 9-2. Создание формы документа 128 Улучшаем интерфейс По умолчанию конструктор форм открылся с формой документа в том виде, которая генерируется платформой 1С:Предприятия «на лету» – той, которую мы уже видели ранее (см. рис. 6-26). Рис. 9-3. Настройка управляемой формы Сейчас адаптируем форму вручную с целью повышения удобства ввода информации. 129 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Для начала удаляем «лишний» для восприятия пользователя элемент формы – Номер. Сделать это несложно – достаточно установить курсор в списке элементов формы (левая верхняя область конструктора) на нужный и нажать кнопку Удалить текущий (Del). Рис. 9-4. Удаление элементов управляемой формы Примечание. Обратите, пожалуйста, внимание – удаление элемента формы не влечет за собой реального удаления реквизита объекта. В нашем случае мы, по сути, удалили с формы отображение номера документа, но сам номер у документа сохранится. Убедиться в этом несложно – достаточно развернуть ветку реквизита Объект в списке реквизитов документа (правая верхняя область конструктора форм) и обнаружить реквизит Номер на месте. Например, с ним можно будет взаимодействовать из программного кода. Или впоследствии вернуть на форму, если такая необходимость возникнет в будущем. 130 Улучшаем интерфейс В процессе удаления ненужных элементов формы платформа «перерисовывает» управляемую форму так, чтобы было понятно, как будет видеть ее пользователь. В нашем случае она приобретет следующий вид. Рис. 9-5. Настройка управляемой формы Кроме удаления ненужных элементов формы, настроим более приятное глазу отображение оставшихся элементов. 131 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Элемент формы Сумма перемещаем на самый верх в списке. Рис. 9-6. Сумму перемещаем наверх 132 Улучшаем интерфейс Для удобства ввода сумм увеличиваем шрифт этого элемента и включаем активизацию по умолчанию при открытии формы документа – таким образом, пользователь сразу будет попадать в самое важное с его точки зрения поле. Устанавливаются эти параметры через палитру свойств элемента формы. Рис. 9-7. Свойства элемента формы 133 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Шрифт для элемента формы Сумма устанавливаем равным 14. Рис. 9-8. Шрифт элемента управляемой формы Рис. 9-9. Отключение размера по умолчанию 134 Улучшаем интерфейс Рис. 9-10. Установка своего размера шрифта Обратите внимание, предварительный просмотр формы в нижней области конструктора форм сразу начинает отображать более крупно поле Сумма. 135 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Теперь включаем активизацию по умолчанию. Рис. 9-11. Активизация по умолчанию 136 Улучшаем интерфейс Не очень нужный пользователю, но полезный при последующем анализе элемент формы Дата перемещаем в самый низ. Рис. 9-12. Дату перемещаем вниз 137 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 И включаем у него свойство Пропускать при вводе – таким образом избавим пользователя от «лишнего» входа в ненужное ему поле при вводе данных. Рис. 9-13. Пропускать при вводе Учитывая, что кошельков у пользователя вряд ли будет много, можно заблокировать открытие отдельного окна при выборе нужного кошелька при вводе данных. Если активировать свойство Быстрый выбор, то платформа 1С:Предприятие предложит выпадающий список, откуда можно будет быстро выбрать необходимое. А для того, чтобы быстрый выбор работал во всех формах, если таковые будут созданы для документа в будущем – активируем это свойство не для элемента формы, а для реквизита документа Доход. 138 Улучшаем интерфейс Раскрываем реквизиты документа Доход в дереве метаданных. Рис. 9-14. Реквизиты документа 139 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Вызываем палитру свойств для реквизита Кошелек. Рис. 9-15. Свойства реквизита Кошелек И устанавливаем свойство Быстрый выбор в состояние Использовать. Рис. 9-16. Использовать быстрый выбор 140 Улучшаем интерфейс Аналогичным образом для реквизита документа Комментарий установим многострочный режим – чтобы пользователю было комфортнее писать комментарии. Рис. 9-17. Свойство реквизита Комментарий 141 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 9-18. Многострочность у Комментария 142 Улучшаем интерфейс Предварительный просмотр формы в нижней области конструктора форм после этого начнет иначе отображать поле Комментарий. Рис. 9-19. Итоговый вид формы документа Доход 143 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Аналогичные действия производим с документом Расход. Создаем форму документа. Рис. 9-20. Добавление формы документу Рис. 9-21. Форма документа 144 Улучшаем интерфейс Удаляем элемент формы Номер. Рис. 9-23. Удаление элементов управляемой формы Элемент формы Сумма перемещаем наверх и устанавливаем для него активизацию по умолчанию и размер шрифта 14. Рис. 9-24. Позиция элемента Сумма 145 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 9-25. Активизировать по умолчанию 146 Улучшаем интерфейс Рис. 9-26. Шрифт 147 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Элемент формы Дата перемещаем вниз и устанавливаем для него пропуск при вводе. Рис. 9-27. Дату вниз 148 Улучшаем интерфейс Для реквизита Кошелек документа Расход устанавливаем свойство быстрого выбора. Рис. 9-28. Быстрый выбор Кошелька Для реквизита Комментарий документа Расход включаем многострочность. Рис. 9-29. Многострочность у Комментария 149 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 В итоге получаем настроенную под требования задачи форму документа Расход. Рис. 9-30. Итоговый вид формы документа Расход 150 Улучшаем интерфейс После тонкой настройки форм документов можно запустить пользовательский режим и проверить, как они отображаются и реагируют на действие пользователя. Но если вводить новых документов не планируется, можно воспользоваться механизмом проверки настроенной формы, который включен в состав конструктора форм. Рис. 9-31. Проверка функционирования формы 151 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Добавление кнопок на рабочий стол Вторую задачу, которую необходимо решить – дать быстрый доступ к регистрации финансовой деятельности прямо с рабочего стола. И не важно, под какой операционной системой будет запущено приложение. Иными словами, на рабочем столе нужно разместить две кнопки, которые соответственно будут создавать документы Доход и Расход. Открываем конструктор общей формы РабочийСтол. Устанавливаем курсор на элементе Форма в списке элементов формы. И добавляем элемент Группа - Обычная группа без отображения. Рис. 10-1. Группа - Обычная группа без отображения Элемент типа Группа нужен нам для того, чтобы сгруппировать кнопки внутри него не вертикально (как сейчас все группируется на форме) а горизонтально. Поднимем в списке группу на самый верх. Настроим свойства этой группы. 152 Улучшаем интерфейс Имя – ГруппаКнопки. Рис. 10-2. Имя группы Отображение –Сильное выделение. Рис. 10-3. Отображение группы 153 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Группировка элементов внутри группы – Горизонтальная. Рис. 10-4. Группировка элементов внутри группы 154 Улучшаем интерфейс Ширина подчиненных элементов – Одинаковая. Рис. 10-5. Ширина подчиненных элементов 155 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Теперь внутрь этой группы добавляем две кнопки. Сначала кнопку для регистрации доходов. Рис. 10-6. Новая кнопка внутри группы Имя – КнопкаДоход. Рис. 10-7. КнопкаДоход 156 Улучшаем интерфейс Затем – кнопку для регистрации расходов. Рис. 10-8. Новая кнопка внутри группы Имя – КнопкаРасход. Рис. 10-9. КнопкаРасход 157 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Теперь задаем действия, которые будут инициировать эти кнопки – в нашем случае, создавать документы Доход и Расход. В свойствах ИмяКоманды кнопки КнопкаДоход устанавливаем значение Глобальные команды -> Доход: создать. Рис. 10-10. Свойство кнопки ИмяКоманды Рис. 10-11. Глобальные команды -> Доход: создать 158 Улучшаем интерфейс Для кнопки КнопкаРасход аналогично устанавливаем значение Глобальные команды -> Расход: создать. Рис. 10-12. Свойство кнопки ИмяКоманды Рис. 10-13. Глобальные команды -> Расход: создать После назначения команд, кнопки появляются на форме. Теперь финальный «тюнинг» – сделаем их крупнее и для наглядности назначим понятные пользователю картинки. 159 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 В свойствах каждой кнопки увеличиваем размер шрифта – до 14. Рис. 10-14. Шрифт кнопки Рис. 10-15. Размер шрифта кнопки Результат сразу отразится в области предварительного просмотра формы. Рис. 10-16. Предварительный просмотр формы 160 Улучшаем интерфейс Теперь назначим каждой кнопке по картинке – сделать это несложно. В свойствах кнопки находим свойство Картинка и открываем диалог выбора. Начнем с кнопки КнопкаДоход. Рис. 10-17. Свойство Картинка Рис. 10-18. Выбор картинки 161 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Картинок в нашей системе еще нет, поэтому загрузим их из файлов на диске. Для кнопки КнопкаДоход подойдет картинка «Доход.png». В открывшемся окне нажимаем кнопку Добавить. Рис. 10-19. Добавление новой картинки 162 Улучшаем интерфейс Нажимаем Выбрать из файла. Рис. 10-20. Выбор файла картинки 163 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Указываем файл «Доход.png». Рис. 10-21. Выбор файла картинки 164 Улучшаем интерфейс Называем картинку осмысленно – например, Доход. Рис. 10-22. Название общей картинки 165 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Теперь окно с картинкой можно закрыть, а в открытом окне выбора картинки выбрать только что загруженную – отмечаем ее мышью и нажимаем кнопку OK. Рис. 10-23. Выбор общей картинки 166 Улучшаем интерфейс У нашей кнопки появилась персональная картинка. Чтобы она стала видна пользователю, в свойстве кнопки Отображение выбираем значение Картинка и текст. Рис. 10-24. Отображение кнопки 167 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Аналогичным образом выбираем картинку для второй кнопки. Название картинки на диске – «Расход.png». В результате в области предварительного просмотра складывается следующая картина. Рис. 10-25. Картинки у кнопок В предварительном просмотре видно, что текст «Доход: создать» и «Расход: создать» целиком не помещается на кнопках. Да он и не нужен пользователю в таком виде. Исправляем. Для этого достаточно задать в свойстве Заголовок каждой кнопки осмысленное короткое слово. Для кнопки КнопкаДоход логично написать «Доход». Для КнопкаРасход – «Расход». Рис. 10-26. Заголовок для кнопки 168 Улучшаем интерфейс Теперь другая «напасть» – кнопки стали уже и текст с картинкой пользователю нормально не отображается. Рис. 10-27. Автоматическая ширина кнопок Дело в том, что платформа 1С:Предприятия автоматически рассчитывает ширину кнопки, ориентируясь на содержимое ее заголовка. Наличие картинки немного сбивает ее с толку. Исправим ситуацию, задав ширину кнопок вручную – через свойства каждой кнопки. Ширины 15 будет вполне достаточно. 169 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 К слову, задавать одинаковые свойства у объектов можно сразу дня нескольких – достаточно выделить их в списке, удерживая нажатой клавишу Shift. В случае наших кнопок, можно выделить две, выбрать правой кнопкой мыши Свойства (Alt+Enter) – палитра свойств отобразит общие свойства для обеих кнопок и им можно будет сразу же задать одинаковую ширину. Рис. 10-28. Ширина кнопки 170 Улучшаем интерфейс Предварительный просмотр покажет, что текст целиком помещается на кнопках. Теперь можно запустить пользовательский режим и убедиться, что кнопки отображаются корректно и там, а так же выполняют свои функции – инициируют создание новых документов соответствующего вида. Рис. 10-29. Кнопки на рабочем столе 171 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 10-30. Создание новых документов 172 Улучшаем интерфейс Давайте зафиксируем очередную трату. Пусть это будет расход суммы 300 рублей из наличного кошелька на проезд. Рис. 10-31. Фиксация траты на проезд 173 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Обновление таблиц рабочего стола После проведения и закрытия документа несложно убедиться, что таблицы на рабочем столе не обновились. Выше уже рассматривались причины такого поведения приложения. Понятное дело, что перезапуск приложения для обновления показателей – далекое от комфортной работы пользователя решение. Пришла пора улучшить ситуацию. Вариантов решения данной задачи – масса. Выберем показательный с точки зрения мастер-класса вариант - предоставим пользователю функционал обновления табличек в любое удобное время. Иными словами – заведем для каждой таблички по кнопке обновления. Возвращаемся в конфигуратор и открываем конструктор общей формы РабочийСтол. Если внимательно посмотреть в область предварительного просмотра видно, что у формы и над каждой таблицей присутствует КоманднаяПанель, которые были помещена платформой 1С:Предприятия туда авто- матически. Рис. 11-1. Командные панели над таблицами формы Если заглянуть в свойства этого элемента формы видно, что активировано автоматическое заполнение командной панели. Это означает, что в зависимости от вида реквизита формы и его свойств состав действий (кнопок) командной панели будет различным. Этот алгоритм поведения удобен и разработчикам, и пользователям. Ведь при изменении свойств или состава рек174 Улучшаем интерфейс визитов формы платформа 1С:Предприятия самостоятельно подстроится под новые параметры. Рис. 11-2. Свойства командной панели Для командных панелей, добавленных нам платформой, оставим все как есть – нас это тоже устраивает. Просто в каждую из командных панелей, связанных с таблицами на форме добавим по одной кнопке. Начнем с таблицы Остатки. 175 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Устанавливаем курсор на ее командную панель и нажимаем кнопку Добавить (Ins). Тип элемента выбираем Кнопка и нажимаем ОК. Рис. 11-3. Добавление кнопки в командную панель Для вновь созданной кнопки (обратите внимание, она разместилась в ветке узла Командная панель) зададим имя – ОстаткиОбновить. Рис. 11-4. Новая кнопка командной панели Можно сразу задать синоним – Обновить. Далее надо в свойстве ИмяКоманды задать команду, которая будет выполняться при нажатии на кнопку. 176 Улучшаем интерфейс Здесь есть одно отличие от того варианта, который мы использовали при выборе команд для кнопок формы КнопкаДоход и КнопкаРасход. В случае тех двух кнопок мы использовали уже существующие в приложении команды создания документов – поэтому они были нам доступны в секции Глобальные команды. В случае кнопки Обновить командной панели таблицы Остатки нет пока никакой команды обновления – ее надо создать. Это несложно. Переключаемся на закладку Команды конструктора форм и добавляем туда новую команду кнопкой Добавить (Ins). Рис. 11-5. Добавление новой команды формы Имя команды указываем в свойствах палитры свойств – ОстаткиОбновить. Рис. 11-6. Имя новой команды формы 177 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 После чего задаем Действие. Т.к. никакого действия команде не задано – просто нажимаем «лупу» в пустом поле этого свойства. Рис. 11-7. Действие новой команды формы Платформа 1С:Предприятие отобразит уже знакомый нам диалог создания обработчика команды (процедуры в модуле формы) – выбираем вариант Создать на клиенте. Рис. 11-8. Создание нового действия 178 Улучшаем интерфейс После закрытия диалога создания обработчика команды мы попадаем в модуль формы – в новую процедуру «ОстаткиОбновить(Команда)». Рис. 11-9. Новая процедура в модуле формы Именно эта процедура должна будет выполняться при нажатии на кнопку. Т.к. выполнять она должна простую операцию – обновление данных в таблице, воспользуемся уже существующим функционалом модуля формы и включим в процедуру команды ОстаткиОбновить вызов процедуры «ЗаполнитьОстатки()», которая собственно и обновляет таблицу. В итоге, код процедуры должен выглядеть следующим образом – см. рис. 11-10. &НаКлиенте Процедура ОстаткиОбновить(Команда) ЗаполнитьОстатки(); КонецПроцедуры Рис. 11-10. Код процедуры «ОстаткиОбновить()» 179 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Теперь главное не забыть назначить созданную команду ОстаткиОбновить нашей кнопке ОстаткиОбновить на форме. Переключаемся из модуля на форму, вызываем палитру свойств для кнопки и в свойстве ИмяКоманды указываем команду ОстаткиОбновить. Рис. 11-11. Назначение команды кнопке Последний штрих – зададим кнопке картинку и включим ее отображение. Благо, для функции обновления у платформы 1С:Предприятия есть стандартная картинка – используем ее. 180 Улучшаем интерфейс В свойстве Картинка кнопки вызываем диалог выбора картинок. Рис. 11-12. Выбор картинки 181 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 В диалоге выбора картинок переключаемся на закладку Стандартные и находим изображение Обновить (можно начать набирать первые символы названия). Для выбора – устанавливаем курсор на нужное изображение и нажимаем ОК. Рис. 11-13. Выбор стандартной картинки 182 Улучшаем интерфейс Проверим работу новой кнопки в режиме пользователя. Создадим документ Расход, который осуществит перевод суммы 1 000 рублей с «безналичного» кошелька в «наличный». Рис. 11-14. Перевод 183 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 После закрытия формы документа, нажмем кнопку Обновить над таблицей остатков. Остатки обновились. Рис. 11-15. Новые остатки Теперь создадим аналогичную кнопку обновления данных для таблицы Затраты. 184 Улучшаем интерфейс Возвращаемся в конфигуратор в конструктор формы рабочего стола. Новая кнопка в командной панели таблицы Затраты. Рис. 11-16. Добавление новой кнопки Имя – ЗатратыОбновить. Синоним – Обновить. Рис. 11-17. Свойства кнопки 185 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Создадим команду формы – ЗатратыОбновить. Вариант – Создать на клиенте. Рис. 11-18. Новая команда формы Вызываем из созданной процедуры «ЗатратыОбновить(Команда)» уже существующую «ЗаполнитьЗатраты()» – см. рис. 11-19. &НаКлиенте Процедура ЗатратыОбновить(Команда) ЗаполнитьЗатраты(); КонецПроцедуры Рис. 11-19. Код процедуры «ЗатратыОбновить()» 186 Улучшаем интерфейс Назначаем кнопке ЗатратыОбновить команду ЗатратыОбновить. Рис. 11-20. Назначение команды кнопке 187 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Назначаем кнопке ЗатратыОбновить стандартную картинку Обновить. Рис. 11-21. Выбор стандартной картинки Примечание. Как выглядит модуль формы РабочийСтол после всех нововведений можно посмотреть в файле «Форма Рабочий стол - модуль.txt» на диске к книге. 188 Улучшаем интерфейс Проверим работу кнопки обновления таблицы затрат в пользовательском режиме – создадим документ Расход, регистрирующий затрату. Пускай это будет расход суммы 150 рублей из наличного кошелька на обед. Рис. 11-22. Фиксация траты на обед После закрытия формы документа, нажмем кнопку Обновить над таблицей затрат. Данные по статьям обновились. Рис. 11-23. Новые показатели по статьям Итак, задачу по повышению юзабилити нашего приложения мы решили. Пользователь имеет всегда «под рукой» две кнопки, позволяющие быстро зафиксировать финансовую операцию. Так же ему был добавлен сервис по обновлению показателей в таблицах остатков и затрат. В целом в приложении стало работать удобно – а это особенно важно на мобильных устройствах. 189 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Финальный «тюнинг» интерфейса Осталось внести несколько штрихов в интерфейс рабочего стола, чтобы исключить неоднозначные с точки зрения пользователя вещи и подчеркнуть необходимое. Для начала установим режим только чтения для обеих таблиц рабочего стола. Этот режим никак не повлияет на программное заполнение таблиц, но ограничит пользователя от попыток туда что-либо добавить или удалить – смысл-то таблиц в отображении информации, а не ее интерактивной правке. Для каждой из таблиц на форме вызываем палитру свойств и включаем флажок в свойстве ТолькоПросмотр. Рис. 12-1. Выбор стандартной картинки 190 Улучшаем интерфейс Запустим пользовательский режим и проверим что получилось. Активация этого свойства привела к блокировке всех кнопок на командных панелях таблиц, которые отвечают за правку и изменение состава строк. При этом кнопки Обновить доступны и по прежнему обновляют значения в таблицах, как и требовалось. Рис. 12-2. Кнопки изменения таблиц заблокированы 191 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Возвращаемся в конфигуратор. Выведем на рабочий стол заголовки таблиц, чтобы пользователю было понятно, что они содержат без дополнительной подсказки. Еще установим одинаковую высоту обоим таблицам – 5. Чтобы пользователю не нужно было лишний раз прокручивать форму вертикально на небольших экранах. Рис. 12-3. Высота для таблиц 192 Улучшаем интерфейс Для таблицы Остатки на форме в свойствах пишем Заголовок – Остатки денег. В свойстве ПоложениеЗаголовка выбираем Верх. Рис. 12-4. Свойства таблицы Остатки Для таблицы Затраты на форме в свойствах пишем Заголовок – Затраты по статьям. В свойстве ПоложениеЗаголовка выбираем Верх. Рис. 12-5. Свойства таблицы Затраты 193 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Теперь настроим поля таблиц. Так, чтобы даже на небольших экранах мобильных устройств помещалась вся информация. В таблице Остатки для поля ОстаткиКошелек указываем Заголовок – Кошелек. Свойство Ширина – 10. Рис. 12-6. Свойства поля ОстаткиКошелек Рис. 12-7. Свойства поля ОстаткиКошелек 194 Улучшаем интерфейс Для поля ОстаткиСумма той же таблицы указываем Заголовок – Сумма. Свойство Горизонтальное положение – Лево. Рис. 12-8. Свойства поля ОстаткиСумма Рис. 12-9. Свойства поля ОстаткиСумма В таблице Затраты для поля ЗатратыСтатья указываем Заголовок – Статья. Свойство Ширина – 10. Рис. 12-10. Свойства поля ЗатратыСтатья 195 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 12-11. Свойства поля ЗатратыСтатья Для поля ОстаткиСумма таблицы Затраты указываем Заголовок – Сумма. Свойство Горизонтальное положение – Лево. Рис. 12-12. Свойства поля ОстаткиСумма Рис. 12-13. Свойства поля ОстаткиСумма Запускаем пользовательский режим, проверяем отображение только что настроенных элементов формы рабочего стола. У таблиц появились понят196 Улучшаем интерфейс ные заголовки, выравнивание значений в полях таблиц и наименование колонок соответствуют логике содержимого и будут хорошо смотреться даже на небольшом экране. Рис. 12-14. Итоговый вид приложения Можно завести еще несколько документов и самостоятельно проверить, что все работает как ожидается. Все. Наше приложение готово к использованию. Конечно же, оно далеко от решения хоть какой-то реальной задачи по учету движений денежных средств. Но задачу мастер-класса реализовало полностью. Дальше его можно развивать как угодно и наращивать необходимый функционал. В отдельном 197 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 разделе книги вам будет предложено три «домашних задания» – как раз в качестве примера развития уже готового решения. 198 КРОССПЛАТФОРМЕННОСТЬ Теперь, когда наше приложение готово, можно поговорить о том, как и где оно может быть использовано. Работа в Linux Начать можно с того, что наше приложение сразу готово к запуску в операционных системах семейств MS Windows и Linux. В рамках версии 8.3 платформы 1С:Предприятие для операционной системы Linux созданы клиентские приложения, аналогичные тем, которые существуют для операционной системы MS Windows: Тонкий клиент, обеспечивающий работу пользователей в режиме управляемого приложения; Толстый клиент, обеспечивающий работу в режиме обычного или управляемого приложения; Конфигуратор для администрирования информационной базы и для изменения конфигурации. Клиентские приложения поддерживают файловый и клиент-серверный варианты работы. Они реализованы как для архитектуры x86, так и для архитектуры x86-64. Благодаря этому в операционной системе Linux теперь могут работать не только пользователи приложений 1С:Предприятия, но и разработчики этих приложений, а также администраторы информационных баз. 199 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 13-1. Кроссплатформенность Более подробно о том, какие операционные системы поддерживаются на данный момент времени, можно по адресу: http://v8.1c.ru/requirements/ 200 Кроссплатформенность Выглядеть наше приложение в Linux’е и работать в там будет ровно так же, как и под MS Windows. Рис. 13-2. Работа в Linux 201 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Веб7клиент В реальной жизни вполне вероятна ситуация, когда с собой нет ноутбука с программой, а доступ к данным срочно нужен. В подобных ситуациях может сильно выручить доступ к системе по обычным веб-каналам (через сеть Интернет). Понятно, что практически к любой системе можно «прикрутить» вебинтерфейс, долго его программировать и отлаживать, тестировать на совместимость с используемым веб-сервером и т. п. Платформа 1С:Предприятие 8.3 позволяет разработчикам избежать всех этих сложных и муторных действий. Ведь все, что мы напрограммировали даже в нашем мастер-классе, практически «в один клик» может быть опубликовано на веб-сервере. После чего доступ к нашей учетной системе мы сможем получить через обычный веббраузер (на момент написания этой книги их четыре – Internet Explorer, Mozilla Firefox, Google Chrome и Safari). То есть пользователю ничего из программ 1С устанавливать на компьютер не нужно – достаточно иметь подключение к сети Интернет и веббраузер. Для того, чтобы все заработало, на сервере должна работать платформа 1С:Предприятие 8.3 и запущенный веб-сервер (на момент написания этой книги – IIS или Apache). Примечание. Описание работы веб-клиента приведено в этой книге только с целью ознакомления с возможностями платформы 1С:Предприятие 8.3. Учебная версия платформы может работать с ограничениями. См. раздел ограничений после установки учебной версии на ваш компьютер в файле (или «C:\Program Files\1cv8t\8.3.4.389\readme\readme_ru.htm» «C:\Program Files (x86)\1cv8t\8.3.4.389\readme\readme_ru.htm»). Или можно обратиться к главе «ГДЕ И КАК ИЗУЧАТЬ 1С:ПРЕДПРИЯТИЕ» 202 Кроссплатформенность Активировать возможность работы с WEB очень просто. В конфигураторе идем в меню Администрирование, а там выбираем Публикация на веб-сервере… Рис. 14-1. Публикация на веб-сервере 203 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Достаточно придумать название для каталога с нашей системой на вебсервере (латиницей), вписать его в поле Имя и нажать кнопку Опубликовать. В нашем случае напишем «money». Рис. 14-2. Публикация на веб-сервере В процессе публикации, в зависимости от ситуации, система будет задавать уточняющие вопросы – соглашаемся. Рис. 14-3. Пример уточнения при публикации на веб-сервере 204 Кроссплатформенность После успешной публикации, мы получаем возможность получить доступ к нашей учетной системе из любого уголка планеты через обычный веббраузер, зная лишь веб-адрес для ее запуска. В качестве примера веб-сервер запущен на том же компьютере, где мы создавали наш мастер-класс, поэтому адрес для запуска будет «http://localhost/money». Запускаем веб-браузер, набираем этот адрес и через некоторое время видим уже хорошо знакомый нам интерфейс программы. Рис. 14-4. Веб-клиент под Internet Explorer 205 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 14-5. Веб-клиент под Firefox Посмотреть «вживую» на то, как работает веб-клиент в реальном виде в сети Интернет, можно по адресу: http://demo.1c.ru/ 206 Мобильная платформа Мобильная платформа Теперь самое интересное. По условиям задачи мы сразу создавали приложение, адаптированное под работу на мобильных устройствах. Реализуется это за счет мобильной платформы, входящий в состав 1С:Предприятия версии 8.3. Примечание. Описание установки приложения на мобильную платформу и запуска приложения на ней приведено в этой книге с целью ознакомления с возможностями платформы 1С:Предприятие 8.3. В этом разделе подразумевается, что мобильная платформа в режиме разработчика уже установлена на мобильное устройство – в случае описанного ниже примера, на iPad. Поведение и внешний вид приложения, запущенного под iOS может незначительно отличаться от Android. Для установки и запуска мобильной платформы в режиме разработчика на устройствах Apple может потребоваться аккаунт разработчика. Кроме этого, требуется компьютер Mac с установленной средой разработки (XCode). Для устройств на Android достаточно установить мобильную платформу из дистрибутива (на момент написания книги «1cem-arm.apk» или «1cem-x86.apk»). Может потребоваться аккаунт разработчика. Для сборки дистрибутивов пользовательских приложений потребуются Android SDK и Java SDK. Пример сборки дистрибутива пользовательского приложения под ОС Android – см.главу Пример сборки мобильного приложения. Более подробно про установку мобильной платформы – см. статью на ресурсе ИТС-онлайн: http://its.1c.ru/db/v83doc?db=v83doc#content:83:1 Бесплатный тестовый доступ к ресурсу ИТС-онлайн (на момент написания книги) можно получить по адресу: http://its.1c.ru/test-drive/ Обзор мобильной платформы можно изучить здесь: http://v8.1c.ru/overview/Term_000000818.htm Мобильная платформа 1С:Предприятия 8.3 – это общее название технологии, позволяющей создавать приложения, работающие на мобильных устройствах под управлением операционных систем Android или iOS. Такими 207 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 устройствами, как правило, являются различные смартфоны и планшетные ПК. Мобильное приложение, установленное на устройстве, представляет собой совокупность мобильной платформы и информационной базы. Информационная база на мобильном устройстве содержит аналог файловой базы данных (для хранения данных, с которыми работает пользователь) и мобильное приложение (программный код, исполняющийся на мобильном устройстве). Рис. 15-1. Мобильная платформа Благодаря технологии мобильной платформы мы можем прямо сейчас, без каких либо доработок и привлечения стороннего программного обеспечения «отправить» наше приложение на мобильное устройство – например, на iPad, – и проверить его работу непосредственно там. Для этого нам потребуется установленная мобильная платформа в режиме разработчика на мобильном устройстве и запущенный веб-сервер на компьютере, где велась разработка приложения в 1С:Предприятии. Технология передачи приложения на мобильное устройство схожа с его публикацией для работы под веб-клиентом, описанной в предыдущей главе. 208 Мобильная платформа На веб-сервере публикуется готовое приложение в виде одного xmlфайла, мобильная платформа с мобильного устройства подключается к этому веб-серверу, получает этот xml-файл и устанавливает его у себя. После чего приложение готово к запуску на мобильном устройстве. Запускаем конфигуратор. Идем в меню Конфигурация, там выбираем Мобильное приложение, а внутри – Публиковать… Рис. 15-2. Публикация для мобильной платформы 209 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Параметры публикации приведены на рисунке 15-3. Имя – mm. Вебсервер – тот, который запущен на компьютере. Каталог вручную менять не рекомендуется. После задания всех параметров, нажмем Опубликовать. Рис. 15-3. Публикация мобильного приложения Дождемся сообщения об успешной публикации. Если в процессе публикации будут возникать какие-либо вопросы – отвечаем утвердительно. На этом действия на компьютере завершены. Теперь нужно запустить мобильную платформу на мобильном устройстве и нажать кнопку добавления нового приложения. Рис. 15-4. Добавление нового мобильного приложения 210 Мобильная платформа В строке подключения к серверу пишем URL к опубликованному приложению – http://192.168.137.1/mm Примечание. IP-адрес 192.168.137.1, по которому осуществляется доступ к веб-серверу, где опубликовано мобильное приложение, используется в качестве примера. На вашем компьютере адрес может быть иным – смотрите свойства сетевого подключения, по которому мобильное устройство подключается к веб-серверу. Мобильное устройство должно находиться в сети (например, локальной Wi-Fi) обеспечивающей доступ к веб-серверу, на котором опубликовано мобильное приложение. Включаем необходимые опции и нажимаем кнопку Загрузить. Рис. 15-5. Загрузка нового мобильного приложения 211 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 После подключения к веб-серверу, мобильная платформа получит параметры приложения, предложит настроить его параметры. После нажатия на кнопку Готово – установит его на мобильное устройство. Рис. 15-6. Загрузка информации о приложении Рис. 15-7. Информация о приложении Рис. 15-8. Первоначальные параметры запуска приложения 212 Мобильная платформа Приложение появится в списке доступных, откуда его можно будет выбрать для запуска. Запускаем приложение кнопкой Открыть и проверяем его работоспособность. Рис. 15-9. Список мобильных приложений Рис. 15-10. Запуск мобильного приложения 213 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 15-11. Рабочий стол 214 Мобильная платформа Рис. 15-12. Меню приложения 215 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Обратите внимание – Командный интерфейс основного раздела (см. рис. 7-3) у мобильной платформы «переехал» в меню (мы предупреждали об этом в главе УЛУЧШАЕМ ИНТЕРФЕЙС). Поэтому кнопки добавления документов на рабочем столе теперь как нельзя кстати. Рис. 15-13. Справочник Кошельки Рис. 15-14. Справочник Статьи Важный момент – приложение «приехало» на мобильное устройство пустым, без данных. Присутствуют только заданные на этапе разработки элементы справочника Статьи (предопределенные). Это не ошибка. Вопрос синхронизации и обмена данными между несколькими экземплярами приложения или между различными приложениями – отдельная задача, сама по себе довольно интересная. Платформа 1С:Предприятие прекрасно умеет справляться с такими задачами (см. http://v8.1c.ru/overview/Term_000000151.htm) – правда это уже вопросы другого мастер-класса (например, «Hello, 1C» версии 2) или домашнего задания 216 Мобильная платформа В итоге мы получили то, что планировали изначально – мобильное приложение по учету денежных средств, способное работать под управлением мобильных операционных систем iOS и Android. Если бы мы как разработчики приложения планировали раздавать его пользователям, то у мобильной платформы 1С:Предприятия есть вариант «упаковки» собственно платформы и нашего решения в один дистрибутив, который можно выложить в App Store или Google Play (см. http://v8.1c.ru/overview/Term_000000818.htm и главу Пример сборки мобильного приложения) Рис. 15-15. Публикация мобильного приложения для пользователей На данный момент в App Store и Google Play уже присутствуют мобильные решения от 1C – достаточно сделать поиск по издателю 1C LLC. 217 ДОМАШНИЕ ЗАДАНИЯ Домашние задания предполагают доработку готового решения, которое возникло у нас в результате выполнения мастер-класса. Их цель так же соответствует основному смыслу этой книги – наглядно показать, насколько платформа 1С:Предприятие позволяет быстро и эффективно решать возникающие в процессе эксплуатации приложения задачи. Ведь в реальности редки случаи, когда создав программу, разработчик никогда не возвращается к ней. Хорошее приложение всегда развивается вместе с требованиями времени и пожеланиями пользователей. Домашнее задание №1 Задание. Сделайте на рабочем столе одну кнопку для обновления обеих таблиц, чтобы пользователю не нужно было после ввода очередного документа дважды выполнять одно и то же смысловое действие – обновление таблицы. Решение. Как и во многих других задачах реальной жизни – решений у этой может быть несколько. Квалифицированный разработчик обычно выбирает одно из них, ориентируясь на совокупность данных о существующем приложении, требованиях заказчика и трудоемкости реализации задачи в зависимости от варианта. В нашем случае «на поверхности» лежат два варианта: 1. Сделать крупную кнопку в группе кнопок – рядом с кнопками добавления документов; 2. Завести кнопку в командную панель формы, которая сейчас совсем бедна функционалом. Идеологически решения идентичны – надо добавить кнопку на форму, команду обновления обеих табличек в модуль формы и привязать новую команду новой кнопке. Для наглядности и большего удобства пользователя (кнопка будет крупнее) выберем первый вариант решения. 218 Домашние задания Добавим новую кнопку в группу ГруппаКнопки. Рис. 16-1. Новая кнопка в группе 219 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Имя – ОбновитьВсе. Заголовок – Обновить. Шрифт – 14. Рис. 16-2. Новая кнопка в группе 220 Домашние задания Создаем новую команду – ОбновитьВсе. Рис. 16-3. Новая команда у формы Вариант создания обработчика – На клиенте. Рис. 16-4. Обработчик команды В только что созданную процедуру-обработчик «ОбновитьВсе()» добавляем обе существующие процедуры обновления значений в таблицах на форме. Например, код можно скопировать из процедуры «ПриОткрытии()», т.к. они полностью идентичны по смыслу выполняемых действий (см. рис. 16-5). 221 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 &НаКлиенте Процедура ОбновитьВсе(Команда) ЗаполнитьОстатки(); ЗаполнитьЗатраты(); КонецПроцедуры Рис. 16-5. Заполненная процедура ОбновитьВсе() В свойствах кнопки ОбновитьВсе выбираем созданную только что команду ОбновитьВсе. Рис. 16-6. Команда для кнопки 222 Домашние задания Для наглядности выберем стандартную картинку для кнопки – Обновить. Отображение – Картинка и текст. Рис. 16-7. Картинка для кнопки Установим ширину кнопки аналогичную двум другим – 15. Рис. 16-8. Ширина кнопки 223 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Запустим пользовательский режим и убедимся, что кнопка обновляет обе таблички сразу – добавив какой-нибудь расход со статьей затрат. Рис. 16-9. Новый документ Расход 224 Домашние задания Рис. 16-10. Обновленные таблицы 225 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Домашнее задание №2 Задание. Необходимо реализовать демонстрацию оборотов по статьям в таблице Затраты рабочего стола не «целиком», а за указанный пользователем период. Ведь довольно часто может возникнуть необходимость сколько потрачено за день, неделю, месяц и т.д. Решение. Здесь воспользуемся синтаксис-помощником платформы 1С:Предприятия (Ctrl+F1) в модуле формы у процедуры «ЗаполнитьЗатраты()» и выясним, что у метода «Обороты()» регистра накопления есть возможность указать начало периода и конец периода выбираемых показателей. Рис. 17-1. Синтаксис помощник для метода регистра Остается только добавить два реквизита на форму с типом дата и передавать их значения в метод «Обороты()». 226 Домашние задания Приступим. Для начала добавляем на форму группу, в которой будут располагаться два новых реквизита с датами – Группа - Обычная группа без отображения. Рис. 17-2. Новая группа у формы 227 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Новую группу называем ГруппаПериод и располагаем ее над таблицей Затраты. Группировка – Горизонтальная. Рис. 17-3. Свойства и размещение группы Создаем два реквизита формы – ДатаНачала и ДатаОкончания. Тип – Дата и время. Рис. 17-4. Новые реквизиты формы 228 Домашние задания Перетаскиваем в группу ГруппаПериод только что созданные реквизиты ДатаНачала и ДатаОкончания. Контролируем, чтобы элемент формы ДатаНачала был первым в группе. Рис. 17-5. Новые реквизиты формы Обратите внимание, что в области предварительного просмотра над таблицей Затраты появилась новая группа с двумя элементами типа Дата. Теперь нужно внести изменения в модуль формы – в процедуру «ЗаполнитьЗатраты()» для метода «Обороты()» – см. рис. 17-6. &НаСервере Процедура ЗаполнитьЗатраты() Затраты.Загрузить(РегистрыНакопления.Затраты.Обороты(ДатаНачала, ДатаОкончания)); КонецПроцедуры Рис. 17-6. Обновленный метод Обороты() 229 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Теперь можно перейти в пользовательский режим и проверить работу обновленного метода. В частности, проанализировав содержимое записей регистра Затраты можно взять небольшой период, куда будут попадать не все документы Расход – указать этот период на рабочем столе и нажать кнопку обновления таблицы затрат. Рис. 17-7. Обновленный рабочий стол 230 Домашние задания Рис. 17-8. Записи регистра Затраты Рис. 17-9. Задаем период анализа оборотов Все отрабатывает так, как нужно – отображаются обороты только за требуемый период (сравните рис. 17-9 с рис. 17-7). 231 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 При этом если значения в датах очистить – остатки снова будут отображаться за все время в полном объеме. Так, как это было изначально в нашем приложении. 232 Домашние задания Домашнее задание №3 Задание. В главе Мобильная платформа после передачи приложения на мобильное устройство мы обратили внимание, что приложение «приехало» без данных, которые мы вводили в процессе развития и отладки на компьютере. Хочется иметь возможность синхронизировать данные между «десктопной» и мобильной копиями приложения. Это логично, ведь в реальности такие задачи часто возникают, когда мобильное приложение является частью «большой» системы, развернутой в локальной сети предприятия. Или необходимо избавиться от повторного ввода одних и тех же данных в различные копии единой информационной системы. В случае нашего приложения можно представить модель, когда дома на компьютере установлен один экземпляр приложения, а на мобильное устройство – второй. И нужно иметь одинаковую информацию по финансовой деятельности, независимо от того, где факты этой деятельности регистрировались. С точки зрения иерархии «десктопная» копия приложения будет считаться центральной (главной), а мобильная – удаленной (подчиненной). По большому счету, мобильных копий вообще может быть несколько. Рис. 18-1. Схема взаимосвязи приложений 233 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Решение. Для решения этой задачи будем использовать сразу два встроенных в платформу 1С:Предприятия механизма: по синхронизации данных и обмену данными через web-сервисы по технологии SOAP. За синхронизацию данных отвечать будет План обмена. За обмен данными – web-сервис. Примечание. План обмена – встроенный в платформу механизм по обмену данными между однородными или разнородными системами, в основе которого лежит открытый формат XML. При помощи планов обмена можно, например, строить распределенные системы решений на платформе 1С:Предприятие или обмениваться данными с какими-то сторонними информационными системами, поддерживающими XML. Подробнее можно изучить здесь: http://v8.1c.ru/overview/Term_000000151.htm Примечание. В платформу 1С:Предприятие уже встроена полноценная реализация SOAP и разработчику не нужно заботиться о технической (низкоуровневой) части реализации такого рода взаимодействия. Мало того – решения на платформе 1С:Предприятия способны выступать как поставщиками web-сервисов (не только для «своих», но и для сторонних систем), так и потребителями «чужих» web-сервисов. Подробнее можно изучить здесь: http://v8.1c.ru/overview/Term_000000163.htm Вдаваться особо в детали реализации этой задачи не будем – это выходит за рамки данной книги. Естественно, у поставленной задачи есть масса вариантов решений – выбрано то, которое требует минимальных доработок приложения. 234 Домашние задания Для начала включим дополнительно в свойстве Назначение использования у конфигурации – Персональный компьютер. Это позволит использовать в «десктопной» копии приложения ту функциональность, которая в мобильной версии недоступна. Рис. 18-2. Включаем использование на компьютере 235 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Далее добавим план счетов, который будет заниматься регистрацией изменений данных в каждой копии приложения и формировать файлы обмена, содержащие эти самые изменения для синхронизации. Рис. 18-3. Новый план счетов 236 Домашние задания Имя – Мобильные. После нажимаем кнопку Состав. Рис. 18-4. Новый план счетов 237 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 В открывшемся окне включаем флажки для всех доступных объектов конфигурации. Рис. 18-5. Состав плана счетов Больше от плана счетов нам ничего не нужно – окна настройки его состава и параметров можно закрыть 238 Домашние задания Далее создаем новый XDTO-пакет. Рис. 18-6. Новый XDTO-пакет Примечание. XDTO-пакеты позволяют описать в конфигурации систему типов и значений для взаимодействия с различными внешними источниками данных, например с web-сервисами. Подробнее: http://v8.1c.ru/overview/Term_000000162.htm 239 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Имя – WebОбмен. Имя проще всего задать через палитру свойств для вновь созданного пакета. Рис. 18-7. Имя XDTO-пакета В свойстве URI пространства имен указываем следующее: http://localhost/ws1 После чего нажимаем Enter или переходим в следующее поле клавишей Tab. Рис. 18-8. URI пространства имен 240 Домашние задания На вопрос конфигуратора «Произвести изменение URI пространства имен для ссылок на типы данного пакета?» отвечаем положительно. Рис. 18-9. Подтверждаем изменения В открывшемся окошке «Выбор обновляемых пространств имен» отмечаем все присутствующие там объекты и нажимаем ОК. Рис. 18-10. Выбор обновляемых пространств имен 241 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Для «десктопной» (центральной, главной) копии приложения понадобится точка обмена информацией – используем для этих целей web-сервис, который будет вызываться удаленными (мобильными) экземплярами приложения с целью синхронизации данных. Обмениваться будем пакетами, формируемыми планом обмена Мобильные. Рис. 18-11. Новый web-сервис 242 Домашние задания Задаем Имя – WebОбмен. И переходим на закладку Прочее. Рис. 18-12. Новый web-сервис Здесь задаем URI пространства имен: http://localhost/ws1 243 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 И переходим в выбор пакетов XDTO. Рис. 18-13. Параметры web-сервиса В открывшемся окошке «Выбор пакетов XDTO» отмечаем следующие: http://v8.1c.ru/8.1/data/core http://v8.1c.ru/8.1/data/enterprise/currentconfig http://localhost/ws1 244 Домашние задания После нажимаем ОК. Рис. 18-14. Выбор пакетов XDTO Рис. 18-15. Выбор пакетов XDTO 245 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Контролируем, чтобы свойство Имя файла публикации содержало: ws1.1cws Рис. 18-16. Имя файла публикации 246 Домашние задания Переходим на закладку Операции и добавляем новую операцию. Имя – ВыполнитьОбмен. Рис. 18-17. Новая операция В свойствах операции включаем Возможно пустое значение и выбираем Тип возвращаемого значения – ValueStorage (в ветке http://v8.1c.ru/8.1/data/core). Рис. 18-18. Свойства операции 247 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 18-19. Свойства операции К только что созданной операции ВыполнитьОбмен добавляем два параметра. Имена параметров соответственно – КодУстройства и ДанныеУстройства. Рис. 18-20. Параметры операции 248 Домашние задания Параметр КодУстройства оставляем как есть. Для параметра ДанныеУстройства в свойствах выбираем Тип значения – ValueStorage (в ветке http://v8.1c.ru/8.1/data/core). Направление передачи – Входной – Выходной. Рис. 18-21. Свойства параметра операции Теперь нужно сформировать программный модуль, отвечающий за функционирование операции ВыполнитьОбмен. Формирование модуля инициируется нажатием на кнопку «лупа» в свойстве Имя метода. Рис. 18-22. Создание модуля операции После нажатия на «лупу» сгенерируется пустая функция «ВыполнитьОбмен()» в модуле web-сервиса. Была создана функция, а не процедура, т.к. по логике работы операции web-сервиса должно возвращаться какое-то значение. В функции нужно описать на встроенном языке программный код, вы249 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 полняющий необходимые нам действия по синхронизации данных. Логика работы модуля довольно проста. Во-первых, нужно помнить, что мы описываем поведение web-сервиса, который будет вызван удаленным (мобильным) устройством. Т.е. выполняться этот модуль будет в центральном (главном) экземпляре нашего приложения. Во-вторых, надо получить пакет с данными из вызвавшего web-сервис мобильного устройства. В случае успешного получения – сохранить свежие данные в системе. В-третьих, после удачного чтения пакета с данными от мобильного устройства – отправить ему пакет с данными, которые у него отсутствуют. В случае если свежих (других) данных нет – пакет все равно нужно отправить, чтобы план обмена отметил у себя успешную синхронизацию и в следующий раз не отправлял «лишнее». И еще нужно учитывать, что по большому счету удаленных (мобильных) копий приложения может быть несколько. Благо, все эти вводные довольно просто и быстро реализуются на встроенном языке. Чтобы не перегружать книгу программным кодом, возьмите содержимое модуля web-сервиса из файла «web-сервис ВыполнитьОбмен.txt» с диска. Несколько комментариев по программному коду модуля. В секции «1. Инициализация» происходит проверка на заполненность начальных параметров плана обмена Мобильные. Если обнаружен первый запуск, то главному узлу явно задается Код «001» и Имя «Центральный». Далее в плане обмена Мобильные ищется запись, сопоставленная с кодом мобильного устройства (параметр операции КодУстройства), вызвавшего web-сервис. Если не найдена – считается, что это новое мобильное устройство и оно регистрируется в плане обмена Мобильные. В секции «2. Получение данных из мобильного устройства» по коду мобильного устройства (параметр операции КодУстройства), вызвавшего webсервис осуществляется регистрация новых данных из пакета плана обмена, переданного в параметр операции ДанныеУстройства. 250 Домашние задания В секции «3. Выгрузка данных в мобильное устройство» формируется пакет изменений данных в центральной копии приложения, который затем передается на мобильное устройство в виде значения, возвращаемого функцией «ВыполнитьОбмен()». Итак, создание «десктопного» функционала по синхронизации данных завершено. Web-сервис центральной копии приложения «ждет», пока его вызовет удаленное устройство. А при вызове получит пакет со свежими данными из вызвавшего экземпляра приложения и отправит обратно пакет с подтверждением успешной синхронизации и данными, отсутствующими в вызвавшей копии. Осталось сформировать мобильную часть – ту, которая будет вызывать только что созданный web-сервис, передавать в него свой пакет и получать обратно новые данные (если есть). Для того, чтобы пользователь мог регулировать частоту синхронизации – сделаем для него команду, которую он самостоятельно сможет вызывать из меню приложения. 251 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Создаем общую команду. Рис. 18-23. Новая общая команда Через палитру свойств сразу задаем ее имя – Обмен. Рис. 18-24. Имя общей команды 252 Домашние задания Там же, в свойствах, указываем Группу – Панель действий.Сервис. Рис. 18-25. Группа, в которую входит команда по умолчанию Модуль формы сформировался в момент его создания. Его всегда можно открыть при двойном клике на команду в дереве метаданных, либо на ссылку Модуль команды в свойствах команды. Рис. 18-26. Вызов модуля команды 253 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 В модуле команды Обмен нужно описать «периферийную» логику поведения экземпляра нашего приложения: 1. Вызов web-сервиса WebОбмен «центрального» экземпляра приложения, 2. Передача команде ВыполнитьОбмен пакета обмена данными, полученного от плана обмена Мобильные (пакет отмена – в параметр ДанныеУстройства, собственный код устройства – в параметр КодУстройства), 3. Получение от вызванного web-сервиса ответа в виде пакета с данными для плана обмена Мобильные, 4. Сохранение полученных данных в системе. Чтобы не перегружать книгу программным кодом, возьмите содержимое модуля общей команды Обмен из файла «Общая команда Обмен.txt» с диска. Несколько комментариев по программному коду модуля. Переменная Адрес содержит в себе строку подключения к web-сервису «центрального» экземпляра нашего приложения. Вместо IP-адреса можно использовать любое допустимое для URL имя, доступное по локальной или глобальной сети. По сути, строка до «/ws/ws1.1cws?wsdl» – адрес опубликованного на веб-сервере приложения (см. главу Веб7клиент). Примечание. IP-адрес 192.168.137.1, использованный в программном коде модуля, используется в качестве примера. На вашем компьютере адрес может быть иным – смотрите свойства сетевого подключения, по которому мобильное устройство подключается к веб-серверу. При необходимости – внесите изменения в переменную Адрес модуля общей команды. Мобильное устройство должно находиться в сети (например, локальной Wi-Fi) обеспечивающей доступ к веб-серверу, на котором опубликовано мобильное приложение. 254 Домашние задания В секции «1. Инициализация» происходит проверка на заполненность начальных параметров плана обмена Мобильные. Если обнаружен первый запуск, то текущему узлу присваивается уникальный код устройства. Далее в плане обмена Мобильные ищется запись, сопоставленная с кодом центрального экземпляра приложения (по коду «001») – если не найдена, создается. В секции «2. Обмен с центральной базой» в вызванный web-сервис WebОбмен «центрального» экземпляра приложения передаются код вызвавшего устройства и пакет с данными от плана отмена Мобильные. В секции «3. Обработка данных, полученных из центральной базы» обрабатываются и сохраняются в системе данные, полученные из вызванного web-сервиса WebОбмен «центрального» экземпляра приложения. Создание мобильной части, инициирующей обмен оказалось не сложнее «центральной». Осталась самая малость. Для того чтобы весь этот обмен заработал, необходимо выполнить три вещи: 1. Сохранить все наши доработки, 2. Опубликовать только что созданный web-сервис WebОбмен на веб-сервере, 3. Обновить приложение на мобильном устройстве. 255 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Сохраняем. Рис. 18-27. Сохраняем доработки 256 Домашние задания На веб-сервере обновляем публикацию нашего приложения аналогично тому, как это описано в главе Веб7клиент. Обратите только внимание, чтобы флажок напротив web-сервиса WebОбмен был включен. Рис. 18-28. Публикация на веб-сервере с web-сервисом 257 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 После этого, обновляем мобильное приложение на веб-сервере. Рис. 18-29. Обновление мобильного приложения на веб-сервере 258 Домашние задания Далее остается только проверить, указан ли Адрес обновления приложения на мобильном устройстве и запустить его. Рис. 18-30. Проверка обновления мобильного приложения В момент запуска мобильная платформа подключится к веб-серверу, получит оттуда новую копию приложения, обновит его на устройстве и запустит обновленную версию. Рис. 18-31. Проверка обновления мобильного приложения 259 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 18-32. Обновление мобильного приложения После обновления видим на экране мобильного устройства новый интерфейс – в частности, там отображаются выполненные домашние задания №1 и №2, а в меню присутствуют команда Обмен. 260 Домашние задания Рис. 18-33. Обновленное мобильное приложение 261 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 18-34. Новая команда в меню 262 Домашние задания Данных в приложении по прежнему нет. Инициируем синхронизацию, активировав команду Обмен. Рис. 18-35. Обмен данными 263 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 После активации команды приложение свяжется с веб-сервером и получит из «центрального» экземпляра приложения все данные, которые мы ввели в него в процессе разработки и отладки. После окончания обмена можно убедиться, что все данные «приехали» в мобильную копию в полном объеме – переключитесь в справочники и списки документов, затем вернитесь на рабочий стол или нажмите кнопку Обновить. 264 Домашние задания Рис. 18-36. Приложение с данными 265 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Проверим работу обмена данными в обе стороны – заведем документ Доход и «отправим» его в «центральную» базу. Рис. 18-37. Новый документ в мобильном приложении Рис. 18-38. Обновленные данные на рабочем столе 266 Домашние задания Рис. 18-39. Обмен обновленными данными 267 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 После обмена данными, в «центральную» базу приехал новый документ Доход, новый элемент справочника Статьи, остатки по регистрам тоже обно- вились. Рис. 18-40. Обмен обновленными данными 268 Домашние задания Рис. 18-41. Обмен обновленными данными Все требования, поставленные в домашнем задании №3, выполнены. Синхронизация данных выполняется в обе стороны и в полном объеме. 269 ПРИМЕР СБОРКИ МОБИЛЬНОГО ПРИЛОЖЕНИЯ Как уже говорилось в разделе Мобильная платформа, использовать мобильное приложение, созданное на платформе 1С:Предприятие 8, можно двумя способами: Подключить его к уже установленной мобильной платформе в режиме разработчика. Обычно этот режим используется для отладки приложения. Этот вариант мы использовали в разделе, посвященном мобильной платформе, и в домашнем задании №3. Сформировать дистрибутив, который можно поместить, например, в мобильные онлайн-магазины App Store и Google Play. Оттуда пользователь сможет установить мобильное приложение, не особенно вдаваясь в тонкости внутренней реализации и функционирования мобильной платформы 1С:Предприятие. Иными словами, установка и запуск нашего мобильного приложения ничем не будет отличаться от установки любого другого мобильного приложения. Отдельная иконка, при запуске пользователь сразу попадает в прикладное решение и не видит промежуточных опций и окон режима разработчика. С целью наглядности в этой главе демонстрируется пример сборки дистрибутива мобильного приложения для операционной системы Android в операционной системе Microsoft Windows 7 x64. Для сборки дистрибутива под iOS может потребоваться аккаунт разработчика. Кроме этого, требуется компьютер Mac с установленной средой разработки (XCode). Данный вариант в примере не рассматривается. 270 Пример сборки мобильного приложения Примечание. В примере используются следующие версии необходимого программного обеспечения, актуальные на момент написания книги и соответствующие системным требованиям используемой мобильной платформы: 1С:Предприятие 8 (учебная версия): 8.3.4.389 Мобильная платформа 1С:Предпрития 8: 8.3.4.14 Версия конфигурации «Сборщик мобильных приложений»: 1.0.2.8 Android SDK: Версия Android SDK Tools: 22.3 Версия Android SDK Platform-tools: 19.0.1 Версия SDK Platform: API 17 (4.2.2) Java SDK (JDK): 1.7.0_45 Apache Ant: 1.9.3 Более подробно про установку мобильной платформы – см. статью на ресурсе ИТС-онлайн: http://its.1c.ru/db/v83doc?db=v83doc#content:83:1 Бесплатный тестовый доступ к ресурсу ИТС-онлайн (на момент написания книги) можно получить по адресу: http://its.1c.ru/test-drive/ Обзор мобильной платформы можно изучить здесь: http://v8.1c.ru/overview/Term_000000818.htm Подготовка Перед тем, как скомпилировать дистрибутив мобильного приложения для пользователя, следует убедиться, что на компьютере присутствуют все необходимые для этого компоненты. Для сборки дистрибутива нам потребуются три сторонних приложения: Apache Ant, Java SDK (JDK) и Android SDK. 271 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Если Apache Ant не установлен, его можно получить по адресу: http://www.apache.org/dist/ant/binaries/ Для перехода в этот раздел можно выбрать пункт Скачать Apache Ant в разделе меню диска Мобильная платформа. Рис. 19-1. Скачать Apache Ant Для используемой в примере операционной системы скачиваем из каталога дистрибутивов файл «apache-ant-1.9.3-bin.zip » (или аналогичный, если появилась более свежая версия). Дополнительную информацию об этом программном продукте – см. http://ant.apache.org/ 272 Пример сборки мобильного приложения Рис. 19-2. Apache Ant После успешного получения архива на компьютер, распаковываем его в каталог, путь к которому нам впоследствии понадобится. Для удобства создадим папку «c:\mobile.1c» (регистр символов в названии папок важен!), где соберем все необходимые нам программные компоненты. После распаковки архива в папку «c:\mobile.1c» Apache Ant расположится в каталоге «c:\mobile.1c\apache-ant-1.9.3». 273 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-3. Установленный Apache Ant Если в системе отсутствует Java SDK (JDK) – скачиваем и устанавливаем его. Свежий дистрибутив доступен по адресу: http://www.oracle.com/technetwork/java/javase/downloads/ Для перехода в этот раздел можно выбрать пункт Скачать Java SDK (JDK) в разделе меню диска Мобильная платформа. В отрывшемся по ссылке окне нажимает на иконку «Java Download». Рис. 19-4. Java Download 274 Пример сборки мобильного приложения Для того, чтобы появилась возможность получить дистрибутив нужно принять лицензионное соглашение. Рис. 19-5. Accept License Agreement После этого скачиваем подходящий для нашей операционной системы дистрибутив. Рис. 19-6. Дистрибутив Java SDK (JDK) Получив файл (на момент написания книги – «jdk-7u45-windowsx64.exe»), запускаем его и устанавливаем, отвечая утвердительно на все возникающие вопросы. Запоминаем путь, по которому был установлен компонент. 275 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-7. Установка Java SDK (JDK) Проверить корректность установки легко, запустив консоль Windows (WIN+R, «cmd») и выполнив команду «java -version». Рис. 19-8. Запуск консоли 276 Пример сборки мобильного приложения Рис. 19-9. Версия Java Третий необходимый сторонний программный компонент – Android SDK. Свежий дистрибутив доступен по адресу: http://developer.android.com/sdk/index.html Для перехода в этот раздел можно выбрать пункт Скачать Android SDK в разделе меню диска Мобильная платформа. В отрывшемся по ссылке окне переходим в раздел «USE AN EXISTING IDE». В раскрывшейся области нажимаем на «Download the SDK Tools for Windows». Рис. 19-10. Дистрибутив Android SDK 277 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 На момент написания книги скачивается файл «installer_r22.3windows.exe». Запускаем и устанавливаем, отвечая на все вопросы утвердительно. Рис. 19-11. Установка Android SDK Важно соблюсти последовательность установки. Сначала должен быть установлен Java SDK (JDK) и только затем – Android SDK. Во время установки желательно взять за основу уже созданную нами ранее папку («c:\mobile.1c»), чтобы все необходимые компоненты были под рукой. 278 Пример сборки мобильного приложения Рис. 19-12. Каталог установки Android SDK После установки будет предложено запустить SDK Manager – соглашаемся. Если вдруг запуск SDK Manager не удался, его всегда можно найти в корне каталога, куда был установлен Android SDK. Или в меню Пуск – в соответствующем разделе. Рис. 19-13. Запуск SDK Manager При первом запуске SDK Manager обновит список доступных компонент. В зависимости от скорости вашего подключения к сети Интернет это может занять от нескольких секунд до нескольких минут. Важно! Для полноценной работы SDK Manager требуется подключение к сети Интернет. 279 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 После отображения списка компонент выбираем необходимые для полноценной компиляции дистрибутива мобильного приложения на платформе 1С:Предприятие. В секции Tools оставляем включенным флажки только у Android SDK Platform-tools и Android SDK Build-tools. Рис. 19-14. Секция Tools Обратите внимание, у Android SDK Tools флажок не включен, но в колонке статуса (Status) значится Installed – все верно. Этот нужный нам компонент уже был установлен в момент установки Android SDK. Кроме этого видно, флажки были включены у компонент с самими свежими версиями (Rev.) – это тоже правильно. Переходим к секциям Android ниже. Их несколько. Там нужно оставить только подходящие мобильной платформе 1С:Предприятие 8 по системным требованиям. А остальное – отключить. Например, текущая версия SDK по умолчанию включила Android 4.4.2 (API 19) – отключаем. 280 Пример сборки мобильного приложения Рис. 19-15. Отключаем все секции Android Надежнее всего поступить так – сначала все отключить, а затем включить необходимое. Находим секцию Android 4.2.2 (API 17) и раскрываем ее. Внутри включаем следующие компоненты: SDK Platform, ARM EABI v7a System Image и Intel x86 Atom System Image. Рис. 19-16. Включаем Android 4.2.2 (API 17) 281 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Далее, в самом низу, находим секцию Extras. И там проверяем, чтобы флажки были включены у Android Support Library, Google USB Driver и Intel x86 Emulator Accelerator (HAXM). Рис. 19-17. Секция Extras После проверки включения для установки всех необходимых компонент, нажимаем кнопку Install 8 packages… и принимаем лицензионные соглашения для каждой из выбранных секций. 282 Пример сборки мобильного приложения Рис. 19-18. Начало установки выбранных компонент 283 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-19. Принятие лицензионного соглашения После принятия всех лицензий, нажимаем Install и SDK Manager начнет получение с сервера выбранных компонент и их установку. Процесс установки может занять время, которое зависит от скорости подключения вашего канала к сети Интернет. Процесс скачивания и установки отображается специальным индикатором, а подробности отображаются в отдельном окне. 284 Пример сборки мобильного приложения Рис. 19-20. Установка компонент После того как все будет получено и установлено, напротив выбранных компонент в колонке Status будет проставлено Installed, а флажки сняты. SDK Manager можно закрывать. Настройка Теперь, когда все стороннее программное обеспечение установлено, остается развернуть прикладное решение (конфигурацию) «Сборщик мобильных приложений», идущее в составе мобильной платформы 1С. Дистрибутив на диске расположен в каталоге «mobile\platform\MobileAppMaker». Запускать установку решения лучше через меню дискаМобильная платформа Установка «Сборщика мобильных приложений». 285 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-21. Установка конфигурации Установленную конфигурацию нужно запустить в режиме Конфигуратор и завести пользователя, назначив права Администратора. Рис. 19-22. Запуск конфигурации в Конфигураторе 286 Пример сборки мобильного приложения Рис. 19-23. Администрирование пользователей Рис. 19-24. Новый пользователь 287 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-25. Права Администратора После этого можно закрыть Конфигуратор и запустить решение в режиме 1С:Предприятие. Для начала нужно настроить параметры работы приложения. В подменю Сервис выбираем пункт Настройки приложения. Рис. 19-26. Настройки приложения Сразу нажимаем кнопку Создать в разделе Пути к компонентам и в открывшемся окне указываем пути к установленным на компьютер программным компонентам – они все нам известны. Заполнив пути, нажимаем Записать и закрыть. 288 Пример сборки мобильного приложения Рис. 19-27. Пути к программным компонентам Пояснений требуют лишь два момента. Поле Кеш сборщика – это путь, в котором будут создаваться временные файлы при сборке дистрибутива мобильного приложения. Используем папку «c:\mobile.1c\work» для удобства анализа результатов работы. Поле PuTTY заполнили путем к нашей папке, потому как конфигурация требует заполнения всех параметров, а эту компоненту мы в примере не используем. Примечание. По большинству пунктов, параметров и разделов используемой для сборки мобильных приложений конфигурации доступна встроенная справка – достаточно нажать клавишу F1 в интересующем вас месте. Следующий пункт настройки – в подменю Сервис выбираем пункт Редактировать поставщика. Поле Наименование оставляем без изменений. В поле Префикс идентификатора приложения пишем «com.e1c.mk1». После чего в секции Новые прикладные решения данного поставщика собирать – включаем флажок напротив Для ОС Android. 289 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-28. Настройка поставщика Сохраним изменения, нажав на кнопку Записать. Теперь нужно создать ключ разработчика – уникальный набор параметров, который будет отличать вас от других разработчиков приложений под ОС Android. Нажимаем ссылку Создать ключ разработчика и заполняем в открывшемся окне все поля. Имейте ввиду: пароль и псевдоним ключа должны быть написаны латиницей, все остальное – как угодно. Заполнив поля, нажимаем Сформировать ключ. 290 Пример сборки мобильного приложения Рис. 19-29. Параметры ключа разработчика В процесс формирования ключа будут открываться консольные окна (обычно с черным фоном) – не закрывайте их! После успешного завершения формирования ключа, окно создания ключа закроется, а поля Параметры ключа для разработчика, Псевдоним ключа разработчика для ОС Android и Хеш SHA1 ключа разработчика в основном окне будут автоматически заполнены. Менять их без особых на то оснований не следует. 291 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-30. Ключ разработчика Сохраняем все изменения кнопкой Записать и закрыть. Теперь можно настроить параметры сборки мобильного приложения – на какой мобильной платформе 1С оно будет выполняться, и какие графические материалы использовать. Графические материалы – это zip-архив, содержащий иконки и заставки для нашего мобильного приложения. То, что будет видеть пользователь на рабочем столе после установки приложения (иконки) и при его запуске (заставки). Подготовленный для этого примера архив можно найти на диске по адресу: «mobile\_mobile_graf.zip». Переходим в раздел Графическая информация и создаем новую запись. В Наименование пишем понятную подпись, после чего нажимаем на ссылку Загрузить графическую информацию. 292 Пример сборки мобильного приложения Рис. 19-31. Загрузка графической информации Указываем файл «mobile\_mobile_graf.zip», после чего контролируем, что флажок Графическая информация загружена взвелся. Сохраняем изменения кнопкой Записать и закрыть. Рис. 19-32. Графическая информация загружена Мобильная платформа – это zip-архив, содержащий дистрибутив мобильной платформы, на котором будет выполняться наше мобильное прило- 293 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 жение. Подготовленный для этого примера архив можно найти на диске по адресу: «mobile\_mobile.zip». Переходим в раздел Мобильные платформы и создаем новую запись. В поле Версия мобильной платформы указываем «8.3.4.14». После нажатия клавиши Tab поле Наименование заполнится автоматически. После этого нажимаем на ссылку Загрузить платформу. Рис. 19-33. Загрузка мобильной платформы Указываем файл mobile\_mobile.zip», после чего контролируем, что флажок Файлы мобильной платформы загружены взвелся. Сохраняем изменения кнопкой Записать и закрыть. 294 Пример сборки мобильного приложения Рис. 19-34. Мобильная платформа загружена Теперь самое важное – нужно добавить наше мобильное приложение для последующей сборки дистрибутива. Запускаем конфигуратор решения Мои деньги и выгружаем его мобильное приложение в файл. Рис. 19-35. Сохраняем мобильное приложение в файл Укажем путь для выгрузки «c:\mobile.1c», имя файла «1cema.xml» мобильного приложения оставим без изменений. 295 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-36. Сохраняем мобильное приложение в файл После окончания выгрузки конфигуратор приложения Мои деньги можно закрыть. Переключаемся в раздел Мобильные конфигурации и создаем новую группу. Называем группу понятным образом – она будет хранить все версии мобильного приложения, дистрибутивы которого мы будем собирать в будущем. 296 Пример сборки мобильного приложения Рис. 19-37. Новая группа для мобильного приложения Теперь добавим в группу файл с текущей версией мобильного приложения. Нажимаем кнопку Создать, а в открывшемся окне – ссылку Загрузить конфигурацию. Рис. 19-38. Новая версия мобильного приложения Указываем только что выгруженный файл мобильного приложения: «c:\mobile.1c\1cema.xml». После загрузки приложения, автоматически заполняются поля Наименование, Версия и Основной язык – они берутся из параметров конфигурации загруженного приложения. При желании можно заполнить Комментарий, после чего нажать кнопку Записать и закрыть. 297 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-39. Новая версия мобильного приложения Примечание. В нашем случае поле Версия конфигурации оказалось пустым, т.к. при разработке мобильного приложения мы не заполнили соответствующее свойство конфигурации. Сборка Мы выполнили все предварительные этапы по подготовке к сборке дистрибутива. Для выполнения сборки, переходим в раздел Мобильные приложения и создаем новую группу. 298 Пример сборки мобильного приложения Рис. 19-40. Новая группа для сборки мобильного приложения В открывшемся окне указываем понятное Наименование – например, «Мастер-класс 8.3: Мои деньги». Выбираем из списков Поставщика, Мобильную платформу и Графические ресурсы. Включаем флажок напротив Для ОС Android. Указываем Идентификатор решения – «mobile.mymoney». Рис. 19-41. Параметры сборки дистрибутива В поле Версия приложения указываем 1. Поле Номер сборки – не меняем! Кнопкой Добавить добавляем в табличную часть мобильное приложение «Мастер-класс 8.3». 299 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-42. Параметры сборки дистрибутива Сохраняем все настройки кнопкой Записать и закрыть. Теперь можно перейти непосредственно к сборке дистрибутива. Создаем новый элемент в группе «Мастер-класс 8.3: Мои деньги». Будут автоматически заполнены все параметры, включая Наименование – не меняем их. Сразу нажимаем кнопку Собрать приложение. Рис. 19-43. Собрать приложение После нажатия на кнопку начнется процесс сборки дистрибутивов мобильного приложения. Будут открываться консольные окна (обычно с фоном черного цвета) – не закрывайте их! Процесс, в зависимости от мощности вашего компьютера, может занять от нескольких секунд до несколько минут. По окончании процесса будет выдано сообщение, и вы переключитесь на закладку Результаты сборки. 300 Пример сборки мобильного приложения Рис. 19-44. Сообщение Рис. 19-45. Результаты сборки В случае ошибок можно изучить протокол выполнения сборки дистрибутива – нажав на клавишу Показать журнал… для отмеченного дистрибутива в таблице. Кнопка Получить результаты сборки… позволит либо открыть архив с дистрибутивами, либо сохранить его в указанную папку на диск. 301 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Рис. 19-46. Получить результаты сборки Сохраняем результаты сборки в папку «c:\mobile.1c\work». По умолчанию будет предложено имя «Мастер-класс 8.3_ Мои деньги; версия 1; сборка 1.zip» (как правило оно соответствует наименованию только что созданного мобильного приложения) – не меняем его. Распаковав этот архив, обнаруживаем внутри две папки – «Android» и «Logs». В «Logs» хранятся протоколы сборки дистрибутивов. В «Android» сами дистрибутивы для ОС Android. Рис. 19-47. Готовые дистрибутивы для Android На момент написания книги их два – для устройств с архитектурой ARM и x86. Дистрибутивы нашего приложения называются соответственно: «com.e1c.mk1.mobile.mymoney-arm.apk» и «com.e1c.mk1.mobile.mymoney-x86.apk». 302 Пример сборки мобильного приложения Проверка Получив дистрибутивы, можно передать нужный файл на мобильное устройство с подходящей архитектурой любым удобным способом и проверить работоспособность приложения, установив его там. На устройстве в настройках безопасности главное включить опцию Разрешить установку из неизвестных источников. Рис. 19-48. Разрешить установку из неизвестных источников Но если под рукой нет устройства, проверить работу нашего приложения можно в эмуляторе, который был установлен в момент настройки параметров Android SDK. Запускаем AVD Manager. Рис. 19-49. AVD Manager 303 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Добавляем образ устройства, нажав на кнопку New…. Заполняем параметры как показано на рисунке 19-50. Сохраняем изменения клавишей OK. Рис. 19-50. Новое устройство 304 Пример сборки мобильного приложения Запускаем образ устройства кнопкой Start… В открывшемся окне - кнопка Launch. Рис. 19-51. Запуск эмулятора Рис. 19-52. Запуск эмулятора 305 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Через некоторое время запустится окно эмулятора устройства. Время зависит от мощности вашего компьютера. Рис. 19-53. Запуск эмулятора Справа сверху эмулятора вынесены кнопки, соответствующие клавишам реального устройства. Прокрутка списков осуществляется нажатой в любом месте экрана левой кнопкой мыши. 306 Пример сборки мобильного приложения По умолчанию все настройки эмулируемого мобильного устройства установлены на американскую локализацию. Поэтому, в настройках нужно сменить язык на русский: Нажать клавишу MENU System settingsLanguage & input Language – прокрутить до Русский и кликнуть по нему. В настройках безопасности проверить, включено ли разрешение установки из сторонних источников: клавиша MENU НастройкиБезопасность Неизвестные источники (см.рис. 19-48). При желании можно настроить корректный часовой пояс, параметры разработчика и любые другие необходимые параметры эмулируемого устройства. Теперь можно установить дистрибутив мобильного приложения в эмулируемое устройство. Важно! В момент установки мобильного приложения, эмулятор должен быть запущен. Запускаем консоль Windows (WIN+R, «cmd», см.рис. 19-8). В открывшемся окне пишем команду (кавычки обязательны!) – см.рис. 19-54: "C:\mobile.1c\android-sdk\platform-tools\adb.exe" install "C:\mobile.1c\work\Мастеркласс 8.3_ Мои деньги; версия 1; сборка 1\Android\com.e1c.mk1.mobile.mymoney-arm.apk" Рис. 19-54. Установка приложения в эмулятор Примечание. Если вы использовали другие пути при установке Android SDK и сохранении результата сборки мобильного приложения, нужно соответственно указать в кавычках корректный путь к файлу «adb.exe» и файлу «com.e1c.mk1.mobile.mymoney-arm.apk». 307 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 После набора команды нажимаем клавишу Enter и ждем, пока в консоль не будет выдан результат установки. Время ожидания зависит от мощности вашего компьютера. Примечание. Аналогичным образом в эмулируемое мобильное устройство можно установить мобильную платформу в режиме разработчика – достаточно указать для установки файл «1cem-arm.apk» или «1cemx86.apk» из дистрибутива платформы. Рис. 19-55. Установка мобильного приложения 308 Пример сборки мобильного приложения После сообщения об успешной установке, возвращаемся в эмулятор и находим в списке приложений наше Рис. 19-56. Мобильное приложение 309 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Запускаем, убеждаемся в его работоспособности. Рис. 19-57. Мобильное приложение На этом пример можно считать завершенным – он продемонстрировал вариант сборки недавно созданного мобильного приложения в дистрибутив для пользователя, а так же одну из возможностей быстрой установки этого дистрибутива для проверки функционирования мобильного приложения. 310 ГДЕ И КАК ИЗУЧАТЬ 1С:ПРЕДПРИЯТИЕ Практика показывает, что многие специалисты успешно осваивают «1С:Предприятие» самостоятельно. В помощь им фирма «1С» выпускает учебные версии программ. 1С:ПРЕДПРИЯТИЕ 8. Версия для обучения программированию «1С:Предприятие 8. Версия для обучения программированию» – это доступное решение для широкого круга пользователей, которые хотят познакомиться с системой программ «1С:Предприятие 8» и научиться приемам конфигурирования: созданию и изменению структуры метаданных, написанию программных модулей, разработке диалогов и интерфейсов, администрированию прикладных решений. Допускается применение учебной версии для модификации и разработки реальных прикладных решений в пределах возможностей этой поставки. Форматы информационных баз конфигураций учебной и коммерческой версии не отличаются, сложность конфигураций в учебной версии не ограничена. Реальная эксплуатация прикладных решений может осуществляться только на коммерческих версиях «1С:Предприятие». Ограничения версии для обучения программированию: ограничено количество записей в таблицах счетов – до 2000; записей в главных таблицах объектов – до 2000; записей в табличных частях объектов – до 1000; записей в наборах записей – до 2000; записей из внешних источников данных – до 200; не поддерживается работа в варианте клиент-сервер; не поддерживается работа распределенных информационных баз; не поддерживается COM-соединение; отсутствует возможность использования паролей и аутентификации операционной системы для пользователей; 311 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 печать и сохранение табличных документов поддерживаются только в режиме Конфигуратора; не поддерживается копирование содержимого более чем одной ячейки табличного документа в режиме 1С:Предприятия; быстродействие учебной версии ниже, чем у коммерческой версии; не поддерживается работа с хранилищем конфигурации; не доступна функциональность, связанная с поставкой конфигурации; количество одновременных сеансов работы с информационной базой ограничено одним сеансом. Комплектация продукта: платформа 1С:Предприятие 8 (учебная версия); конфигурация «Управление небольшой фирмой (учебная)»; конфигурация «Бухгалтерия предприятия (учебная)»; демонстрационные конфигурации; описание встроенного языка и архитектуры платформы «1С:Предприятия 8» в электронном виде; книга «Практическое пособие разработчика. Примеры и типовые приемы», «Руководство администратора», «Руководство разработчика» Для поддержки пользователей версии для обучения программированию организована Интернет-конференция по адресу: http://DevTrainingForum.v8.1c.ru Зарегистрированные пользователи могут скачивать обновления учебной версии платформы «1С:Предприятие 8» с сайта http://users.v8.1c.ru/ Рекомендованная розничная цена 600 руб. Программный продукт «1С:Предприятие 8. Версия для обучения программированию» также доступен в виде электронной поставки для бесплатного скачивания на официальном сайте фирмы «1С» – http://online.1c.ru. 312 Где и как изучать 1С:Предприятие 1С:БУХГАЛТЕРИЯ 8. Учебная версия «1С:Бухгалтерия 8» стала индустриальным стандартом учетных решений в РФ и странах ближнего зарубежья. В ней воплощен опыт практической работы бухгалтеров сотен тысяч различных по размеру и направлениям деятельности хозрасчетных предприятий и организаций. Учебная версия предназначена для освоения всех возможностей ведения бухгалтерского и налогового учета, и в этом плане работа с учебной версией не отличается от работы с коммерческой версией «1С:Бухгалтерии 8». Учебная версия «1С:Бухгалтерии 8» позволяет: организовать учет, аналогичный учету на реальном предприятии; освоить методики ведения налогового и бухгалтерского учета; проводить настройку типовых операций, документов и отчетов; оценить уровень автоматизации трудоемких расчетов и удобство работы; сформировать любые формы отчетов, баланс, налоговые декларации; проводить разработку и модернизацию конфигурации. Учебная версия не предназначена для автоматизации учета на реальных предприятиях, поскольку ее быстродействие снижено по сравнению с коммерческими версиями «1С:Бухгалтерии 8». Имеется ряд ограничений в части количества данных и записей в документах, справочниках, планах счетов. В программе нет возможности использовать пароли и проводить Windowsаутентификацию пользователей, а печать и сохранение табличных документов поддерживаются только в режиме Конфигуратора. Комплектация продукта: программа «1С:Бухгалтерия 8»; интерактивный обучающий курс «Эффективная работа с 1С:Предприятием 8»; электронное руководство по установке программы; книга с полным описанием функциональных возможностей прикладного решения и необходимых приемов работы с программой. Рекомендованная розничная цена 300 руб. Подробная информация об учебных версиях – http://v8.1c.ru/edu/ 313 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Наряду с учебными версиями, «1С» предлагает широкий спектр литературы, помогающей в освоении программирования – например, такое популярное издание, как «Практическое пособие разработчика» (М.Радченко, Е.Хрусталева), а также книги по прикладным решениям системы «1С:Предприятие 8». Подробнее об методической литературе по «1С:Предприятию» читайте на сайте http://books.1c.ru. Центры сертифицированного обучения Дополнительное профессиональное обучение по технологиям «1С» обеспечивают Центры сертифицированного обучения (ЦСО), которые работают в 120 городах России и стран СНГ. На курсах ЦСО можно пройти обучение как по платформе «1С:Предприятие 8», так и по прикладным решениям на ее основе. Все курсы ЦСО разработаны преподавателями-методистами и авторизованы специалистами отдела разработки фирмы «1С». По окончании курсов каждый слушатель ЦСО получает свидетельство «1С» единого образца. В любом городе качество обучения в ЦСО соответствует тому, которое обеспечивают учебные центры фирмы «1С» в Москве. Ряд центров предоставляют специальные условия для студентов. Обучение ведется по следующим направлениям: Курсы по платформе «1С:Предприятие 8» «1С:Предприятие 8»: первые шаги Введение в конфигурирование в системе «1С:Предприятие 8». Основные объекты Конфигурирование в системе «1С:Предприятие 8»: Решение оперативных задач Решение бухгалтерских задач Решение расчетных задач Комплексный курс «Конфигурирование в системе «1С:Предприятие 8» Средства интеграции и обмена данными в системе «1С:Предприятие 8» Использование запросов в системе «1С:Предприятие 8» Курсы по прикладным решениям «1С:Предприятие 8» Оперативное управление в малом бизнесе на основе «1С:Управление небольшой фирмой 8» Использование конфигурации «Бухгалтерия предприятия» (пользовательские режимы) 314 Где и как изучать 1С:Предприятие «1С:Бухгалтерия 8». Практическое освоение бухучета с самого начала «1С:Бухгалтерия 8»: первые шаги Внедрение и адаптация конфигурации «Бухгалтерия предприятия» (конфигурирование в типовом решении) «1С:Предприятие 8». Использование конфигурации «Бухгалтерия автономного учреждения» «1С:Управление торговлей». Практическое применение типовой конфигурации Внедрение и адаптация прикладного решения «1С:Управление Торговлей 8» Использование прикладного решения «1С:Розница 8» Использование конфигурации «Зарплата и управление персоналом» (пользовательские режимы) Внедрение и адаптация конфигурации «Зарплата и Управление Персоналом» «1С:Предприятие 8». Использование конфигурации «Зарплата и кадры бюджетного учреждения» (пользовательские режимы) «1С:Предприятие 8». Управление производственным предприятием. Концепция и Производственный учет» «1С:Предприятие 8». Управление производственным предприятием. Планирование, Товарные операции, Финансы и Бюджетирование. «1С:Предприятие 8». Управление производственным предприятием. Активы, Регламентированный учет, Персонал и Заработная плата «1С:Предприятие 8». Управление персоналом (регламентированный и управленческий учет) «1С:Управляющий. Управленческий учет» Расписание занятий в ЦСО – на сайте http://1c.ru/cso Интернет7курсы Интернет-курсы позволяют осваивать материал в удобном темпе, не отрываясь при этом от основной работы или учебы. В процессе обучения пользователь имеет возможность общаться с преподавателем по электронной почте. После окончания обучения при условии сдачи итогового теста по почте высылается свидетельство о прохождении курса. Фирма «1С» предоставляет услуги дистанционного обучения по следующим курсам: Введение в конфигурирование в системе «1С:Предприятие 8.2» 315 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Конфигурирование подсистем расчета зарплаты и управления персоналом в «1С:Предприятия 8» Запросы в системе «1С:Предприятие 8.2» Ведение бухгалтерского учета в «1С:Предприятие 8» 1С:Упрощенка 8 Оперативное управление в малом бизнесе на основе «1С:Управление небольшой фирмой 8» «1С:Предприятие 8. Управление торговлей». Основные принципы работы с программой Использование прикладного решения «1С:Розница 8» Расчет зарплаты в «1С:Предприятие 8» Управление персоналом и кадровый учет в «1С:Предприятие 8» Ведение бюджетного учета в программе «1С:Бухгалтерия государственного учреждения 8» Концепция и Торговый функционал в программе «1С:Управление производственным предприятием 8» Планирование и Бюджетирование в программе «1С:Управление производственным предприятием 8» Производственный учет в программе «1С:Управление производственным предприятием 8» Регламентированный учет, Основные средства, НМА, Кадры и Заработная плата «1С:Управление производственным предприятием 8» Расчет себестоимости в «1С:Управление производственным предприятием 8» Для ряда интернет-курсов возможно использование учебных версий «1С:Предприятия 8». Интернет-курсы и их демонстрационные версии доступны на сайте http://edu.1c.ru/. 316 КАК ПОДТВЕРДИТЬ СВОЮ КВАЛИФИКАЦИЮ Для проверки знаний специалистов фирмой «1С» проводятся тесты «1С:Профессионал» и экзамены «1С:Специалист». Успешно сдавшие квалификационные испытания получают официальные сертификаты «1С», которые высоко котируется на рынке труда и существенно повышают статус специалиста. Сертификат «1С:Профессионал» выдается фирмой «1С» по результатам компьютерного тестирования, которое позволяет быстро и объективно проверить знание возможностей типовой конфигурации или технологической платформы 1С:Предприятие. Тестирование «1С:Профессионал» проводится более чем в 300 Авторизованных центрах сертификации в 126 городах в России и странах СНГ. Для подготовке с сдаче теста «1С:Профессионал» рекомендуется пройти бесплатное 1С:Учебное тестирование на http://edu.1c.ru/ Следующая, более высокая ступень оценки знаний – сертификат «1С:Специалист», который выдается по результатам очного экзамена. На экзамене проверяются понимание методических принципов построения и технологии функционирования конфигурации, практические навыки конфигурирования в среде 1С:Предприятие 8. Сертификат «1С:Специалист-консультант по внедрению прикладного решения» является подтверждением того, что его получатель знает функционал прикладных решений, понимает методические принципы построения и технологии работы приложений и умеет показать, как средствами прикладного решения решить ту или иную задачу. Экзамен на получение этого сертификата проводится в очном режиме. Более подробная информация и расписание экзаменов – на сайте http://v8.1c.ru в разделе «Методическая поддержка» и на сайте http://1c.ru в разделе «Обучение и сертификация». 317 СТУДЕНЧЕСКИЕ 1С:СОРЕВНОВАНИЯ Ежегодно в январе-апреле фирма «1С» и партнеры «1С» совместно с Финансовым университетом при Правительстве РФ проводят соревнования для студентов технических и экономических специальностей: Международная олимпиада по программированию учетноаналитических задач на платформе «1С:Предпряитие 8» Всероссийский профессиональный конкурс по «1С:Бухгалтерии 8» для студентов высших и средних учебных заведений Более подробную информацию о студенческих соревнованиях можно найти на сайте http://1c.ru/konkurs и на сайте Финансового университета http://fa-kit.ru С 2008 года также проводится Международный конкурс дипломных проектов, выполненных с использованием программ системы «1С:Предприятие». Награды вручаются как студенту-дипломнику, так и руководителю дипломного проекта. Подведение итогов этого конкурса проводится в несколько этапов. Призы победителям по федеральным округам России и зарубежным странам: I место – по 40 000 руб.; II место – по 20 000 руб.; III место – по 10 000 руб. Призы заключительного тура: I место – по 100 000 руб.; II место – по 50 000 руб.; III место – по 20 000 руб. Более подробная информация о мероприятии и списки победителей конкурса публикуются на сайте http://1c.ru/diplom Все победители студенческих 1С:Соревнований награждаются ценными призами, их имена публикуют профессиональные издания, но главный приз и награда для всех участников – уверенность в своих силах, новые знания и навыки, а также особый интерес со стороны работодателей. Многие призеры прошлых лет успешно работают во внедренческих фирмах сети 1С:Франчайзинг, в ИТ-подразделениях предприятий различных отраслей, а также в самой фирме «1С». 318 ЕСТЬ ТАКАЯ ПРОФЕССИЯ – РОДИНУ АВТОМАТИЗИРОВАТЬ Фирма «1С» построила уникальную технологию распространения и внедрения программ для управления и учета, которая обеспечивает доступную эффективную автоматизацию для сотен тысяч предприятий и организаций, и, одновременно, дает возможность тысячам компаний создавать и развивать рентабельный бизнес. Фирма «1С» сформировала новую престижную профессию и целую отрасль – сотни тысяч квалифицированных специалистов помогают отечественных предприятиям и организациям повышать свою эффективность с помощью качественной автоматизации на платформе «1С:Предприятие». Деятельность фирмы «1С» и партнеров «1С» основывается на ежедневной работе выпускников отечественных университетов, институтов, колледжей и техникумов. Поэтому приоритетной задачей «1С», как ведущего разработчика, является взаимодействие со студенчеством и системой образования – с целью предоставить молодым людям возможность получить практические навыки работы с наиболее востребованной системой автоматизации бизнеса «1С:Предприятие» и оказать содействие в трудоустройстве выпускников по приобретенным специальностям. 1С:ПРЕДПРИЯТИЕ 8 «1С:Предприятие 8» – система программ для автоматизации управления и учета, основанная на передовой технологической платформе, которая обеспечивает высокую функциональность, гибкость, масштабируемость от однопользовательских до клиент-серверных и территориально распределенных решений. Технологии и архитектура «1С:Предприятия 8» во многом предвосхитили общемировые тенденции развития бизнес-систем, многие решения не имеют известных аналогов. На платформе «1С:Предприятие 8» фирма «1С» и партнеры «1С» разрабатывают тиражные, отраслевые и специализированные бизнес-решения, среди которых: 1С:ERP. Управление предприятием 2.0 1С:Консолидация 1С:Управление торговлей 319 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 1С:Управление небольшой фирмой 1С:Бухгалтерия 8 1С:Зарплата и управление персоналом Что дает «1С:Предприятие 8»: руководству предприятия и управленцам, отвечающим за развитие бизнеса – широкие возможности анализа, планирования и гибкого управления ресурсами компании для повышения ее конкурентоспособности; руководителям подразделений, менеджерам и сотрудникам, непосредственно занимающимся производственной, сбытовой, снабженческой и иной деятельностью – инструменты, позволяющие повысить эффективность ежедневной работы по своим направлениям; работникам учетных служб предприятия – средства для автоматизированного ведения учета в полном соответствии с требованиями законодательства и корпоративными стандартами предприятия; ИТ-специалистам – комплекс инструментальных средств и технологий для разработки, модификации, администрирования и сопровождения корпоративных информационных систем, отвечающий самым современным стандартам. Наличие типовых, отраслевых и индивидуальных решений на единой платформе позволяет: выбрать оптимальный вариант автоматизации; внедрить систему с минимальными затратами времени и средств; быстро получить реальную отдачу от внедрения; упростить обучение пользователей, сопровождение и администрирование системы; развивать систему по мере роста потребностей предприятия, не останавливая при этом ее эксплуатации. Все это обеспечивает высокую эффективность работы специалистов по «1С:Предприятию» и является основой их успеха на рынке автоматизации. Что такое 1С:Франчайзинг Суть франчайзинга заключается в том, что известная фирма предоставляет свои передовые технологии и возможность работы под своей престижной маркой другим организациям, требуя от них соблюдения высоких стандартов качества работ и услуг. Это дает фирме-франчайзи хорошие перспективы для ведения успешного бизнеса при минимальных затратах, снижает потенциальные риски и при этом не затрагивает прав собственности. 320 Есть такая профессия – Родину автоматизировать 1С:Франчайзинг – это широкая сеть самостоятельных независимых предприятий, получивших сертификат фирмы «1С» на оказание комплексных услуг по автоматизации управления и учета на базе программ системы «1С:Предприятие». Франчайзинговая сеть сформирована и развивается на базе коллективов, не просто поставляющих программные продукты, но и имеющих большой опыт обслуживания клиентов, внедрения, сопровождения, а зачастую и разработки программ. В настоящий момент времени данная сеть не имеет аналогов в России и состоит из более чем 7 000 компаний, работающих более чем в 800 городах. Практика их работы подтверждает, что сочетание энергии, квалификации и заинтересованности тысяч небольших частных предприятий с технологическими достижениями и гарантиями ведущего разработчика программного обеспечения дает очень высокий экономический эффект. Не менее важно и то, что 1С:Франчайзинг представляет собой сплоченное и дружное сообщество профессионалов, делящихся друг с другом своими технологическими достижениями, сообща решающих многие проблемы – это дает тем, кто работает в 1С:Сообществе, дополнительный психологический комфорт. Работа в такой важной и перспективной для экономики страны индустрии как информационные технологии позволяет молодым людям проявить себя в реальном деле, достаточно быстро приобрести полезный опыт и в течение нескольких лет достичь значительного профессионального и карьерного роста – до ведущего специалиста и даже руководителя проектов. Важно, что работа в 1С:Франчайзинге позволяет молодому человеку специализироваться как в области программирования, настройки и сопровождения информационных систем, так и в области оказания консалтинговых услуг, преподавательской деятельности и менеджмента. 321 КАК УСТРОИТЬСЯ НА РАБОТУ В ФИРМЫ СЕТИ 1С:ФРАНЧАЙЗИНГ Внедрение «1С:Предприятия» – одно из наиболее перспективных направлений работы на рынке информационных технологий. В России и странах СНГ сохраняется высокий спрос на решения для автоматизации управления и учета. Все больше руководителей предприятий и организаций рассматривают автоматизацию как один из ключевых моментов обеспечения эффективности бизнеса – как в периоды бурного роста, так и в условиях кризиса. При этом российские программы успешно конкурируют с зарубежными продуктами в области автоматизации управления и лидируют с большим отрывом в области автоматизации учета. Все это обеспечивает тысячи фирм-франчайзи «1С» постоянным потоком заказов, а сотни тысяч их сотрудников – стабильной и достойно оплачиваемой работой. Сообщество фирм-партнеров «1С» предлагает вам реализовать себя в таких профессиях: Консультант по бизнес-процессам Разработчик корпоративных систем (программист) Специалист по автоматизации бизнес-процессов Сервис-инженер по сопровождению пользователей Консультант по технической поддержке Менеджер по работе с клиентами Преподаватель технологий 1С С возможностью быстрого профессионального и карьерного роста – до руководителей проектов, подразделений и далее. Работая в партнерской сети «1С», вы... Занимаетесь интересным делом – внедрением передовой, постоянно развивающейся системы программ «1С:Предприятие». Повышаете свой профессиональный уровень, решая разнообразные задачи управления и учета на предприятиях различных отраслей. Осваиваете востребованную и хорошо оплачиваемую профессию. По данным исследования рынка труда в сфере ИТ, проведенного порталом SuperJob в 2013 году, наибольшим спросом на рынке труда разработчиков программного обеспечения по-прежнему пользуются программисты «1С». Количество вакансий для данных специалистов 322 Как устроится на работу в фирмы сети 1С:Франчайзинг составило 45% от общего числа предложений о трудоустройстве для программистов и разработчиков ПО. Предлагаемые для специалистов по «1С» зарплаты выше средних по рынку труда в 1,9 раза, растут быстрее, чем средняя зарплата и прогнозируется дальнейший опережающий рост. Как правило, в фирмах-франчайзи «1С» используются прозрачные и понятные системы оплаты труда, которые ставят доход сотрудника в прямую зависимость от результатов работы, поэтому позволяют сотруднику самостоятельно влиять на размер собственного дохода. Становитесь участником профессионального сообщества специалистов по «1С:Предприятию», состоящего из более чем 100 000 сотрудников фирм-франчайзи и 200 000 ИТ-специалистов предприятий-пользователей. Можете получить поддержку при освоении системы, использовать возможность разностороннего общения и обмена опытом с многочисленными коллегами. Приносите реальную пользу стране – способствуете переходу экономики на инновационные технологии, повышению эффективности и управляемости организаций, облегчаете повседневную работу многих людей, позволяя им достигать поставленных целей быстрее и с меньшими затратами труда. Даже если вы имеете только начальные навыки в области разработки, внедрения и сопровождения информационных систем, вы можете устроиться на позицию стажера, повышать свою квалификацию в процессе работы и достичь высоких результатов. На сайте http://job.1c.ru можно ознакомиться с примерами успешной карьеры тех, кто начинал работу с «1С:Предприятием» со студенческой скамьи – многие из них впоследствии стали ведущими специалистами, руководителями проектов и подразделений, а некоторые – руководителями собственных франчайзинговых компаний. Дмитрий Иванов, г. Великий Новгород (Новгородский государственный университет) За полтора года работы в франчайзинговой фирме я получил наивысшую квалификационную категорию, и сейчас готовлюсь войти в проектную команду. У меня получается успешно совмещать работу и учебу. Я окончил университет по специальности «Программное обеспечение вычислительной техники и автоматизированных систем». Работа в сообществе «1С» способствует постоянному обучению – сейчас я опять студент, учусь в том же университете на заочном отделении экономического факультета. 323 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Елена Офицерова, г. Нижний Новгород (Нижегородская государственная сельскохозяйственная академия) Через три месяца после начала работы я заняла должность специалиста Линии консультаций, а еще через несколько месяцев мне предложили стать специалистом проектного отдела. Несмотря на небольшой стаж работы, мне уже удалось поучаствовать в крупном проекте. Евгений Тарасов, г. Иркутск (Иркутский государственный университет) В 1С:Франчайзинг я пришел после 4-го курса. Через пять лет работы занял должность руководителя отдела автоматизации коммерческих предприятий, в котором работают 15 человек. Олег Пухов, г. Архангельск (Архангельский государственный технический университет) Когда я решил устроиться на работу, у меня не было ни знаний, ни опыта в этой области. Общение с руководителями и сотрудниками фирмыфранчайзи в рамках Дня 1С:Карьеры помогло мне составить мой личный «план профессионального развития», выполнив который, я получил работу в лучшей ИТ-компании города. Для того чтобы помочь партнерам «1С» и молодым специалистам найти друг друга, работает сайт http://job.1c.ru, где можно заполнить анкету, которая будет отправлена франчайзинговым фирмам города, в котором Вы хотите работать. По вопросам трудоустройства можно обращаться напрямую к партнерам фирмы «1С». Координаты партнеров указаны на сайте: http://1c.ru/rus/partners/franch_citylist.jsp 324 Как устроится на работу в фирмы сети 1С:Франчайзинг День 1С:Карьеры – главное мероприятие «1С» для студентов и выпускников Ежегодно в середине ноября в десятках городов России и стран СНГ фирма «1С» вместе с партнерами «1С» проводит День 1С:Карьеры. Цель этого мероприятия – предоставить реальную информацию о том, как работает бизнес по автоматизации предприятий «изнутри», показать перспективы работы на этом рынке, ознакомить молодых людей с современными технологиями «1С:Предприятия 8» и сделать конкретные предложения по трудоустройству (в том числе с гибким графиком работы), дополнительному профессиональному обучению, стажировкам, прохождению преддипломной и производственной практики. В мероприятии принимают участие ведущие партнеры «1С», активное развитие бизнеса которых требует привлечения молодых специалистов. Уже свыше 35 000 студентов и выпускников стали участниками Дня 1С:Карьеры, многие из них получили интересную работу, прошли стажировки, преддипломную практику, воспользовались возможностями по дополнительному обучению. Информация о ближайших Днях 1С:Карьеры и репортажи о прошедших мероприятиях публикуются на сайте http://student.1c.ru Координаты Оргкомитета: + 7 (495) 681-0221, [email protected] 325 ПОЛЕЗНЫЕ ИНТЕРНЕТ7РЕСУРСЫ ФИРМЫ «1С» Официальный сайт фирмы «1С» – http://1c.ru Публикуется актуальная информация по всем направлениям деятельности «1С»: деловое программное обеспечение разработки «1С», дистрибуция лучших программ, разработка игровых и образовательных программ. А также: новости для партнеров и пользователей список партнеров «1С» информация по обучению и аттестации специалистов вакансии информация для прессы прайс-лист и многое другое Новые кадры для партнеров «1С» – http://job.1c.ru Проект «Новые кадры для партнеров «1С» помогает желающим найти работу по специальностям: Менеджер по работе с клиентами Консультант по бизнес-процессам Разработчик корпоративных систем (программист) Специалист по автоматизации бизнес-процессов Сервис-инженер по сопровождению пользователей Консультант по технической поддержке Преподаватель Анкеты, заполненные на job.1c.ru рассылаются партнерам-участникам проекта, с учетом пожеланий заявителя по городу, направлению работы, квалификации и др. «1С:Предприятие 8» – http://v8.1c.ru Сайт посвящен современной системе программ «1С:Предприятие 8». Здесь можно получить актуальную информацию о технологической платформе «1С:Предприятие 8» и типовых решениях на ее основе. На сайте публикуется информация о внедренных решениях, материалы по методической и 326 Полезные интернет-ресурсы фирмы «1С» технологической поддержке пользователей и программистов, информация об учебных курсах и книгах, новости партнеров, которые занимаются внедрением и сопровождением информационных систем на базе «1С:Предприятие 8». Интернет7курсы по системе программ «1С:Предприятие» – http://edu.1c.ru Сайт предназначен для информационной и технологической поддержки платформы «1С:Образование» и решений, созданных на базе платформы. В частности, на сайте представлены разработанные на этой платформе интернет-курсы по системе программ «1С:Предприятие» для программистов и пользователей. Также работает бесплатный сервис «1С:Учебное тестирование», позволяющий проверить знания по наиболее востребованным продуктам фирмы «1С» делового назначения и полезный для подготовки к экзамену «1С:Профессионал» и самоконтроля. Профессиональный конкурс по использованию «1С:Бухгалтерии 8» – http://1c.ru/konkurs Страница поддержки Профессионального конкурса по использованию «1С:Бухгалтерии 8», который ежегодно проводит для студентов фирма «1С». Здесь можно ознакомиться с условиями участия в Конкурсе и попробовать свои силы в выполнении конкурсного задания. Победители и призеры Конкурса традиционно получают ценные призы, их имена публикуют ведущие профессиональные издания и интернет-сайты. Но главный приз и награда для всех участников - уверенность в своих силах, новые знания и навыки, а также высокий спрос со стороны работодателей, среди которых фирма «1С» и партнеры «1С». Интернет7ресурс для бухгалтеров – http://buh.ru При создании Интернет-ресурса для бухгалтеров специалисты фирмы «1С» стремились предоставить пользователям экономических программ «1С» и другим посетителям сайта возможность регулярно получать широкий спектр информации о последних изменениях в учете и налогообложении, отражении изменений в программах «1С», новых программных продуктах»1С». 327 Пример быстрой разработки мобильных приложений на платформе 1С:Предприятие 8.3 Компьютерные программы для образования – http://obr.1c.ru Информация о компьютерных программах фирмы «1С» для образования: иностранные языки, обучение работе с наиболее популярными программными пакетами, познавательные энциклопедии, электронные репетиторы, образовательные комплексы для учителей и школьников, развивающие программы для малышей и многое другое. 1С:Аудиокниги – http://audio.1c.ru Сайт поддержки серии «1С:Аудиокниги», в которой выпускаются различные «художественные произведения для слушания»: русская и зарубежная классика, фантастика и фэнтези, сказки и приключения, деловая литература, в том числе аудиокурсы по делопроизводству, истории искусств, менеджменту, навыкам делового общения, культурологии, праву, социологии, философии и психологии. Аудиоэкскурсии по популярным туристическим маршрутам Москвы, Санкт-Петербурга и его окрестностей, и ряда зарубежных городов. Нам с вами по пути! Интернет7магазин фирмы «1С» – http://online.1c.ru Интернет-ресурс фирмы «1С», где по доступной цене можно приобрести лицензионные игры, аудиокниги, обновления программ «1С:Предприятие» и другие полезные программные продукты и сервисы – в электронном виде. На online.1c.ru доступен для бесплатного скачивания в виде электронной поставки программный продукт «1С:Предприятие 8. Версия для обучения программированию». Магазины «1С Интерес» и Интернет7магазин – http://1s7interes.ru «1С Интерес» – сеть мультимедийных супермаркетов и Интернетмагазин по продаже игр для компьютеров и игровых приставок, программного обеспечения – общего, делового, развивающего и обучающего назначения, фильмов, музыки и книг, а также сопутствующих товаров и аксессуаров. Магазины «1С Интерес» расположены более чем в 20 городах России и стран СНГ. 328 © ООО «1С-Паблишинг», 2013-2014 © Оформление. ООО «1С-Паблишинг», 2013-2014 Все права защищены. Материалы предназначены для личного индивидуального использования приобретателем. Запрещено тиражирование, распространение материалов, предоставление доступа по сети к материалам без письменного разрешения правообладателей. Разрешено копирование фрагментов программного кода для использования в разрабатываемых прикладных решениях. Фирма «1С» 123056, Москва, а/я 64, Селезневская ул., 21. Тел.: (495) 737-92-57, факс: (495) 681-44-07. [email protected], http://www.1c.ru/ Издательство ООО «1С-Паблишинг» 127473, Москва, ул. Достоевского, 21/1, строение 1. Тел.: (495) 681-02-21, факс: (495) 681-44-07. [email protected], http://books.1c.ru Об опечатках просьба сообщать по адресу [email protected].