С помощью чего осуществляется разработка бизнес приложений в системе 1с предприятие 8

Платформа «1С:Предприятие» как средство разработки бизнес-приложений

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

Является ли «1С:Предприятие» средством разработки?

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

Видеоурок: настройка обмена между мобильным приложением (на базе 1С:Предприятие 8) и базой на ПК

Средство разработки 1С Предприятие

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

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

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

Разумеется, «1С:Предприятие» — не универсальное, а специализированное (предметно-ориентированное) средство разработки. Конечно, ни один инструмент не может претендовать на решение всех мыслимых проблем, однако универсальные средства разработки ориентированы на достаточно широкий спектр задач, а платформа «1С» — на задачи автоматизации бизнеса.

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

Особенности «1С:Предприятия» как предметно-ориентированного средства разработки

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

Средство разработки

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

Платформа «1С:Предприятие» содержит такие инструменты для выполнения поставленных задач, как визуальное описание структур данных, написание программного кода, визуальное описание запросов, визуальное описание интерфейса, описание отчетов, отладка программного кода, профилирование. В ее составе: развитая справочная система, механизм ролевой настройки прав, инструменты создания дистрибутивов, удаленного обновления приложений, сравнения и объединения приложений, ведения журналов и диагностики работы приложения, создания Web-приложений и приложений для КПК, а также поддержка коллективной разработки, версионирования и пр. Разумеется, список инструментов, необходимых для поддержки жизненного цикла, не является исчерпывающим, и нам есть куда развиваться. Например, в ближайшем будущем мы планируем поставлять средства управления тестированием (функциональным и нагрузочным). Кстати, они создаются на платформе «1С:Предприятие».

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

В «1С:Предприятии» процесс написания программного кода — не центральный элемент разработки ПО. Приложение разрабатывается прежде всего как структура метаданных. Код пишется в определенных узлах приложения «по необходимости», чтобы переопределить, если это нужно, стандартное поведение или написать ту часть бизнес-логики, которая требует именно алгоритмической формулировки, например расчет себестоимости. То есть имеется framework, задающий общий облик приложения, а приложение определяется как набор различных артефактов, которые функционируют в данном framework-е. Идея разработки на основе метаданных (metadata-driven) начинает активно использоваться и в универсальных системах, но в предметно-ориентированной среде разработки она дает существенно больший эффект, так как структура метаданных четко ориентирована на круг решаемых системой задач.

Один из моментов, обычно вызывающих споры, — принятое в «1С:Предприятии» построение основной части приложения на основе стандартных прототипов (patterns) прикладных объектов. Действительно, эта модель отличается от классического подхода (объектно-ориентированного программирования и работы с таблицами базы данных или отображаемыми в базу данных произвольными сущностями). Фактически система предоставляет не один базовый класс для построения прикладных объектов приложения, а несколько, каждый из которых имеет специализированную функциональность и предназначен для отображения в приложении объектов предметной области, обладающих схожими свойствами и ролью в бизнес-логике. Разработчик использует эти прототипы для создания объектов приложения, которые уже являются финальными (описывающими конкретные бизнес-сущности).

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

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

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

Разработка в «1С:Предприятии»

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

Можно привести и другие примеры. Механизм бизнес-процессов дает возможность организовать совместную работу пользователей. Реализация data-mining позволяет решать сложные задачи бизнес-анализа. Реализация отображения географических карт — решать задачи представления анализа бизнеса по регионам и задачи визуального представления транспортной логистики. И т. д.

Если проанализировать изменения, вошедшие в версию 8.1, то можно выделить такие новые технологии, как элементы SOA (Web-сервисы, XDTO) и система полнотекстового поиска. И та и другая технология сейчас на слуху и вызывают большой интерес у разработчиков. Но при разработке в универсальных системах включение их в проект обычно требует весьма существенных затрат, тогда как в «1С:Предприятии» затраты минимальны. Например, для предоставления пользователям возможности работы с полнотекстовым поиском нужно только, как говориться, поставить галочку. Такой подход позволяет разработчикам решений задействовать наиболее современные технологии прямо сейчас.

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

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

Здесь хочется сделать небольшое историческое отступление. В предыдущем поколении платформы «1С:Предприятие» (версиях 7.x) использовался другой подход, касающийся применения технологий. Система была в основном замкнута. Подход предполагал использование строго ограниченного набора средств и технологий. Разумеется, это в свою очередь существенно ограничивало и спектр применения системы — как по масштабированию решений, так и по широте областей применения.

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

Из перечисленного списка нетрудно понять, что в платформе появились более сложные предметы, требующие хорошего понимания, и само количество предметов стало больше. Как минимум, это видно по объему документации. Однако эта сложность не захлестывает разработчика приложения. Все механизмы можно использовать опционально и вводить по мере надобности. Ну и, разумеется, разработчику, переходящему с предыдущей платформы, нужно понимать, что это вполне разумная (и, по нашему мнению, в реализации «1С:Предприятия 8» — минимальная) плата за возможность использовать при быстрой разработке современные технологии и решать задачи, которые в версии 7.x не могли решаться в принципе.

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

Возможности применения

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

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

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

Возможности применения

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

Попробуем привести еще одно объяснение подхода платформы «1С:Предприятие». У Фреда Брукса в легендарной книге «Мифический человеко-месяц» изложен подход, согласно которому в любом процессе существуют сложности первого порядка (сущностные) и второго порядка (акцидентальные). Первые обусловлены сложностью самой решаемой задачи (предметной областью, многообразием вариантов, требованиями и т. д.), вторые являются «привнесенными». Они обусловлены использованием неадекватных инструментальных средств, методик, подходов к решению задачи и вполне могут быть исключены. Так, задача платформы «1С:Предприятие» — максимально исключить сложности второго порядка, предоставив разработчику возможность сосредоточиться на объективно существующих сложностях первого порядка.

Есть такая профессия!

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

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

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

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

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

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

Читайте также:  Роль бизнес аналитика в обосновании управленческих решений и направлений развития компании

Сергей Нуралиев — руководитель отделения разработки экономических программ фирмы «1С»

  • Транспортный налог в 1с 8.3 – расчет и начисление в 2021 году
  • Способы учета НДС в 1С Бухгалтерия 8.3
  • Правильный учёт излишков товара в 1С Бухгалтерия 8.3
  • Как в 1С 8.3 оформить возврат товара поставщику?
  • Создание номенклатуры в 1С 8.3

Источник: center-comptech.ru

С помощью чего осуществляется разработка бизнес приложений в системе 1с предприятие 8

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

Итак, мы находимся в главном окне конфигуратора – рабочей среде программиста 1С. Давайте осмотримся на местности.

Рис. 2. Главное окно конфигуратора.

Верхняя часть окна – меню и панели инструментов – достаточно типичная и останавливаться на них не будем. О предназначении отдельных команд будем говорить по мере необходимости в их использовании.

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

Каждый элемент дерева имеет свою специфику использования и набор инструментов для работы с ним. Так, если дважды щелкнуть по любому справочнику или документу, то откроется окно редактирования объекта (рис. 3), а если выбрать в контекстном меню пункт Свойства, справа появится панель свойств текущего объекта. Это второй основной инструмент разработчика, с которым он взаимодействует чаще всего. На рисунке 4 представлен пример рабочей среды с открытой панелью свойств.

Рис. 3. Пример окна редактирования объекта метаданных. Рис. 4. Пример рабочей среды в процессе разработки.

Задача на разработку: создание реестра счетов-фактур

У вас уже есть платформа 1С: Предприятие и установленная на ней конфигурация “1С: Бухгалтерия предприятия”. И теперь руководитель ставит перед вами задачу выполнить разработку нового функционала. В реальной жизни происходит примерно то же самое: на предприятии установлено некое типовое решение, но со временем появляется потребность адаптировать функционал конфигурации под специфику учета конкретного предприятия. Этим и займемся.

Ваша задача – разработать реестр счетов-фактур – вывести список документов, отобранный и отсортированный по определенным правилам.

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

Создание внешнего отчета

Существует три фундаментальных подхода к внесению доработок в 1С:

  • Внешние отчеты и обработки. Используются, как правило, для реализации разовых сервисных задач. Отчет/обработка – это отдельный внешний файл, который можно открыть в режиме использования 1С через меню Файл – Открыть и выполнить заложенную в него функцию. При этом сама конфигурация остается нетронутой;
  • Внесение изменений непосредственно в конфигурацию. Наиболее часто используемый подход при адаптации типовых решений. Конфигурация снимается с полной поддержки поставщика, и разработчик может вносить доработки непосредственно в объекты самой конфигурации. При этом появляется дополнительная необходимость в поддержке конфигурации при ее обновлении на новые версии поставщиком;
  • Разработка расширений. Это возможность расширить функционал конфигурации, не снимая ее с поддержки, с помощью дополнительно устанавливаемых “плагинов”, или “патчей”. Относительно молодая технология, которая стремительно набирает обороты и с каждой новой версией платформы предоставляет все больше возможностей.

Воспользуемся самым простым вариантом и создадим внешний отчет “Реестр счетов-фактур”. Для этого в меню “Файл” выбираем пункт “Новый” и создаем новый внешний отчет (рисунок 5).

В графе “Имя” напишите РеестрСчетовФактур, синоним будет присвоен автоматически, исправьте его на “Реестр счетов-фактур”. В поле “Форма отчета” нажмите кнопку открытия (с изображение лупы), откроется конструктор новой формы. Нажмите кнопку Готово, новая форма будет создана и открыта для редактирования.

Про имена и синонимы

Эти два свойства вы будете встречать практически везде: у объектов конфигурации, у подчиненных им объектов (форм, макетов и т.д.), у элементов формы, и… да везде. Сразу внесем ясность. Имя — это идентификатор объекта, который должен соответствовать определенным требованиям, например, начинаться с буквы и не иметь пробелов.

По имени объекта к нему можно обращаться из языка программирования 1С. Синоним – это представление объекта для пользователя. Именно в таком виде он будет представлен в интерфейсе приложения. На строку синонима не накладывается никаких ограничений.

Рис. 5. Создание нового внешнего отчета. Рис. 6. Создание новой формы отчета.

Редактор формы

Обзор редактора формы

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

Рис. 7. Окно редактора формы.

Визуальный редактор формы состоит из нескольких областей:

  • Область управления контентной частью формы (вверху справа). Отсюда начинается разработка формы – перечисляются реквизиты и команды, необходимые для размещения и управления информацией;
  • Область структуры элементов (вверху слева). Здесь находится перечень всех элементов формы и их структура размещения в виде дерева. Эта часть отвечает за то, как форма будет выглядеть, и за какие “ниточки” нужно потянуть, чтобы получить от нее желаемое поведение;
  • Область визуального представления (внизу). Представление того, какой эту форму будет видеть пользователь.

Для формирования реестра нам понадобится:

  • Выбор периода, за который формируется реестр;
  • Отбор по организации;
  • Кнопка формирования отчета;
  • Область вывода отчета.

Реквизиты формы

  • На вкладке “Реквизиты” создайте новый элемент, дайте ему имя ПериодОтчета и задайте тип СтандартныйПериод.

Рис. 8. Добавление реквизита “Период отчета”.

  • Теперь с помощью мыши перетащите новый реквизит в левую область, на вкладку Элементы. При этом период отобразится на форме в нижней части редактора.
  • Двойным щелчком по элементу откройте его свойства, и для свойства АвтоОтметкаНезаполненного укажите значение “Да”. Период на форме будет подчеркнут красным пунктиром, который появляется в случае, когда период не заполнен. Это – сигнал пользователю о том, что реквизит является обязательным, и без его заполнения отчет не сформируется.
  • Добавьте второй реквизит с именем Организация и типом СправочникСсылка.Организации. По аналогии разместите его на форме, только вместо свойства АвтоОтметкаНезаполненного установите свойство КнопкаОчистки в значение “Да”. У элемента Организация появится кнопка очистки в виде крестика. То есть, отчет можно будет сформировать как с отбором по определенной, выбранной, организации, так и с пустым значением этого поля. или по всем организациям базы данных.

Рис. 9. Новый реквизит и элемент формы Организация.

  • И наконец добавьте третий реквизит формы ПолеОтчета с типом ТабличныйДокумент, разместите его на форме и установите свойство ПоложениеЗаголовка в значение “Нет”. В это поле мы и будем выводить наш отчет.
  • Чтобы проверить, как форма будет выглядеть для пользователя, нажмите кнопку Проверка в командной панели области элементов. Форма должна иметь вид, представленный на рисунке 10.

Рис. 10. Проверка формы.

Основная компоновка формы завершена, но остался еще один важный элемент – кнопка, по нажатию на которую должно все произойти. Исправим этот недостаток.

Команды формы

Откройте вкладку Команды и создайте новый элемент. Задайте новой команде имя Сформировать, присвойте картинку СформироватьОтчет из библиотеки стандартных картинок, а свойству Отображение задайте значение “Картинка и текст”.

Рис. 11. Добавление команды “Сформировать отчет”.

Чтобы разместить кнопку на форме, перетащите ее на элемент “Командная панель” во вкладке Элементы и включите для созданного элемента “Кнопка” свойство КнопкаПоУмолчанию. Отображение кнопки на форме вы сразу не увидите, это связано с тем, что по умолчанию главная командная панель формы отключена. Зайдите в панель свойств самой формы (корневой элемент “Форма” во вкладке Элементы), и для свойства ОтображениеКоманднойПанели установите значение “Авто”.

Рис. 12. Размещение основной кнопки в командной панели формы.

В завершение конструирования формы создадим обработчик для нашей команды. Обработчик связывает элемент формы – или какое-либо действие над элементом – с кодом программы.

Откройте панель свойств команды и рядом со свойством Действие нажмите кнопку открытия . Среди предложенных вариантов обработчиков выберите “Создать на клиенте и процедуру на сервере” и нажмите ОК . После этого активируется редактор модуля формы, где уже заготовлена процедура для реализации алгоритма действия команды.

Рис. 13. Создание обработчика команды в модуле формы.

Проверка формы в режиме “1С: Предприятие”

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

Сохраните результаты своей работы (меню Файл – Сохранить). Файл внешнего отчета 1С имеет расширение .erf.

Запустите “Бухгалтерию предприятия” в пользовательском режиме, если она еще не запущена. Сделать это можно прямо из конфигуратора, через меню Сервис – 1С: Предприятие. В открывшемся окне информационной базы зайдите в главное меню, выберите пункт Файл – Открыть… и откройте ваш внешний отчет. Сейчас можно проверить, как работает выбор периода и организации.

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

Рис. 14. Пользовательский режим информационной базы.

Ваш первый код: собираем данные для отчета

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

Редактирование кода формы происходит в модуле формы, которая находится на вкладке Модуль окна редактора формы. Здесь уже создана основа обработчика для кнопки “Сформировать”.

Клиент-серверное программирование логики

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

Как видно на рисунке 13, для разделения контекста выполнения процедуры используются директивы компиляции перед объявлением метода, начинающиеся с символа «. Обработчики событий элементов формы активируются на стороне клиента. В нашем случае это процедура Сформировать() , в которой мы опишем проверку заполнения реквизитов формы и выдачу предупреждения пользователю. Здесь же вызывается серверная процедура СформироватьНаСервере() , в которой уже будем работать с данными таблиц базы, поскольку эти данные с клиента недоступны. Именно с этой целью на этапе создания обработчика мы выбрали вариант создания на клиенте с процедурой на сервере.

Первый код процедур

Напишите код клиентской процедуры Сформировать(), как показано ниже:

Рис. 15. Предупреждение пользователя.

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

Код нашей серверной процедуры будет выглядеть следующим образом:

Рис. 16. Получение справки по функции Следующий() в синтакс-помощнике.

А как отчет будет выглядеть? Знакомимся с макетом

Для формирования визуального представления отчета в 1С используется специальный объект Макет, который содержит шаблоны отдельных составляющих будущего отчета. Из этих шаблонов, или областей макета, посредством программного кода, отчет собирается с помощью специализированного объекта языка программирования ТабличныйДокумент.

Рис. 17. Создание макета отчета.

  • Из основного окна внешнего отчета, на ветке структуры Макеты вызовите команду “Добавить” контекстного меню. Откроется Конструктор макета, в котором укажите имя “Реестр” и оставьте тип “Табличный документ”. После нажатия кнопки “Готово” откроется пустой макет, похожий на таблицу MS Excel.
  • Работа с ячейками таблицы макета не должна вызвать затруднений, все настройки параметров и свойств выполняются все в той же Панели свойств.
  • В первой ячейке первой строки напишите заголовок отчета “Реестр счетов-фактур”. Увеличьте шрифт и задайте полужирное начертание.
  • В третьей строке дайте заголовки таблицы реестра в каждой отдельной ячейке столбца, в порядке: Дата, Номер, Контрагент, Сумма. Установите полужирное начертание и обведите контуры ячеек сплошной линией (рис. 18). Если выделить диапазон ячеек, то свойства можно менять для всех ячеек сразу.

Рис. 18. Настройка ячеек макета.

  • Теперь выделим оформленную шапку реестра в отдельную область, чтобы можно было к ней обращаться из кода программы. Для этого выделите строки шапки и нажмите кнопку Назначить имя в панели инструментов редактора макета. Задайте для области имя Шапка.

Рис. 19. Создание области макета.

  • Аналогично, четвертую строку выделите в отдельную область “Строка”, заполните ячейки строки теми же именами: Дата, Номер, Контрагент, Сумма. Установите свойство Заполнение этих ячеек в значение “Параметр”. Тем самым мы определили для области макета собственные параметры-ячейки, которые становятся доступны для заполнения из программного кода.

Внешний вид ячеек строки настройте на свое усмотрение. Для указания правил отображения даты и суммы используйте свойство Формат .

Рис. 20. Готовый макет реестра.

Выводим данные в табличный документ

Как я уже упоминал выше, для программного формирования отчета мы будем использовать специализированный объект языка программирования 1С ТабличныйДокумент. Объявим его создание в начале нашей процедуры и сохраним в отдельную переменную:

Рис. 21 Готовый отчет

Итоги

Поздравляю! Ваш первый отчет на 1С готов. За этот час вы освоили довольно много материала:

  • Познакомились с конфигуратором 1С: Предприятия;
  • Создали новый внешний отчет;
  • Освоили работу в редакторе формы;
  • Разработали макет печатной формы;
  • Научились получать данные документов, обрабатывать действия пользователя, работать с макетом и табличным документом с помощью языка программирования 1С.

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

И если вам интересно погрузитья в тонкости разработки, то вас ждет захватывающее путешествие в мир 1С. До новых встреч!

Если вы только собираетесь освоить платформу и хотите заниматься с практикующими профессионалами по систематизированной программе, обратите внимание на Факультет 1С-разработки от GeekBrains . Курс подойдет как начинающим программистам, так и пользователям системы 1С.

Всего за 8 месяцев вы научитесь разрабатывать конфигурации, сможете делать отчеты, обрабатывать информацию и конфигурировать ее. Овладеете грамотным составлением ТЗ, разберете реальные задачи, попрактикуетесь в создании кейсов. Вас подготовят вас к экзаменам «1С: Профессионал» и «1С: Специалист», а опытные HR-менеджеры помогут составить резюме и найти первую работу. Успешно завершившие курс студенты добавят в портфолио несколько кейсов и получат диплом о профессиональной переподготовке.

Онлайн-платформа гарантирует ваше трудоустройство после получения сертификата и сдачи экзамена.

Источник: proglib.io

Программный комплекс «1С:Предприятие 8.0» как платформа разработки бизнес-приложений КТПП

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

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

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

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

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

Модель как основа построения приложения

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

Модель — это вся идеология построения прикладного решения. Здесь и способы построения структур данных, и типы связей между данными, и принципы управления данными, и форматы описания бизнес-логики, и способы связи данных с объектами интерфейса, и разделение функциональности по уровням системы, а также многое другое.

Читайте также:  Столовая открыть бизнес отзывы

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

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

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

Управление данными

В системе «1С:Предприятие» все операции редактирования данных (создание, изменение и удаление) проводятся только с использованием объектной техники. Разработчики взаимодействуют с базами данных не на уровне записей, а с помощью объектов, соответствующих хранимым в базах данных сущностям.

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

Для изменения хранимых данных не требуется писать сложные запросы и преобразовывать результаты их обработки в объекты языка программирования. Достаточно получить объект из базы данных, изменить его свойства и снова сохранить. Разработчик при этом имеет возможность написать обработчики событий, связанных с изменением данных, выполняя с их помощью различные проверки и изменяя при необходимости другие данные. Система обеспечивает эффективную технологическую поддержку объектного подхода, осуществляя, например, кэширование объектов, контроль объектной и ссылочной целостности и т.д. Для чтения данных может использоваться как объектная техника, так и декларативный язык запросов, который основывается на обычном SQL, но имеет ряд существенных расширений.

Что в итоге?

Таким образом, в основе модели платформы «1С:Предприятие 8.0» лежит несколько общих принципов:

• инструментальные средства и архитектура платформы реализованы так, чтобы разработчик бизнес-приложения мог сосредоточиться на решении прикладных задач той или иной предметной области, максимально абстрагируясь от низкоуровневых технологий;

• вся разработка ведется в одной системе понятий, что значительно ускоряет обучение специалистов и повышает производительность их труда — от построения структур данных до проектирования элементов интерфейса и подключения средств интеграции;

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

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

Разработанная компанией APPIUS Сиcтема управления проектом и электронным архивом (1C-PDM) — яркая иллюстрация возможности создания сложных инженерных приложений на платформе «1С:Предприятие 8.0».

Иван Берендеев

Ведущий программист ЗАО «APPIUS», руководитель разработки 1С-PDM.

Источник: sapr.ru

Платформа «1С:Предприятие» как средство разработки бизнес-приложений

Тема 2. Пакеты прикладных программ

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

3. Система 1С:Предприятие

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

4. Платформа

Платформа представляет собой framework, в котором
функционирует прикладное решение:
•Платформа служит фундаментом для построения
прикладных решений,
•Платформа является средой их исполнения,
•Платформа содержит инструментарий, необходимый
для разработки, администрирования и поддержки
прикладных решений.
4

5. Система 1С:Предприятие

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

6. Система 1С:Предприятие

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

7. Метаданные — способ описания прикладного решения

Прикладное решение не пишется в прямом смысле на языке
программирования.
Язык программирования используется только там, где это действительно
необходимо.
В основе прикладного решения лежат метаданные.
Они представляют собой структурированное декларативное
его описание.
Метаданные образуют иерархию объектов, из которых
формируются все составные части прикладной системы и
которые определяют все аспекты ее поведения.
Фактически, при работе прикладного решения, платформа
«проигрывает» (интерпретирует) метаданные, обеспечивая
всю необходимую функциональность.
7

8. Метаданные — способ описания прикладного решения

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

9. Метаданные — способ описания прикладного решения

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

10. Система 1С:Предприятие

• Поскольку задачи автоматизации, как было упомянуто
выше, могут быть самыми разными, фирма «1C» и ее
партнеры выпускают прикладные решения, каждое из
которых предназначено для автоматизации одной
определенной области человеческой деятельности.
• В качестве примера существующих прикладных
решений можно перечислить следующие типовые
решения:
— 1С:Бухгалтерия 8 — универсальная программа
массового назначения для автоматизации
бухгалтерского и налогового учета, включая подготовку
обязательной (регламентированной) отчетности.
Это готовое решение для ведения учета в организациях,
осуществляющих любые виды коммерческой
деятельности: оптовую и розничную торговлю,
комиссионную торговлю (в том числе субкомиссию),
оказание услуг, производство и т. д.
— 1С:Предприятие
8. Управление торговлей — в комплексе
решает задачи управленческого и оперативного учета, анализа и
планирования; автоматизирует торговые, финансовые и
складские операции; обеспечивает современный уровень
10
управления предприятием.

11. Система 1С:Предприятие: прикладные решения

— 1С:Зарплата и Управление Персоналом 8 — предназначена
для комплексной автоматизации расчета заработной платы и
реализации кадровой политики предприятий. Это
прикладное решение нового поколения, в котором учтены как
требования законодательства, так и реальная практика
работы предприятий, а также перспективные мировые
тенденции развития подходов к мотивации и управлению
персоналом.
— 1С:Предприятие 8. Управление производственным
предприятием — является комплексным прикладным
решением, охватывающим основные контуры
управления и учета на производственном предприятии.
Решение позволяет организовать комплексную
информационную систему, соответствующую
корпоративным, российским и международным
стандартам и обеспечивающую Финансовохозяйственную деятельность предприятия.
— 1 С:Консолидация 8 — программный продукт,
предназначенный для решения широкого спектра задач по
подготовке и анализу корпоративной отчетности групп компаний
и филиальных структур в интересах внутренних и внешних
11
потребителей.

12. Система 1С:Предприятие: конфигурируемость.

Прикладное решение является по сути универсальным
и способно удовлетворить потребности самых разных
предприятий, работающих в одной области деятельности.
Но такая универсальность неизбежно приведет к тому,
что на конкретном предприятии будут использоваться
далеко не все возможности прикладного решения, а
каких-то возможностей в нем будет не доставать.
— Вот тут и выходит на передний план
конфигурируемость системы, поскольку платформа,
помимо управления работы конфигурацией, содержит
средства, позволяющие вносить изменения в
используемую конфигурацию. Более того, платформа
позволяет создать свою собственную конфигурацию «с
нуля», если по каким-либо причинам использование
типовой конфигурации представляется
нецелесообразным. (Поэтому мы так подробно говорим о
содержимом платформы 1С).
Для того чтобы обеспечить такие возможности,
система 1С:Предприятие имеет различные режимы 12
работы: 1С:Предпрuятие и Конфигуратор.

13. Система 1С:Предприятие: конфигурируемость.

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

14. Система 1С, адреса страниц сайта

• Главная: http://www.1c.ru/
• О фирме: http://www.1c.ru/rus/firm1c/firm1c.htm
• Технологическая платформа 1С:Предприятия 8
(версия 8.1.6)
• Подробнее на сайте: http://v8.1c.ru/overview/Platform.htm
• 1С:БУХГАЛТЕРИЯ 8 — ДОСТУПНО И ВСЕРЬЕЗ!
• Материал на сайте: http://v8.1c.ru/buhv8/
(В нижней части каждой HTML- страницы гиперссылка:
«Дальше»)
• Таким образом можно просмотреть обзор по методам и
способам бухгалтерского учета в ПО 1С
14

15. Система 1С, адреса страниц сайта

• Управление торговлей подробно на сайте:
http://v8.1c.ru/trade/index.htm
• Управление персоналом подробно на сайте:
http://v8.1c.ru/hrm/index.htm
• Управление производственным предприятием
подробно на сайте:
http://v8.1c.ru/enterprise/index.htm
• 1С-Логистика:Управление складом подробно на
сайте: http://v8.1c.ru/solutions/1c-logistica.htm
15

16. Система 1С, адреса страниц сайта

1С-ВИП Анатех: ABIS.ABC. Управленческий учет и
расчет себестоимости подробно на сайте:
http://v8.1c.ru/solutions/1c-vipanateh.htm
В левой части каждой страницы приведена
таблица с оглавлением, списком литературы и
другими сведениями (Можно посмотреть
деморолики о системе 1С):
16

17. Система 1С, адреса страниц сайта

В левой
части
каждой
страницы
приведена
таблица с
оглавлением,
списком
литературы
и другими
сведениям
и (Можно
посмотреть
деморолик
и о системе
1С)
17

Источник: ppt-online.org

«1С:Предприятие» как платформа разработки приложений

Начиная с середины 1997 года одной из постоянных тем наших статей (написанных в соавторстве с Ольгой Павловой) становится разработка приложений в среде MS Office. Надо сказать, что сама постановка проблемы «Office как платформа разработки» большинству разработчиков казалась в те времена несколько парадоксальной. Сейчас это уже никого не удивляет, и дальнейшее развитие идеи макропрограммирования с использованием VBA и системы готовых объектов выглядит вполне естественно.

Однако в нашем обзоре «Интеграция VBA в бизнес-приложения независимых разработчиков» (КомпьютерПресс 3’2000) мы отмечали два момента:

  1. Реализация внутреннего механизма настройки программ и включение в них дополнительных расширений являются объективной тенденцией развития функциональности самых различных приложений.
  2. MS Office является далеко не единственной платформой макропрограммирования.

Собственные наборы инструментальных средств разрабатывают многие компании (причем не только для внутреннего применения, но и для коммерческого распространения), в том числе и российские. Среди последних в первую очередь нужно выделить фирму «1C», которая предлагает на рынке самую массовую после MS Office платформу макроразработки бизнес-приложений — «1С:Предприятие».

В представлении большинства российских компьютерных пользователей фирма «1С» является прежде всего поставщиком коробочных программных продуктов для решения экономических задач предприятия (бухгалтерия, складской учет, кадры и пр.). Однако это не совсем верно — по мере развития своего бизнеса компания все в большей степени выступает в качестве разработчика инструментальной платформы, на базе которой партнеры и клиенты могут создавать собственные решения.

Итак, в этой статье не будет говориться о продуктах «1С» для конечного пользователя («Бухгалтерия», «Торговля» и пр.). Здесь я просто попробую поделиться своими впечатлениями об инструментальной среде «1С:Предприятие» с точки зрения VB-программиста, никогда серьезно не занимавшегося разработкой и эксплуатацией экономических задач.

Создание платформы

Говоря о механизмах внутреннего программирования приложений, можно условно выделить два уровня подобных технологий:

  1. Механизм, функционирующий в рамках базовых функций конкретного приложения (таковым, например, в свое время являлся WordBasic, который изначально был нацелен на специфику Word).
  2. Механизм, позволяющий создавать эти базовые функции и разрабатывать приложения с принципиально новой функциональностью.

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

Общая схема работы

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

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

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

Физически «Конфигурация» хранится в виде специального файла-контейнера 1cv7.md. Тренировочная система «Учет основных средств», создаваемая в течение пяти дней слушателями учебных курсов, имеет размер конфигурации около 350 Кбайт. «Комплексная конфигурация», поставляемая «1С» (Бухгалтерия, Заплата и Кадры, Торговый и складской учет), — почти 9 Мбайт.

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

Сейчас мы хотим познакомиться с технологией разработки, поэтому логично будет стартовать с нуля и просто создать новую информационную базу «Моя Тестовая База» (см. рис. 2). Однако в ответ на попытку начать с ней работу система выдаст сообщение «Ошибка загрузки метаданных» и завершит работу (хотя лучше было бы уточнить природу ошибки — отсутствие конфигурации).

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

Читайте также:  Бизнес процесс продажи примеры готовые

Первое знакомство с «Конфигуратором»

Запустим программу «Конфигуратор» с нашей пока пустой конфигурацией «Моя Тестовая База» и откроем в ней окно «Конфигурация» (рис. 3). Там мы увидим три вкладки, которые отражают взаимосвязанные составные части конфигурации:

  • структура метаданных;
  • набор пользовательских интерфейсов;
  • набор прав пользователя.

Попробуем пока разобраться с метаданными, которые определяют функциональность конфигурации. Это понятие обозначает совокупность объектов, являющихся базовыми конструкциями создания рабочих конфигураций. По своей сути такие объекты являются предопределенным программным аналогом реальных объектов из сферы предметной деятельности предприятий (см. таблицу).Например, объект «Справочник» предназначен для ведения любых списков однородных данных: справочников, картотек и пр. По характеру своего содержания этот объект в какой-то степени соответствует понятию «таблица» в таких базах данных, как Access, FoxPro и пр. Однако на этом же примере видны и различия в формировании и использовании объектов в системе «1С».

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

Однако то, что мы видим в окне «Конфигурация» при создании новой информационной базы, — это лишь список типов объектов, на основе которых мы можем создавать реальные объекты, предназначенные для конечного пользователя. (Если проводить сравнение с тем же VB, то это лишь панель инструментов, которые можно использовать для создания приложения.)

На рис. 4 приведен небольшой фрагмент описания фирменной комплексной конфигурации «Бухгалтерия+Торговля+Склад+Зарплата+Кадры», на котором видна только часть реализованных в ней справочников. Обратите внимание, что там представлена и структура данных справочника «Для Автотранспорта».

Еще один важный момент заключается в том, что все объекты «1С:Предприятия» объединены в группы — компоненты, отражающие их направленность на определенные предметные области: «Бухгалтерский учет», «Оперативный учет», «Расчет» (см. таблицу). Разработчику доступны те компоненты, которые входят в состав приобретенного им варианта продукта.

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

Кроме специализированных объектов, конфигурация содержит корневой объект, который в начальный момент носит название «Задача» (рис. 5). Его свойства определяют такие сведения, как идентификатор конфигурации, имя автора, специальные логотипы и графические заставки, некоторые базовые режимы работы конфигурации (например, выбор языка — русский или английский) и ряд других.

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

Первая программа на встроенном языке

Чтобы сделать что-нибудь работающее, откроем в нашей пока совсем пустой конфигурации «Тестовый пример» окно глобального модуля и напишем там код, приведенный в листинге 1.

Теперь запустим нашу отредактированную конфигурацию в среде «1С: Предприятие» (F11 или командой на панели инструментов). В окне сообщений в нижней части экрана появится информация о текущем времени, а если эта операция была проведена после 18 часов, появится окно с предупреждением и вопросом к пользователю (рис. 6). Все это сделала наша программа.

Посмотрим, что же она собой представляет, и немного познакомимся со встроенным языком (рис. 7).

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

Немного о встроенном языке

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

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

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

Очень просто решена здесь проблема разбивки текста на несколько строк. Например, оператор

Message (“Строка1 |Строка 2″)

автоматически сделает перевод строки в месте, обозначенном знаком «|», но только в первой позиции новой строки оператора. Это, конечно, гораздо удобнее, чем писать на VB:

Msgbox “Строка1” “Строка 2”

(Для «автоматизации» написания подобных строк в Office 2000 Developer появился даже специальный мастер.) Таких оригинальных и полезных решений в языке «1С:Предприятия» имеется довольно много. Однако при этом хотелось бы сделать и некоторые критические замечания.

Например, по целому ряду причин было бы полезно взять за основу синтаксис Basic, а не Pascal (хотя это утверждение является, конечно же, спорным). По крайней мере, обозначение конца оператора точкой с запятой является совершенно излишним — компилятор и без этого однозначно определяет конец оператора. К тому же обозначение конца оператора кодом перевода строки значительно упростит реализацию автоматического контроля синтаксиса непосредственно в процессе написания кода (чего, к сожалению, пока в этой системе нет).

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

Структура программного модуля

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

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

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

Простейший объект: константа

Самыми простыми объектами «1С:Предприятия» являются константы — постоянные или условно-постоянные (редко изменяемые) данные, которые могут использоваться во всех других объектах. Щелкнув правой кнопкой мыши название «Константы», мы увидим на дереве метаданных контекстное меню, с помощью которого можно создать новую константу. В нашем примере мы создали три таких объекта, принципы описания которых хорошо видны на вкладках соответствующего диалогового окна (рис. 8). Любопытно, что константа может представлять собой ссылку на сложный объект данных, например на элемент справочников или документ.

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

Сообщить(“Текущий курс доллара:” + Константа. — КурсДоллара.Получить(РабочаяДата()));

Формирование, просмотр и коррекция содержимого констант, как и всех других объектов, выполняются в среде «1C:Предприятие» (рис. 9).

Создаем адресную книгу

Попробуем сделать приложение (конфигурацию) «Адресная книга». Для этого лучше всего воспользоваться объектом «Справочник». Выберем команду контекстного меню «Новый справочник» и в появившемся диалоговом окне зададим его основные параметры и поля (рис. 10). Здесь следует отметить, что мы установили параметр «Длина кода» равным 0, то есть создаваемые нами элементы справочника не будут иметь внутренних уникальных кодов, с помощью которых выполняется их однозначная идентификация. (Другими словами, мы не воспользуемся одним из параметров, который наряду с другими механизмами системы обеспечивает ключевое достоинство «1С:Предприятие» — обеспечение ссылочной целостности информационной системы.) Механизм описания полей справочника в окне также является вполне очевидным.

Теперь нам нужно сформировать визуальные формы для ввода и просмотра данных. Выберем в диалоговом окне кнопку «Форма элемента» (ввод и просмотр отдельного элемента справочника). На экране появится прообраз этой формы с двумя обязательными кнопками ОК и «Закрыть», а поверх него — диалоговое окно «Размещение реквизитов». Обратите также внимание на появление внизу дополнительной панели инструментов для формирования диалоговой формы (рис. 11).

Здесь у пользователя имеется очень широкий набор возможностей по созданию диалогового интерфейса. Назову лишь некоторые из тех, отсутствие которых я всегда ощущал в VB. Например, при перетаскивании мышью реквизитов справочника на форме автоматически создаются соответствующие элементы управления, причем одновременно метка и поле ввода текста. Форма может состоять из нескольких слоев. Поэтому очень легко осуществляется настройка внешнего вида формы в зависимости от контекста задачи — требуется только выбрать нужный слой или их сочетание.

Сейчас мы не будем применять все эти изыски — просто нажмем кнопку «Вставить». Затем немного отредактируем созданную форму, разместив элементы управления в более продуманном порядке (рис. 12). Обратите внимание, что при желании мы можем создать программный модуль для данного диалогового окна, в котором, например, можно контролировать значимость вводимых параметров, выполнять автоматический расчет вторичных данных (при решении, в частности, финансовых задач вычислять стоимость в долларах по введенной рублевой сумме и текущему курсу валюты) и пр.

Аналогично сформируем «Форму группы», учитывая, что наша адресная книга может быть разбита на разделы по подразделениям предприятия (рис. 13). Далее таким же образом создадим «Форму списка» для просмотра нашей адресной книги в табличном виде (рис. 14).

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

Проводить сравнение разных инструментов — дело весьма щекотливое. Однако хотелось бы напомнить, что описание создания адресной книги на VB6 вылилось у нас в целую статью (КомпьютерПресс 7’98, с.187), а воспроизведение разработки самого приложения заняло бы не менее часа (там нужно было писать еще и программный код). С использованием же системы «1С:Предприятие» мы решили эту задачу, причем в расширенном варианте (в VB мы не создавали иерархическую структуру справочника), примерно за одну минуту, не написав ни строчки кода.

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

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

Это только вступление к настоящему изучению системы

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

17), которое включает ведение нескольких справочников, входных и выходных документов, журналов учета документов; формирование отчетных форм; модификацию пользовательского интерфейса и пр. (рис. 18). Однако здесь нужно еще раз напомнить, что это приложение реализовано с использованием только базовых объектов, без применения специализированных компонентов системы.

Я далек от мысли представить «1С:Предприятие» в качестве некой идеальной платформы создания бизнес-приложений. Ряд архитектурных идей и конкретная реализация отдельных элементов технологии кажутся мне не вполне совершенными. Хотя, разумеется, подобные оценки очень субъективны и могут быть предметом обсуждения. (Список моих «претензий» к VB гораздо шире.)

Но что бесспорно — в данном случае мы имеем дело с глубоко продуманной и четко реализованной технологией. Видно, что каждый ее элемент реализован в рамках единой концепции, и в этом плане очень показательно высокое качество документации для разработчиков.

Проводить параллели между «1С:Предприятием» и универсальными средствами быстрой разработки типа VB или Delphi можно лишь с большой долей условности. Инструментарий «1С» является более специализированным (если можно так выразиться, более «крупноблочным») средством, нацеленным именно на решение экономических задач.

В заключение хотелось бы затронуть такой принципиальный вопрос. В начале 90-х российские пользователи из числа «серьезных клиентов» явно отдавали предпочтение зарубежным программным разработкам. Объяснялось это отнюдь не преклонением перед Западом, а довольно меркантильными соображениями — надежностью поставщиков. (Основной аргумент против российских разработок звучал так: «А вы гарантируете, что ваша фирма будет существовать через пару лет?»)

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

  • ПК и комплектующие
  • Настольные ПК и моноблоки
  • Портативные ПК
  • Серверы
  • Материнские платы
  • Корпуса
  • Блоки питания
  • Оперативная память
  • Процессоры
  • Графические адаптеры
  • Жесткие диски и SSD
  • Оптические приводы и носители
  • Звуковые карты
  • ТВ-тюнеры
  • Контроллеры
  • Системы охлаждения ПК
  • Моддинг
  • Аксессуары для ноутбуков
  • Принтеры, сканеры, МФУ
  • Мониторы и проекторы
  • Устройства ввода
  • Внешние накопители
  • Акустические системы, гарнитуры, наушники
  • ИБП
  • Веб-камеры
  • KVM-оборудование
  • Сетевые медиаплееры
  • HTPC и мини-компьютеры
  • ТВ и системы домашнего кинотеатра
  • Технология DLNA
  • Средства управления домашней техникой
  • Планшеты
  • Смартфоны
  • Портативные накопители
  • Электронные ридеры
  • Портативные медиаплееры
  • GPS-навигаторы и трекеры
  • Носимые гаджеты
  • Автомобильные информационно-развлекательные системы
  • Зарядные устройства
  • Аксессуары для мобильных устройств
  • Цифровые фотоаппараты и оптика
  • Видеокамеры
  • Фотоаксессуары
  • Обработка фотографий
  • Монтаж видео
  • Операционные системы
  • Средства разработки
  • Офисные программы
  • Средства тестирования, мониторинга и диагностики
  • Полезные утилиты
  • Графические редакторы
  • Средства 3D-моделирования
  • Веб-браузеры
  • Поисковые системы
  • Социальные сети
  • «Облачные» сервисы
  • Сервисы для обмена сообщениями и конференц-связи
  • Разработка веб-сайтов
  • Мобильный интернет
  • Полезные инструменты
  • Средства защиты от вредоносного ПО
  • Средства управления доступом
  • Защита данных
  • Проводные сети
  • Беспроводные сети
  • Сетевая инфраструктура
  • Сотовая связь
  • IP-телефония
  • NAS-накопители
  • Средства управления сетями
  • Средства удаленного доступа
  • Системная интеграция
  • Проекты в области образования
  • Электронный документооборот
  • «Облачные» сервисы для бизнеса
  • Технологии виртуализации
1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12

Источник: compress.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
Бизнес для женщин