Система 1С:Предприятие 8.1. Знакомство

Лабораторная работа №1

Дерево конфигурации

Можно сказать, что дерево конфигурации – основной инструмент, с которым работает разработчик. Дерево конфигурации содержит в себе практически всю информацию о том, из чего состоит конфигурация (рис. 1.3).

Рис. 1.3. Дерево конфигурации

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

Если вы походите по дереву и понажимаете на , то увидите, что ни в одной группе ничего нет. Исключение составит лишь группа Общие → Языки, в которой вы обнаружите «нечто» под названием «Русский». Этот «Русский» платформа создала для вас сама, поскольку в данном случае конфигуратор использует русскоязычный интерфейс.

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

Объекты конфигурации

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

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

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

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

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

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

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

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

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

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

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

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

Как мы уже говорили, на основе объектов конфигурации платформа создает в базе данных информационные структуры, в которых будут храниться данные.

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

Картинка подсистемы

В целях усовершенствования интерфейса приложения мы можем также задать картинку для отображения подсистемы. Нажмем кнопку выбора в поле Картинка (см. рис. 1.6). В окне выбора картинки добавим картинку в список на закладке Из конфигурации. Для этого нажмем кнопку Добавить (рис. 1.7).

Далее выберем папку Image, содержащую картинки, и укажем нужный файл с изображением. Для просмотра изображений установим флажок Просмотр. Отметим файл Бухгалтерия и нажмем кнопку Открыть.

Выбранная нами картинка появится в окне редактирования общей картинки. Закроем окно редактирования объекта конфигурации Общая картинка и вернемся в окно выбора картинки для подсистемы Бухгалтерия. Мы видим, что в списке картинок на закладке Из конфигурации появилась добавленная нами картинка. Нажмем ОК.

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

Рис. 2.9. Общие картинки в дереве

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

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

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

Теперь воспользуемся другим способом для добавления подсистем. Вызовем контекстное меню одной из созданных подсистем. Выберем в нем пункт Добавить. Он разбивается на два подпункта. Выбор подпункта Подсистема позволяет добавить подсистему того же уровня иерархии, что и выделенная. Выбор подпункта Подчиненная Подсистема позволяет добавить подсистему, подчиненную выделенной (рис. 2.11).

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

В заключение добавим подсистему Предприятие с соответствующей картинкой для доступа к административным и сервисным функциям.

В режиме «Конфигуратор»

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

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

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

Свойство «Быстрый выбор»

Заполним еще одно свойство справочника Склады – Быстрый выбор. Для этого перейдем на закладку Поле ввода и установим соответствующий флажок.

Рис.

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

Свойство Быстрый выбор как раз позволяет выбирать элементы не из отдельной формы, а из небольшого выпадающего списка, заполненного элементами этого справочника

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

Для этого откроем окно редактирования объекта конфигурации Подсистема УчетМатериалов и нажмем кнопку Командный интерфейс.

В открывшемся окне Командный интерфейс отразятся все команды этой подсистемы. В группе Панель действий.Создать включим видимость у команды

Склад: создать.

Также мы видим, что в группу Панель навигации.Обычное добавилась команда Склады для открытия этого списка. Она включена по умолчанию (рис. 3.70).

Запустим 1С:Предприятие в режиме отладки и откроем справочник Склады. Добавим в справочник еще один склад, который назовем Розничный (рис. 2.22):

Рис. 2.22. Элементы справочника «Склады»

Обратите внимание, что система отмечает различными пиктограммами простой и предопределенный элементы справочника. Несмотря на то, что можно изменить код или наименование у обоих элементов, пометка на удаление (или удаление) возможна только для простых элементов справочника. При попытке пометить на удаление предопределенный элемент система выдаст предупреждение (рис. 2.23):

Рис. 2.23. Системное предупреждение

Таким образом, теперь мы можем обозначить две характерные особенности предопределенных элементов:

· на предопределенные элементы могут опираться алгоритмы работы конфигурации (т.к. возможно обращение к ним из встроенного языка по имени),

· предопределенные элементы являются объектами базы данных, которые нельзя удалить в режиме 1С:Предприятия.

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

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

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

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

Палитра свойств

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

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

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

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

В этом случае палитра свойств откроется и будет закреплена на рабочей области конфигуратора. Однако есть удобная возможность «открепить» палитру свойств (используя символ кнопки в заголовке окна палитры свойств – рис. 2.27):

Рис. 2.27. «Открепим» палитру свойств…

В этом состоянии, при наведении курсора мыши на любое другое окно, палитра свойств будет сворачиваться на дополнительную панель в правой части экрана (по умолчанию) (рис. 2.28):

Рис. 2.28. Кнопка на дополнительной панели

А при наведении курсора мыши на символ свернутой палитры свойств она будет открываться.

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

Документ

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

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

Типообразующие объекты

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

В предыдущей главе, когда мы создавали реквизиты справочников или табличных частей, мы всегда указывали тип значения, которое может принимать этот реквизит. Это были примитивные типы данных: Число, Строка, Дата и Булево. Примитивные типы данных изначально определены в системе и их набор ограничен.

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

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

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

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

В режиме «Конфигуратор»

Форма документа

Вернемся в конфигуратор и откроем окно редактирования объекта конфигурации Документ ПриходнаяНакладная.

В этом окне нас интересует закладка Формы.

Как мы видим, ни одна из основных форм документа пока не задана. Для того чтобы создать форму документа, нажмем кнопку открытия со значком лупы в поле ввода или кнопку Добавить над списком форм (рис. ).

Система вызовет еще один полезный инструмент разработчика – конструктор формы.

Этот инструмент также построен по принципу «мастеров»: ввод данных в определенной последовательности и передвижение кнопками Далее и Назад.

Выберем тип формы Форма документа и нажмем кнопку Готово, согласившись тем самым со всем, что нам предложила система.

Обратите внимание, что в дереве объектов конфигурации у объекта конфигурации Документ ПриходнаяНакладная появилась форма ФормаДокумента , а на экране открылось окно редактора форм, содержащее эту форму.

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

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

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

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

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

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

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

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

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

Но пока нам ничего этого не нужно делать. Нас интересуют три элемента табличной части: МатериалыКоличество, МатериалыЦена и МатериалыСумма (см. рис. 4.20).

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

Очевидно, что для этого нужно написать на встроенном языке команду, похожую на Сумма = Количество*Цена, которая будет выполняться при изменении значения поля Количество или Цена. Но как «поймать» эти моменты изменения?

Обработчик события

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

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

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

Дважды щелкнем на элементе формы Материалы Количество или правой кнопкой мыши откроем для него палитру свойств (пункт контекстного меню Свойства).

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

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

Система предложит окно для выбора типа обработчика события, который мы хотим создать (рис. 4.22).

Оставим без изменения вариант Создать на клиенте, предложенный по умолчанию.

После этого система создаст шаблон процедуры обработчика этого события в модуле нашей формы и откроет закладку Модуль редактора формы (рис. ).

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

В модуль формы, в процедуру МатериалыКоличествоПриИзменении() мы и добавим следующий текст (листинг 1).

Листинг 4.1. Процедура «МатериалыКоличествоПриИзменении()»

СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;

Объясним назначение этих строк.

В первой строке мы сначала создаем переменную СтрокаТаблич нойЧасти, в которую будет помещен объект, содержащий данные, находящиеся в строке табличной части, которую нам нужно пересчи тать.

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

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

Коллекция элементов формы является объектом встроенного языка ВсеЭлементыФормы, содержащим все элементы формы. То есть это программный аналог корня дерева элементов формы.

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

Табличная часть документа представляет собой объект встроенного языка ТаблицаФормы. Получить ту строку, в которой в настоящее время осуществляется редактирование, можно при помощи свойства программного объекта ТаблицаФормы – ТекущиеДанные (Элементы.Материалы.ТекущиеДанные).

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

Получив этот объект, мы можем обратиться к данным конкретной колонки табличной части, указав имя колонки в качестве свойства объекта. Например, используя обращение СтрокаТаблич- нойЧасти.Количество, мы получаем число, которое находится в редактируемой строке в колонке Количество.

Таким образом, во второй строке процедуры обработчика вычисляется значение колонки Сумма как произведение значений колонок Количество и Цена.

В режиме «1С:Предприятие»

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

Общий модуль

Необходимо сделать это и для поля Цена. Процедура может понадобиться и в других документах.

Поэтому лучше будет поместить расчет суммы в некоторое «общедоступное» место - Общий модуль, чтобы разные документы, имеющие аналогичные реквизиты табличной части, могли использовать этот алгоритм.

Поэтому создадим общий модуль и перенесем в него нашу процедуру расчета суммы. А в документе просто оставим вызовы этой процедуры из общего модуля.

Добавим объект конфигурации Общий модуль.

Для этого раскроем ветвь Общие в дереве объектов конфигурации, нажав на + слева от нее. Затем выделим ветвь Общие модули и нажмем кнопку Добавить в командной панели окна конфигурации (рис.).

Откроется окно для ввода текста модуля и окно палитры его свойств. Дадим имя модулю – РаботаСДокументами и установим в его свойствах флажок Клиент (управляемое приложение), а флажок Сервер снимем. Это означает, что экземпляры этого модуля будут скомпилированы в контексте тонкого клиента и в контексте веб-клиента (рис. 4.25).

Внесем в модуль следующий текст (листинг 2).

листинг 2. Процедура «РассчитатьСумму()»

Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт СтрокаТабличнойЧасти.Сумма =

СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;

КонецПроцедуры

Прокомментируем этот код. В процедуру РассчитатьСумму() мы передаем переменную СтрокаТабличнойЧасти, которую мы опре- делили в обработчике события ПриИзменении поля Количество. Она содержит данные редактируемой строки табличной части документа ПриходнаяНакладная.

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

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

Теперь в модуле нашей формы изменим текст обработчика Материа- лыКоличествоПриИзменении (листинг 3).

листинг 3. Процедура «МатериалыКоличествоПриИзменении()»

&НаКлиенте

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;

РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);

КонецПроцедуры

Мы видим, что первая строка процедуры осталась без изменений. А во второй строке вместо непосредственного расчета суммы мы вызываем процедуру РассчитатьСумму() из общего модуля РаботаСДокументами и передаем ей в качестве параметра текущую строку табличной части.

Проверим, как это работает, и убедимся, что ничего не изменилось. Теперь осталось и для поля Цена установить такой же обработчик.

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

Поэтому мы создадим обработчик события ПриИзменении для поля табличной части Материалы Цена так же, как мы делали это для поля Материалы Количество, и повторим в нем вызов процедуры РассчитатьСумму из общего модуля.

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

Лабораторная работа №1

Система 1С:Предприятие 8.1. Знакомство

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

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

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

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

Существует одна платформа (1С:Предприятие 8) и множество конфигураций. Для функционирования какого-либо прикладного решения всегда необходима платформа и какая-либо (одна) конфигурация (рис. 1.1).

Рис. 1.1. Конфигураций много, а платформа – одна

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

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

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

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

Термин прикладное решение является более общепринятым и понятным для пользователя системы 1С:Предприятие.

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

В качестве примера существующих прикладных решений можно перечислить следующие типовые решения:

q 1С:Бухгалтерия 8 — универсальная программа массового назначения для автоматизации бухгалтерского и налогового учета, включая подготовку обязательной (регламентированной) отчетности. Это готовое решение для ведения учета в организациях, осуществляющих любые виды коммерческой деятельности: оптовую и розничную торговлю, комиссионную торговлю (в том числе субкомиссию), оказание услуг, производство и т.д.

q 1С:Предприятие 8. Управление торговлей — в комплексе решает задачи управленческого и оперативного учета, анализа и планирования; автоматизирует торговые, финансовые и складские операции; обеспечивает современный уровень управления предприятием.

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

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

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

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

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

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

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

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

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

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

Наши рекомендации