Интернет-курс по дисциплине
«Администрирование и конфигурирование СУБД
1С:Предприятие»
Для специальности: «Прикладная информатика (в экономике)»
Кафедра Системного программирования
Литвинович С.Г.
Интернет-курс по дисциплине
«Администрирование и конфигурирование СУБД
1С:Предприятие»
Для специальности: «Прикладная информатика (в экономике)»
Содержание
Тема 1. Архитектура системы «1С:Предприятие» и ее концепция
Вопрос 1. Этапы современного развития программного обеспечения на платформе «1С:Предприятие».
Вопрос 2. Архитектура системы «1С:Предприятие».
Вопрос 3. Система защиты прикладных решений системы «1С:Предприятие».
Вопрос 4. Объектная сущность системы «1С:Предприятие».
Тема 2. Объекты конфигурации. Их характеристика, основные свойства и методы
Вопрос 1. Классификация объектов конфигурации системы «1С:Предприятие».
Вопрос 2. Функциональность системы «1С:Предприятие».
Вопрос 3. Свойства объектов конфигурации.
Вопрос 4. Формы и макеты объектов конфигурации.
Тема 3. Администрирование системы «1С:Предприятие» и ее прикладных решений
Вопрос 1. Установка и обновление системы и конфигураций.
Вопрос 2. Доступ к работе в системе и контрольные функции.
Вопрос 3. Обеспечение безопасности системы «1С:Предприятие».
Тема 4. Конфигурирование на платформе «1С:Предприятие»
Вопрос 1. Конфигурируемость системы «1С:Предприятие».
Вопрос 2. Технологические средства конфигурирования системы «1С:Предприятие».
Вопрос 3. Работа с конфигурацией и ее объектами.
Вопрос 4. Палитра свойств объекта конфигурации.
Тема 5. Встроенный язык. Основы программирования в системе «1С:Предприятие»
Вопрос 1. Назначение и краткая характеристика встроенного языка.
Вопрос 3. Формат программного модуля.
Вопрос 4. Конструкции встроенного языка.
Вопрос 5. Процедуры и функции.
Начав в 2003 г. активное продвижение следующего поколения решений «1С:Предприятие 8» на относительно новом для себя рынке корпоративных клиентов, фирма «1С» оказалась в необычном для себя положении. До того компания традиционно выступала технологическим «локомотивом» для своих потребителей из сектора малого бизнеса: ее разработчики постоянно опережали текущие потребности клиентов. На среднем рынке ситуация иная – у заказчиков уже давно сформировались в целом высокие требования к информационным технологиям (ИТ), а к появлению новых поставщиков здесь относятся достаточно настороженно.
Поэтому, несмотря на очевидный успех деятельности «1С» в этом направлении, ситуация пока больше напоминает некий «испытательный срок», в течение которого фирма должна показать не только возможность применения своего программного обеспечения (ПО) в реальных условиях у корпоративных пользователей, но и готовность к динамичному развитию технологий для обеспечения растущих потребностей клиентов.
Если же говорить о технологических проблемах развития экономического ПО «1С», то, безусловно, одна из главных задач (хотя, конечно, далеко не единственная) – это повышение производительности и масштабируемости (ПиМ) ее прикладных решений. О том, что «1С» признает важность этих вопросов, говорит хотя бы тот факт, что сама фирма после выпуска платформы «1С:Предприятие 8.0» начала регулярно официально знакомить ИТ-общественность с результатами тестирования в этой области. Показательно и то, что первое существенное технологическое обновление платформы «1С:Предприятие 8», выпуск новой версии 8.1, было связано в значительной степени именно с решением задач масштабирования и производительности.
Производительность и масштабируемость.
Два понятия, производительность и масштабируемость – это непременная составляющая обсуждения любых технологий корпоративного уровня, и именно в такой связке они даже используются как некая самостоятельная характеристика.
Понятие производительности ERP-систем связано со способностью выполнения транзакций в многопользовательском режиме. В этом плане важны две основные характеристики: общее число транзакций в единицу времени и время исполнения одной транзакции. Однако обе эти характеристики динамические – они зависят от числа поступающих запросов на транзакции, а применительно к традиционным внутрикорпоративным ERP-решениям – от числа активно работающих пользователей (АРП).
Под масштабируемостью понимается способность системы увеличивать свою производительность за счет подключения дополнительных вычислительных ресурсов, как аппаратных, так и программных. Соответственно масштабирование – это способ повышения производительности системы за счет ее масштабируемости.
При этом под увеличением вычислительных ресурсов чаще всего подразумеваются аппаратные компоненты системы (расширение памяти, увеличение мощности процессора и числа процессоров, создание кластеров и т. д.). Но не следует забывать и о возможности совершенствования программной части – как ее отдельных элементов (например, за счет применения более мощных СУБД), так и базовой платформы в целом. Применительно к «1С:Предприятие» это может быть переход от файлового варианта к клиент-серверному, от одной платформы к другой.
Однако, масштабирование – это не единственный, а зачастую и не самый эффективный способ повышения производительности системы. Например, для того же Web-сервера этого можно достичь за счет оптимальной настройки, в том числе на базе анализа условий его работы, характера потока запросов. И уж тем более это относится к многофункциональным, распределенным ERP-системам. Тут есть огромные возможности, связанные с реинжинирингом проекта, если понимать этот термин в самом широком смысле – от изменения бизнес-процессов предприятия до оптимизации программного кода.
Развитие технологий фирмы «1С».
В той или иной мере, но задача повышения ПиМ прикладных систем на базе «1С:Предприятие» в условиях роста нагрузки решалась всегда. Но в силу исторических причин ранее, до выхода версии 8.0, эта задача выполнялась фактически исключительно способами реинжиниринга, так как возможности масштабирования были минимальны. С выходом фирмы «1С» на корпоративный рынок в технологическом отношении на первом плане оказалась именно проблема повышения масштабирумости и более того – снижения зависимости от технологического реинжиниринга при реализации конкретных проектов.
Имея в виду стратегическую задачу выхода на более высокий уровень заказчиков, разработчики «1С» после выпуска версии 7.0 могли следовать сценарию эволюционного развития с учетом своих традиционных технологий, или пойти путем создания решений для среднего бизнеса на какой-то качественно иной архитектурной базе. Вероятно, оба варианта могли оказаться успешными, но «1С» выбрала первый, жизнеспособность которого убедительно продемонстрировали в 90-х гг. Microsoft и Intel. И, естественно, столкнулась при этом с необходимостью решения тех же проблем, что и ее предшественники, – в частности, проблемы унаследованных архитектурных ограничений.
В новой версии платформы фирма «1С» серьезно скорректировала архитектуру системы, пойдя на нарушение информационно-программной совместимости с версией 7.7. Но ключевой идеологический подход остался прежним, и в контексте темы ПиМ тут стоило бы выделить два момента: выполнение основной вычислительной обработки на клиентской части, а также четкое деление системы ПО на две самостоятельные составляющие: технологическая платформа (среда исполнения и средства разработки) и прикладные решения на ее основе.
Конечно, подобное деление (платформа и решение) в том или ином виде имеется у любого разработчика крупной программной системы. Но только фирма «1С» довела этот подход до логического конца: она полностью уравняла в возможностях разработки и модификации прикладных решений своих собственных и внешних разработчиков. Таким образом, все желающие (партнеры, заказчики) могут не просто дорабатывать прикладные решения, но и изменять их на уровне базовой бизнес-логики, а также создавать собственные «с нуля».
Став в свое время на этот путь, «1С» радикально решила вопрос гибкости настройки и расширения своих приложений, делегировав эти полномочия широким массам партнеров и клиентов. Но при этом нужно было помнить о другой стороне вопроса – обеспечении надежности и устойчивости работы программ, особенно учитывая тот факт, что средняя квалификация десятков тысяч специалистов в компаниях-франчайзи не столь высока, как в элитной команде разработчиков «1С».
Необходимо отметить, что уже много лет традиционный упрек ряда экспертов в адрес ПО фирмы «1С» (версии 7.x) заключается в использовании не слишком эффективного, с их точки зрения, механизма обработки параллельных запросов к базам данных, что создает очевидное препятствие для повышения мощности прикладных систем «1С» в целом. Однако, достаточно жесткий механизм блокировок доступа вполне оправдан с точки зрения надежности функционирования прикладного решения в условиях возможной коррекции его программного кода специалистами, квалификация которых на массовом рынке варьируется в довольно широком диапазоне.
Из всего ранее сказанного следует, что в прикладных решениях на платформе «1С:Предприятие» за решение задач ПиМ отвечают и платформа, и прикладное решение. А, учитывая широкие возможности настройки прикладного решения, вплоть до изменения бизнес-логики ядра, заказчикам, выбравшим технологии «1С», нужно четко понимать: масштабируемость и производительность (мощность) внедряемых у них информационных систем зависят не только от качества собственно продуктов «1С», но и от квалификации тех специалистов, которые реализуют конкретные проекты.
И еще одно важное следствие: усиление мощности базовых технологий «1С» во многом связано с предоставлением более гибких и широких возможностей на уровне прикладного ПО. Это, в свою очередь, опять же повышает квалификационные требования к разработчикам и внедренцам.
Ориентация продуктов фирмы «1С» на корпоративный рынок.
Вопросы ПиМ для фирмы «1С» непосредственно связаны с ее продвижением на корпоративный рынок средних и крупных заказчиков.
С точки зрения ИТ для характеристики «среднего рынка», наверное, лучше использовать подход (его придерживается, в частности, Microsoft), согласно которому к категории средних относятся предприятия с числом установленных ПК в диапазоне от 25 до 500 (midmarket). При этом выделяются две группы: 25-50 ПК (lower) и 50-500 ПК (upper), что принципиально важно. В организациях первой группы, как правило, нет выделенного штатного ИТ-специалиста, и большинство ИТ-решений принимает непосредственно руководитель компании. У upper-компании уже есть хоть и небольшое, но выделенное ИТ-подразделение, которое в той или иной степени причастно к реализации проектов, а его руководитель напрямую участвует в выработке решений. ИТ-решения принимаются на основе долгосрочного планирования, в увязке с состоянием и перспективой развития ИТ-инфраструктуры предприятия в целом.
Казалось бы, с точки зрения поставщика главный показатель — это не столько размер компании-клиента, сколько размер конкретного проекта. И тут тоже можно выделить категории по принципу «мало-средне-крупный» с привязкой, скажем, к числу автоматизированных рабочих мест. На самом деле уровень самого заказчика все же очень важен, так как именно он определяет стиль принятия решений и реализации проектов, перспективы развития сотрудничества и т. п.
В последние несколько лет фирма «1С» продвигается именно в сегмент upper-midmarket, и соответственно успех этого продвижения определяется не только развитием технологий, но и коррекцией бизнес-модели (поставщик-партнеры-заказчики). Суть изменений выглядит примерно так. Раньше ИТ-заказчиком выступал главный бухгалтер, теперь – профессиональный ИТ-директор со своей командой специалистов. Раньше речь шла о решении автономной задачи автоматизации, а сейчас – о внедрении интегрированного компонента корпоративной системы в целом. Раньше бизнес-целью заказчика было выжить в условиях рынка, сейчас – динамично развиваться и развиваться на многие годы вперед...
Что же касается проблематики ПиМ, то она крайне важна именно для среднего рынка в силу динамичности развития его игроков и соответственно расширения круга и масштаба решаемых ими ИТ-задач.
Строго говоря, подготовка к выходу на lower-midmarket в «1С» началась в 1996 г., когда фирма представила свой первый продукт нового поколения. Примечательно, что это была не традиционная «1С:Бухгалтерия», а «1С:Торговля», изначально ориентированная на многопользовательскую работу. Отметим и то, что ни о какой технологической платформе 7.0 тогда не было и речи – не потому что не было самой платформы, а потому что «1С» не хотела в те времена использовать подобные «громкие» слова, считая, что технические вопросы – это ее сугубо внутреннее дело. Тогда же впервые в дополнение к файл-серверному варианту системы появился двухзвенный клиент-серверный, реализованный на базе СУБД Btrieve, на смену которому два года спустя пришла система в составе «1С:Предприятие 7.5» и Microsoft SQL Server 6.5. А за точку отсчета для начала серьезной работы на lower-midmarket, наверное, стоит принять лето 1999 г., когда на рынке появились «1С:Предприятие 7.7» и Microsoft SQL Server 7.0 (известный в те времена проект «777»), для применения которых уже «созрели» и заказчики, и партнеры.
Однако примечательно, что вопросы ПиМ применительно к «1С:Предприятие» версии 7 сама «1С» никогда не поднимала. Даже говоря о достоинствах клиент-серверного варианта, специалисты фирмы осторожно советовали применять эту схему при числе пользователей более 10-15, но какие-то верхние пределы никогда не назывались. Никаких публичных сравнений показателей работы клиент-сервера и файл-сервера также не проводилось; более того, подчеркивалось, что преимущества первого варианта заключаются не столько в более высокой производительности, сколько в увеличении надежности системы.
Какие-то внутренние тестовые исследования производительности наверняка имели место, но все же основная стратегия «1С» в этом вопросе тогда сводилась скорее к «разведке боем» - проверке возможностей своего ПО путем практической реализации проектов партнерами. Этот опыт показал, что на базе «1С:Предприятие 7» можно создавать системы с числом АРП примерно от 25 до 70. Но для этого требовались достаточно серьезные усилия со стороны внедренцев, и такие задачи были по силам уже далеко не всем партнерам.
Сама «1С» отмечает, что на базе «1С:Предприятие» версии 7 были реализованы и более масштабные проекты – с числом рабочих мест более 100. Но в целом специалисты «1С» признают: реализация проектов на базе версии 7 с числом рабочих мест более 30-50 требовала от внедренцев достаточно серьезных усилий.
Ограничения роста производительности двухзвенной системы клиент-сервер были вполне понятными, так как фактически она представляла собой лишь более совершенный вариант файл-серверной системы. В принципе современные СУБД могут использоваться для исполнения бизнес-логики, но в силу архитектурных особенностей «1С:Предприятие 7» эти возможности «1С» просто не могла задействовать. В этой ситуации даже повышение мощности сервера СУБД (например, за счет использования многопроцессорных компьютеров) не приводило к заметному изменению общей производительности системы.
Для понимания причин этого нужно иметь в виду, например, что «1С:Предприятие 7» была изначально построена по схеме блокировок на уровне таблиц и реализации бизнес-логики обработки запросов к базе данных (БД) на клиентской части. Объяснить выбор такой простой архитектуры обмена данными довольно легко: в тот момент обеспечение надежной работы сложных прикладных решений на массовом рынке было важнее повышения производительности.
Впрочем, были, конечно, реинжиниринговые методы повышения производительности, которые уже выходят за рамки применения стандартной клиент-серверной схемы «1С:Предприятие 7». Частый случай – использование терминального режима работы (Windows Terminal Server). Но, строго говоря, данный вариант предполагал не столько повышение производительности, сколько оптимизацию затрат на оборудование. Более радикальный подход – использование распределенных баз данных, когда единая система разбивается на несколько автономных подсистем (например, однородных, но географически распределенных или локальных, но неоднородных), которые могут работать в основном в автономном режиме, периодически взаимодействуя между собой и синхронизируя общие массивы данных. Однако нужно иметь в виду, что в этих случаях речь идет о реализации достаточно сложных проектов, в успехе которых ключевая роль отводится квалификации внедренцев. При этом применение методов реинжиниринга имеет свои очевидные ограничения.
При создании платформы «1С:Предприятие 8», в отличие от версии 7, задача повышения ПиМ уже была определена в качестве одной из главных. Вопросы ПиМ применительно к версии 8 довольно часто связываются с реализацией трехзвенной архитектуры и появлением сервера «1С:Предприятие 8». Но такой взгляд не совсем верен. Возможности улучшения ПиМ в данном случае обеспечиваются за счет серьезной переработки внутренней архитектуры платформы, что и сделало реальностью создание сервера «1С:Предприятие 8».
Говоря о платформе «1С:Предприятия», часто упоминается то, что ее развитие во многом определяется требованиями поддержки унаследованных решений, существенно ограничивающими свободу действий разработчиков. Но этот тезис требует уточнения. Дело в том, что при переходе от 7.7 к 8.0 фирма «1С» как раз нарушила совместимость прикладных решений – как по данным, так и по программному коду, – но при этом сохранила верность некоторым базовым концепциям 7.7.
Кроме того, в «1С:Предприятие 8» нужно выделить два основных технологических момента: переработку объектной модели (в которой помимо всего прочего был сделан акцент на многопользовательскую работу и создание более сложных прикладных решений) и создание нового, более эффективного механизма работы с базой данных. Здесь отдельно нужно отметить переход к управлению блокировками на уровне записей, а не таблиц. Собственно, именно в версии 8.0 впервые появился достаточно серьезный механизм управления данными, который можно было размещать либо на клиентской части (для файлового варианта), либо на сервере. Соответственно масштабирование серверной части (сервер + СУБД) обеспечивалось двумя взаимодополняющими вариантами: использованием многопроцессорных конфигураций (реализация многопотоковой обработки на сервере и на СУБД) и разнесением сервера и СУБД на разные компьютеры.
Таким образом, появление «1С:Предприятие 8» позволило фирме «1С» начать публичное обсуждение вопросов ПиМ своих технологий. Эта тема была обозначена уже при объявлении бета-версии в 2003 г., когда были впервые представлены результаты проведенного нагрузочного тестирования. Более детальное исследование ПиМ было выполнено фирмой «1С» уже после выпуска рабочей версии 8.0. В целом результаты испытаний достаточно хорошо демонстрировали не только архитектурные преимущества 8.0 перед 7.7 в плане повышения производительности для одной и той же аппаратной конфигурации, но и существенные возможности масштабирования в версии 8.
Версия 8.1 — кластерный сервер.
Достигнутый существенный прогресс в направлении ПиМ все же был недостаточен для полного охвата потребностей среднего рынка. В то же время корпоративный заказчик смог оценить новые возможности платформы, поверил в них и требовал «продолжения банкета». Форсированный выпуск в конце 2006 г. версии «1С:Предприятие 8.1», в которой ПиМ была уже не «одной из», а главной задачей, стал ответом на эти потребности рынка.
В плане ПиМ в версии 8.1 нужно выделить два направления работ: усовершенствование уже существующих механизмов платформы и реализацию качественно новых возможностей.
Первое направление включало оптимизацию исполнения кода, написанного на встроенном языке, внутренней параллельности сервера «1С:Предприятие», обмена данными между клиентом и сервером, алгоритма записи движения документов и ряда других средств. Тут нужно особо выделить новые варианты работы с управляемыми блокировками транзакций: фактически разработчики «1С» наконец решились предоставить возможность переноса управления блокировками с уровня СУБД на уровень прикладных решений. Но повышение параллельности потребует доработок прикладных решений, а значит, результат оптимизации будет больше зависеть от квалификации разработчиков последних.
Принципиальное новшество в «1С:Предприятие 8.1» – переработанная архитектура клиент-серверного варианта, которая помимо прочего теперь строится на использовании протокола TCP/IP (вместо COM+). Именно это обеспечило работу сервера под управлением не только Windows, но и Linux, а также реализацию кластера серверов «1С:Предприятие».
Если сервер «1С:Предприятие 8» представлял собой один рабочий (хотя и многопотоковый) процесс, то теперь кластер серверов поддерживает параллельное функционирование нескольких таких процессов, которые, в свою очередь, могут работать как на одном компьютере, так и на разных. Управление этой структурой идет через центральное серверное приложение (менеджер кластера), которое распределяет нагрузки (клиентские соединения) между рабочими процессами. Простейший кластер содержит один рабочий процесс, исполняемый на одном компьютере, – в этом случае используется термин сервер «1С:Предприятие 8.1».
В последние годы во всех нагрузочных тестах «1С» используется программная имитация работы пользователя, при этом темп работы «тестового пользователя» существенно выше, чем у реального среднестатистического (в данном случае соответственно 965 и 300 строк документа в час). Нагрузочные тесты, проведенные в 2007 г. продемонстрировали преимущества работы версии 8.1 по сравнению с 8.0 даже в случае использования одного компьютера-сервера: у «1С:Предприятие 8.0» при числе тестовых пользователей более 100 начинается заметная деградация общей пропускной способности системы, а при нагрузке более 150 пользователей этот показатель просто перестает расти. В то же время для «1С:Предприятие 8.1» продолжается практически линейный рост производительности. Причем при проведении тестовых испытаний на пиковых нагрузках (демонстрация масштабирования за счет применения кластера) результаты показали, что при использовании одного компьютера-сервера пропускная способность 8.1 возрастает в 2,28 раза, а в случае двух компьютеров – в 3,83.
Кроме того, по данным фирмы «1С», анализ проектов, уже реализованных на платформе 8.1, подтверждает возможность увеличения числа АРП в реальных условиях в среднем до 200-300 даже для одиночного сервера.
Версия 8.2 – «управляемое приложение».
Представляя еще в 2006 г. перспективы развития «1С:Предприятие 8», разработчики «1С» заявили, что у них есть ближние и дальние планы. Ближние планы были реализованы с выпуском версии 8.1, а к середине этого же года уже был представлен следующий шаг в виде проекта «Управляемое приложение».
Цель нового проекта сводилась к повышению управляемости прикладных решений, но на самом деле она имеет непосредственное отношение к вопросам ПиМ, так как повышение ПиМ напрямую связано с переносом вычислений с клиента на сервер. В принципе сервер «1С:Предприятие» уже мог выполнять функции управления запросами к базе данных и бизнес-логику, но исторически «1С:Предприятие» была построена как клиентская платформа, и это создавало сложности для переноса бизнес-логики на сервер. Таким образом, проект «Управляемое приложение» требовал достаточно радикальной переработки платформы, что позволило бы реализовать идею тонкого и Web-клиента с перемещением функций обработки на сервер.
Таким образом, в новейшей версии технологической платформы «1С:Предприятие 8.2» реализованы принципиальные изменения и усовершенствования, наиболее существенные с момента выпуска «1С:Предприятия 8». В числе ее преимуществ – широкие возможности выбора архитектуры, на которой будет работать система, возможность предоставления прикладных решений в аренду и использования их как сервисов (в центрах обработки данных, по модели ASP и SaaS). Пользователи могут работать с системой в режиме веб-клиента через обычные интернет-браузеры, в том числе с мобильных устройств и по мобильным каналам связи. Технология «веб-клиент» позволяет работать с системой пользователям, на компьютерах которых само «1С:Предприятие» не установлено. Веб-клиент может работать в различных интернет-браузерах (Microsoft Internet Explorer, Mozilla Firefox, Safari; Google Chrome), что позволяет использовать его в различных операционных системах (Microsoft, Windows, Linux, MacOS).
«Web-сервисы», являющиеся одним из компонентов платформы «1С:Предприятия 8», – это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки SOA (Service-Oriented Architecture) – сервис-ориентированной архитектуры, которая является современным стандартом интеграции приложений и информационных систем. Прикладное решение 1С:Предприятия 8 может являться как поставщиком веб-сервисов, так и их потребителем, опубликованных другими поставщиками.
Другим новым компонентом платформы «1С:Предприятия 8» является «Web–расширение», которое поставляется в составе отдельного продукта – «1С:Предприятие 8. Web-расширение 1.1». Этот компонент позволяет встраивать доступ к данным «1С:Предприятия» в существующие Web-сайты и Web-приложения, а так же создавать готовые Web-приложения, использующие информационную базу «1С:Предприятия 8».
Кроме того, платформа «1С:Предприятие 8.2» поддерживает работу с пятью СУБД: Microsoft SQL Server, PostgreSQL, IBM DB2,Oracle Database и файловая система управления базами данных.
Помимо файлового и клиент-серверного вариантов работы на платформе «1С:Предприятие 8.2» имеется возможность использовать технологию «тонкого клиента», которая позволяет выполнять все ресурсоемкие процессы не на рабочих станциях, а на сервере – в результате рабочие станции могут быть достаточно дешевыми.
Следуя своим принципам, разработчики фирмы «1С» включили в состав новой платформы такой инструмент как «1С:Библиотека стандартных подсистем 8.2» (БСП), который предоставляет набор универсальных функциональных подсистем и технологию для разработки прикладных решений на платформе «1С:Предприятие 8.2». БСП является специальной конфигурацией (готовым «каркасом прикладной конфигурации»), с помощью которой можно быстро создавать новые конфигурации с уже готовой базовой функциональностью, а также включать готовые функциональные блоки в существующие конфигурации.
Еще одним из реализованных направлений в платформе «1С:Предприятие 8.2» по сравнению с предыдущими версиями является усиление защиты как технологической платформы, так и прикладных решений: расширена функциональность защиты от утечек данных (DLP – Data Leak Protection), в том числе обеспечивается регистрация аутентификации и отказа в аутентификации, изменений прав пользователей, фактов отказа в доступе и регистрация доступа к защищаемым ресурсам. Кроме того, «1С:Предприятие 8.2» сертифицировано Федеральной службой по техническому и экспортному контролю (ФСТЭК) по 5-му классу защищенности от несанкционированного доступа к информации и по 4-му уровню контроля отсутствия недекларированных возможностей. Подтверждена возможность использования платформы «1С:Предприятие 8.2» в информационных системах персональных данных до 1 класса включительно. Эти возможности очень важны при создании ИС.
Разработчики фирмы «1С» пошли дальше и в обеспечении различных вариантов интеграции прикладных решений с другими программами, а также с торговым оборудованием. Среди них:
· Механизмы анализа и создания xml структур для интеграции с внешними системами и синхронизации данных в разных базах системы «1С:Предприятие».
· Возможности двухсторонней online связи приложений, созданных на платформе «1C:Предприятие 8» с офисными приложениями и торговым оборудованием.
· Механизмы планов обмена, которые позволяют разработчикам создавать не просто решения, работающие на одной базе данных, а целые информационные системы с различным уровнем сложности инфраструктуры.
Для администраторов информационных систем в «1С:Предприятии» реализованы возможности:
· запуска заданий по расписанию;
· настройки и управления правами доступа на основе механизма ролей;
· мониторинга действий пользователей и регистрация системных событий;
· выявление «узких мест» и оптимизация работы системы и др.
Для пользователей «1C:Предприятия 8» реализованы следующие новые возможности:
· создан механизм настраиваемого пользователем рабочего стола (аналог АРМов), например пользователь может определять набор тех форм (из доступного списка), которые могут ему потребоваться для решения поставленной задачи;
· расширены возможности индивидуальной настройки внешнего вида программы и диалогов для пользователя;
· расширена возможность настройки вывода, позволяющая повысить наглядность отчетов и удобство работы с данными;
· появилась возможность передачи и получения ссылок на нужные данные, например, через почту или в локальной сети.
В целях расширения списка потенциальных пользователей разработчики «1С» обеспечили в платформе «1С:Предприятие 8.2» поддержку высокого уровня преемственности функциональности с версиями 8.0 и 8.1 и возможность постепенного начала использования новых возможностей. В 8.2 поддерживается специальный режим совместимости с версиями 8.0 и 8.1, что позволяет использовать «1С:Предприятие 8.2» с конфигурациями, разработанными для версий 8.0 и 8.1, без изменения самих конфигураций. Переход на новую версию платформы не требует обучения пользователей, так как новая версия 8.2 не имеет существенных отличий при работе пользователей с конфигурациями, созданными для версий 8.0 или 8.1.
В связи с выходом версии 8.2 в лицензионное соглашение на «1С:Предприятие 8» внесено уточнение по лицензированию пользовательских сеансов с информационными базами:
· Для пользователей, работающих с толстым или тонким клиентом, может использоваться модель лицензирования, применяющаяся в версии 8.1. Лицензия дает право на запуск неограниченного количества сеансов на конкретном компьютере пользователя. При этом ключ аппаратной защиты должен быть установлен в компьютере пользователя или доступен этому компьютеру по локальной сети.
· Для пользователей, работающих с тонким, толстым и веб-клиентом в клиент-серверном режиме или через веб-сервер, может применяться новая модель лицензирования. Лицензия дает право на запуск одного сеанса. Ключ аппаратной защиты должен быть установлен в компьютере сервера или веб-сервера, или доступен этому компьютеру по локальной сети.
1С:Предприятие - это специализированная объектно-ориентированная информационная система, предназначенная для автоматизации деятельности предприятия.
За счет своей универсальности система «1С:Предприятие» может быть использована для автоматизации самых разных участков экономической деятельности предприятия: учета товарных и материальных средств, взаиморасчетов с контрагентами, расчета заработной платы, расчета амортизации основных средств, бухгалтерского учета по любым разделам и т. д.
Сочетание в продукте двух противоречивых свойств – универсальности и гибкости, обусловлено архитектурой построения «1С:Предприятия».
Технологическая платформа и бизнес-приложение.
В «1С:Предприятии» введено четкое разделение на технологическую платформу и бизнес-приложение (прикладное решение). Платформа представляет собой так называемый framework, в котором функционирует бизнес-приложение. С одной стороны framework можно считать фундаментом для построения приложений, а с другой – средой исполнения. Кроме того, платформа содержит, разумеется, и инструментарий, необходимый для разработки, администрирования и поддержки бизнес-приложений. Такое приложение может выступать в качестве отдельного программного продукта, но полностью опирается на технологии платформы (рис. 1).
Рис. 1. Взаимодействие платформы и бизнес-приложения
Понятие платформы и платформенно-ориентированного построения приложений сейчас является общепринятым и трактуется гораздо шире, чем просто способность работать в определенной операционной системе. Под платформой понимается среда исполнения и набор технологий, используемые в качестве основы для построения определенного круга приложений. Фактически, приложения базируются на нескольких платформах, образующих многослойный пирог. При этом важно, что платформа предоставляет разработчику определенную модель, как правило, изолирующую его от понятий и подробностей более низкоуровневых технологий и платформ. Такова и платформа системы «1С:Предприятие», позволяющая использовать самые разные технологии более низкого уровня, не меняя кода бизнес-приложений (рис. 2). Например, она предлагает разработчику собственную модель работы с данными и изолирует его от особенностей конкретного хранилища данных, а это позволяет, не изменяя бизнес-приложение использовать в нем различные хранилища.
Ключевым качеством технологической платформы системы «1С:Предприятие», пожалуй, является достаточность ее средств для решения задач, стоящих перед бизнес-приложениями.
Это позволяет обеспечить очень хорошую согласованность всех технологий и инструментов, которыми пользуется разработчик. Простейший пример – система типов. В платформе системы «1С:Предприятие» разработчик использует одну систему типов данных и для взаимодействия с базой данных (БД), и для реализации бизнес-логики, и для построения интерфейсных решений (рис. 3).
Рис. 2. Пример работы с данными.
Рис. 3. Система типов «1С:Предприятие»
Одним из существенных преимуществ четкого разграничения между платформой и бизнес-приложением является высокий уровень адаптируемости прикладных решений под требования клиента.
Следует заметить, что именно для экономических задач особо важна возможность эффективного изменения готового решения разработчиком, не участвовавшим в его создании. В индустрии разработки бизнес-приложений, в отличие от многих других областей, существенная часть разработчиков не создает программы «с чистого листа», а дорабатывает и развивает типовые решения.
Это обстоятельство определяет особые требования к обеспечению наглядности и простоте понимания разработчиком существующих решений и максимально учитывается во всех механизмах платформы.
Инструментальные средства «1С:Предприятия» представляют собой не некий дополнительный инструментарий, а являются неотъемлемой составляющей платформы. Они ориентированы в равной степени, как на разработку прикладных решений, так и на их адаптацию при внедрении на конкретном предприятии. Эти средства поставляются с каждым комплектом системы «1С:Предприятие» и применяются как для внесения небольших изменений, например, в макет печатной формы, так и для существенной доработки прикладного решения включая структуры данных и бизнес-логику. Возможности эффективного внесения изменений в приложение при его внедрении заложены в самих этих инструментах, а, кроме того, этому способствует и архитектура построения прикладного решения.
Выделение бизнес-приложения как самостоятельного элемента, фактически, позволило сформировать целую индустрию создания, распространения и поддержки разнообразных прикладных систем, концентрирующую свои усилия на специфике этого класса задач и не требующую глубокого понимания большей части технологических деталей и подробностей. Поэтому специалисты по «1С» будут востребованы рынком.
В системе «1С:Предприятие» прикладное решение не пишется в прямом смысле на языке программирования. Язык программирования, конечно, используется, но только там где это действительно необходимо.
В основе бизнес-приложения лежат метаданные. Они представляют собой структурированное декларативное его описание. Метаданные образуют иерархию объектов, из которых формируются все составные части прикладной системы и которые определяют все аспекты ее поведения. Фактически, при работе бизнес-приложения платформа «проигрывает» (интерпретирует) метаданные, обеспечивая всю необходимую функциональность.
Метаданными описываются:
· структуры данных;
· состав типов;
· связи между объектами;
· особенности их поведения и визуального представления;
· система разграничения прав доступа;
· пользовательский интерфейс и т.д.
В метаданных, фактически, сосредоточены сведения не только о том, «что хранить в базе данных», но и о том, «зачем» хранится та или иная информация, какова ее роль в системе и как связаны между собой информационные массивы (рис. 4). Использование языка программирования ограничено в основном решением тех задач, которые действительно требуют алгоритмического описания, например, расчета налогов, проверки корректности введенных данных и т.д.
Рис. 4. Метаданные
Что дает такой подход к построению бизнес-приложения?
При описании метаданных широко используется визуальное редактирование. Это позволяет свести существенную часть разработки к визуальному проектированию, не требующему написания кода.
Однако у данного подхода есть и другие не менее важные преимущества. Описывая прикладное решение в терминах метаданных, разработчик «сообщает» платформе много очень полезной информации, которую та может эффективно использовать в самых различных целях. На основе метаданных система автоматически «выстраивает» большую часть механизмов и объектов, обеспечивающих функционирование прикладного решения. Например, описания метаданных технологической платформе достаточно для того, чтобы автоматически сформировать пользовательский интерфейс системы, обеспечивающий ввод и редактирование взаимосвязанной информации. Другой пример – возможность построения даже конечным пользователем, не имеющим навыков программирования, достаточно сложных отчетов.
Идеология использования метаданных в самых общих словах сводится к простому тезису: «Давайте не будет программировать все функции разрабатываемого решения. Расскажем платформе о составе, структуре, особенностях и взаимосвязи различных его частей, и пусть остальное она сделает сама».
Эта идеология (Metadata Driven) сегодня находит все большее применение во многих перспективных разработках.
Для экономических задач работа с данными является основным содержанием с одной стороны и наиболее проблемным вопросом с другой.
С одной стороны необходимо обрабатывать большие объемы данных, а с другой – обеспечивать широкую функциональность и высокую производительность. Объемы обрабатываемых данных растут, растут требования к разнообразию решаемых задач, и повышаются требования к масштабируемости. Не следует забывать и о повышении удобства разработки, эргономичности систем, возможностях их обновления и доработки и т.д.
Разумеется, эти противоречия касаются всех аспектов системы, но на способах манипулирования данными они проявляются наиболее ярко.
В системе «1С:Предприятие» используется смешанный подход управления данными, который с одной стороны имеет много общего с подходами, заложенными в перспективных разработках других фирм, но с другой стороны обладает и существенными отличиями.
Для всех операций модификации данных (создания, изменения и удаления) в системе «1С:Предприятие» применяется исключительно объектная техника. Это означает, что разработчик взаимодействует с БД не на уровне записей, а с помощью объектов, соответствующих хранимым в БД сущностям. Для изменения хранимых данных, ему не нужно писать сложные запросы и преобразовывать результаты их обработки в объекты языка программирования. Достаточно получить объект из базы данных, изменить его свойства и снова сохранить. Разработчик имеет при этом возможность написать обработчики событий, связанных с изменением данных, выполняя с их помощью различные проверки и изменяя при необходимости другие данные.
Для чтения данных может использоваться как объектная техника, так и декларативный язык запросов, который основывается на классическом SQL, но имеет ряд существенных расширений (рис. 5). Расширения направлены с одной стороны на поддержку работы с объектами, хранящимися в базе данных, а с другой – на эффективное решение экономических задач.
Рис. 5. Схема управления данными
В модели «1С:Предприятия» реализована наиболее современная концепция работы с информацией, сочетающая три способа представления данных:
1. Хранение сущностей в базе данных.
2. Их представление в языке программирования в виде объектов.
3. Отображение в формате XML.
Фактически любая информация может в зависимости от текущего режима работы представляться одним из этих трех способов (рис. 6).
Рис 6. Схема преобразований данных
Для внесения изменений, данные предварительно преобразуются в объекты встроенного языка. При внутреннем обмене в распределенной БД или взаимодействии с другими информационными системами данные переносятся в формате XML.
Потребительские свойства системы «1С:Предприятие».
Как отмечалось ранее фирма «1С» предлагает продукт «1С:Предприятие», который позволяет автоматизировать бизнес предприятия. Причем использование готового бизнес приложения не исключает возможность создание нового «с нуля».
Система «1C:Предприятие» предоставляет широкие возможности:
1. для ведения бухгалтерского учета, управленческого учета и расчета заработной платы;
2. для решения задач планирования и оперативного управления;
3. для комплексной автоматизации задач организационной и хозяйственной деятельности производственных предприятий, торговых, финансовых организаций, бюджетных учреждений, предприятий сферы услуг.
В настоящее время предлагается (распространяется) огромное количество готовых прикладных решений, определяющих бизнес-логику предприятий разных типов и сфер деятельности, т.е. заготовки под конкретные схемы учета и типы предприятий. Их условно можно разделить на три группы:
1. Типовые тиражные прикладные решения:
· управление производственным предприятием;
· 1С:бухгалтерия;
· управление торговлей;
· зарплата и управление персоналом;
· 1С:консолидация.
2. Локализованные типовые решения, разрабатываемые зарубежными партнерами по заказу фирмы «1С».
3. Отраслевые и специализированные решения, имеющие статус «1С:Совместимо!».
Разнообразие различных конфигураций, отражающих всевозможные направления деятельности предприятий (организаций, фирм) и определяют одну из основных особенностей системы «1С:Предприятие»: ее конфигурируемость. Собственно система «1С:Предприятие» представляет собой совокупность механизмов, предназначенных для манипулирования различными типами объектов предметной области. Конкретная же конфигурация определяет конкретный набор объектов, входящих в ее состав, структуры информационных массивов, используемых в этой конфигурации, а также алгоритмы и методы обработки информации.
Таким образом, вместе с конфигурацией система «1С:Предприятие» выступает в качестве уже готового к использованию программного продукта, ориентированного на определенные типы предприятий и классы решаемых задач.
Функционирование системы делится на два процесса – конфигурирование (описание модели предметной области средствами системы) и исполнение (обработку данных предметной области).
Результатом конфигурирования является конфигурация, которая представляет собой модель предметной области.
На этапе конфигурирования система оперирует такими универсальными понятиями (объектами), как «Документ», «Журнал документов». «Справочник», «Реквизит», «Форма», «Регистр» и другие. Совокупность этих понятий и определяет концепцию системы. В свою очередь процесс конфигурирования распадается на несколько составляющих, (деление носит условный характер), определяющих последовательность написания и назначение томов описания. Это «визуальное» конфигурирование (создание структуры конфигурации, форм диалогов и выходных документов, механизм работы пользователей с данными (интерфейс) и права доступа различных групп пользователей к различной информации) и написание программ на встроенном языке «1С:Предприятия» для обработки входных и выходных данных.
В процессе исполнения система уже оперирует конкретными понятиями, описанными на этапе конфигурирования (справочниками товаров и организаций, счетами, накладными и т. д.).
При работе пользователя в режиме исполнения конфигурации обработка информации выполняется как штатными средствами системы, так и с использованием алгоритмов, созданных на этапе конфигурирования.
Еще одной из характерных особенностей данной системы является ее масштабируемость.
В общем случае масштабируемость – это способность системы адаптироваться к расширению предъявляемых требований и возрастанию объемов решаемых задач.
Система «1С:Предприятие» имеет хорошие возможности масштабирования. Она позволяет работать как в файловом варианте, так и с использованием технологии «клиент-сервер». В последнем случае используется современная трехуровневая архитектура, когда между клиентом и сервером баз данных Microsoft SQL Server располагается сервер «1С:Предприятия». Т.е. одни и те же прикладные решения (конфигурации) могут использоваться как в файловом, так и в клиент-серверном варианте работы. При переходе от файлового варианта к технологии «клиент-сервер» не требуется вносить изменения в прикладное решение. Поэтому выбор варианта работы целиком зависит от потребностей заказчика и его финансовых возможностей. На начальной стадии можно работать в файловом варианте, а затем с увеличением количества пользователей и объема базы данных можно легко перейти на клиент-серверный вариант.
В современных условиях многие конфигурации регулярно меняются. Изменения могут быть связаны как с учетом изменений законодательства, так и с добавлением новых функциональных возможностей или внесением исправлений. Система «1C:Предприятие» содержит встроенный механизм поддержки (обновления) конфигураций, применяемый как для тиражных, так и индивидуальных конфигураций.
Разработчики конфигураций при выпуске новых редакций или версий подготавливают файлы поставки. Различают полную поставку и поставку обновлений. Полная поставка представляет собой файл конфигурации с расширением «*.cf», сформированный специальным образом, а обновления распространяются в файлах с расширением «*.cfu».
Используя файл поставки или обновления, пользователь может легко обновить свою конфигурацию. Чтобы его собственные изменения не были потеряны, производится детальное сравнение и объединение конфигураций пользователя и поставщика.
Для интеграции с внешними приложениями, или в случаях обмена данными с другими системами, «1С:Предприятие» поддерживает следующий набор механизмов взаимодействия:
· обмен данными через файлы. Это могут быть текстовые и DBF-файлы, а также XML-документы. Табличный документ «1С:Предприятие» может быть сохранен в формате Microsoft Excel;
· взаимодействие через механизм «Automation», при котором «1С:Предприятие 8» может выступать как клиент, так и как сервер, т.е. как управляющее и управляемое приложение;
· взаимодействие через СОМ-соединение для обеспечения быстрого и надежного доступа к «1С:Предприятию» из других программ, поддерживающих данную технологию;
· поддержка интернет-технологий: работа с электронной почтой, работа с файлами по протоколам HTTP, HTTPS, FTP;
· возможность размещения в экранных формах элементов управления ActiveX, написанных на других языках;
· технология внешних компонент, позволяющая подключать dll-библиотеки, написанные на других языках специально для «1С:Предприятия»;
· Web-расширение, позволяющее осуществлять доступ к информации, хранящейся в информационной базе системы «1С:Предприятие», без наличия самой системы.
Эти средства позволяют строить сложные интегрированные решения с участием «1С:Предприятия».
Для предотвращения возможности незаконного тиражирования система «1С:Предприятие» предоставляется пользователям в защищенном от копирования виде.
Одной из составных частей, используемой системы защиты, является аппаратный ключ, вставляемый, как правило, в разъем USB. Наличие ключа не влияет на функционирование компьютера. В комплекте с лицензиями поставляются ключи защиты Aladdin HASP (USB), локальные H1M1 – для одной лицензии и сетевые NetHASP – для пяти и более (до 100), есть также ключи Aladdin HardLock на 300 и 500 лицензий.
Для обеспечения взаимодействия системы «1С:Предприятие» с аппаратным ключом защиты необходимо установить драйвер защиты, входящий в комплект поставки системы. Наличие установленного драйвера защиты необходимо вне зависимости от операционной системы, в которой запускается «1С:Предприятие».
При использовании сетевой версии на компьютере, к которому подсоединен аппаратный ключ, устанавливается сервер защиты. Способ установки сервера зависит от используемой операционной системы и описан в руководстве по инсталляции программы.
Самое главное понятие системы «1С:Предприятие» – это «объект». Объект – это элемент реального мира. Объектом может быть все что угодно: компьютер, облако, кошка... Но нас интересуют только те объекты, которые имеются в офисной деятельности предприятия: документы, отчеты, справочники... Таким образом, любая конфигурация системы «1С:Предприятие» представляется как совокупность объектов, взаимосвязанных между собой, т.е. конфигурация объектов. Например, документ «Приказ о приеме на работу», справочник «Сотрудники», отчет «Сотрудники, принятые за период».
Под объектом конфигурации в системе «1С:Предприятие» понимается формальное описание группы понятий (предметной области, средств взаимодействия пользователя с системой) со сходными характеристиками и одинаковым предназначением.
Например. Объект конфигурации «Справочник» в системе «1С:Предприятие» предназначен для ведения списков однородных элементов данных — справочников, картотек, нормативных сборников и тому подобное. Использование объектов конфигурации этого типа позволяет организовать ведение любых справочников, необходимых для автоматизации деятельности предприятия.Каждый объект конфигурации обладает уникальным набором свойств. Этот набор описан на уровне системы и не может быть изменен в процессе настройки конфигурации задачи. Набор свойств объекта конфигурации определяется, в основном, его назначением в системе «1С:Предприятие».
Главным свойством любого объекта конфигурации является его имя – краткое наименование объекта конфигурации. При создании нового объекта конфигурации ему автоматически присваивается условное имя, состоящее из слова, определяемого по виду объекта, и цифры (например, при создании реквизита создается реквизит с именем «Реквизит1», при создании документа — «Документ1», и т.д.). Это имя можно изменить в процессе редактирования свойств объекта конфигурации, при этом система отслеживает уникальность имен. Имя объекта конфигурации не может пустым.
Некоторые свойства из всего набора свойств, присущих объекту конфигурации, доступны для редактирования и могут быть так или иначе изменены в процессе конфигурирования системы «1С:Предприятие». Характер изменений и их пределы также задаются на уровне системы. Целенаправленным изменением свойств объекта конфигурации специалист, осуществляющий конфигурирование системы, может добиться требуемого поведения объекта при работе системы. Однако такие изменения не затрагивают сущности объекта и не позволяют добиться от него действий, не свойственных объектам данного типа.
Например. Объект конфигурации «Константа» в системе «1С:Предприятие» предназначен для хранения информации, которая не изменяется во времени или изменяется очень редко. Простым примером константы может служить название предприятия: оно, как правило, не меняется в процессе деятельности предприятия. Константа обладает следующим набором редактируемых свойств: · имя константы; · синоним; · комментарий; · подсистемы; · тип данных.Помимо набора свойств объекты имеют определенные методы (процедуры и функции). Например, вы можете выбрать всех сотрудников с помощью метода справочника Выбрать(), или можно сохранить документ методом Записать().
Для успешной разработки и модификации прикладных решений специалист должен иметь представление обо всех доступных ему объектах и механизмах.
Все объекты системы «1С:Предприятие 8» условно можно разделить на три группы:
1. Прикладные объекты;
2. Общие объекты (размещенные в ветке «Общие» дерева конфигурации);
3. Подчиненные объекты.
К группе прикладных объектов можно отнести:
· Константы.
В константах хранятся редко изменяемые значения, например, название организации, ИНН, ФИО руководителя и т.д.
· Справочники.
В справочниках содержится условно-постоянная списковая информация, например, список товаров, список сотрудников. Такие сведения обычно характеризуются кодом и наименованием.
· Документы.
Документы хранят информацию о произошедших событиях в жизни организации, например, приходная накладная, платежное поручение. Документ характеризуется номером и датой. Обычно при проведении документа изменяется состояние регистров, например, при проведении приходной накладной увеличивается количество товара в регистре «Остатки».
· Журналы документов.
Журналы – это средство группировки связанных по смыслу документов, например, журнал «Склад» объединяет приходные и расходные накладные. Аналогично могут быть созданы журналы «Банк», «Кадры» и т.д.
· Нумераторы.
Нумераторы предназначены для единой (сквозной) нумерации документов нескольких видов. Например, нумератор «Кадровый» используется для присвоения номеров всем кадровым приказам.
· Последовательности.
Последовательности предназначены для обеспечения правильной последовательности проведения документов с учетом возможных исправлений «задним числом», например, последовательность «ПартионныйУчет».
· Планы видов характеристик.
Планы видов характеристик предназначены для хранения дополнительных видов характеристик объектов, например, дополнительных свойств товаров (вес, цвет, размер). Новые виды характеристик можно вводить в режиме «1С:Предприятие». Через этот объект также реализован механизм аналитического учета по субконто в бухгалтерском учете.
· Регистры сведений.
Регистры сведений предназначены для хранения любой информации об объектах в разрезе заданных измерений, например, регистр сведений «ЦеныТоваров». Если требуется хранить историю изменения информации, то регистр сведений делается периодическим, например, регистр «КурсыВалют».
· Регистры накопления.
Регистры накопления накапливают числовую информацию в разрезе заданных измерений, например, регистры «ОстаткиТоваров», «Продажи». Движения регистров накопления всегда связаны с документами (регистраторами) и обычно создаются в момент проведения документа.
· Планы счетов.
Планы счетов содержат список счетов бухгалтерского или управленческого учета, например, планы счетов «Стандартный», «Управленческий».
· Регистры бухгалтерии.
Регистры бухгалтерии хранят записи (проводки) основанные на определенном плане счетов, например, регистр бухгалтерии «Управленческий».
· Планы видов расчета.
Планы видов расчета содержат виды расчета, объединенные по сходным признакам, к которым относятся одинаковые базовые виды расчета, одинаковые правила перерасчета, общие правила вытеснения по времени. В качестве примера можно привести планы видов расчета «ОсновныеНачисления», «Налоги».
· Регистры расчета.
Предназначены для хранения учетных записей сложных периодических расчетов, например, регистр расчета «Удержания». Каждый регистр расчета основан на каком-либо плане видов расчета.
· Перечисления.
Перечисление – это набор значений, заданный еще на этапе разработки прикладного решения, он не редактируется в режиме «1С:Предприятие». Главное, что стоит понять, сама конфигурация рассчитана на определенные перечисления, например, на перечисление «ТипКлиента» со значениями «Обычный» и «ОченьВажнаяПерсона». Для VIP-клиентов в программе может быть предусмотрена скидка.
· Отчеты.
На основе информации из базы данных отчеты выдают печатные формы, содержащие детальную и сводную информацию. В качестве примера можно привести отчеты «ОборотноСальдоваяВедомость», «СписокСотрудников», «АнализПродаж».
· Обработки.
Обработки производят некоторую обработку информации, содержащейся в базе данных, например, обработка «РасчетНачислений», «ЗакрытиеПериода».
К группе общих объектов относятся следующие объекты:
· Подсистемы.
Подсистемы предназначены для группировки других объектов конфигурации по направлению деятельности структурных подразделений организации, например, подсистемы «Кадры», «Торговля», «Маркетинг». Каждый объект может входить сразу в несколько подсистем. Подсистемы могут быть подчиненными друг другу.
· Общие модули.
Общие модули содержат процедуры и функции, используемые в других программных модулях, например, общий модуль «РегламентныеПроцедуры».
· Интерфейсы.
Интерфейсы представляют собой совокупность панелей интерфейса: меню и панели инструментов, например, интерфейсы «Бухгалтер», «Руководитель».
· Роли.
Роли предназначены для определения прав пользователей, работающих с информационной базой, например, роли «Кадровик», «Администратор». Каждый пользователь может иметь несколько ролей.
· Критерии отбора.
Критерии отбора необходимы для отбора данных по определенному признаку. Например, по критерию отбора «Контрагент» можно выбрать все документы, относящиеся к заданному контрагенту.
· Общие формы.
Общие экранные формы не принадлежат конкретному объекту, а относятся к конфигурации в целом. Они могут использоваться в разных местах программы, например, форма «ВводАдреса».
· Общие макеты.
Общие макеты (шаблоны печатных форм объектов) также не принадлежат конкретному объекту конфигурации, например, макет «РеестрДокументов». Они используются в других программных модулях.
· Общие картинки.
Картинки, используемые на кнопках, формах и других интерфейсных объектах. Картинки можно рисовать с помощью редактора картинок.
· Стили.
Стили оформления, включающие в себя различные элементы: цвет фона экранной формы, цвет фона редактирования полей, цвет отрицательных чисел и т.д. В качестве примера можно назвать стили «Основной», «Яркий», «РегламентныеПроцедуры».
· Языки.
Языки интерфейса конфигурации, например, Русский, Английский, Украинский. В «1С:Предприятии 8» можно разрабатывать многоязычные конфигурации, рассчитанные на работу пользователей, говорящих на разных языках. Поведение объектов конфигурации определяется с помощью установленных свойств и программы на встроенном языке. Например, на встроенном языке задаются действия документа при его проведении, алгоритм формирования печатной формы отчета, процедура определения цены продажи со скидкой и т.д.
Разработчик пишет текст программы в строго определенных точках конфигурации – программных модулях, например, в модуле формы документа «ПриходнаяНакладная» или в модуле отчета «ОстаткиТоваров».
К группе подчиненных объектов можно отнести следующие типы объектов, представленные в таблице 1:
Таблица 1.
Подчиненная группа объектов |
Виды объектов, которым принадлежит |
Реквизиты |
Справочники, Документы, Регистры, Отчеты, Обработки, Табличные части |
Табличные части |
Справочники, Документы, Отчеты, Обработки |
Формы |
Справочники, Документы, Журналы, Отчеты, Обработки |
Макеты |
Справочники, Документы, Журналы, Отчеты, Обработки |
Графы, Измерения |
Журналы, Последовательности, Регистры |
Ресурсы |
Регистры |
Реквизиты – содержат дополнительную информацию об объекте, доступную только в пределах этого объекта.
Табличные части – наборы дополнительной информации об объекте, представленной в виде таблицы.
Формы – форма используется для ввода, просмотра и редактирования информации, хранящейся в объекте конфигурации, содержит модуль формы – программу на встроенном языке системы «1С:Предприятие». Способность иметь визуальное представление позволяет объекту конфигурации организовать интерактивное взаимодействие с пользователем. Характер такого взаимодействия разрабатывается специалистом, осуществляющим конфигурирование системы «1С:Предприятие», и определяется, в основном, типом объекта конфигурации. Каждый объект может иметь несколько форм.
Макеты – табличные документы, предназначенные для формирования печатных форм объекта.
Графы – графы журнала документов.
Измерения – объекты конфигурации, данные о которых учитываются в регистре.
Ресурсы – данные, учитываемые в регистре.
Функциональные возможности прикладных решений, создаваемых на платформе «1С:Предприятие», определяются возможностями объектов, используемых в конфигурации. Рассмотрим основные функциональные возможности отдельных объектов конфигурации.
Справочники.
Справочники описывают каталоги, содержимое которых более или менее постоянно. Это может быть, например, перечень выпускаемой продукции, список клиентов компании, перечень валют и т.д. Кроме того, справочники обеспечивают поддержку иерархических структур, позволяют относить данные к отдельным объектам и их группам, предоставляют ряд других сервисных возможностей.
Документы.
Документы отражают в системе «1С:Предприятие» события, происходящие в жизни предприятия (организации): поступление материалов, перечисление денег через банк, прием сотрудника на работу и т.д.
Прототип (шаблон) документа обеспечивает отражение созданных документов в различных учетных механизмах, поддерживает контроль последовательности обработки событий, реализует сквозную нумерацию документов различного типа и т.д.
Одним из важных функциональных механизмов системы «1С:Предприятие» является механизм проведения документов, обеспечивающий стандартную модель организации связи между информацией о событиях, происходящих на предприятии, и различными учетными механизмами. Эта связь, а также алгоритм проведения документа определяется в свойствах объекта метаданных «Документ». Кроме того, система «1С:Предприятие» предоставляет дополнительные возможности, такие как поддержка отражения событий в реальном времени, поддержка восстановления последовательности отражения событий, происходящих на предприятии, при изменении их задним числом и т.д.
Таким образом, системой «1С:Предприятие» предоставляется единая модель связи исходных данных и учетных механизмов, которая облегчает разработку и обеспечивает единообразное предсказуемое поведение всех прикладных решений.
Механизм характеристик.
Механизм описания характеристик позволяет организовать хранение свойств объектов, которые не известны на момент разработки прикладного решения. Таким образом, для каждой группы номенклатуры пользователь получает возможность самостоятельно вводить новые свойства: цвет, размер, габариты и т.д.
Данный механизм базируется на использовании дополнительных элементов управления (табличных частей) справочников номенклатуры, дополнительных справочников (для описания характеристик), регистров сведений и плана видов характеристик в различных вариациях в зависимости от решения конкретной задачи (т.е. однотипные или разнотипные характеристики объектов, где и каким образом хранить и использовать информацию о характеристиках объектов и т.д.).
В дальнейшем на основе этих характеристик можно строить отчеты, анализировать объемы продаж, получать другую информацию для принятия решений.
Механизм сведений.
Механизм хранения сведений позволяет хранить в прикладном решении произвольные данные в разрезе нескольких измерений. Например, можно хранить курсы валют в разрезе валют, или цены предприятия на товары в разрезе номенклатуры и типа цен. Кроме этого может быть задана различная периодичность хранения сведений, что позволяет хранить не только сами значения, но и их историю изменения.
Механизм учета движения средств.
Механизм учета движения средств (финансов, товаров, материалов и т.д.) позволяет автоматизировать такие направления деятельности организации, как складской учет, взаиморасчеты, планирование. Основу этого механизма составляют регистры накопления, каждый из которых образует многомерную систему измерений и позволяет накапливать числовые данные в разрезе нескольких измерений.
Механизм бухгалтерского учета.
Механизмы бухгалтерского учета позволяют создавать модели учета с реализацией системы двойной записи бухгалтерского учета, которые могут использоваться как в России, так и в других странах. Основными возможностями механизмов бухгалтерского учета являются:
· ведение многоуровневых планов счетов;
· ведение аналитического учета в нескольких разрезах и уровнях;
· ведение учета одновременно по нескольким планам счетов;
· ведение консолидированного учета по нескольким юридическим лицам;
· возможность указания для отдельных разрезов аналитики произвольного числа видов учета, таких как количественный, суммовой, валютный учет и т.д.
Механизм сложных периодических расчетов.
Механизм сложных периодических расчетов позволяет реализовывать различные модели расчета заработной платы, хотя и не имеет ориентацию именно на выполнение этой задачи. Он также может успешно использоваться и для решения других задач, требующих описания периодических расчетов со сложными взаимосвязями, например расчета дивидендов, стоимости коммунальных услуг и т.д.
Данный механизм включает средства для описания различных видов расчета (план видов расчета и регистр расчета), используемых в прикладном решении и предоставляющих возможность задания правил, по которым одни виды расчета будут влиять на другие виды расчета. Кроме того, данный механизм предоставляет возможность хранения промежуточных данных, которые используются для выполнения расчетов, и конечных результатов расчетов.
Механизм бизнес-процессов.
Механизм бизнес-процессов позволяет описывать, создавать и управлять выполнением бизнес-процессов в прикладных решениях. Целью этого механизма является автоматизация цепочек связанных операций, направленных на достижение общей цели.
Этот механизм включает средства для описания в прикладном решении схем бизнес-процессов и их ролевой маршрутизации, для формирования заданий, выполняющихся в каждой точке маршрута, для управления бизнес-процессом и организации его связи с другими функциями прикладного решения.
Для описания простейших бизнес-процессов достаточно визуального задания схемы маршрута и указания условий ветвления в их узловых точках. Все остальные действия выполняются системой автоматически.
Механизм анализа данных и прогнозирования.
Данный механизм позволяет реализовывать в прикладных решениях инструменты для выявления закономерностей, которые скрываются за большими объемами информации. Этот механизм поддерживает выполнение нескольких типов анализа данных, таких как общая статистика, поиск ассоциаций, дерево решений, поиск последовательностей, кластерный анализ.
Интеллектуальные механизмы подготовки отчетов.
Построитель отчета, в основе работы которого лежит текст запроса, предоставляет возможность динамического создания отчета как программными, так и интерактивными средствами. Полученные в результате выполнения запроса данные выводятся в табличный документ с использованием всех его интерактивных возможностей: сводных таблиц, диаграмм, сводных диаграмм и т.д.
Для формирования табличного документа построитель отчета использует макет, генерируемый автоматически, который может быть изменен средствами встроенного языка.
Кроме того, построитель отчета позволяет не только формировать отдельные отчеты, но и связать воедино целый набор отчетов, обеспечивая получение необходимой информации во всех требуемых разрезах.
Средства интеграции и механизмы обмена данными.
Технологическая платформа системы «1С:Предприятие» предоставляет возможности для интеграции практически с любыми внешними программами и оборудованием на основе общепризнанных открытых стандартов и протоколов передачи данных.
Система «1С:Предприятие» содержит целый набор средств, обеспечивающих:
· создание, обработку и обмен данными различных форматов;
· осуществление доступа ко всем объектам системы 1С:Предприятие, реализующим ее функциональные возможности;
· поддержку различных протоколов обмена;
· поддержку стандартов взаимодействия с другими подсистемами;
· разработку собственных интернет-решений.
Web-расширение.
Web-расширение позволяет организовать доступ к данным прикладных решений пользователей, у которых на компьютерах не установлена платформа «1С:Предприятие» (мобильные пользователи, сотрудники территориально удаленных подразделений, посетители интернет-магазинов и web-порталов), а также встраивать доступ к данным «1С:Предприятия» в существующие web-сайты и web-приложения, создавать web-приложения и web-сервисы, использующие информационную базу «1С:Предприятия».
Каждый объект конфигурации обладает уникальным набором свойств, который определяется, в основном, его назначением в системе «1С:Предприятие». Этот набор описан на уровне системы и не может быть изменен в процессе настройки конфигурации задачи.
Главным свойством любого объекта конфигурации является имя – краткое наименование объекта конфигурации. При создании нового объекта конфигурации ему автоматически присваивается условное имя, состоящее из слова, определяемого по виду объекта, и цифры (например, при создании реквизита создается реквизит с именем «Реквизит1», при создании документа – «Документ1», и т.д.). Это имя можно изменить в процессе редактирования свойств объекта конфигурации, при этом система отслеживает уникальность имен. Имя объекта конфигурации не может пустым.
Некоторые свойства из всего набора свойств, присущих объекту конфигурации, доступны для редактирования и могут быть так или иначе изменены в процессе конфигурирования системы «1С:Предприятие». Характер изменений и их пределы также задаются на уровне системы.
Одним из основных свойств некоторых объектов конфигурации является тип данных. Это свойство определяет, какого рода информацию может содержать объект конфигурации. Тип данных объекта конфигурации назначается при создании или редактировании свойств объекта в процессе настройки конфигурации.
Объекты конфигурации, для которых может быть указан тип информации, содержащейся в объекте, в системе «1С:Предприятие» называются типизированными объектами конфигурации. Такие объекты конфигурации, как «Справочник», «Документ», «Обработка», не являются типизированными объектами, так как содержат «комплексную» информацию, и, в свою очередь, содержат типизированные объекты конфигурации.
Типы данных, которые может принимать объект конфигурации, можно разделить на две группы.
Первую группу составляют базовые типы данных: «число», «строка», «дата», «булево», «null», «неопределено» и «тип». Соответственно, информация, хранящаяся в объекте конфигурации, может быть числом, произвольной строкой символов, датой или логической величиной.
Кроме этого, некоторые объекты конфигурации системы «1С:Предприятие» также могут образовывать типы данных. Например, константе может быть назначен тип данных «ДокументСсылка». В этом случае значение константы будет представлять собой ссылку на один из существующих в системе «1С:Предприятие» документов.
Объекты конфигурации, которые могут образовывать типы значений конфигурации, в системе «1С:Предприятие» называются типообразующими объектами конфигурации. Такими объектами в системе «1С:Предприятие» являются:
· справочники;
· документы;
· перечисления.
Необходимо обратить внимание, что типообразующие объекты конфигурации образуют тип данных сразу после создания в Конфигураторе объекта любого из таких типов. Например, когда в Конфигураторе создается новый справочник, то в списке типов данных появляется очередной тип данных, представляющий собой ссылку на элемент этого справочника. Такой тип данных может быть присвоен любому из типизированных объектов конфигурации.
Большинство объектов конфигурации в системе «1С:Предприятие» могут иметь визуальную форму. В самом общем случае форма, как объект конфигурации, состоит из следующих частей:
· экранный диалог, используемый для ввода и редактирования информации, хранящейся в объекте конфигурации;
· модуль формы – программа на встроенном языке системы «1С:Предприятие». Как правило, модуль формы выполняет обработку вводимой в диалог информации для целей входного контроля, выполнения расчетов и т.п.;
· список реквизитов объекта конфигурации.
Способность иметь визуальное представление позволяет объекту конфигурации организовать интерактивное взаимодействие с пользователем. Характер такого взаимодействия разрабатывается специалистом, осуществляющим конфигурирование системы «1С:Предприятие», и определяется, в основном, типом объекта конфигурации.
Поэтому под формой будем понимать совокупность экранного диалога, модуля и реквизитов формы.
Для разработки форм в Конфигураторе применяется комплексный редактор форм, позволяющий редактировать все компоненты формы во взаимосвязи.
Макетом в системе «1С:Предприятие» называется объект конфигурации, предназначенный для формирования печатных форм других объектов.
Общие таблицы печатных форм располагаются на ветви «ОбщиеМакеты» дерева конфигурации, а печатные формы объектов конфигурации (справочников, документов, журналов документов, регистров, отчетов и обработок) располагаются в подчиненных им объектах – «Макеты».
Одним из возможных режимов работы системы «1С:Предприятие» является режим «Конфигуратор», обеспечивающий, как создание объектов конфигурации и описание алгоритмов их поведения и взаимодействия, так и выполнение административных функций, направленных на обеспечение безопасности и сохранности прикладного решения и его настройки.
Основные инструменты администратора включены в меню «Администрирование» главного меню программы и позволяют осуществлять:
· установку и обновление системы;
· обновление конфигураций;
· ведение списка пользователей;
· настройку прав доступа на основе механизма ролей;
· мониторинг действий пользователей и системных событий;
· резервное копирование;
· тестирование и исправление информационной базы;
· настройка региональных установок.
Установка системы и конфигураций.
Установка системы «1С:Предприятие» предельно проста и не вызывает никаких трудностей. Для запуска и работы не требуется каких-либо дополнительных компонент или регистрация, достаточно наличия исполняемых файлов на локальном компьютере или где-нибудь в сети.
Однако, сама установка системы «1С:Предприятие» условно разделена на два этапа: установка программных модулей (платформы) «1С:Предприятия» и установка конфигураций. Для адекватной работы системы в целом рекомендуется сначала установить «1С:Предприятие», а затем требуемые конфигурации в состав каждой из которых обычно входят две информационные базы: основная и демонстрационная.
Установка системы может осуществляться в следующих режимах:
· файловый – локальная установка системы на конкретный компьютер;
· административный – установка системы осуществляется на один из компьютеров локальной сети, а на остальные компьютеры сети осуществляется только копирование файлов, необходимых для запуска системы;
· клиент-серверный – установка системы осуществляется на сервер сети, откуда копируются файлы, необходимые для запуска системы, на другие компьютеры сети. Сервер осуществляет управление работой всей системы в целом и распределением информационных потоков между компьютерами, входящих в эту сеть. Обновление исполняемых файлов системы осуществляется на сервере, а на клиентских местах обновление производится автоматически.
Кроме того, с установкой «1С:Предприятия» также производится установка драйвера защиты от несанкционированного использования.
Для защиты от несанкционированного использования системы «1С:Предприятие» в сетевом варианте может использоваться сетевая система защиты «HASP4 Net». Особенностью данной системы защиты является то, что с помощью одного аппаратного ключа защиты «HASP4 Net» может разрешаться одновременная работа «1С:Предприятия» на нескольких компьютерах в рамках локальной сети.
Для этого используется компьютер из локальной сети, к USB-порту которого присоединен сетевой аппаратный ключ «HASP4 Net», и на котором должен быть запущен «HASP License Manager». При этом на остальных компьютерах, находящихся в той же локальной сети, будет разрешена одновременная работа «1С:Предприятия». Разрешенное количество компьютеров для одновременного использования определяется сетевым аппаратным ключом «HASP4 Net».
«HASP License Manager» может быть запущен как обычное приложение Windows или как служба (только в операционных системах, поддерживающих технологию NT).
Установка «HASP License Manager» осуществляется посредством запуска программы «LMSETUP.EXE».
Помимо этого, для нормальной работы «HASP License Manager», или на этапе установки системы, или после нее должен быть установлен драйвер «HASP Device Driver», осуществляющий взаимодействие «HASP License Manager» с аппаратным ключом «HASP4 Net».
При первом запуске системы «1С:Предприятие» на экран будет выведено сообщение о том, что список информационных баз пуст. Программа предложит добавить в список информационную базу, с чем необходимо согласиться. Для выполнения процедуры добавления информационной базы необходимо:
· при выводе на экран окна выбора варианта создания необходимо выбрать «Создание новой информационной базы» и нажать кнопку «Далее»;
· на экране будет выведено окно выбора информационной базы из шаблона. В списке шаблонов необходимо раскрыть дерево информационных баз, выбрать необходимую базу и нажать кнопку «Далее»;
· на экран будет выведено окно для указания наименования информационной базы и выбора варианта расположения, которые необходимо заполнить и нажать кнопку «Далее»;
· на экран будет выведено окно для указания параметров информационной базы. Помимо выбора каталога информационной базы может быть предложен и выбор языка. После нажатия на кнопку «Готово» информационная база добавляется в список информационных баз;
· для работы с информационной базой необходимо из списка баз выбрать нужную и нажать кнопку «1С:Предприятие»;
· после открытия информационной базы дальнейшие действия зависят от выбранного режима работы.
Создание информационных баз с использованием шаблонов.
В отличие от предыдущих версий системы «1С:Предприятие» начиная с 8.0 создание информационных баз осуществляется с использованием так называемых шаблонов. Данный механизм предназначен для упрощения процесса создания информационных баз и базируется на использовании в качестве шаблонов информационных баз и конфигураций из поставочных комплектов. Например, пользователь может создать несколько информационных баз «Управление торговлей» (например, для ведения учета нескольких предприятий), просто указав каталоги для этих информационных баз и шаблоны для их создания – соответствующие информационные базы будут созданы и зарегистрированы в «1С:Предприятии».
Конфигурации и/или информационные базы, используемые в качестве шаблонов, должны быть установлены на компьютере пользователя определенным образом – все шаблоны должны находиться в подкаталогах предопределенного каталога и сопровождаться файлами-манифестами, описывающими установленные шаблоны. Корневой каталог хранения шаблонов имеет название TMPLTS и находится в каталоге с установленной системой «1С:Предприятие» на одном уровне с каталогом BIN.
Файл-манифест имеет произвольное имя и расширение mft. Внутренний формат файла-манифеста близок к формату ini-файла. Для поддержки нескольких языков файл-манифест использует кодировку UTF-8. В файле-манифесте используются следующие параметры:
Vendor – поставщик решения – совпадает с указанным в конфигурации.
Name – наименование решения – совпадает с указанным в конфигурации.
Version – версия решения – совпадает с указанным в конфигурации.
Эти три параметра указываются первыми в файле-манифесте.
Следующие три параметра относятся к частям решения и разделяются наименованиями секций. Наименования секций выбираются произвольно.
Source – cf или dt файл-шаблон.
Catalog_<суффикс языка> – наименование решения в каталоге решений. Этих параметров в файле-манифесте может быть несколько. Суффикс определяет язык пользовательского интерфейса «1С:Предприятия» (например, ru – для указания русского языка).
Destination – рекомендуемый каталог создания информационной базы. Этот параметр используется при создании информационной базы из шаблона. Каталог представляет частичный путь, а в качестве одной из его частей каталог должен включать в себя каталог поставщика (во избежание совпадения имен каталогов у различных решений).
Настройка региональных установок.
Обычно во время первого запуска системы «1С:Предприятие» осуществляется настройка региональных установок информационной базы, значения которых должны быть согласованы с пользователями системы. Однако они могут редактироваться и во время эксплуатации системы.
Данная настройка позволяет управлять форматом отображения даты и времени, выбирать язык, разделители групп и разделители дробной от целой части числового значения, а также определять вид представления логических значений. Вызов данного механизма осуществляется через пункт меню «Администрирование ® Региональные установки информационной базы». Если же какое-либо из свойств остается не заполненным, то язык и форматы отображения определяются настройками операционной системы.
Обновление системы «1С:Предприятие».
Процесс обновления системы «1С:Предприятие» в общем случае включает в себя две составляющих:
· обновление технологической платформы;
· обновление конфигураций.
Обновления технологической платформы требуются менее часто, чем обновления конфигураций, однако они очень важны при использовании последних релизов конфигураций. Обновление платформы на новые версии обеспечивает наиболее корректную работу прикладных решений. Мало того, иногда новые версии конфигурации просто не будут работать на старых релизах платформы.
Новые релизы системы «1С:Предприятия» выпускаются в виде дистрибутива или в виде дистрибутива обновления (поставляемого на диске информационно-технологического сопровождения - ИТС).
Обновление технологической платформы может быть выполнено с использованием обоих видов дистрибутивов.
Для выполнения обновления технологической платформы необходимо запустить программу установки, входящую в состав дистрибутива. В начале будет произведен анализ установленной системы «1С:Предприятие» и в случае, если текущая версия платформы не требует обновления, работа программы установки будет завершена; иначе будет выполнено обновление установленных компонент технологической платформы.
При работе системы в клиент-серверном варианте следует помнить, что работа клиентского и серверного приложений разных версий не допускается. Поэтому необходимо выполнять обновление как серверного приложения, так и клиентских приложений.
Если была выполнена административная установка системы «1С:Предприятие» (для использования в локальной сети), администратор получает возможность выполнять обновление технологической платформы только в одном месте - в месте административной установки. Дальнейшее обновление версий платформы на локальных компьютерах смогут произвести сами пользователи.
После обновления административной установки, при очередном запуске «1С:Предприятия» с локального рабочего места, пользователю будет предложено произвести обновление локальной установки системы. Сама процедура обновления осуществляется в автоматическом режиме.
Обновление же конфигураций может выполняться как с помощью файлов конфигурации поставщика новой версии, так и с помощью специальных файлов обновления конфигурации (*.cfu).
В случае если конфигурация пользователя использует поддержку без возможности внесения изменений, то обновление представляет собой полностью автоматизированный процесс. Пользователь выполняет команду «Конфигурация – Поддержка – Обновить конфигурацию», и после получения подтверждения выполняется обновление.
Если же в конфигурации предусмотрена возможность внесения изменений, то обновление конфигурации производится с использованием механизма сравнения и объединения. В процессе сравнения участвуют не две (как в предыдущем случае), а три конфигурации – конфигурация пользователя, старая конфигурация поставщика (она хранится в конфигурации пользователя), и новая конфигурация поставщика, до которой и производится обновление. При этом система автоматически производит анализ сделанных изменений и определяет правила объединения. Сложность в этом случае может представлять вариант, когда и пользователь и поставщик меняли одно и то же свойство объекта.
Доступ к работе пользователей в системе «1С:Предприятие» осуществляется лицами, осуществляющими техническое сопровождение данной системы.
Все пользователи, имеющие доступ к работе с системой, регистрируются в списке пользователей, где каждому из них назначаются интерфейс, язык и одна или несколько из доступных ролей.
Пользовательский интерфейс – это видимая часть программы, с которой непосредственно взаимодействует конечный пользователь. Интерфейс прикладного решения состоит из следующих частей:
· панелей интерфейса (главное меню и панели инструментов конфигурации);
· экранных форм, в которых размещаются различные элементы управления (кнопки, поля ввода, списки, флажки и т.д.);
· диалоговых окон, предупреждений и вопросов, служебных сообщений, календаря, калькулятора и т.д.;
· печатных форм и окон текстовых документов, отображаемых на экране.
Любая конфигурация на платформе «1С:Предприятие» имеет интерфейс, частично состоящий из интерфейса самой платформы и собственного интерфейса конфигурации.
К интерфейсу платформы относятся внешний вид главного окна программы, системные пункты меню, стандартные панели инструментов, встроенные экранные формы и элементы управления. Встроенный интерфейс платформы присутствует во всех конфигурациях, что является одним из преимуществ системы программ «1С:Предприятие», позволяющим ускорить обучение пользователей при работе с различными конфигурациями, независимо от их назначения.
К интерфейсу самой конфигурации относятся главное меню конфигурации, которое сливается с системным меню, главные панели инструментов, экранные формы и расположенные на них элементы управления, выходные печатные формы, диалоговые окна и служебные сообщения.
В любой конфигурации можно создать один интерфейс, но чаще создается несколько интерфейсов для каждого типа пользователей. Рекомендуется один из интерфейсов назначить основным, а также разработать специальный интерфейс для администратора системы, в котором будут присутствовать все основные объекты конфигурации. Имена интерфейсам лучше присваивать исходя из названия должности пользователей или по названиям подсистем.
Средства встроенного языка допускают программное манипулирование интерфейсами. В частности, можно включить и выключить определенный интерфейс или сразу несколько интерфейсов. Начиная с версии 8.0 интерфейс можно переключать «на лету» без перезапуска программы.
Помимо возможности создания интерфейсов для пользователей система «1С:Предприятие» поддерживает механизм ролей пользователей, являющийся важным элементом в системе контроля доступа. Роль – это совокупность прав доступа к объектам информационной базы. Причем одному пользователю может быть назначено несколько ролей.
При разработке прикладного решения обычно создается необходимое количество ролей, каждая из которых имеет свой набор прав доступа. При их создании необходимо учитывать, что изменение конфигурации может привести к более трудоемкой процедуре ее обновления, поскольку придется объединять свою конфигурацию с конфигурацией поставщика.
Редактирование прав доступа к объекту производится в окне редактирования объекта на закладке «Права» или из окна самой роли.
Мониторинг действий пользователей и системных событий.
Очень часто администратору системы «1С:Предприятие» требуется знать какие действия и события происходили в определенный момент времени внутри системы. Для фиксирования и хранения этой информации предназначен журнал регистрации, который по умолчанию отключен, так как его ведение требует некоторых дополнительных затрат. Для его настройки и использования необходимо выбрать пункт меню «Администрирование ® Настройка журнала регистрации», где указывается важность событий, регистрируемых в журнале. К ним относятся ошибки, предупреждения, информационные сообщения и примечания.
При работе с журналом регистрации можно указать интересующий интервал времени, произвести отбор событий по определенному пользователю или компьютеру и другим параметрам. Журнал регистрации – очень удобное средство для мониторинга действий пользователей и восстановления последовательности событий, происходивших в определенный момент времени.
Хранятся журналы регистрации в специальных папках с именем «1Cv8.log», содержащих файлы журнала. Каждый каталог содержит файл «1Cv8.elf» и несколько файлов с именами вида «yyyyMMddhhmmss.log», где yyyy – год, MM – месяц, dd – день в месяце, hh – час, mm – минута, ss – секунда.
В файловом варианте информационной базы журнал регистрации располагается в каталоге информационной базы, в том же, что и файл самой информационной базы. Например, если информационная база хранится в файле C:/EnterpriseInfoBase/1Cv8.1CD, то журнал регистрации будет находиться в файле C:/EnterpriseInfoBase/1Cv8.log.
В клиент-серверном варианте информационной базы журнал регистрации располагается в подкаталоге рабочего каталога кластера. Имя подкаталога определяется идентификатором информационной базы. Например: C:/Program Files/1cv82/server/reg_1541/fb9d9cc4-ccd0-4be7-87e8-c5182945291e/1Cv8Log.
Резервное копирование.
Одним из совокупности мероприятий, направленных на обеспечение безопасности информационной базы, является ее резервное копирование. Резервную копию базы рекомендуется делать каждый день, но в каждом конкретном случае, периодичность архивирования определяется интенсивностью ввода и изменения данных.
В зависимости от варианта работы «1С:Предприятия» (файловый или клиент-серверный), рекомендуются следующие способы создания резервной копии информационной базы:
1. Использование механизма загрузки/выгрузки информационной базы в файл (dt-файл).
Необходимо отметить, что этот механизм в основном предназначен для получения образа информационной базы независимо от способа хранения данных. Например, загрузка/выгрузка информационной базы в файл может быть использована для преобразования файлового варианта к клиент-серверному. Но этот способ также может использоваться и для создания резервной копии информационной базы, хотя обладает рядом недостатков. Основным недостатком такого способа создания резервной копии является необходимость использования однопользовательского режима для осуществления этой операции (при использовании файлового варианта). При большом объеме информационной базы перерыв в работе пользователей может быть достаточно велик, что не всегда приемлемо;
2. Копирование файла, содержащего информационную базу.
При использовании файлового варианта «1С:Предприятия» процесс создания резервной копии информационной базы организуется путем простого копирования файла 1CV8.1CD в отдельный каталог, или используется программное обеспечение для резервного копирования и восстановления данных. При реализации данного способа следует учитывать, что для обеспечения целостности и согласованности данных во время создания резервной копии, работа пользователей с информационной базой должна быть запрещена, однако время, необходимое на создание резервной копии существенно меньше, чем при использовании выгрузки информационной базы в файл;
3. Использование средств SQL Server.
При использовании клиент-серверного варианта «1С:Предприятия» появляется возможность создания резервной копии информационной базы средствами SQL Server. Данный способ позволяет выполнять резервное копирование данных даже в то время, когда база данных находится в многопользовательском режиме и доступна для всех пользователей.
Использование двух последних способов резервного копирования дает максимально точную копию состояния информационной базы, что не всегда может быть получено при использовании режима загрузки/выгрузки информационной базы в файл. Например, если в базе данных есть нарушения, то при выгрузке из файла некоторая информация может быть не выгружена, в то время как при копировании будет сохранена вся информация, и после восстановления можно будет выполнить исправление базы данных.
Тестирование и исправление информационной базы.
Система «1С:Предприятие» имеет повышенную надежность и осуществляет поддержку целостности информационной базы при интенсивной работе. Однако, при возникновении подозрений на наличие ошибок в структурах данных после критических ситуаций, например, отключения электричества, а также для профилактики возникновения неполадок, система «1С:Предприятие» поддерживает набор средств диагностики и исправления ошибок в базе данных. Для этого предназначена команда «Тестирование и исправление…» меню «Администрирование». В появившемся окне можно указать, какие необходимо выполнить проверки и операции, требуется ли только тестирование или тестирование с исправлением ошибок, а также режим исправления. В абсолютном большинстве случаев неполадки устраняются системой автоматически и можно успешно продолжать работу.
Основной особенностью системы «1С:Предприятия» является ее конфигурируемость, что подразумевает возможность редактирования и внесения дополнений в типовые конфигурации, а также создание новых конфигураций в соответствии с требованиями и запросами отдельных предприятий и организаций.
Результатом конфигурирования является конфигурация, которая представляет собой модель предметной области и определяет конкретный набор объектов, структуры информационных массивов и алгоритмы обработки информации. Создается конфигурация штатными средствами системы «1С:Предприятия».
На этапе конфигурирования система оперирует такими универсальными понятиями (объектами), как «Документ», «Журнал документов». «Справочник», «Реквизит», «Форма», «Регистр» и другие. Совокупность этих понятий и определяет концепцию системы.
Сами понятия объектов и стандартные операции по их обработке определены на уровне системы. Средства конфигурирования позволяют описать структуры информации, входящей в эти объекты, и алгоритмы, описывающие специфику их обработки, для отражения различных особенностей учета.
Помимо базовых объектов, описывающих предметную область учета, конфигурация содержит ряд вспомогательных объектов, не относящихся непосредственно к деятельности организации, однако, тесно связанных с функционированием самой системы. Это механизмы взаимодействия пользователей с системой «1С:Предприятие» (интерфейсы, критерии отбора, права доступа различных групп пользователей к различной информации), вспомогательные объекты оформительского назначения, позволяющие производить конфигурирование на основе сформированных стилей, библиотеки картинок, с учетом национального языка. Кроме того, в состав любой конфигурации входят различные виды программных модулей, в которых располагаются процедуры и функции, и общие макеты печатных форм.
Таким образом, процесс конфигурирования условно можно разделить на несколько составляющих, определяющих последовательность создания составных элементов конфигурации и описания алгоритмов их поведения и взаимодействия:
· это «визуальное» конфигурирование (создание структуры конфигурации, форм диалогов и выходных документов, механизм работы пользователей с данными (интерфейс) и права доступа различных групп пользователей к различной информации);
· написание программ на встроенном языке «1С:Предприятия» для обработки входных и выходных данных.
Для описания специфических алгоритмов обработки информации и создания интерфейса, ориентированного на удобное представление описанных в конфигурации данных, в системе «1С:Предприятие» используется несколько технологических механизмов.
Встроенный программный язык. Необходимость наличия встроенного языка определена концепцией настраиваемости системы. Синтаксис встроенного языка вполне отвечает стандартам высокоуровневых языков.
Язык является объектно-ориентированным, поддерживающий специализированные типы данных предметной области, определяемые конфигурацией системы. Основным его отличием является мягкая типизация данных, обеспечивающая быстрое написание программных модулей, и жесткий контроль синтаксических конструкций, уменьшающий вероятность ошибок.
Так как система сочетает в себе визуальные и языковые средства конфигурирования, использование встроенного языка в системе имеет событийно-зависимую ориентацию, то есть языковые модули используются в конкретных местах для отработки отдельных алгоритмов, настраиваемых в процессе конфигурации. Так, например, для документа можно описать алгоритм автоматического заполнения реквизитов при вводе нового документа. Данная процедура будет вызвана системой в нужный момент.
Механизм запросов. Для получения произвольных отчетов сложной структуры в системе предусмотрен объектно-ориентированный механизм запросов. Данное средство опирается на существующую условно-переменную структуру информационной базы системы, что позволяет сравнительно просто описывать достаточно сложные запросы.
Встроенный текстовый редактор используется для создания программных модулей на встроенном языке и для редактирования документов в текстовом виде.
Одной из особенностей редактора является возможность контекстного выделения цветом синтаксических конструкций встроенного языка, а также группировка различных синтаксических конструкций.
Благодаря тому, что встроенный язык системы имеет мощные средства манипулирования текстами, текстовый формат может быть успешно использован для обмена с другими системами самой различной информацией.
Встроенный редактор форм. Работа с настраиваемыми структурами данных и работа в интерфейсе операционной системы MS Windows вызывает необходимость произвольной настройки форм для ввода и редактирования информации. Для этого в системе «1С:Предприятие» существует встроенный редактор форм.
Редактор позволяет оформить большинство окон, которые используются в системе для ввода и просмотра предметной информации (формы документов, справочников, настройки отчетов).
Встроенный редактор табличных документов. Для всех выходных документов (первичных документов и отчетов) в системе предусмотрен единый формат – формат табличных документов.
Редактор табличных документов – это мощное средство, сочетающее в себе оформительские возможности табличной структуры и векторной графики. Он может быть использован как для создания небольших документов с очень сложной структурой линий (типа платежного поручения), так и для объемных ведомостей, журналов и других подобных документов.
Редактор табличных документов предоставляет пользователям богатый набор оформительских возможностей (шрифты, цвета, линии, узоры). Имеется возможность вывода информации в графическом виде (диаграммы).
Одной из главных особенностей редактора табличных документов является ориентация на формирование отчетов при помощи встроенного языка системы «1С:Предприятие». Гибкое построение отчетов с его помощью становится возможным благодаря наличию механизма манипулирования именованными областями документа. Редактор табличных документов позволяет манипулировать не только горизонтальными, но и вертикальными областями, что делает возможным создание отчетов, масштабируемых не только в высоту, но и в ширину.
С другой стороны, табличный документ может выступать в качестве элемента управления формы и, таким образом, использоваться для ввода данных.
Конструкторы. Конструкторы – это вспомогательные инструменты, облегчающие разработку стандартных элементов системы «1С:Предприятие». В системе имеются, например, конструкторы форм констант, справочников, документов, журналов документов, отчетов и других объектов, конструкторы печатных форм, конструкторы движений регистров и другие.
Система настройки пользовательских интерфейсов. Для того чтобы интерфейс конкретной конфигурации системы полностью отражал настроенные структуры данных и алгоритмы, в системе 1С: Предприятие, помимо редактора диалоговых форм и табличных документов, предусмотрена возможность настройки общих интерфейсных компонент системы: меню, панелей инструментов, комбинаций клавиш.
На этапе конфигурирования может быть создано несколько пользовательских интерфейсов для разных категорий пользователей (руководителей, менеджеров, кладовщиков и других).
Подсистемы. На этапе проектирования Конфигуратор позволяет в рамках одной конфигурации выделить различные подсистемы, например, торговый учет и исследовательский комплекс. Для каждого объекта конфигурации можно указать, к какой подсистеме относится данный объект. Допускается указание принадлежности к нескольким подсистемам. Это позволяет легко и быстро настраивать конфигурацию по различным видам деятельности и производить выбор объектов, относящихся к определенной подсистеме.
Система настройки прав доступа (роли). Данная система позволяет описывать наборы прав, соответствующие должностям пользователей или в соответствии с их направлением деятельности. Структура прав определяется конкретной конфигурацией системы. Например, могут быть введены такие наборы прав, как «Главный бухгалтер», «Кладовщик», «Менеджер», «Начальник отдела».
Сам список пользователей создается уже для конкретной организации. Каждому пользователю назначается одна или несколько ролей, основной интерфейс и язык, используемые при работе с программой.
Отладчик. Для удобства разработки конфигурации в системе предусмотрен отладчик, позволяющий следить за исполнением программных модулей конфигурации, замерять сравнительное время их исполнения, просматривать содержимое переменных.
Администрирование работы пользователей. Для отслеживания текущего состояния работы системы используется режим ведения списка пользователей и просмотра списка активных пользователей. Он позволяет просмотреть, кто из пользователей в настоящий момент работает с конкретной информационной базой, и в каком режиме.
Работа с конфигурацией осуществляется в окне «Конфигурация», для открытия которого необходимо выбрать пункт меню «Конфигурация – Открыть конфигурацию».
Конфигурация представляется в виде древовидной структуры (рис. 7), каждая ветвь которой описывает определенную составляющую конфигурации. Корневые ветви дерева объединяют объекты конфигурации, логически связанные между собой и имеющие общее назначение. Например, ветвь «Документы» объединяет объекты типа «Последовательности», «Нумераторы» и собственно объекты конфигурации типа «Документ». Все эти объекты предназначены для организации ввода документов в системе «1С:Предприятие».
Рис. 7. Дерево конфигурации
Приемы работы с деревом конфигурации не отличаются от приемов работы с другими «древовидными» списками в операционной системе MS Windows (например, со структурой папок, изображаемой на левой панели программы «Проводник»).
При работе с деревом конфигурации существует одна удобная возможность: если выделить наименование конфигурации, расположенное в корневом узле дерева конфигурации, и нажать клавишу «*» на правой цифровой клавиатуре, то дерево конфигурации раскроется полностью. Однако, полностью свернуть дерево конфигурации повторным нажатием этой клавиши нельзя – это придется делать отдельно для каждой ветви конфигурации.
Полностью раскрытое дерево конфигурации позволяет просмотреть все объекты, существующие в конфигурации, и расставить их в требуемом порядке в пределах «своей» группы объектов конфигурации (в таком же порядке объекты конфигурации будут выдаваться в различных списках). Для перестановки объекта конфигурации необходимо выделить его в окне «Конфигурация» и использовать кнопки «Переместить вверх», «Переместить вниз» и «Упорядочить список» в панели инструментов окна «Конфигурация».
Кроме того, однотипные объекты, подчиненные одному объекту конфигурации, могут быть отсортированы по определенному свойству и направлению. Например, формы конкретного справочника могут быть отсортированы по:
· имени – сортировка будет выполнена по именам объектов конфигурации;
· синониму – сортировка будет выполнена по синонимам объектов конфигурации;
· комментарию – сортировка будет выполнена по комментариям объектов конфигурации.
Направление сортировки:
· по возрастанию – будет выполняться сортировка в порядке возрастания;
· по убыванию – будет выполняться сортировка по убыванию.
Для сохранения конфигурации (без завершения работы с ней) после ее редактирования необходимо выбрать пункт меню «Конфигурация – Сохранить конфигурацию». Если конфигурация была модифицирована (были произведены изменения), то Конфигуратор выводит сообщение «Конфигурация была изменена. Сохранить изменения?». Для сохранения внесенных изменений необходимо выбрать кнопку «Да».
При сохранении программа анализирует изменения в структуре конфигурации. Если были добавлены, удалены или модифицированы объекты, то на экран выводится диалог со списком изменений для подтверждения их сохранения.
Закрытие конфигурации осуществляется с помощью пункта меню «Конфигурация – Закрыть конфигурацию». При этом, если конфигурация была модифицирована (были произведены изменения), то Конфигуратор выводит сообщение «Конфигурация была изменена. Сохранить изменения?». Для сохранения внесенных изменений необходимо выбрать кнопку «Да».
Общие приемы создания объектов конфигурации.
Управление большинством объектов конфигурации выполняется в окне «Конфигурация». Для создания нового объекта конфигурации необходимо выполнить совокупность действий, позволяющих сформировать, как внешний вид объекта, алгоритм его поведения в конфигурации, так и определить набор связей с другими объектами (рис. 8):
Рис. 8. Добавление нового объекта конфигурации
· в дереве конфигурации выделяется наименование типа объекта конфигурации или любого из существующих объектов конфигурации того типа, который должен быть у создаваемого объекта;
· выбирается пункт «Действия – Добавить» окна «Конфигурация».
Существует и другой способ создания нового объекта конфигурации, который использует контекстное меню, вызываемое при нажатии на правую клавишу мыши. Т.е., устанавливается курсор на интересующий вид объектов конфигурации и нажимается правая клавиша мыши. В появившемся меню выбирается пункт Добавить (рис. 9).
Рис. 9. Второй способ добавления нового объекта конфигурации
Новые подчиненные объекты создаются следующим образом:
· открывается диалог редактирования объекта (пункт «Действия – Изменить» окна «Конфигурация»);
· на закладке «Основное» указывается нужный вид подчиненного объекта;
· нажимается кнопка «Добавить».
В результате этих действий на текущей ветви дерева конфигурации появляется новый объект, а на экран автоматически вызывается палитра свойств или диалог редактирования объекта конфигурации для редактирования свойств этого объекта.
Для создания некоторых типов объектов в систему включены конструкторы форм – это вспомогательные инструменты, облегчающие разработку форм объектов конфигурации системы «1С:Предприятие». Они запускаются при создании новых объектов.
Новому объекту конфигурации обязательно присваивается условное имя, состоящее из слова, соответствующего типу создаваемого объекта, и числа – порядкового номера нового объекта конфигурации. Например, для нового справочника имя будет начинаться со слова «Справочник».
Для удаления объекта конфигурации его необходимо выделить в дереве конфигурации и выбрать пункт «Действия – Удалить» окна «Конфигурация». Если на объект нет ссылок в других объектах конфигурации, то он удаляется, если ссылки есть, т.е. объект используется, то выдается сообщение «Объект не может быть удален, так как на него есть ссылки в других объектах!». А в окно сообщений выводится список использования данного объекта. В этом случае необходимо снять все ссылки и только после этого система позволит удалить объект.
Редактирование объектов конфигурации.
Для основных объектов конфигурации (Справочники, Документы, Журналы и др.) редактирование свойств объектов, управление составом подчиненных объектов, настройку взаимодействия объектов удобно производить с помощью диалога редактирования объекта.
В большинстве случаев диалог редактирования объекта вызывается при выборе пункта «Действия – Изменить» окна «Конфигурация». Перечень редактируемых свойств располагается на нескольких закладках диалога.
В диалоге редактирования объекта расположены элементы управления, с помощью которых производится создание, удаление, открытие и сортировка реквизитов, форм, макетов, табличных частей и реквизитов табличных частей. Для добавления подчиненного объекта указатель мыши устанавливается на соответствующую ветвь подчиненной группы объекта и нажимается кнопка «Добавить», для удаления – кнопка «Удалить». Если требуется отсортировать реквизиты объекта конфигурации или реквизиты табличной части, указатель мыши устанавливается в нужный список объекта и нажимается кнопка «Сортировать». В открывшемся диалоге указывается критерии сортировки.
При создании новой формы запускается конструктор форм (рис. 10), с помощью которого производится выбор вида формы, подбор состава размещаемых в форме реквизитов и построение собственно формы (рис. 11).
Рис 10. Конструктор формы документа
Рис. 11. Новая форма документа и окно редактора форм
При создании нового макета создается табличный документ (рис. 12). Механизм макетов (общих таблиц печатных форм, форм отчетов, справочных данных и т.д.) позволяет создавать шаблоны печатных форм, доступные из любого модуля текущей конфигурации. Порядок работы с макетами и их редактирование определено характеристиками и набором функционала встроенного Табличного редактора системы 1С:Предприятие.
Рис. 12. Макет документа
Оформление объектов конфигурации.
Визуальное оформление различных видов объектов конфигурации осуществляется на этапе конфигурирования и подразумевает создание таких объектов конфигурации как «Стили» и «Картинки».
Под стилем понимается совокупность различных форм для оформления текстов и рамок элементов управления. Стиль состоит из отдельных элементов, называемых Элементами стиля, стандартный набор которых изменению не подлежит.
Приемы создания, редактирования свойств и удаления объектов конфигурации типа «Элементы стиля» и «Стили» совпадают с общими приемами управления объектами конфигурации. При создании элемента стиля палитра свойств этого элемента позволяет выбрать его цветовое оформление, вид и размер шрифта и вид рамки.
Для визуальной оценки установки стиля для каждого элемента на этапе конфигурирования можно использовать дополнительный диалог, вызов которого осуществляется с помощью пункта «Действия – Изменить». Использование этого диалога позволяет сразу же просматривать результат выбора одного из стандартных значений, характерных для конкретного элемента стиля.
Все элементы стилей, созданные для данной конфигурации, располагаются в списке стилей под стандартными стилями (например, стиль «Пользовательский»).
Конфигуратор позволяет создать произвольное число стилей и их дополнительных элементов.
Помимо стилей для оформления объектов могут быть использованы графические изображения – картинки, которые можно размещать в отдельных элементах управления, формах, макетах, а также обращаться к ним при помощи встроенного языка системы «1С:Предприятие».
Конфигуратор накладывает ограничения по размерам используемых картинок для различных объектов. Так, например, для кнопок рекомендуется устанавливать размер картинок не более 16х16 точек, для поля списка и табличного поля, эти размеры должны быть не более, чем 14х14 точек.
Работа с картинками осуществляется с помощью диалога «Библиотека картинок», для вызова которого используется пункт «Картинки» → «Все картинки» в окне «Конфигурация» на ветви «Общие», или контекстного меню. Конфигуратор позволяет осуществлять использование заранее подготовленных картинок, расположенных вне системы, для чего используется механизм добавления. Чтобы картинка при вставке хорошо вписывалась в элемент управления или форму, желательно установить ей прозрачный фон, благодаря чему становятся видны детали той части формы, которую закрывает область картинки.
В большинстве случаев процесс создания объекта конфигурации или изменения его свойств сопровождается заполнением палитры свойств этого объекта.
Палитра свойств – это диалог в виде набора свойств, которые можно определить для объекта конфигурации. Состав свойств, входящих в палитру свойств конкретного объекта, зависит от типа этого объекта.
Изначально палитра свойств любого объекта содержит значения свойств, задаваемые системой по умолчанию.
Таким образом, процесс редактирования объекта конфигурации заключается в изменении свойств объекта с целью добиться требуемого поведения объекта в процессе использования.
Для вызова палитры свойств указывается объект конфигурации и выбирается пункт «Правка – Свойства».
Все свойства объекта в палитре свойств группируются по определенным категориям, число которых и состав входящих в них свойств, зависит от вида рассматриваемого объекта. Например, для реквизита документа палитра свойств содержит только категории свойств Основные и Тип данных. Состав свойств объекта также зависит от выбранных значений других его свойств. Например, в свойстве «Тип» при выборе базового типа «Число» добавляются свойства, характеризующие выбранный тип: Длина, Точность и Неотрицательное.
В зависимости от вида объекта его свойства бывают доступными или недоступными для изменения. Например, в текстовом документе свойства объекта предназначены только для показа числа строк и символов, а также статуса документа, но они не доступны для изменения.
Каждое свойство в палитре свойств имеет наименование, а также развернутое пояснение. Режим получения развернутого описания устанавливается с помощью контекстного меню, вызываемого в любом свободном месте палитры свойств (вне полей ввода). Если этот режим установлен, то при выборе свойства в нижней части палитры свойств выводится развернутое пояснение. Помимо пояснительного описания, может выводиться имя указанного свойства. По этому имени производится доступ к значению указанного свойства из программного модуля.
Способ ввода значений в палитре свойств зависит от типа редактируемого свойства. Для текстовых реквизитов – это обычный ввод текста (можно использовать буфер обмена), для свойств типа «флажок» – путем щелчка мышью. Значения некоторых свойств могут выбираться из списков. Если поле свойства имеет кнопку выбора, то при ее нажатии открывается диалог, в котором производится выбор значения свойства. К таким свойствам относится, например, выбор файла картинки, определение цвета и другие. С помощью кнопки редактирования для текстовых данных вызывается диалог редактирования строки на разных языках, для событий – процедура модуля формы, отрабатывающая данное событие, для свойств из категории «Представление» – существующую форму объекта данных. С помощью кнопки очистки производится сброс значения указанного свойства.
В палитре свойств также могут располагаться специальные ссылки, с помощью которых открываются связанные с выбранным объектом различные формы. Например, вызов справочной информации (описание) объекта конфигурации, различных форм, процедур модуля формы. Такие ссылки изображаются подчеркнутым текстом, например: Открыть. При подведении указателя мыши к ссылке, он принимает форму ладони, а нажатие ссылки приводит к открытию окна, связанного с этой ссылкой.
Как и большинство окон системы «1С:Преприятие» окно палитры свойств имеет панель инструментов, включающую в себя пять кнопок, три из которых предназначены для управления показом свойств, а две другие для сохранения и отмены редактирования свойств объекта.
Все категории свойств палитры свойств могут располагаться в виде закладок или списком. При расположении свойств списком сами свойства могут располагаться списком по категориям или по алфавиту (при этом наименования категорий не показываются).
Для выбора способа показа категорий (должен быть включен показ категорий) в любом свободном месте диалога палитры свойств необходимо открыть контекстное меню и выбрать нужный способ показа («Закладками» или «Списком»).
Кнопки сохранения и отмены редактирования свойств становятся доступными только после начала редактирования любого текстового поля палитры свойств.
В настоящее время любая система автоматизации должна быть достаточно гибкой, чтобы постоянно следовать в ногу со временем, подстраиваться под изменяющиеся условия реального мира и возрастающие требования пользователей. Для достижения этой цели в систему «1С:Предприятие» включен встроенный язык, который позволяет алгоритмически определить поведение объектов конфигурации.
Конечный пользователь самостоятельно или с помощью профессиональных разработчиков может настроить прикладное решение под свои нужды или разработать свою собственную конфигурацию «с нуля». Средства встроенного языка системы «1С:Предприятие» позволяют управлять практически всеми аспектами поведения системы, работать с прикладными объектами, например, справочниками и документами, формировать печатные формы отчетов и выполнять другие самые разнообразные действия.
Важно понимать, что встроенный язык системы «1С:Предприятие» не предназначен для написания отдельных выполняемых приложений, а является неотъемлемой частью платформы.
Встроенный язык системы «1С:Предприятие» предназначен для описания (на стадии разработки конфигурации) алгоритмов функционирования прикладной задачи.
Встроенный язык представляет собой объектно-ориентированный язык программирования. В частности, все операторы языка имеют как русское, так и англоязычное написание, которые можно использовать одновременно в одном исходном тексте.
В данном языке используется «мягкая» (не жесткая) типизация переменных, т.е. тип переменной определяется ее значением. Кроме того, переменные не обязательно объявлять в явном виде. Неявным определением переменной является ее первое упоминание в левой части оператора присваивания. Хотя явное объявление переменных также возможно при помощи соответствующего оператора.
Весь программный код, созданный разработчиками, размещается в программных модулях конфигурации системы «1С:Предприятие».
Программные модули в конфигурации не являются самостоятельными программами в общепринятом понимании этого слова, поскольку они являются только частью всей конфигурации задачи. Программный модуль – это своего рода «контейнер» для размещения текстов процедур и функций, вызываемых системой во время исполнения задачи в определенные моменты работы. Поэтому программный модуль не имеет формальных границ своего описания типа: «Начало модуля» – «Конец модуля».
Любой программный модуль, за исключением общих модулей, состоит из следующих разделов:
· раздел объявления переменных;
· раздел процедур и функций;
· раздел основной программы.
Раздел объявления переменных размещается от начала текста модуля до первого оператора Процедура или оператора Функция, или любого исполняемого оператора. В данном разделе определяются локальные переменные модуля и экспортируемые переменные, которые объявляются с ключевым словом Экспорт. Например:
Перем НачДата Экспорт; //экспортируемая переменная
Перем КонДата Экспорт; //экспортируемая переменная
Перем ТекСтрока; //локальная переменная модуля
Раздел процедур и функций размещается от первого оператора Процедура или оператора Функция до любого исполняемого оператора вне тела описания процедур или функций. Данный раздел содержит тела процедур и функций, написанных разработчиком вручную или сформированных конструктором. Некоторые процедуры и функции могут быть объявлены с ключевым словом Экспорт, тогда они дополняют контекст объекта и становятся видимыми вне объекта.
Например, ниже приведен модуль документа:
//эта процедура будет доступна
//как метод объекта ДокументОбъект
Процедура Печать(ТабДок=Неопределено) Экспорт
КонецПроцедуры
//это локальная процедура модуля
Процедура ПолучитьГруппировку(РезультатЗапроса,
ИмяГруппировки)
КонецПроцедуры
Процедуры и функции рекомендуется отделять комментарием с разделителем. В виде комментариев рекомендуется указывать назначение процедуры или функции, параметры и возвращаемое значение для функций.
В самом конце модуля, после всех процедур или функций, следует раздел основной программы, состоящий из выполняемых операторов. Эти операторы будут исполнены при инициализации модуля. Например, для модуля справочника – при создании объекта типа СправочникОбъект, для модуля формы – при создании объекта Форма. Обычно в этом блоке операторов производится инициализация переменных модуля и заполнение полей начальными значениями.
Границы между указанными разделами являются условными и визуально никак не определяются. Просто необходимо запомнить, что переменные объявляются до начала процедур и функций, размещаемых в модуле, а остальные операторы следуют уже за всеми процедурами и функциями.
Таким образом, в общем случае программный модуль представляет собой текст на встроенном языке «1С:Предприятия», расположенный в определенном месте конфигурации.
В соответствии с этим различают следующие виды программных модулей:
1. Общие модули.
Общие модули принадлежат всей конфигурации в целом, их может быть несколько, например, модули «РасчетНалогов», «ОбработкаДокументов». Общие модули не могут содержать объявлений переменных, и в них нет раздела основной программы, таким образом, они состоят только из процедур и функций.
2. Модуль приложения.
Это модуль, который относится ко всей конфигурации в целом и может быть только один. Модуль приложения является аналогом глобального модуля в версии 7.7. Он отвечает за пользовательскую сессию (сеанс) работы с «1С:Предприятием».
3. Модуль внешнего соединения.
Если конфигурация запускается не в режиме клиентской сессии, а через СОМ-соединение, то вместо модуля приложения используется модуль внешнего соединения, который в конфигурации может быть только один.
4. Модули прикладных объектов.
У некоторых прикладных объектов конфигурации могут быть собственные модули, например, модуль документа «РасходнаяНакладная», модуль справочника «Номенклатура». Не следует их путать с модулями форм этих объектов.
5. Модули форм.
У каждой формы объекта есть модуль, в котором определяется поведение формы и действия, выполняемые из нее. Например, открытие других форм.
Каждый отдельный программный модуль воспринимается системой как единое целое, поэтому все процедуры и функции программного модуля выполняются в едином контексте.
Контекст – очень важное понятие при программировании на любом языке. В системе «1С:Предприятие» контекст обозначает окружение модуля, т.е. какие переменные, объекты, свойства, методы и события ему будут доступны.
Можно выделить следующие виды контекстов, существующие в «1С:Предприятие»:
1. Глобальный контекст – доступен во всех остальных контекстах и состоит из следующих частей:
· свойства, методы и события глобального контекста;
· системные перечисления и системные наборы значений.
2. В контексте модуля приложения (модуля внешнего соединения) – доступны экспортируемые переменные, процедуры и функции общих модулей.
3. В контексте общего модуля – доступны экспортируемые процедуры и функции других общих модулей. В этом контексте недоступны экспортируемые переменные, процедуры и функции модуля приложения.
4. В контексте модуля прикладного объекта предоставляется доступ к реквизитам и табличным частям объекта, а также его методам и событиям.
5. В контексте модуля формы – доступны реквизиты формы, а также ее свойства, методы и события. Если у формы назначен основной реквизит, то в модуле формы становятся доступны свойства и методы прикладного объекта, используемого в качестве основного реквизита.
Помимо этого необходимо помнить правила видимости экспортируемых переменных, процедур и функций различных модулей:
1. В общем модуле недоступны экспортируемые переменные, процедуры и функции модуля приложения (модуля внешнего соединения).
2. В модуле приложения (модуле внешнего соединения) доступны экспортируемые процедуры и функции общих модулей.
3. В общих модулях доступны экспортируемые процедуры и функции других общих модулей.
4. В модулях прикладных объектов и модулях форм доступны экспортируемые переменные, процедуры и функции модуля приложения (модуля внешнего соединения), а также экспортируемые процедуры и функции общих модулей.
5. Если у формы назначен основной реквизит, то контекст модуля формы содержит дополнительные свойства и методы, связанные с основным реквизитом.
Контекст может быть дополнен новыми свойствами и методами. Это происходит при объявлении переменной, процедуры или функции. Если она объявлена с ключевым словом Экспорт, тогда она становится видна вне объекта, иначе она будет доступна только внутри этого модуля.
Редактор программных модулей.
Редактирование программных модулей производится в специализированном текстовом редакторе системы «1С:Предприятие». Данный редактор поддерживает цветовое выделение синтаксических конструкций, группировку блоков операторов, шаблоны текста и контекстную подсказку (аналог технологии IntelliSense).
К тому же он может быть использован не только для редактирования текстов программных модулей, но и для написания любых других текстов, например, запросов.
Параметры данного редактора позволяют настроить цвета фона и вводимого текста. Здесь же можно выбрать шрифт, автоматический отступ, ширину табуляции и другие параметры.
Текстовый редактор предоставляет возможность проводить проверку модуля на наличие синтаксических ошибок. Если даже таких ошибок не будет найдено, то это не гарантирует, что программа будет работать правильно, поскольку могут возникать ошибки времени выполнения, которые невозможно обнаружить на этапе синтаксического контроля. В параметрах редактора рекомендуется включать автоматическую проверку модуля на синтаксические ошибки, которая будет всегда выполняться при его сохранении. Это позволит раньше обнаружить ошибку, и, следовательно, ее исправление обойдется дешевле.
Помимо этого текстовый редактор поддерживает поиск строки по тексту и позволяет выполнить глобальный поиск строки по всей конфигурации или только по ее определенным объектам, а также позволяет искать текст в файлах, не включенных в конфигурацию, например, во внешних обработках.
При программировании часто возникает потребность вспомнить имя свойства или метода, а также параметры методов и возвращаемые значения функций. Эта информация содержится в Синтакс-помощнике.
В системе «1С:Предприятие» поддерживается технология контекстной подсказки, предназначенная для облегчения программирования и уменьшения количества ошибок. Суть ее заключается в том, что после нажатия точки (или Ctrl-Пробел) во всплывающем окне высвечивается список свойств и методов, которые доступны в данном контексте.
Например, после написания строки «Документы.» появляется контекстное меню. Набираем первые буквы имени документа — «расх» — и курсор устанавливается на документ Расходная_Накладная. Остается нажать Enter и имя документа будет подставлено в текст модуля. Затем можно опять ввести точку и появится уже список свойств и методов документа РасходнаяНакладная. Необходимо учитывать, что область действия контекстной подсказки ограничена: она работает не во всех случаях и не для всех объектов.
При написании программного кода для ускорения ввода часто используемых конструкций можно использовать шаблоны, например, для блока «Если...КонецЕсли;» или «Процедура...КонецПроцедуры». После набора определенного количества символов, указанных в шаблоне, и нажатии клавиш Ctrl+Q активизируется соответствующий шаблон, т.е. введенная строка будет заменена на текст шаблона. Помимо этого шаблоны можно включать в контекстную подсказку, для чего в настройках конфигуратора должен быть установлен признак «Включать шаблоны в список подсказок».
Текстовый редактор также поддерживает механизм закладок по тексту, что позволяет «запомнить» определенную строку в тексте, а потом быстро к ней вернуться.
При одновременной работе с разными частями модуля существует возможность горизонтального и вертикального разделение окна, которое включается и выключается из меню «Окна». Другой возможностью управления окнами является их соединение друг с другом. Если перетащить окно с нажатой клавишей Shift, то его можно соединить с другим окном, например, для редактирования модуля отчета и его формы в одном окне. Соединять окна можно горизонтально или вертикально, а также в виде закладок внизу.
Во встроенном языке системы «1С:Предприятия» поддерживаются следующие основные типы данных:
· число;
· строка;
· дата (включает в себя время);
· булево (имеет два значения: Истина и Ложь);
· значение Неопределенно;
· значение Null (для неуказанных значений в таблицах базы данных),;
· тип (значения специального типа «Тип» нужны для представления и сравнения типов данных).
Специализированные типы данных, используемые в системе «1С:Предприятие» не могут определяться средствами самого языка, а задаются в визуальном режиме конфигуратора.
Объявление переменных.
В переменных хранится промежуточная информация, необходимая для работы программы. Переменные обычно создаются автоматически при первом присвоении им значения, но можно объявлять их явно с помощью ключевого слова Перем.
Тип переменной определяется по значению, которое она содержит. При помещении в переменную значения другого типа меняется и тип переменной, т.е. в языке поддерживается мягкая типизация.
Если переменную модуля объявить с ключевым словом Экспорт, то она будет видна вне модуля.
Экспортируемые переменные модуля приложения называются глобальными переменными, потому что они доступны в любом месте программы (кроме общих модулей). При написании программного кода рекомендуется как можно меньше использовать глобальные переменные. Примеры объявления переменных представлены ниже:
//явное объявление переменной модуля
//или процедуры/функции
Перем Итог;
//экспортируемая переменная модуля
Перем Количество Экспорт;
//неявное объявление переменных
//(при первом присвоении значения)
ном = 0;
Оператор Новый.
Оператор Новый предназначен для создания объектов определенных типов, например, СписокЗначений, Структура и т.д. Он применяется только для тех типов объектов, для которых допустимо создание новых значений. При объявлении переменных, ссылающихся на прикладные объекты, оператор Новый не используется.
Ниже показываются различные варианты объявления переменных:
//создание нового объекта типа »Структура»
Отбор = Новый Структура;
//вызов конструктора с параметрами
Отбор = Новый Структура(«Контрагент»,ВыбКонтрагент);
//получение объекта типа СправочникМенеджер
Спр = Справочники.Контрагенты;
Приведение типов.
При программировании часто требуется преобразовать значение одного типа в значение другого типа, например, число 10 преобразовать в строку «10».
Приведение типов может быть как явным, так и неявным. Для явного приведения типов существуют следующие функции:
· Число();
· Строка();
· Дата();
· Булево().
Неявное приведение типов производится системой автоматически при вычислении выражений. Например, в следующей конструкции значение числовой переменной НомерМесяца неявно преобразуется в строку и присоединяется к другой строке:
а = «Месяц» + НомерМесяца.
Системные перечисления и наборы значений.
В системе «1С:Предприятие» начиная с версии 8.0 для улучшения понятности программ были введены системные перечисления и системные наборы значений.
Например, ниже используется системное перечисление ОриентацияСтраницы и его значение Портрет:
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет.
Системные наборы значений аналогичным образом позволяют упрощать написание программы, но в отличие от системных перечислений, они не образуют типа. Например, некоторые часто используемые спецсимволы были собраны в системный набор значений Символы, в котором содержатся следующие значения:
· ПС – перевод строки (помещение курсора на следующую строку);
· ВК – возврат каретки (помещение курсора в начало строки);
· Таб – символ табуляции;
· ПФ – перевод формы (страницы);
· ВТаб – вертикальная табуляция;
· НПП – неразрывный пробел.
Например, соединение нескольких строк в одну многострочную строку производится следующим образом:
стр = стр1 + Символы.ПС + Символы.ВК + стр2.
Исходный текст программного модуля может состоять из операторов и комментариев.
Комментарий используется для размещения в исходном тексте программного модуля всякого рода пояснений к работе модуля. Хорошим тоном программирования считается, когда исходный текст содержит исчерпывающий комментарий с описанием алгоритма. В режиме исполнения программы комментарии пропускаются. В тексте программного модуля комментарий начинается парой символов «//» и заканчивается концом строки. Это значит, что комментарий можно начинать с начала строки или записывать его после оператора на той же строке. После начала комментария писать оператор на той же строке нельзя, необходимо закончить комментарий концом строки. Например:
А=В; // Это – комментарий
// Это тоже комментарий
Операторы имеют вид стандартного обращения к процедуре, за исключением оператора присваивания (А=В;) и управляющих конструкций (таких как Для, Пока, Если). Между собой операторы обязательно следует разделять символом «; « (точкой с запятой). Конец строки не является признаком конца оператора, т.е. операторы могут свободно переходить через строки и продолжаться на другой строке. Можно располагать произвольное число операторов на одной строке, разделяя их «точкой с запятой». Однако, после ключевых слов КонецПроцедуры или КонецФункции точка с запятой не ставится, поскольку это не операторы, а операторные скобки.
Условно операторы языка в программном модуле можно подразделить на две категории: операторы объявления переменных и исполняемые операторы.
Операторы объявления переменных создают имена переменных, которыми манипулируют исполняемые операторы.
Любой исполняемый оператор может иметь метку, используемую в качестве точки перехода в операторе Перейти.
В общем случае формат оператора языка следующий:
~метка: Оператор[(параметры)] [ДобКлючевоеСлово].
В качестве меток используются специальные идентификаторы, начинающиеся с символа «~» (тильда) и состоящие из последовательности букв, цифр и символов «_». Чтобы пометить оператор, надо поместить перед ним метку и следующий за ней символ «:» (двоеточие). Например:
~метка: А=В.
Именем переменной, объявленной процедуры или функции может быть любая последовательность букв, цифр и знаков подчеркивания «_», начинающаяся с буквы или знака подчеркивания «_». Вновь создаваемые имена не должны совпадать с зарезервированными словами языка или именами существующих процедур и функций, доступных на момент выполнения. Распознавание имен переменных, процедур и функций ведется без учета регистра букв.
Приведенные далее ключевые слова являются зарезервированными и не могут использоваться в качестве создаваемых имен переменных и объявляемых процедур и функций. В данном варианте языка каждое из ключевых слов имеет два представления — русское и английское. Английское представление является традиционным для языков программирования. Ключевые слова в русском и английском представлении могут свободно смешиваться в одном исходном тексте. Регистр букв ключевых слов не имеет значения. В таблице 2 приведен список ключевых слов в обоих вариантах представления.
Таблица 2.
Если |
If |
He |
Not |
Тогда |
Then |
Знач |
Val |
ИначеЕсли |
Elsif |
КонецЦикла |
EndDo |
Иначе |
Else |
Перем |
Var |
КонецЕсли |
Endlf |
Перейти |
Goto |
Цикл |
Do |
Возврат |
Return |
Для |
For |
Продолжить |
Continue |
По |
To |
Прервать |
Break |
Пока |
While |
И |
And |
Функция |
Function |
Или |
Or |
КонецПроцедуры |
EndProcedure |
Процедура |
Procedure |
КонецФункции |
EndFunction |
|
|
Кроме того, в исходном тексте программного кода могут использоваться следующие специальные символы (таблица 3):
Таблица 3.
// |
Двумя знаками «косая черта» начинается комментарий. Комментарием считается весь текст от знака «//» до конца текущей строки. |
| |
Вертикальная черта в начале строки используется только в строковых константах и означает, что данная строка является продолжением предыдущей (перенос строки). |
~ |
Знаком тильда начинается метка оператора. |
: |
Двоеточием заканчивается метка оператора. |
; |
Точка с запятой является символом разделения операторов. |
( ) |
В круглые скобки заключается список параметров методов, процедур и функций. |
[ ] |
С помощью квадратных скобок выполняется обращение к элементам коллекции по индексу. |
, |
Запятая разделяет параметры в списке параметров методов, процедур и функций. |
« » |
В двойные кавычки заключаются строковые константы. |
' ' |
В одинарные кавычки заключаются константы даты. |
. |
Десятичная точка в числовых константах. Разделитель, используемый в описаниях агрегатных типов данных. |
+ |
Символ «плюс» может использоваться как для выполнения операции сложения, так и конкатенации. |
- |
Символ «минус» обозначает операцию вычитания. |
* |
Символ «звездочка» обозначает операцию умножения. |
/ |
Символ «косая черта» обозначает операцию деления. |
> |
Правая угловая скобка обозначает логическую операцию «больше». |
>= |
Логическая операция «больше или равно». |
< |
Левая угловая скобка обозначает логическую операцию «меньше». |
<= |
Логическая операция «меньше или равно». |
= |
Знак равенства обозначает присвоение или логическую операцию «равно». |
<> |
Две угловые скобки обозначают логическую операцию «не равно». |
Текст программного модуля записывается на встроенном языке с использованием конечного набора конструкций и ключевых слов. Конструкции встроенного языка могут записываться на русском или английском языке, кроме нескольких слов, для которых нет подходящих русских эквивалентов, например, Null.
Операторы условия.
Конструкция «Если…Тогда».
Оператор «Если» управляет выполнением программы, основываясь на результате одного или более логических выражений. Он полностью аналогичен подобным операторам в других языках программирования. Данный оператор может содержать любое количество групп операторов, возглавляемых конструкциями «ИначеЕсли – Тогда2. Синтаксис оператора «Если» и расшифровка его ключевых слов и наборов параметров представлены соответственно в таблицах 4 и 5.
Таблица 4.
Если <Логическое_выражение> Тогда //операторы; Иначе //операторы; КонецЕсли;
|
Если <Логическое_выражение> Тогда //операторы; ИначеЕсли <Логическое_выражение> Тогда //операторы; Иначе //операторы; КонецЕсли; |
Таблица 5.
<Логическое_выражение> |
Логическое выражение. |
Тогда |
Операторы следующие за Тогда выполняются, если результатом логического выражения в конструкции Если является истина. |
//операторы |
Исполняемый оператор или последовательность таких операторов. |
ИначеЕсли |
Логическое выражение, следующее за ключевым словом ИначеЕсли, вычисляется только тогда, когда условия в Если и всех предшествующих ИначеЕсли оказались ложными. Операторы, следующие за конструкцией ИначеЕсли – Тогда, выполняются, если результатом логического выражения в данном ИначеЕсли является истина. |
Иначе |
Операторы, следующие за ключевым словом Иначе, выполняются, если результаты логических выражений в конструкции Если и всех предшествующих конструкциях ИначеЕсли оказались ложными. |
КонецЕсли |
Ключевое слово, которое завершает структуру оператора условного выполнения. |
Ключевые слова ИначеЕсли, Иначе и КонецЕсли желательно записывать с новой строки.
Пример использования оператора условия выглядит следующим образом:
Если Найдено Тогда
СформироватьПользовательскийОтчет(ВыбТипОтчета);
Иначе
СформироватьОтчетПоУмолчанию();
КонецЕсли;
Конструкция «?(…, …, …)».
Данная конструкция позволяет записать условный оператор в одну строку и вычислить его как выражение. Например:
Комментарий=?(Количество=0,»Пусто»,Строка(Количество)+»шт.» );
Обычно эта конструкция применяется в выражениях и работает как следующая функция:
Функция СокращенноеЕсли(РезультатУсловия,
выражение1,выражение2)
Если РезультатУсловия Тогда //Истина
Возврат выражение1;
Иначе //Ложь
Возврат выражение2;
КонецЕсли;
КонецФункции
Логические выражения.
В операторе «Если», конструкциях «?(...)», а также в цикле «Пока» применяются логические выражения, т.е. такие, результат которых имеет тип «булево» с двумя значениями: Истина и Ложь. В логических выражениях могут применяться логические сомножители НЕ, И, ИЛИ (в порядке приоритета). Для задания правильного порядка вычисления рекомендуется расставлять скобки. Например:
Если (НЕ Страна = ВыбСтрана) ИЛИ
(Цена > 100 И Цена < 1000) Тогда
…
КонецЕсли;
Кроме того, при вычислении логических выражений применяются следующие правила:
· если один из сомножителей оператора И равен Ложь, то конечный результат выражения будет Ложь, независимо от значения других сомножителей;
· если один из сомножителей оператора ИЛИ равен Истина, то конечный результат выражения будет Истина, независимо от значения других сомножителей.
Операторы цикла.
Конструкция «Пока…Цикл».
Данный оператор цикла предназначен для циклического повторения операторов, находящиеся внутри конструкции Цикл...КонецЦикла. Цикл выполняется до тех пор, пока логическое выражение истинно. Если на очередном витке цикла оно перестает выполняться (дает значение Ложь), то цикл прекращается. Условие выполнения цикла всегда проверяется вначале, т.е. перед выполнением цикла.
Ниже представлен синтаксис оператора «Пока…Цикл», а его расшифровка – в таблице 6.
Пока <Логическое_выражение> Цикл
//операторы;
КонецЦикла;
Таблица 6.
<Логическое_выражение> |
Логическое выражение. |
Цикл |
Операторы, следующие за ключевым словом Цикл, выполняются, пока результатом логического выражения является истина. |
//операторы; |
Исполняемый оператор или последовательность таких операторов. |
КонецЦикла |
Ключевое слово, которое завершает структуру оператора цикла. |
Ниже показан пример реализации оператора цикла «Пока»:
н = 0;
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.ПометкаУдаления Тогда
Продолжить; //возьмем следующий элемент
КонецЕсли;
н = н + 1;
Если н > 10 Тогда
Прервать; //досрочный выход из цикла
КонецЕсли;
Сообщить («Товар: » + Выборка.Наименование);
КонецЦикла;
Конструкция «Для…По…Цикл».
Данный оператор цикла предназначен для циклического повторения операторов, находящиеся внутри конструкции Цикл...КонецЦикла, известное количество раз. Перед началом выполнения цикла значение <Выражение1> присваивается переменной <Имя_переменной>. Значение <Имя_переменной> автоматически увеличивается при каждом проходе цикла. Цикл выполняется пока значение переменной <Имя_переменной> меньше или равно значению <Выражение2>. Величина приращения счетчика при каждом выполнении цикла равна 1. Условие выполнения цикла всегда проверяется вначале, перед выполнением цикла.
Ниже представлен синтаксис оператора «Для…По…Цикл», а его расшифровка – в таблице 7.
Для <Имя_переменной> = <Выражение1> По
<Выражение2> Цикл
//Операторы;
КонецЦикла;
В качестве примера реализации цикла «Для» представлен следующий цикл, который 12 раз выведет номер месяца в окно служебных сообщений:
Для Меc = 1 По 12 Цикл
Сообщить(Меc);
КонецЦикла;
Таблица 7.
<Имя_переменной> |
Идентификатор переменной (счетчика цикла), значение которой автоматически увеличивается при каждом повторении цикла. |
<Выражение 1> |
Числовое выражение, которое задает начальное значение, присваиваемое счетчику цикла при первом проходе цикла. |
По |
Синтаксическая связка для параметра <Выражение2>. |
<Выражение 2> |
Максимальное значение счетчика цикла. Когда переменная Имя_переменной становится больше чем <Выражение2>, выполнение оператора цикла Для прекращается. Величина приращения счетчика при каждом выполнении цикла равна 1. |
Цикл |
Операторы, следующие за ключевым словом Цикл, выполняются, пока значение переменной Имя_переменной меньше значения <Выражение2>. |
//Операторы |
Исполняемый оператор или последовательность таких операторов. |
КонецЦикла |
Ключевое слово, которое завершает структуру оператора цикла. |
Конструкция «Для Каждого…Из…Цикл».
Данная конструкция предназначена для циклического обхода элементов коллекции. В таких циклах в качестве переменной цикла выступает не число, а объект – элемент коллекции. При каждой итерации цикла возвращается новый элемент коллекции. Обход осуществляется до тех пор, пока не будут перебраны все элементы коллекции.
Ниже представлен синтаксис оператора «Для Каждого…Из…Цикл», а его расшифровка – в таблице 8.
Для каждого <Имя переменной 1> Из
<Имя переменной 2> Цикл
// Операторы;
Прервать;
// Операторы;
Продолжить;
// Операторы;
КонецЦикла;
Таблица 8.
<Имя_переменной 1> |
Идентификатор переменной, которой при каждом повторении цикла присваивается значение очередного элемента коллекции. |
Из |
Синтаксическая связка для параметра <Имя переменной 2>. |
<Имя_переменной 2> |
Идентификатор переменной или выражение, предоставляющее коллекцию. Элементы этой коллекции будут присваиваться параметру <Имя переменной 1>. |
Цикл |
Операторы, следующие за ключевым словом Цикл, выполняются, пока значение переменной <Имя_переменной 1> меньше крайнего значения <Имя_переменной 2>. |
//Операторы |
Исполняемый оператор или последовательность таких операторов. |
Прервать |
Оператор, позволяющий прервать выполнение цикла в любой точке. После выполнение этого оператора управление передается оператору, следующему за ключевым словом КонецЦикла. |
Продолжить |
Оператор, позволяющий немедленно передать управление в начало цикла, где производится вычисление и проверка условий выполнения цикла. Операторы, следующие в теле цикла за ним, на данной итерации обхода не выполняются. |
КонецЦикла |
Ключевое слово, которое завершает структуру оператора цикла. |
Ниже показан пример реализации оператора цикла «Для Каждого…Из»:
ПустаяСсылка = Справочники.Номенклатура.ПустаяСсылка();
Для Каждого СтрокаТЗ Из тзСостав Цикл
//тело цикла
Если СтрокаТЗ.Товар = ПустаяСсылка Тогда
Продолжить; //возьмем следующую строку
Иначе
Если СтрокаТЗ.Товар = ВыбТовар Тогда
Прервать; //досрочный выход из цикла
КонецЕсли;
КонецЕсли;
КонецЦикла;
В данном примере в качестве переменной цикла выступает элемент коллекции – объект СтрокаТаблицыЗначений. Кроме того, внутри цикла нет никакой переменной, содержащей порядковый номер или индекс элемента коллекции. Если это необходимо, то можно добавить переменную, которая будет увеличиваться внутри цикла.
Для некоторых коллекций по элементу можно определить его индекс. Если элемент не принадлежит данной коллекции, то метод Индекс возвращает -1 (минус единицу). Например:
Для Каждого СтрокаТЗ Из тзСостав Цикл
ИндексСтроки = тзСостав.Индекс(СтрокаТЗ);
КонецЦикла;
Безусловные переходы.
В процессе решения прикладных задач в ряде случаев может возникнуть необходимость принудительно передать управление в определенную точку программы. Это реализуется с помощью метки и оператора «Перейти»:
Перейти <Метка>;
Метка может быть у любого исполняемого оператора и должна начинаться со знака тильды («~»), далее идет имя метки, а затем двоеточие («:»), например:
н = 0;
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
н = н + 1;
Если н <= 10 Тогда
//пропускаем первые 10 элементов справочника
Перейти ~след;
КонецЕсли;
Сообщить(Выборка.Наименование);
~след:
//возьмем следующий элемент
КонецЦикла;
С помощью оператора «Перейти» можно передавать управление в пределах процедуры (функции) или в пределах раздела основной программы модуля. Но этим способом нельзя выйти из процедуры или функции.
Чем меньше программа будет содержать меток, тем лучше. Рекомендуется применять метки только для перехода в конец цикла или процедуры. Для досрочного выхода из цикла рекомендуется применять оператор «Прервать», а для перехода на следующий виток цикла нужно применять оператор «Продолжить». Оператор же «Перейти» будет полезен, если требуется выйти сразу из нескольких циклов.
Обработка исключений.
Обработка исключений предназначена для перехвата ошибок (исключительных ситуаций), возникающих в процессе работы программы. Если возникла ошибка, и она не была перехвачена, то выдается системное сообщение об ошибке, и выполнение модуля прерывается. Однако разработчик может перехватывать возникающие ошибки и обрабатывать их по своему усмотрению. Для этого используется конструкция «Попытка…Исключение». Синтаксис данной конструкции выглядит следующим образом:
Попытка
// Некоторые действия;
Исключение
// Обработка исключительной ситуации;
КонецПопытки;
Расшифровка указанного синтаксиса представлена в таблице 9.
Таблица 9.
// Некоторые действия |
Исполняемый оператор или последовательность таких операторов. |
// Обработка исключительной ситуации |
Исполняемый оператор или последовательность операторов, которые обрабатывают исключительную ситуацию. |
Исключение |
Операторы, следующие за ключевым словом Исключение выполняются, если при выполнении последовательности операторов <// Некоторые действия> произошла ошибка времени выполнения. |
КонецПопытки |
Ключевое слово, которое завершает структуру оператора обработки исключительных ситуаций. |
Ниже показан пример реализации конструкции «Попытка…Исключение»:
Попытка
СредняяЦена = СуммаВсего / Количество;
Исключение
//Возникла ошибка деления на ноль.
//Будем считать, что количество равно 1.
Количество = 1;
СредняяЦена = СуммаВсего;
КонецПопытки;
Чем меньше программа будет содержать таких конструкций, тем лучше. Все потенциальные ошибки необходимо «отлавливать» по возможности еще до их возникновения. Конструкцию «Попытка…» следует применять для внешних ошибок и при работе с базой данных, т.е. для тех ошибок, которые не являются ошибкой написания программы.
Кроме того, внутри блока «Исключение...КонецПопытки» можно вызвать функцию ОписаниеОшибки, которая возвращает сообщение о возникшей ошибке в виде строки. Эту строку можно выдать в окно сообщений, записать в журнал регистрации или выполнить другие действия.
Помимо этого, существует команда Вызвать Исключение, которая может применяться только внутри блока обработки исключения. Хотя программист и обработал ошибку, но он может ее пропустить (передать обработчику вышестоящего уровня), например, если она неисправима:
Попытка
СредняяЦена = СуммаВсего / Количество;
Исключение
Сообщить(«Упс! Надо было проверить количество на ноль!»);
Сообщить(ОписаниеОшибки());
ЗаписьЖурналаРегистрации(ОписаниеОшибки());
//хотя мы и обработали ошибку, но программу все равно прервем
ВызватьИсключение;
КонецПопытки;
Обработчики исключений могут быть вложенными друг в друга. Если ошибка не обработана во внутреннем блоке «Исключение...КонецПопытки», тогда она обрабатывается внешним обработчиком, а если его нет, то выдается системное сообщение об ошибке.
Процедуры и функции являются блоками программы, которые можно вызвать по имени из другого места, например, из другой процедуры. Процедуры и функции могут иметь параметры, которые говорят о том, какие именно действия и с какими объектами она должна сделать. Функции отличаются от процедур только тем, что имеют возвращаемое значение.
Синтаксис процедуры и функции представлен ниже:
Процедура <Имя_проц>([[Знач] <Парам1>[=<ДефЗнач>],...,
[Знач] <ПapaмN>[=<ДeфЗнaч>]]) [Экспорт]
//Объявления локальных переменных;
//Операторы;
[Возврат;]
//Операторы;
КонецПроцедуры
//_______________________
Функция<Имя_функции>([[Знач]<Парам1>[=<ДефЗнач>],...,
[Знач]<ПарамN>[=<ДефЗнач>]])[Экспорт]
//Объявления локальных переменных;
//Операторы;
Возврат<ВозвращаемоеЗначение>;
//Операторы;
КонецФункции
Необходимо отметить, что ключевые слова Процедура, КонецПроцедуры, (Функция, КонецФункции) являются не операторами, а операторными скобками, поэтому не должны заканчиваться точкой с запятой (это может приводить к ошибкам выполнения модуля). В квадратных скобках размещены параметры (ключевые слова), которые являются необязательными.
Расшифровка синтаксиса процедуры и функции представлена в таблице 10.
Как уже отмечалось, отличие функции от процедуры заключается в том, что для функции ключевое слово Возврат является обязательным. Оно завершает выполнение функции и возвращает <ВозвращаемоеЗначение> в выражение, в котором используется функция. А само <ВозвращаемоеЗначение> – это выражение, значение которого содержит результат обращения к функции.
Таблица 10.
<Имя_проц> |
Назначает имя процедуры. |
Знач |
Необязательное ключевое слово, которое указывает на то, что следующий за ним параметр передается по значению, т.е. изменение значения формального параметра при выполнении процедуры никак не повлияет на фактический параметр, переданный при вызове процедуры. Если это ключевое слово не указано, то параметр процедуры передается по ссылке, то есть изменение внутри процедуры значения формального параметра приведет к изменению значения соответствующего фактического параметра. |
<Парам1>,..., <ПарамN> |
Необязательный список формальных параметров, разделяемых запятыми. Значения формальных параметров должны соответсвовать значениям передаваемых при вызове процедуры фактических параметров. В этом списке определяются имена каждого из параметров так, как они используются в тексте процедуры. Список формальных параметров может быть пуст. |
=<ДефЗнач> |
Необязательная установка значения параметра по умолчанию. Параметры с установленными значениями по умолчанию можно располагать в любом месте списка формальных параметров. Если параметр при вызове процедуры опущен, то он принимает либо установленное по умолчанию значение (если оно есть) либо принимает «пустое» значение (значение неопределенного типа). Если параметру не задано значение по умолчанию и он является последним в списке передаваемых параметров, то при вызове процедуры его нельзя опускать. Если параметру задано значение по умолчанию, и он является последним в списке, то при вызове процедуры его можно опускать в списке передаваемых фактических параметров и не ставить запятую перед опущенным параметром. Если параметру не задано значения по умолчанию, то при вызове процедуры его можно опускать в списке передаваемых фактических параметров, но разделительную запятую надо ставить. |
Экспорт |
Необязательное ключевое слово, которое указывает на то, что данная процедура является доступной из других программных модулей. |
|
Продолжение таблицы 5.9. |
//Объявления локальных переменных |
Объявляются локальные переменные, на которые можно ссылаться только в рамках этой процедуры. |
//Операторы |
Исполняемые операторы процедуры. |
Возврат |
Необязательное ключевое слово, которое завершает выполнение процедуры и осуществляет возврат в точку программы, из которой было обращение к процедуре. Использование данного оператора в процедуре не обязательно. |
КонецПроцедуры |
Обязательное ключевое слово, обозначающее конец исходного текста процедуры, завершение выполнения процедуры. Возврат в точку, из которой было обращение к процедуре. |
В нижеприведенном примере показаны взаимосвязанные между собой процедура Печать, функция ЕстьПравоИсполъзования и процедура КнопкаПечатъНажатие. В данном случае процедура Печать вызывается при нажатии на кнопку «Печать»:
Процедура Печать(ТабДок)
Макет = ПолучитьМакет(«Основной»);
ТабДок.Вывести(Макет.ПолучитьОбласть(«Бланк»));
КонецПроцедуры
//_______________________
Функция ЕстьПравоИспольэования(ИмяОтчета)
//возвращаемое значение функции
Возврат ПравоДоступа(«Использование», Отчеты[ИмяОтчета]);
КонецФункции
//_______________________
Процедура КнопкаПечатьНажатие(Элемент)
Если НЕ ЕстьПравоИспользования(ИмяОтчета) Тогда
Возврат; //досрочный выход из процедуры
КонецЕсли
ТабДок = Новый ТабличныйДокумент;
Печать(ТабДок); //вызов процедуры Печать
ТабДок.Показать();
КонецПроцедуры
Процедуры и функции рекомендуется предварять комментариями с описанием их назначения, параметров, основных принципов работы и возвращаемого значения для функций. В редакторе модулей есть возможность свернуть процедуры и функции модуля, а также перейти на одну из них, выбрав ее из списка. Описания в виде комментариев также можно сворачивать.
1. Технологические средства администрирования системы «1С:Предприятие», их предназначение.
2. Порядок установки платформы «1С:Предприятие» и прикладных решений.
3. Порядок обновления платформы «1С:Предприятие» и прикладных решений.
4. Порядок формирования списка пользователей и настройка прав их доступа.
5. Порядок сравнения и объединения конфигураций.
6. Порядок тестирования и исправления информационной базы системы «1С:Предприятие».
7. Порядок и способы резервного копирования информационной базы системы «1С:Предприятие».
8. Особенности мониторинга действий пользователей и системных событий в системе «1С:Предприятие».
9. Конфигурирование системы «1С:Предприятие». Основные понятия конфигурирования. Порядок создания информационных баз.
10. Механизмы и инструменты, встроенные в систему «1С:Предприятие», обеспечивающие создание прикладных решений.
11. Метаданные и инструменты для их редактирования.
12. Способы создания основных объектов конфигурации.
13. Форма объекта конфигурации. Ее структура, назначение составных элементов и порядок создания.
14. Порядок работы разработчика прикладных решений в режиме «Отладчик».
15. Особенности работы с синтакс-помощником.
16. Программные модули системы «1С:Предприятие». Виды программных модулей, их назначение и взаимодействие между собой.
17. Глобальный и локальный контексты программных модулей.
18. Встроенный язык системы «1С:Предприятие». Назначение и характеристика встроенного языка. Формат и структура программного модуля.
19. Объектные и необъектные данные.
20. Типы данных встроенного языка системы «1С:Предприятие».
21. Базовые и агрегатные типы данных. Атрибуты и методы агрегатных типов данных.
22. Управляющие операторы встроенного языка системы «1С:Предприятие». Их назначение и краткая характеристика.
23. Процедуры встроенного языка системы «1С:Предприятие».
24. Функции встроенного языка системы «1С:Предприятие».
25. Локальный и глобальный контекст процедур и функций.
26. Предварительное описание процедур и функций.
27. Язык запросов.
1. Габец А.П., Гончаров Д.И. и др. Профессиональная разработка в системе 1С:Предприятие 8. – M.: OOO «1С-Паблишинг», 2010.
2. Радченко М.Г. 1С:Предприятие 8.1. Практическое пособие разработчика. Примеры и типовые приемы. – M.: OOO «1С-Паблишинг», 2010.
1. 1С:Предприятие 8.1. Конфигурирование и администрирование;
2. Габец А. П., Гончаров Д. И.. 1C:Предприятие 8.1. Простые примеры разработки. – М.: «1С-Паблишинг», 2010.
3. Гладкий А. А. 1C: Предприятие 8.0. – СПб.: Тритон, 2005.
4. Михайлов А. В. 1С:Предприятие 7.7/8.0: системное программирование. – СПб.: БХВ-Петербург, 2005.
5. Бойко Э.В. 1C:Предприятие 8.0: универсальный самоучитель. – М.: Омега-Л, 2008.
6. Митичкин Разработка в системе 1C:Предприятие 8.0. – М.: «1С-Паблишинг», 2005.
№ |
Наименование портала (издания, курса, документа) |
Ссылка |
1. |
Фирма «1С» |
|
2. |
1С:Предприятие 8 |