Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МетодичкаПрактикум

.pdf
Скачиваний:
26
Добавлен:
20.03.2015
Размер:
1.3 Mб
Скачать

Создание элементов в иерархическом справочнике

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

Затем раскроем группу Материалы (нажатием на +) и создадим в ней пять элементов:

1.Строчный трансформатор Samsung,

2.Строчный трансформатор GoldStar,

3.Транзистор Philips 2N2369,

4.Шланг резиновый,

5.Кабель электрический.

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

Перед нами откроется форма для создания элемента справочника - основная форма объекта. Причем если новый элемент добавляется из формы списка в некоторую открытую группу, то система автоматически подставляет в качестве родителя эту группу. (В данном случае родителем является группа Материалы). Для создания нового элемента справочника можно также воспользоваться командой Номенклатура, которая появилась в панели действий разделов Учет материалов и Оказание услуг. В этом случае, если элемент добавляется командой из панели действий, она никак не связана со списком номенклатуры. Поэтому система «не знает», в какую группу добавлять элемент, и родителя нужно указывать вручную.

Затем раскроем группу Услуги и тоже создадим в ней несколько элементов - услуги по ремонту телевизоров: Диагностика, Ремонт отечественного телевизора, Ремонт импортного телевизора. И услуги по установке стиральных машин: Подключение воды, Подключение электричества.

Теперь разнесем услуги по двум смысловым группам: услуги по ремонту телевизоров и услуги по установке стиральных машин.

Для этого в группе Услуги создадим еще две группы: Телевизоры и Стиральные машины.

Для того чтобы переместить услуги в соответствующие группы, в окне списка установим курсор на ту услугу, которую мы хотим переместить, и

выполним команду Все действия ► Переместить в группу. В открывшемся окне выберем новую группу.

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

Можно также открыть для редактирования выделенный элемент справочника и изменить поле Родитель.

Переместим в группу Телевизоры услуги Диагностика, Ремонт отечественного телевизора и Ремонт импортного телевизора.

Услуги Подключение воды и Подключение электричества переместим в группу Стиральные машины.

30

PDF created with pdfFactory Pro trial version www.pdffactory.com

Затем в группе Материалы создадим две группы: Радиодетали и Прочее. В группу Прочее поместим Кабель электрический и Шланг резиновый. Остальные материалы переместим в группу Радиодетали.

Если теперь переключить представление списка в виде дерева (Все действия - Режим просмотра - Дерево), то мы увидим, что список номенклатуры будет представлен в виде следующего дерева (рис. 2.12).

Рис. 2.12. Список номенклатуры в виде дерева.

2.5. Создание справочника с предопределенными элементами.

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

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

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

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

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

31

PDF created with pdfFactory Pro trial version www.pdffactory.com

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

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

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

УчетМатериалов.

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

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

Выполним команду Склады в панели навигации раздела Учет материалов. Справа от панели навигации в рабочей области окна приложения откроется основная форма списка.

Всписке складов уже есть один элемент с наименованием Основной. Это

иесть предопределенный элемент, который мы создали в конфигураторе. Выполнив команду Склад в панели действий, добавим в справочник еще один склад, который назовем Розничный (рис. 2.13). (Обратите внимание, что

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

пометить на удаление предопределенный элемент система выдаст предупреждение).

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

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

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

32

PDF created with pdfFactory Pro trial version www.pdffactory.com

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

Контрольные вопросы.

1.Для чего используется объект конфигурации Подсистема.

2.Как описать логическую структуру конфигурации при помощи объектов Подсистема.

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

4.Что такое окно редактирования объекта конфигурации и в чем его отличие от палитры свойств.

5.Для чего предназначен объект конфигурации Справочник. Каковы характерные особенности справочника.

6.Для чего используются реквизиты и табличные части справочника.

7.Зачем нужны иерархические справочники и что такое родитель.

8.Зачем нужны подчиненные справочники и что такое владелец.

9.Что такое предопределенные элементы.

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

11.Как создать объект конфигурации Справочник и описать его структуру. 12.Как добавить новые элементы в справочник. Как создать группу

справочника.

13.Зачем нужна основная конфигурация и конфигурация базы данных. Как связаны объекты конфигурации и объекты базы данных.

14.Как отобразить справочник и определить его представление в различных разделах интерфейса приложения.

15.Как отобразить команды создания нового элемента справочника в интерфейсе подсистем.

16.Как редактировать командный интерфейс подсистем.

33

PDF created with pdfFactory Pro trial version www.pdffactory.com

3.Объект конфигурации Документ. Формы документа

3.1.Создание объекта конфигурации Документ

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

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

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

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

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

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

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

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

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

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

34

PDF created with pdfFactory Pro trial version www.pdffactory.com

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

Для «визуализации» документа существует несколько основных форм, которые, как мы уже говорили, имеют несколько вариантов названий (табл. 3.1).

Основные формы документа

Таблица 3.1.

 

 

 

 

 

 

В контекстном

В конструкторе форм

На закладке формы

меню и в палитре

 

 

 

свойств

 

 

 

Форма объекта

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

Документа

 

Форма списка

Форма списка документа

Списка

 

Форма для

Форма выбора документа

Выбора

 

выбора

 

 

 

3.2. Типы данных. Типообразующие объекты конфигурации

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

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

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

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

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

СправочникМенеджер. Номенклатура, СправочникСсылка. Номенклатура, СправочникОбъект. Номенклатура, СправочникВыборка. Номенклатура.

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

35

PDF created with pdfFactory Pro trial version www.pdffactory.com

3.3. Лабораторная работа №4. Создание документа Приходная накладная

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

Для отражения этих событий в базе данных мы создадим два документа:

Приходная накладная и Оказание услуги.

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

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

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

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

Свойство «Значение заполнения» реквизита объекта конфигурации

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

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

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

36

PDF created with pdfFactory Pro trial version www.pdffactory.com

Рис.3.1. Задание реквизитов создаваемого документа Приходная Накладна.

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

Материал, тип СправочникСсылка.Номенклатура;

Количество, тип Число, длина 15, точность 3, неотрицательное; Цена, тип Число, длина 15, точность 2, неотрицательное; Сумма, тип Число, длина 15 точность 2, неотрицательное.

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

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

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

накладная: Создать.

Тестирование созданного документа Приходная Накладна

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

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

37

PDF created with pdfFactory Pro trial version www.pdffactory.com

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

Нам осталось только заполнить табличную часть приходной накладной материалами для ремонта телевизоров так, как показано на рисунке 3.2.

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

закрыть.

Рис.3.2. Создание нового документа «Приходная накладная № 1».

Документ будет сохранен и проведен, ему будет присвоен автоматически сгенерированный системой номер и текущее время проведения документа.

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

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

3.4. Автоматический пересчет суммы в строках документа, форма документа

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

38

PDF created with pdfFactory Pro trial version www.pdffactory.com

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

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

Далее и Назад.

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

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

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

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

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

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

39

PDF created with pdfFactory Pro trial version www.pdffactory.com