1с программирование. Лекция 1 Вводное занятие. Инструктаж План разработка прикладных решений Общие сведения о системе
Скачать 2.39 Mb.
|
1с программирование. Лекции Лекция №1 Вводное занятие. Инструктаж План: разработка прикладных решений Общие сведения о системе Конфигурация и прикладное решение Режимы работы системы Программирование или разработка? Что же я делаю?! Такой вопрос периодически возникает у всех, кто сталкивался или просто интересовался разработками на «1С:Предприятии». «Пишу программу», – вот наиболее частый ответ. «На чем?» – «На 1С». «На чем вы работаете?» – «На 1С». «На чем это написано?» – «На 1С». «Требуется бухгалтер со знанием 1С», «требуется программист «1С» на неполный рабочий день…» и т. д. Такие фразы можно встретить постоянно, и вам они наверняка хорошо знакомы. Для человека непосвященного в них нет ничего особенного. Однако тех, кто имеет представление о разработке на «1С:Предприятии», такие вопросы зачастую могут поставить в тупик, потому что в этих фразах термином 1С обозначаются совершенно разные предметы, а термин программа и вовсе сбивает с толку… Если ваша цель – научиться «программировать на 1С», то эта цель не совсем верная. В системе «1С:Предприятие» есть встроенный язык, но он занимает далеко не главное место в процессе разработки. Эта дисциплина учит разработке прикладных решений на основе платформы «1С:Предприятие» – процессу, в котором программирование, безусловно, присутствует, но лишь как один из инструментов разработки. Это важно понимать с самого начала, еще до того, как вы начнете делать первые шаги в «1С:Предприятии». Общие сведения о системе «1С:Предприятие» является универсальной системой автоматизации экономической и организационной деятельности предприятия. Поскольку такая деятельность может быть довольно разнообразной, система «1С:Предприятие» может приспосабливаться к особенностям конкретной области деятельности, в которой она применяется. Для обозначения такой способности используется термин конфигурируемость, то есть возможность настройки системы на особенности конкретного предприятия и класса решаемых задач. Это достигается благодаря тому, что «1С:Предприятие» – это не просто программа, существующая в виде набора неизменяемых файлов, а совокупность различных программных инструментов, с которыми работают разработчики и пользователи. Логически всю систему можно разделить на две большие части, которые тесно взаимодействуют друг с другом, – конфигурацию и платформу, которая управляет работой конфигурации. Для того чтобы легче понять взаимодействие этих частей системы, сравним ее с проигрывателем компакт-дисков. Как вы хорошо знаете, проигрыватель служит для того, чтобы слушать музыку. На вкус и цвет товарищей нет, поэтому существует множество разнообразных компакт-дисков, на которых записаны музыкальные произведения на любой вкус. Чтобы прослушать какую-либо композицию, нужно вставить компакт-диск в проигрыватель, и проигрыватель воспроизведет записанное на диске музыкальное произведение. Более того, современный проигрыватель компакт-дисков даже позволит вам записать собственную подборку музыкальных произведений, то есть создать новый компакт-диск. Сам по себе проигрыватель совершенно бесполезен без компактдиска, точно так же, как компакт-диск не может принести нам никакой пользы (кроме как стать подставкой под чашку кофе), если у нас нет проигрывателя. Возвращаясь к системе «1С:Предприятие», можно сказать, что платформа является своеобразным «проигрывателем», а конфигурация – «компакт-диском». Платформа обеспечивает работу конфигурации и позволяет вносить в нее изменения или создавать собственную конфигурацию. Существует одна платформа («1С:Предприятие») и множество конфигураций. Для функционирования какого-либо прикладного решения всегда необходима платформа и какая-либо (одна) конфигурация (рис. 1.1). Рис. 1.1. Конфигураций много, а платформа одна Сама по себе платформа не может выполнить никаких задач автоматизации, так как она создана для обеспечения работы какой-либо конфигурации. То же самое с конфигурацией: чтобы выполнить те задачи, для которых она создана, необходимо наличие платформы, управляющей ее работой. Конфигурация и прикладное решение Здесь следует сказать о небольшой двойственности терминологии, которая будет использоваться в дальнейшем. Двойственность заключается в употреблении разных терминов для обозначения одного и того же предмета: конфигурация и прикладное решение. Эти термины обозначают ту часть системы «1С:Предприятие», которая работает под управлением платформы и которую видят все пользователи. Бывает, конечно, что пользователи работают и с инструментальными средствами платформы, но это продвинутые пользователи. Употребление одного или другого термина зависит от контекста, в котором ведется изложение. Если речь идет о действиях разработчика, то употребляется термин «конфигурация», поскольку это точный термин «1С:Предприятия». Термин «прикладное решение», напротив, является более общепринятым и понятным для пользователя системы «1С:Предприятие». Итак, поскольку задачи автоматизации, как было упомянуто выше, могут быть самыми разными, фирма «1С» и ее партнеры выпускают прикладные решения, каждое из которых предназначено для автоматизации одной определенной области человеческой деятельности. В качестве примера существующих прикладных решений можно перечислить следующие типовые решения: «1С:Бухгалтерия 8», «1С:Управление небольшой фирмой 8», «1С:Управление торговлей 8», «1С:Зарплата и управление персоналом 8», «1С:Управление производственным предприятием 8», «1С:Налогоплательщик 8», «1С:Документооборот 8», «1С:Консолидация 8». Существует также множество других типовых прикладных решений. Более подробно о них можно узнать на сайте http://v8.1c.ru/solutions/applied_solutions.htm. Типовое прикладное решение является, по сути, универсальным и способно удовлетворить потребности самых разных предприятий, работающих в одной области деятельности. И это хорошо. С другой стороны, такая универсальность неизбежно приведет к тому, что на конкретном предприятии будут использоваться далеко не все возможности прикладного решения, а каких-то возможностей в нем будет недоставать (нельзя угодить всем). Вот тут и выходит на передний план конфигурируемость системы, поскольку платформа, помимо управления работой конфигурации, содержит средства, позволяющие вносить изменения в используемую конфигурацию. Более того, платформа позволяет создать свою собственную конфигурацию с нуля, если по каким-либо причинам использование типовой конфигурации представляется нецелесообразным. Обратите внимание, как мы в одном абзаце перешли от прикладного решения к конфигурации. Ничего не поделаешь, для пользователя понятнее так, а для разработчика – по-другому. Таким образом, если вернуться к сравнению с проигрывателем компакт-дисков, мы можем изменять по своему вкусу мелодии, которые были ранее записаны на компакт-диске, и даже создавать диски со своими собственными музыкальными произведениями. При этом нам не потребуются какие-либо музыкальные инструменты – все необходимое для создания мелодий есть в нашем проигрывателе компакт-дисков. Режимы работы системы Для того чтобы обеспечить такие возможности, система «1С:Предприятие» имеет различные режимы работы: 1С:Пред- приятие и Конфигуратор. Режим 1С:Предприятие является основным и служит для работы пользователей системы. В этом режиме пользователи вносят данные, обрабатывают их и получают итоговые результаты. Режим Конфигуратор используется разработчиками и администраторами информационных баз. Именно этот режим и предоставляет инструменты, необходимые для модификации существующей или создания новой конфигурации. Поскольку задача дициплины состоит в том, чтобы научить вас создавать собственные конфигурации и изменять существующие, дальнейшее повествование будет в основном посвящено работе с системой в режиме Конфигуратор. И лишь иногда, чтобы проверить результаты нашей работы, мы будем запускать систему в режиме 1С:Предприятие. Изучение этой дисциплины предполагает, что у вас уже установлена на компьютере система «1С:Предприятие 8.3». Если это не так, то сейчас самое время это сделать, так как далее будет непосредственно описываться последовательность работы с программой. Вопросы: разработка прикладных решений Общие сведения о системе Конфигурация и прикладное решение Режимы работы системы Лекция №2 Регистрация хозяйственных операций План: Что такое подсистема объект конфигурации палитра свойств Что такое подсистема Подсистемы – это основные элементы для построения интерфейса «1С:Предприятия». Поэтому первое, с чего следует начинать разработку конфигурации, – это проектирование состава подсистем. При этом перед разработчиком стоит важная и ответственная задача – тщательно продумать состав подсистем и затем аккуратно и осмысленно привязать к подсистемам те объекты конфигурации, которые он будет создавать. В простых прикладных решениях можно не использовать подсистемы, но мы рассмотрим общий случай, когда подсистемы используются. Объекты конфигурации Подсистема позволяют выделить в конфигурации функциональные части, на которые логически разбивается создаваемое прикладное решение. Эти объекты располагаются в ветке объектов Общие и позволяют строить древовидную структуру, состоящую из подсистем и подчиненных им подсистем (рис. 2.1). Рис. 2.1. Структура подсистем конфигурации Подсистемы верхнего уровня являются основными элементами интерфейса, так как образуют разделы прикладного решения (рис. 2.2). Рис. 2.2. Разделы прикладного решения Каждый объект конфигурации может быть включен в одну или сразу несколько подсистем, в составе которых он будет отображаться. Забегая вперед, скажем, что с помощью подсистем, используя видимость по ролям, можно предоставить пользователю удобный и функциональный интерфейс, не содержащий лишних элементов. Например, кладовщик должен иметь возможность принять и выдать товар, и ему совсем не нужно видеть все, что относится к области бухгалтерского учета и оказанию услуг. Таким образом, наличие подсистем определяет структуру прикладного решения, организует весь пользовательский интерфейс, позволяет рассортировать различные документы, справочники и отчеты по логически связанным с ними разделам, в которых пользователю будет проще их найти и удобнее с ними работать. При этом каждому конкретному пользователю будут видны лишь те разделы, то есть та функциональность прикладного решения, которые ему нужны в процессе работы. Даже в такой небольшой конфигурации, как наша, можно выделить несколько функциональных частей, представляющих собой отдельные предметные области. Так, можно выделить в отдельную подсистему все, что имеет отношение к бухгалтерскому учету. Кроме этого, отдельной предметной областью является расчет зарплаты сотрудников предприятия. Всю производственную деятельность нашей фирмы ООО «На все руки мастер» можно разделить на учет материалов и оказание услуг. А кроме этого, для выполнения специальных административных функций с базой данных нам нужно иметь отдельную подсистему, в которую будет иметь доступ только администратор. Поэтому сейчас мы создадим в нашей конфигурации пять новых объектов конфигурации Подсистема, которые будут иметь имена: Бухгалтерия, РасчетЗарплаты, УчетМатериалов, ОказаниеУслуг и Предприятие. Чтобы это сделать, выполним следующие действия. На первый взгляд окно редактирования объекта и палитра свойств дублируют друг друга. В самом деле в палитре свойств отображены все свойства объекта конфигурации. Зачем было создавать еще и окно редактирования объекта? И если существует окно редактирования объекта, то зачем тогда палитра свойств, которая содержит все то же самое, только в другом виде? Окно редактирования объекта конфигурации предназначено в первую очередь для быстрого создания новых объектов. Быстрое создание подразумевает ввод исчерпывающей информации об объекте. Значит, нужно очень хорошо знать структуру объекта, а на это требуется время… Выходит, быстро создать объект не получится? Получится! Окно редактирования объекта имеет в своей основе механизм «мастеров»: разработчику в нужной последовательности предлагается ввести необходимые данные. Последовательность ввода данных разработана таким образом, чтобы предыдущие данные могли служить основой для ввода последующих. Движение управляется кнопками Далее и Назад. На каждом шаге предлагается ввести группу логически связанных между собой данных. Но, предположим, вы уже освоились со структурой объектов, или вам просто нужно изменить несколько свойств объекта. Чтобы при этом опять не «прокручивать» все с самого начала, окно редактирования объекта содержит закладки, позволяющие вам перейти непосредственно к тому шагу, на котором вводятся интересующие вас данные. Таким образом, окно редактирования объекта помогает быстро создать незнакомый объект конфигурации и в то же время обеспечивает удобный доступ к нужным свойствам при редактировании существующих объектов. Что же касается палитры свойств, то она предоставляет одну абсолютно незаменимую возможность. Дело в том, что она не привязана по своей структуре к какому-то конкретному виду объектов конфигурации. Ее содержимое меняется в зависимости от того, какой объект является текущим. За счет этого она может запоминать, какое свойство объекта в ней выбрано, и при переходе в дереве к другому объекту будет подсвечивать у себя все то же свойство, но уже другого объекта. Такая способность палитры свойств абсолютно незаменима, когда, например, среди трех десятков справочников конфигурации вам нужно быстро найти подчиненные какому-нибудь другому. В этом случае вы выбираете мышью в палитре свойств свойство Владелец любого справочника, затем переходите в дерево объектов конфигурации и просто пробегаете его при помощи стрелок или . Вопросы: Что такое подсистема объект конфигурации палитра свойств Лекция №3 Движение денежных средств План: Что такое справочник Формы справочника Предопределенные элементы Основная конфигурация и конфигурация базы данных Что такое справочник Объект конфигурации Справочник предназначен для работы со списками данных. Как правило, в работе любой фирмы используются списки сотрудников, списки товаров, списки клиентов, поставщиков и т. д. Свойства и структура этих списков описываются в объектах конфигурации Справочник, на основе которых платформа создает в базе данных таблицы для хранения информации из этих справочников. Справочник состоит из элементов. Например, для справочника сотрудников элементом является сотрудник, для справочника товаров – товар и т. д. Пользователь в процессе работы может самостоятельно добавлять новые элементы в справочник: например, добавить новых сотрудников, создать новый товар или внести нового клиента. В базе данных каждый элемент справочника представляет собой отдельную запись в основной таблице, хранящей информацию из этого справочника (рис. 3.1). Каждый элемент справочника, как правило, содержит некоторую дополнительную информацию, которая подробнее описывает этот элемент. Например, все элементы справочника Товары могут содержать дополнительную информацию о производителе, сроке годности и др. Набор такой информации является одинаковым для всех элементов справочника, и для описания такого набора используются реквизиты объекта конфигурации Справочник, которые также, в свою очередь, являются объектами конфигурации (рис. 3.2). Рис. 3.1. Справочник «Товары» в режиме «Конфигуратор», в режиме «1С:Предприятие» и в базе данных Рис. 3.2. Стандартные реквизиты справочника и реквизиты, созданные разработчиком Поскольку эти объекты конфигурации логически связаны с объектом Справочник, они называются подчиненными этому объекту. Большинство реквизитов разработчик создает самостоятельно, однако у каждого объекта конфигурации Справочник по умолчанию существует набор стандартных реквизитов: Код и Наименование и пр. (см. рис. 3.2). Причем доступность стандартных реквизитов зависит от свойств справочника. Например, если справочник иерархический, у него будет доступен стандартный реквизит Родитель. Если справочник подчинен другому объекту конфигурации, у него будет доступен реквизит Владелец. Если установить длину стандартного реквизита Код равной нулю, то у справочника будет недоступен этот реквизит. То же самое относится к реквизиту Наименование. Однако как минимум либо Код, либо Наименование должны присутствовать в реквизитах справочника, иначе такой справочник не имеет смысла. Таким образом, в базе данных справочник хранится в виде таблицы, в строках которой расположены элементы списка, а каждому реквизиту (стандартному или созданному разработчиком) в этой таблице соответствует отдельный столбец. Соответственно, в ячейках этой таблицы хранится значение конкретного реквизита для конкретного элемента справочника (рис. 3.3). Рис. 3.3. Справочник «Товары» в режиме «Конфигуратор», в режиме «1С:Предприятие» и в базе данных Кроме этого, каждый элемент справочника может содержать некоторый набор информации, которая одинакова по своей структуре, но различна по количеству и предназначена для разных элементов справочника. Формы справочника В зависимости от того, какие действия мы хотим выполнять со справочником, нам требуется изображать справочник в «разном виде». Например, для того чтобы выбрать некоторый элемент справочника, удобнее представить справочник в виде списка, а для того чтобы изменить какой-то элемент справочника, удобнее представить все реквизиты этого элемента справочника в одной форме (рис. 3.9). Рис. 3.9. Форма списка и форма редактирования элемента справочника «Сотрудники» Система может самостоятельно сгенерировать все формы, которые нужны для представления данных, содержащихся в справочнике. Причем система знает, какие именно формы нужно использовать в каких ситуациях. Вообще говоря, для отображения справочника в различных ситуациях требуется максимум пять форм для справочника. Обратите внимание, что в различных местах конфигуратора одни и те же формы называются немного по-разному (табл. 3.1). Следующая таблица представляет различные названия форм: в контекстном меню справочника (Открыть основную форму…), в дереве конфигурации и в палитре свойств справочника; в конструкторе форм; на закладке Формы окна редактирования справочника. таблица 3.1. Формы справочника
Предопределенные элементы Обратите внимание, что система отмечает различными пиктограммами обычный и предопределенный элементы справочника (см. рис. 3.73). Несмотря на то, что можно изменить код или наименование у обоих элементов, имя предопределенного элемента, которое мы задали в конфигураторе (Основной), остается неизменным, и в дальнейшем мы сможем обратиться к предопределенному элементу справочника по этому имени из встроенного языка. Таким образом, на предопределенные элементы могут опираться алгоритмы работы конфигурации. Из этого видно, в чем заключается принципиальная с точки зрения конфигурации разница между обычными и предопределенными элементами справочника. Обычные элементы непостоянны для конфигурации. В процессе работы пользователя они могут появиться, исчезнуть. Поэтому конфигурация хоть и может отличить их друг от друга, но рассчитывать на них в выполнении каких-либо алгоритмов она не может в силу их непостоянства. Предопределенные элементы, напротив, постоянны. В процессе работы пользователя они находятся всегда на своих местах и исчезнуть не могут. То есть теоретически пользователь может их удалить, но для облегчения задачи мы не даем пользователю прав не только на интерактивное удаление предопределенных элементов, но и на интерактивное удаление объектов вообще. Поэтому конфигурация может работать с ними вполне уверенно и опираться на них при отработке различных алгоритмов. По этой причине каждый из предопределенных элементов имеет уникальное имя для того, чтобы к нему можно было обратиться средствами встроенного языка. Основная конфигурация и конфигурация базы данных Кроме этого, вне информационной базы может существовать хранилище. В нем находится конфигурация, предназначенная для групповой разработки. Вне информационной базы может существовать также некоторое количество файлов конфигураций, в том числе файлы новой поставки (рис. 3.74). Конфигурация поставщика, находящаяся в информационной базе, содержит предыдущее состояние поставки. Возможна ситуация, когда конфигурация находится на поддержке одновременно у нескольких поставщиков, каждый из которых поддерживает только свою часть в виде отдельной конфигурации. В этом случае информационная база будет хранить несколько конфигураций поставщиков (состояние предыдущей поставки для каждого поставщика отдельно). Файлы новой поставки могут существовать в виде файлов конфигураций (полная поставка) и файлов обновлений (поставка обновлений). Рис. 3.74. Структура конфигурации Хранилище конфигурации содержит конфигурацию, предназначенную для групповой разработки. Она хранится не в виде единой конфигурации, а в виде отдельных объектов в разрезе версий конфигурации. Таким образом, мы можем получить из хранилища конфигурацию любой версии – для этого она «собирается» из объектов нужной версии. Теперь представьте, что между всеми этими видами конфигураций существует возможность сравнения и обновления. В этом случае очень легко запутаться, и название Основная конфигурация как нельзя лучше отражает конечную цель всех изменений. Вопросы: Что такое справочник Формы справочника Предопределенные элементы Основная конфигурация и конфигурация базы данных |