Первое знакомство с 1С:Предприятие 8.1
Уже достаточно давно я планировал написать цикл статей, посвященных разработке решений на 1С Предприятия, но все как-то руки не доходили. Да и думал я, что посетителям VR-Online данная тема будет вряд ли интересна. Как-никак, но основная наша аудитория — Delphi-программисты, многие из которых очень негативно относятся к платформе 1С. Честно говоря, меня когда-то и самого воротило от слова 1С, но поработав 1С-программистом больше года, я изменил свое мнение и теперь уже не могу представить как я раньше обходился без этого чудесного инструмента.
Что мы будем рассматривать в статьях
Перед тем, как приступить к раскрытию темы статьи, я хотел бы немного рассказать про свои планы касательно этого цикла статей. Итак, как и следует ожидать, тема статей будет 1С: Предприятие и все, что с ним связано. Обрати внимание, в нашем журнале эти статьи публикуются в разделе «Школа». Это означает, что рассматривать мы будем все по порядку - от простого к сложному. Читая каждую статью, ты будешь немножечко продвигаться в изучении возможностей платформы «1С:Предприятие». Я всегда считал и буду считать, что изучать язык программирования всегда следует на реальных примерах. Лишь практикуясь, можно добиться настоящего мастерства. Поэтому настоятельно рекомендую тебе повторять все описанные мной примеры.
Примеров будет достаточно много (запасись терпением :)), точнее в рамках этого цикла статей я рассмотрю процесс создания рабочей конфигурации, которую мы условно назовем «Видео-прокат». Как и следует из названия, разработанное нами решение будет предназначено для автоматизации деятельности видеосалона. Пока не буду раскрывать всех карт, но обещаю, что рассматриваемый пример будет максимально приближен к реальным условиям, а значит полученные знания ты запросто сможешь применить в своих проектах.
Теперь несколько слов о содержании первой статьи. В самом первом уроке я познакомлю тебя самыми основами 1 С: Предприятие. Ты узнаешь, для чего собственно нужна 1 С (как оказалось, многие до сих пор считают, что 1С — это непременно бухгалтерия или торговля) и терминами, понимание которых необходимо для изучения. В конце статьи мы рассмотрим установку 1С:Предприятие, создание новой информационной базы и пробежимся по основным объектам, с которым нам предстоит работать.
Ответ на этот вопрос очень простой, но почему-то многие затрудняются его дать, а если и отвечают, то в большинстве случаев неправильно. Итак, 1 С — это компания. Поэтому вопросы типа: «А сложно ли научиться программировать на 1С?», «Требуется 1С-Программист» - построены некорректно и равносильны: «А сложно ли научиться программировать на Microsoft» или «Требуется Embarcadero программист». Запомни раз и навсегда, 1С — это компания, у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. «1С:Предприятие» - конкретный продукт, который выпускает компания 1 С.
Для успешного изучения платформы 1С :Предприятия важно понимать для чего собственно она нужна. А нужна она для автоматизации экономической и организационной деятельности предприятия. Заметь, о бухгалтерии и торговле речь не идет. 1 С: Предприятие — это универсальная платформа, которую можно приспособить к деятельности абсолютно любого предприятия. Такая универсальность достигается за счет гибкой конфигурируемости. Каждое решение на 1С:Предприятие представляет собой отдельную конфигурацию. Если говорить простым языком, то конфигурация представляет из себя программу (так говорить не совсем верно, но для начала сойдет), для работы которой необходима платформа.
Если ты когда-нибудь слышал про язык программирования Java, то ты должен знать, что для работы написанных на нем программ необходима виртуальная машина. С 1 С: Предприятием ситуация аналогичная. Когда мы начнем разрабатывать нашу первую конфигурацию ты сможешь в этом убедиться. Пока тебе главное запомнить, что для работы любой конфигурации (программы) необходимо наличие платформы (1С:Предприятие).
«1С:Бухгалтерия» и т. д.
На основании полученных знаний в прошлом разделе раз и навсегда узнаем и запомним. 1С бухгалтерия — это на самом деле платформа 1С:Предприятие и типовая конфигурация (программа) «Бухгалтерия», назначение которой понятно из названия. Следовательно если ты в газете/на сайте видишь объявление «требуется 1С-программист», то это означает, что возможно тебе придется столкнуться или конфигурацией «бухгалтерия» или с «Управление торговлей» или вообще с самописным решением.
Когда я говорил, про конфигурацию «Бухгалтерия», то я применил к ней слово «типововая». Все конфигурации, разработанные на платформе «1С:Предприятие» принято классифицировать как типовые и не типовые. Типовые конфигурации — это те, которые выпускаются и поддерживаются компанией 1С. Среди таких: 1С бухгалтерия, 1С:Управление торговлей, 1 С: Зарплата и кадры и т. д. Не типовые — это все те которые разработаны другими компаниями или отдельными программистами. Я уже говорил, что знакомится с 1С :Предприятие мы будем на примере разработке своей собственной конфигурации. Наш проект будет является не типовой конфигурацией. Типовые конфигурации я рассматривать не планирую, но в будущем может что-то измениться и мы поковыряем бухгалтерию.
Когда лучше использовать 1С:Предприятие?
Все, что можно сделать на платформе 1 С:Предприятие, можно повторить на любых других системах разработки. Например, возможностей Delphi, Visual Studio без проблем хватит, на любую задачу. А раз возможностей Delphi (например) хватает, то зачем использовать 1С? Ответ прост до безобразия (во всяком случае это ответ, который я дал сам себе). Главная причина использования 1 С — скорость разработки решения. Если на Delphi тебе придется писать ту же бухгалтерию с нуля, то на 1 С: Предприятие у тебя уже есть готовая основа — типовая конфигурация «Бухгалтерия», которую ты можешь либо использовать полностью, либо взять отдельные элементы. Кроме того, 1 С:Предприятие аппетитно выделятся на фоне альтернативных решений. Среди ключевых особенностей платформы можно выделить:
1. Большое количество объектов метаданных, которых хватит для решения самых разнообразных задач. Тебе не нужно возиться с создание таблиц в самой БД. Все что ты делаешь — оперируешь объектами платформы, а она в свою очередь использует готовую структуру сервера БД.
2. Поддержка разных СУБД. 1С:Предприятие хорошо работает как с MS SQL Server, так и с бесплатной СУБД — PostgreSQL. Это означает, что делая выбор в пользу 1С:Предприятие, ты можешь сэкономить деньги на лицензиях. Считай, все, что тебе потребуется — купить сам 1С :Предприятие (+сервер приложений). PostgreSQL является бесплатной кросс-платформенной системой, а значит, для сервера с БД тебе подойдет любая unix-like ОС. Получается, что экономия более чем заметна — тебе не требуется серверная ОС от Microsoft, а также MS SQL Server.
3. Простота использования. Как ни крути, а работать с 1С:Предприятие проще, чем с голым СУБД. Встроенный язык программирования по синтаксису похож на паскаль (basic), большинство функций по конфигурированию выполняются мышкой и не представляют сложности. И самое главное - простота использования не сказывает негативного влияние на возможности системы. Они действительно большие и их хватит для многих проектов.
4. Наличие огромного числа специалистов. Сегодня найти специалиста по 1С:Предприятие гораздо проще, чем например, по C#. С одной стороны, такое положение дел весьма неплохое, т. к. найти человека, способного поддерживать/дорабатывать уже работающий проект очень легко.
5. Поддержка со стороны компании 1С. Компания «1С» как никто другой заинтересована в продвижении своих программных продуктов. И продвигает она не рекламой, а качеством и сервисом. По своему опыту могу сказать, что поддержка работает на должном уровне и большинство проблем решается быстро. Программисты компании также не сидят на месте и постоянно фиксят ошибки в платформе, выпуская новые релизы.
6. Поддержка типовых конфигураций. Законодательство в нашей стране меняется со страшной силой и такие перемены очень отражаются на бухгалтерии в виде изменения форм отчетности. Кто хоть раз сталкивался с бухгалтерией или торговлей может представить себе печатные формы отчетов-монстров (вроде Торг2, Торг12 и т. д.). Для правки этих отчетов при использовании сторонних бухгалтерских программ всегда приходилось нанимать программистов, т. к. работать с кодом бухгалтера не могут.
При использовании 1 С: Предприятие и типовой конфигурации «Бухгалтерия» проблема «доработки» стандартных отчетов отпадает раз и навсегда. Программисты компании «1 С» оперативно выполняют все необходимые модификации отчетов (и всех остальных элементов) и поставляют клиентам обновленные версии конфигурацией. Вот с обновлением конфигурации бухгалтер может справится самостоятельно (хотя тут все зависит от конкретного представителя этой расы пользователей :)). На крайний случай, всегда можно подыскать специалиста из франчайзи, услуги которого будут стоить намного дешевле, чем работа программиста.
Почему программисты 1С:Предприятия так востребованы?
Ответ на этот вопрос частично дан в предыдущем разделе, но если ты так и не понял сути, то сейчас я все повторю вновь. Итак, разработчики бизнес решений, создаваемых на платформе 1С :Предприятие так нужны, потому что решения, созданные на «1С :Предприятие» сильно распространены и сегодня используются почти в каждой компании. Под каждой подразумеваются даже очень маленькие предприятия. Бухгалтерию требуется вести везде и 1С :Предприятие с типовой конфигурацией — одно из лучше решений. Благодаря такой распространенности необходимость в специалистах возникает постоянно и если ты освоишь типовые конфигурации, то 90% будешь востребован и без работы сидеть не будешь (особенно в небольших городах). Универсальность платформы и соответствующая реклама делают 1С :Предприятие универсальным решением для многих отраслей. Практически все предприниматели знают, что 1 С: Предприятие — это программа, необходимая в любом предприятии, а раз так, то по их мнению ее обязательно нужно приобретать. Ну а раз так, то специалисты будут.
Именно из-за популярности и распространенности, разработчики, специализирующиеся на данной платформе будут востребованы еще очень долгое время. Реально сильных конкурентов, среди подобных решений можно пересчитать по пальцам. Не стоит думать, что 1 С: Предприятие — это идеальное ПО. Есть гораздо более мощные системы, но они очень мало распространены на российском рынке. Никто не решится создавать бухгалтерию для небольшой компании на той же монструозной Аксапте от Microsoft.
Еще один из плюсов 1С:Предприятие, влияющий на постоянный рост специалистов в этой области — проста изучения платформы. Если ты более-менее знаешь какой-нибудь язык программирования, то со встроенным языком платформы 1 С:Предприятие ты разберешься очень быстро. При его создании, разработчики приложили колоссальные условия и сделали его синтаксис похожим на одни из самых простых и популярных языков программирования среди начинающих — Basic и Pascal.
Первая боевая готовность
Все около 1С'ные нюансы мы рассмотрели, теперь пора переходить к практике. Я настоятельно рекомендую самостоятельно повторять всем описываемые мной действия. Только постоянная практика сможет сделать из тебя специалиста.
Что нам потребуется для тренировок?
Все что тебе потребуется — платформа 1С:Предприятие 8.1 и доступ в инет. Потребность в платформе, думаю ясна, а вот инет тебе обязательно пригодится для посещения нашего и около 1С'ных сайтов для получения новой информации поиска ответов на свои вопросы :).
Где взять 1С:Предприятие?
Ты знаешь, что продукт 1С:Предприятие является платным, следовательно, для тренировок тебе придется немного раскошелиться и приобрести специальную редакцию платформы - «Для обучения программированию». Ее цена достаточно низкая (около 500 руб), кроме того, вместе с платформой ты получишь дополнительные полезные материалы, которые будут способствовать ускорению твоего обучения.
Если денег лишних у тебя нет или ты их еще не зарабатываешь, то тогда к твоим услугам всевозможные трекеры и файлообменники. Там ты можешь найти любую версию платформы, а также все типовые конфигурации. Все доступно и все бесплатно. Правда незаконно, поэтому выбирая этот вариант, помни, что вся ответственность ложиться на тебя и только тебя.
Установка платформы 1 С:Предприятие не отличается от установки всех остальных Windows-приложений и заострять на ней внимание нет смысла. Я больше, чем уверен, что ты справишься с ней самостоятельно.
Создаем информационную баз данных
Чтобы начать разрабатывать свое первое решение на платформе 1С:Предприятие, в первую очередь надо создать информационную базу. Если тебя смутили слова «информационная база данных», то расслабься. Понятие ИБ тождественно привычному «БД».
Создать новую проще некуда. Запускай 1 С:Предприятие. После запуска твоему взору предстанет окно как на рисунке 1. Кроме окна выбора ИБ, 1С:Предприятие спросит тебя, «А не желаешь ли ты создать новую ИБ». У нас пока их нет ни одной, поэтому любезно согласимся.
Рисунок 1 (Окно «Запуск 1С:Предприятия»)
Если ты быстренько нажал на кнопку «Нет», то в этом случае, для создания новой БД тебе придется клацнуть по кнопе «Добавить». Справившись с этим простым действием, ты увидишь новое окно, в котором тебе предложат вариант создания новой ИБ. Среди вариантов тебе доступно целых два:
1. Создание новой информационной базы. Выбирая этот вариант, ты создаешь ИБ с нуля. 2. Добавление в список существующей ИБ. Вариант подойдет тем, у кого уже есть созданная ИБ.
Рисунок 2 (Добавление информационной БД)
Для нашего случая (как бы это странно не звучало) идеален второй вариант. Выбирай его и нажимай «Далее».
В третьем окне, мастер добавления новой ИБ попросит тебя ввести название для новой базы. Указанная здесь информация не на что не влияет и требуется лишь для того чтобы, ты сам мог различить одну базу от из другой. Поскольку мы собираемся проводить тренироваться м «ы будем на создании конфигурации «Видеосалон», то логичнее всего в качестве наименования логичнее всего ввести «Видеосалон». Вводим и опять жмем на «Далее».
В очередном окне от тебя требуется выбрать папку для хранения создаваемой базульки. Выбирай любую и жми «Готово». На этом шаге, создание новой информационной базы можно считать оконченным.
Режим работы 1С:Предприятия
Чтобы двигаться дальше тебе потребуется познакомиться с режимами работы платформы 1С:Предприятия. Их всего два (в отличии от версии 7.7) :
1. Предприятие. В этом режиме происходит работа непосредственно с созданной конфигурацией. Если провести аналогию с обычными программами, то этот тот режим, при котором ты непосредственно юзаешь прогу. 2. Конфигуратор. По другому его можно назвать режимом разработки. Именно в нем происходит процесс программирования, настройки и отладки конфигурации.
Начинаем работать с нашей ИБ
Сегодня мы не будем рассматривать серьезных вещей, а просто немного пощупаем платформу и познакомимся с некоторыми ее возможностями. Запускай свою базу в режиме «Конфигуратор». Сейчас перед тобой должно появиться окно вопроса с текстом «Информационная база не обнаружена! Создать новую?». Когда мы добавляли новую базу, то фактически определили лишь место ее хранения. Именно поэтому 1С:Предприятие и задала нам этот вопрос. Отвечаем утвердительно - «Да» и теперь перед тобой отобразиться окно конфигуратора (рисунок 3).
Рисунок 3 (1С:Предприятие в режиме «Конфигуратор»)
Пока оно особого интереса не представляет, т. к. выглядет совершенно пустым. Сейчас мы эту ситуацию поправим. Заходи в главном меню «Конфигурация» -> "Открыть конфигурацию». Произведя это действие, в левой части окна конфигуратора появится панель, на которой представлено дерево конфигурации. Древо конфигурации — это главный инструмент разработчика решений на платформе 1С:Предприятие. В нем перечислены все объекты из которых состоит конфигурация. В нашем случае она пуста, т. к. мы только приступаем к ее созданию. Все объекты конфигурации относятся к какой-либо группе. Например, объект «Справочник Сотрудники» будет относиться к группе объектов «Справочники». Едем дальше.
Я уже говорил, что лучше всего знакомиться с новой технологией на практике. Поэтому давай сейчас немного попрактикуемся и рассмотрим первый пример — создание нового справочника. Поскольку мы создаем конфигурацию «Видеосалон», то нам необходимо учитывать список наших клиентов. Вот сейчас мы и посмотрим как это можно сделать средствами платформы 1 С.
Знакомимся со справочниками
Перед тем как схватить мышку и выполнить несколько кликов, необходимых для создания нового справочника, давай разберемся, для чего же собственно предназначен объект типа «Справочник».
Объект конфигурации типа «Справочник» необходим для хранения списков данных. Грубо говоря, справочник в платформе «1 С: Предприятие» представляет из себя обычную таблицу. Для каждой такой таблицы (отдельного справочника) разработчик может определить дополнительные поля - реквизиты.
Сразу после создания у справочника имеется два предопределенных реквизита (их удалить нельзя):
1. Код. Хранит код (номер) элемента справочника. 2. Наименование. В этом поле (реквизите) содержится текстовое представление элемента справочника.
Для любого справочника, ты можешь создать любое количество реквизитов и хранить в них всевозможную информацию.
Все справочники подразделяются на:
1. Иерархические и не иерархические. Первые могут иметь группы и соответственно вложенность элементов. 2. Подчиненные. Такие справочники имеют должны иметь своего родителя - определенный разработчиком справочник.
Создаем первый справочник
О том, что представляют эти странные «справочники» мы рассмотрели, теперь самое время потренироваться и создать свой первый справочник. Ставлю задачу:
Создать справочник «Клиенты», в котором будет храниться список всех клиентов нашего видеосалона. В созданном справочнике должна быть возможность вносить отдельно полное наименование клиента. Кроме того справочник должен предусматривать создание групп элементов.
Условие задачи очень простое. Сейчас мы ее решим ©. Ну-с, приступим к реализации. Итак, найди в «Дереве конфигурации» группу объектов «Справочники». Щелкни по ней правой кнопкой крысы и выбери «Добавить». Откроется окно как на рисунке 4.
Рисунок 4 (Окно создания нового справочника)
В этом окне происходит вся настройка объекта типа справочник. Первым делом давай сменим имя нашего справочника. Сотри название «Справочник1» и впиши в этой поле название «Клиенты». Пока не обращаем внимания на поле ввода «Синоним» и оставляем все как есть. Переходим на закладку «Иерархия». Логично предположить, что всех клиентов мы как-нибудь должны классифицировать. Самый простой способ это делать - распределить их по группам. Для поддержки создания групп в справочнике нам нужно сделать справочник иерархичным, поэтому установи флажок для «Иерархический справочник». Остальные настройки иерархии я оставил по умолчанию. Если есть желание, то можешь с ними поэкспериментировать самостоятельно.
Одно условие задачи (я про создание групп) мы выполнили. Теперь остается добавить новый реквизит, который позволит хранить полное наименование клиента. Зачем, ведь мы можем хранить все в реквизите «наименование»? Да, можем, но лучше сделать отдельный реквизит для хранения полного наименования. Краткое наименование у нас будет отображаться в форме списка всех элементов справочника. По нему мы будем выполнять основной поиск. А полное наименование будет содержать полные инициалы клиента, а значит при необходимости, мы сможем отличить Иванова Ивана Ивановича от Иванова Игоря Игоревича.
Все новые реквизиты создаются на закладке «Данные» (рисунок 5), поэтому поспеши перейти на нее.
Рисунок 5 (Создание новых реквизитов)
Выдели группу «Реквизиты» и щелкни по ней правой кнопкой мыши. В появившейся менюшке выбирай «Добавить» и сразу смотри в правую часть окна конфигуратора. Там должна появиться панель свойств нового реквизита (рисунок 6).
Каждый реквизит должен иметь уникальное имя (в пределах одного объекта). Мы собирались хранить в созданном реквизите полное наименование клиента, а раз так, то в качестве имени укажем «Полное Наименование». Если у тебя уже есть опыт разработки БД, то ты должен знать, что каждое поле в таблице имеет определенный тип. С реквизитами в 1С :Предприятие то же самое. Для нашего реквизита подойдет тип «Строка». Этот тип ставится по умолчанию всем создаваемым реквизитам, поэтому менять на панели «Свойств реквизита» ничего не нужно. Строки могут быть большие, а могут быть короткие. Если в качестве типа реквизита используем «Строка», то мы должны указать максимальную длину хранимой строки. Длина задается в одноименном свойстве. Мы собираемся хранить в этом реквизите ФИО клиента, поэтому установим значение для свойства «длина» равным 50. Пятьдесят символов без проблем хватит для хранения даже самых длинных фамилий и имен.
Остальные свойства мы пока трогать не будем, поэтому закрывай панель свойств и окно настроек справочника «Клиенты». Условия задачи мы выполнили в полном объеме, и неплохо было бы провести первый тест. Находясь в конфигураторе, нажми клавишу F5. Эта горячая клавиша предназначена для запуска режима «Предприятие». Как ты помнишь, именно в этом режиме происходит вся работа с созданной конфигурацией.
Перед тем как запустить режим «Предприятие», конфигуратор задаст тебе вопрос о необходимости обновления конфигурации базы данных. Мы внесли в конфигурацию изменения, поэтому обновление просто необходимо. Уверенно отвечаем «Да» и видим, что режим «предприятие» так не запустился, но возникло еще одно окно - «Реорганизация информации», в котором отображается созданный нами объект «Справочник. Клиенты». Нажимаем в этом окне на кнопку «Принять» и вот только теперь начинается загрузка режима «Предприятие».
Рисунок 6 (Панель свойств нового реквизита)
Рисунок 7 (Вопрос о сохранении изменений конфы)
Окно платформы, работающей в режиме «Предприятие» ты можешь увидеть на рисунке 8.
Рисунок 8 (Режим «Предприятие»)
Пока мы создали только один объект - справочник для хранения клиентов. Доступ ко всем справочникам можно получить через меню «Операции» => «Справочники». Пройдя по этому пути, откроется окно «Выбор объекта: Справочник». В нем будут перечислены все созданные в конфигурации справочники. В нашем случае, он всего лишь один. Кликни по нему два раза и перед тобой во всей красе предстанет его форма (Рисунок 9).
Рисунок 9 (Основная форма справочника)
Вид формы сгенерирован платформой. При желании мы можем его изменить (но об этом не сегодня). Давай попробуем создать новую группу - VIP клиенты, а в ней любого клиента. Для добавления группы воспользуйся кнопкой «Добавить группу» на панели инструментов ока нашего справочника. После нажатия, появится окно, в котором необходимо заполнить реквизиты новой группы:
1. Код. Уникальный код группы. 2. Наименование. Название группы. 3. Родитель. Если мы создаем подгруппу, то здесь нужно указать родителя.
Значение поля «код» не трогай, а в качестве наименования вводи "VIP клиенты" и нажимай на кнопку Ok. Все, группа создалась (смотри в правую часть окна справочника). Теперь заходи в нее и нажимай либо кнопку «Добавить» на панели инструментов, либо клавишу Insert на клавиатуре. После этого действия, на экране появится примерно такое же окно, как и при добавлении новой группы. В нем тебе также нужно заполнить все те же поля, как и при добавлении группы «VIP клиенты», а также созданный нами реквизит полное наименование (Рисунок 10).