Hello, 1С! Пример быстрой разработки приложения на платформе «1С:Предприятие 8.3»
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабын онлайн тегін оқу  Hello, 1С! Пример быстрой разработки приложения на платформе «1С:Предприятие 8.3»

В.В. Рыбалка

Пример быстрой разработки приложений на платформе 1С:ПРЕДПРИЯТИЕ 8

В.В. Рыбалка

Пример быстрой разработки приложений на платформе 1С:ПРЕДПРИЯТИЕ 8

Электронная книга в формате ePub; ISBN 978-5-9677-2074-1.

Версия издания от 02.02.2014.

Электронный аналог издания "Пример быстрой разработки приложений на платформе 1С:ПРЕДПРИЯТИЕ 8"
(ISBN978-5-9677-2074-1, М.: ООО "1С-Паблишинг", 2014; артикул печатной книги по прайс-листу фирмы "1С": 4601546109774; по вопросам приобретения печатных изданий издательства "1С-Паблишинг" обращайтесь к партнеру "1С", обслуживающему вашу организацию, или к другим партнерам фирмы "1С".)


Эта книга представляет собой художественное изложение мастер-класса «Пример быстрой разработки приложений на платформе «1С:Предприятие 8», который впервые был проведен для студентов и выпускников в рамках Дня 1С:Карьеры в ноябре 2009 года. С тех пор в платформе 1С:Предприятие 8 было реализовано множество инноваций, и каждое новое издание мастер-класса иллюстрирует ее новые возможности. В данное издание включена версия 8.3 платформы 1С:Предприятие и посвященная ей новая глава «Кроссплатформенность».
Книга показывает самые простые, основные возможности разработки прикладных решений в системе 1С:Предприятие 8. Она будет интересна и полезна тем, кто хочет узнать, что же представляет собой процесс разра-ботки. Это сложно? Интересно ли этим заниматься?
Прилагаемый компакт-диск содержит учебную версию платформы 1С:Предприятие 8, с помощью которой можно самостоятельно воспроиз-вести пример, описанный в книге. Все действия подробно описаны, так что каждый желающий может повторить их самостоятельно на своем компьютере.
Книга адресована в первую очередь тем, кто хотел бы самостоятельно, «вживую» попробовать, насколько это интересно и увлекательно – созда-вать программы с помощью «1С:Предприятия 8».
А если вы после нашего знакомства захотите по-настоящему освоить 1С:Предприятие 8 – у вас есть для этого много возможностей: от книг ведущих разработчиков «1С» и интернет-курсов до центров сертифициро-ванного обучения, которые есть практически во всех регионах нашей
страны.

© ООО «1С-Паблишинг», 2014, 2014
© Оформление. ООО «1С-Паблишинг», 2014, 2014

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


Фирма "1С"
123056, Москва, а/я 64, Селезневская ул., 21.
Тел.: (495) 737-92-57, факс: (495) 681-44-07.
1c@1c.ru, http://www.1c.ru/
Издательство ООО "1С-Паблишинг"
127473, Москва, ул. Достоевского, 21/1, строение 1.
Тел.: (495) 681-02-21, факс: (495) 681-44-07.
publishing@1c.ru, http://books.1c.ru/

Введение

Основные направления деятельности фирмы «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С».


Все ли у нас есть

Прежде чем начинать, убедимся, что у нас есть все, что нужно для начала. А именно – что установлена система 1С:Предприятие:

Старт⇒ Все программы⇒1С Предприятие 8 (учебная версия)

Если этого пункта меню нет, значит, систему надо установить.

Сделать это просто. Вставим диск МАСТЕР-КЛАСС в дисковод и в открывшемся окне выберем пункт 1С:Предприятие 8. Учебная версия. Если окно автозапуска не сработало, запустите вручную с диске программу «autorun.exe».

Рис. 1-1. Установка системы 1С:Предприятие 8.3

Процесс установки прост, нужно соглашаться со всем, что стандартно предлагается и нажимать кнопку Далее >.


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

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

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

Эту одинаковость как раз обеспечивает технологическая платформа. Потому что она одновременно является и инструментом разработки, и средой исполнения программ 1С:Предприятия (подробнее – см. http://v8.1c.ru/news/publication.jsp?id=193).

Главным технологическим понятием, которое используется в 1С:Пред­приятии, является информационная база. Грубо говоря, каждая информационная база это и есть одна «программа» 1С:Предприятия. Например, 1С:Бухгалтерия, или 1С:ERP Управление предприятием 2.0.

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

Таким образом, если вам нужна 1С:Бухгалтерия, вы создаете информационную базу с прикладным решением Бухгалтерия и затем в этой же базе храните все данные. Если вам нужна еще одна бухгалтерия для другой вашей организации – вы создаете новую информационную базу с той же самой «программой» Бухгалтерия, но хранить в ней будете уже другие данные. А если вам нужна 1С:Зарплата и управление персоналом, то вы создаете третью информационную базу уже с другой «программой», с программой Зарплата и Управление персоналом, и, естественно, храните в ней данные, относящиеся именно к учету зарплаты.

Таким образом, информационная база – это как домик у улитки – «все свое ношу с собой». Если у вас есть информационная база – значит, у вас есть все, что нужно: и данные, и сама программа, которая знает, как обрабатывать и представлять эти данные.

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

Запустим систему – Старт Все программы⇒ 1С Предприятие 8 (учебная версия)⇒1С Предприятие

Рис. 1-2. Запуск программы

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

Но ведь мы еще не создавали никаких информационных баз?! Ничего страшного, согласимся.

Рис. 1-3. Добавление информационной базы

Совет. Если вы (или кто-то до вас) уже добавлял информационные базы в список, то, конечно, система не задаст этот вопрос. Тогда, чтобы добавить в список информационную базу, нужно будет нажать кнопку Добавить…

Рис. 1-4. Добавление информационной базы

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

Стандартно предлагается создать новую информационную базу – именно это нам и нужно. Поэтому снова согласимся и нажмем Далее >.

Рис. 1-5. Создание новой информационной базы

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

Но мы с вами не устанавливали никаких шаблонов, поэтому снова согласимся с тем, что стандартно предлагает нам система – создать информационную базу без конфигурации (то есть без «программы») и просто нажмем Далее >.

Рис. 1-6. Создание информационной базы без конфигурации

Теперь система поинтересуется, как будет называться наша новая информационная база. Название можно дать любое, оно ни на что не влияет, но лучше назвать ее Мастер-класс 8. Именно это название будет отображаться в списке информационных баз, который открывается при запуске системы. Нажмем Далее >.

Рис. 1-7. Название информационной базы

Напоследок система сообщит нам, где будет располагаться информационная база. Стандартно она будет размещена в профиле пользователя. Если у вас есть проблемы со свободным местом на диске С:, то можно указать для нее другое место. Но в большинстве случаев можно согласиться с тем, что предлагает система и нажать кнопку Далее >.

Рис. 1-8. Размещение информационной базы

В следующем окне ничего менять не будем – нажмем сразу Готово.

В результате в списке информационных баз мы увидим нашу новую базу – Мастер-класс 8. Останется лишь нажать на кнопку Конфигуратор, чтобы начать создание нашей «программы».

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

1С:Предприятие – это режим запуска для пользователя, чтобы работать с данными информационной базы.

Мы с вами сейчас – разработчики, поэтому запускаем Конфигуратор.

Рис. 1-9. Новая информационная база в списке

Начнем «программировать»

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

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

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

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

Как мы говорили в начале, сейчас мы делаем «Hello, World!» в исполнении 1С. Поэтому встроенный язык, а тем более язык запросов мы использовать практически не будем. Это отдельная сложная тема.

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

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

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

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

Сейчас у нас открыт конфигуратор (на рис. 1-9 мы нажали на кнопку Конфигуратор). Чтобы увидеть дерево объектов конфигурации, нужно нажать на кнопку Открыть конфигурацию.

Рис. 2-1. Открыть конфигурацию

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

Рис. 2-2. Дерево объектов конфигурации

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

Итак, какие объекты конфигурации добавлять? Это зависит от той задачи автоматизации, которая перед нами стоит. Сформулируем.

В нашем мастер-классе мы создадим простейшую систему CRM (от англ. Customer Relationship Management – управление взаимоотношениями с клиентами), которая, с одной стороны, позволит хранить информацию обо всех наших друзьях и знакомых – т. е. вести базу контактов. С другой стороны, будет учитывать различного рода события – как прошедшие, так и будущие. При этом мы сможем фиксировать наши финансовые потоки – поступление и расход денег, связанные как с нашими друзьями, так и с событиями, происходящими в нашей жизни. При этом работа в самой программе должна быть простой и легкой.

Вот собственно и вся задача, ничего сложного.

Подсистемы

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

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

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

  • то, что относится к нашим друзьям;
  • то, что относится к происходящим событиям;
  • то, что связано с финансовыми потоками.

Поэтому первым делом мы добавим три подсистемы: Контакты, События и Финансы.

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

Подсистемы располагаются в ветке Общие – Подсистемы. Добавим подсистему.

Рис. 3-1. Добавление подсистемы

Справа откроется отдельное окно (окно редактирования объекта конфигурации) с параметрами создаваемой подсистемы – зададим имя подсистемы – Контакты. Синоним система 1С:Предприятие добавит сама, после того, как мы нажмем клавиши Ввод или Tab в поле Имя. Больше пока в открытом окне ничего менять не будем, поэтому нажмем кнопку Закрыть.

Рис. 3-2. Подсистема Контакты

Аналогичным образом создадим остальные две подсистемы: События и Финансы. В итоге у нас получится такое дерево:

Рис. 3-3. Готовые подсистемы

«Служебные кубики» мы добавили, теперь будем добавлять «кубики» содержательные.

Давайте осмысленно назовем нашу конфигурацию (которая сейчас зовется безлико – «Конфигурация») и заодно познакомимся с еще одним способом редактирования свойств объектов – палитрой свойств. Для этого достаточно дважды щелкнуть мышью по самой верхней строке дерева объектов, либо нажать там же правую кнопку и выбрать в меню Свойства (Alt+Enter).

Далее, аналогично подсистемам, наберем в поле Имя название нашей конфигурации – «МастерКласс8» и слегка отредактируем сформированный автоматически синоним – «Мастер-класс 8».

Рис. 3-4. Параметры конфигурации

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

Справочники

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

Примечание. Более подробно об объектах метаданных вида Справочник можно узнать по этой ссылке:

http://v8.1c.ru/overview/Term_000000168.htm

Таким образом, у нас «прорисовываются» три справочника, связанных с нашими знакомыми: Друзья, где будут храниться все записи о наших знакомых, ВидыКонтактов, где мы будем хранить список различных вариантов контактных данных (например: «телефон», «адрес», «e-mail» и т. п.), и СтатусыДрузей – список назначаемых нашим знакомым статусов (например, «семья», «друг», «знакомый» и т. п.).

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

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

...