ЛАБОРАТОРНАЯ РАБОТА № 2 РАБОТА С КОНФИГУРАТОРОМ «1С: ПРЕДПРИЯТИЕ 8» 1. Цель работы Освоение технологии конфигурирования в системе 1С: Предприятие. 2. Задачи работы Основными задачами лабораторной работы являются: приобретение навыков разработки основных объектов конфигурации 1С (справочников, документов, регистров накопления, отчетов) для заданной предметной области, закрепление и расширение теоретических знаний. 3. Краткие теоретические сведения для выполнения лабораторного практикума Конфигуратор системы 1С: Предприятие является специальным режимом запуска 1С и предназначен для разработчиков, программистов. В этом режиме разработчик создает или корректирует структуру базы данных, программные модули, производит административные работы. В режиме Конфигуратора нельзя вводить информацию в базу данных, за исключением загрузки базы данных из архивов. Обычные пользователи работают в другом режиме – режиме «Предприятие». В нем возможен ввод данных, заполнение справочников и ввод и проведение документов, формирование отчетов и запуск обработок. В режиме Предприятие нельзя редактировать структуру конфигурации. 4. Методика выполнения лабораторной работы 4. Создание информационной базы 4.1.1 Добавление и настройка параметров новой информационной базы Система «1С: Предприятие» может работать с произвольным количеством учетных баз в режиме конфигуратора и в режиме предприятия. Для начала работы необходимо создать информационную базу для ведения учета. При запуске системы производится выбор информационной базы и режима запуска системы (рис.1). Рис. 1. Диалоговое окно запуска системы Для добавления новой базы следует нажать кнопку Добавить. Затем в окне мастера (рис. 2) необходимо выбрать Создание новой информационной базы. Рис. 2. Выбор вида информационной базы Установите переключатель в положение «Создать информационную базу без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационный базы». На следующем экране (рис. 3) указать наименование информационной базы и тип расположения: Рис. 3. Информация о наименовании базы и ее расположении На последнем экране выбрать место хранения информационной базы и язык интерфейса (рис. 4). Рис. 4. Выбор места хранения базы и языка интерфейса После завершения процедуры добавления информационной базы в списке окна запуска появится новая строка с реквизитами новой информационной базы. 4.1.2. Запуск конфигуратора Запустите вашу информационную базу в режиме конфигуратора. Для этого в коне запуска системы (рис. 1) нажмите на кнопку Конфигуратор, предварительно выбрав нужную информационную базу. Выполните первую команду, с которой начинается работа с любой конфигурацией, Конфигурация - Открыть конфигурацию. На экране откроется Дерево конфигурации (рис. 5). Рис. 5 – Дерево конфигурации После того, как конфигурация открыта, ее состав появляется в окне дерева конфигурации. Это окно вы можете закрыть, как любое другое окно Windows, при этом конфигурация останется открытой (т.е. доступной для редактирования). Чтобы снова отобразить на экране окно дерева конфигурации следует воспользоваться командой меню Конфигурация - Окно конфигурации. 4.2. Создание справочников Система «1С: Предприятие» позволяет вести практически неограниченное количество необходимых справочников. Каждый справочник представляет собой список однородных объектов: сотрудников, организаций, товаров и т. д. Каждый такой объект называется элементом справочника. С точки зрения пользователя, следует иметь в виду, что в Конфигураторе создается не сам справочник, как список значений, а разрабатывается заготовка справочника, его шаблон. Создайте новый объект конфигурации. Создать новый объект конфигурации можно несколькими способами: - установите курсор на тот вид объектов конфигурации, который вас интересует, и в командной панели окна конфигурации нажмите кнопку Действия – Добавить или воспользуйтесь кнопкой панели инструментов . - можно воспользоваться контекстным меню, которое вызывается при нажатии на правую клавишу мыши. Установите курсор на вид объектов конфигурации и нажмите правую клавишу мыши. В появившемся меню выберите пункт Добавить. 4.2.1 Создание справочника «Клиенты» В этом справочнике будут храниться наименования клиентов организации. После того, как вы нажмете Добавить, система откроет окно редактирования объекта конфигурации. Задайте имя справочника – Клиенты. На основании имени платформа автоматически создаст синоним – Клиенты (рис. 6). Рис. 6 – Формирование справочника На вкладке Данные установите значения кода и наименования. Увеличьте длину наименования до 50 (рис. 7). Рис. 7 – Заполнение параметров справочника Все остальные свойства объекта конфигурации Справочник оставьте умолчанию и нажмите Закрыть. по Для просмотра добавленного справочника выполните пункт меню ОтладкаНачать отладку или воспользуйтесь кнопкой панели инструментов . На появившийся вопрос ответьте Да (рис. 8) и в следующем окне нажмем Принять (рис. 9). Рис. 8 – Обновление конфигурации БД Рис. 9 В открывшемся окне выберите пункт меню Операции – Справочники и откройте справочник Клиенты (рис. 10). Рис. 10 – Открытие справочника в режиме предприятия Добавьте в режиме «1С Предприятие» в справочник несколько элементов (добавить новый элемент в справочник можно при помощи пункта меню Действия - Добавить, соответствующей иконки или клавишей «Insert»). Рис. 11 – Добавление элементов в справочник 4.2.2 Создание справочника «Сотрудники» (справочник с табличной частью) Создайте новый объект конфигурации Справочник и назовите его Сотрудники. Задача будет состоять в том, чтобы создать справочник, имеющий табличную часть. На закладке Данные задайте длину наименования справочника равной 50 символам и добавьте в справочник новую табличную часть с именем ТрудоваяДеятельность (рис. 12). Рис. 12 – Создание табличной части Создайте реквизиты табличной части ТрудоваяДеятельность: − − − − «Организация» – тип Строка, длина 100, «НачалоРаботы» – тип Дата, состав даты – "Дата", «ОкончаниеРаботы» – тип Дата состав даты – "Дата", «Должность» – тип Строка, длина 100 (рис. 13). Рис. 13 – Создание реквизитов табличной части Для реквизитов «НачалоРаботы» и «ОкончаниеРаботы» выбраны состав даты – «Дата», поскольку в системе «1С: Предприятие» 8.0 значения типа Дата содержат как дату, так и время. В данном случае время начала и окончания работы безразлично. Затем следует выбрать вариант редактирования справочника. Поскольку в списке невозможно редактировать табличную часть справочника и вводить информацию о трудовой деятельности, необходимо выбрать вариант редактирования справочника Обоими способами – как в списке, так и в диалоге. Для этого перейдите на закладку Формы и установите соответствующий переключатель. Запустите «1С: Предприятие» в режиме отладки и заполните справочник Сотрудники. 4.2.3 Создание справочника «Номенклатура» (иерархический справочник) Справочник Номенклатура будет содержать информацию об оказываемых услугах и о тех материалах, которые при этом могут быть использованы. Для того чтобы справочником было удобно пользоваться, сгруппируйте услуги в одну группу, а материалы – в другую. Кроме этого, поскольку наше предприятие OOO "На все руки мастер" оказывает самые разные услуги, они также будут логически собраны в несколько групп. To же можно сказать и про материалы. Задача состоит в создании иерархического справочника. Создайте новый объект конфигурации Справочник и назовите его Номенклатура. Перейдите на закладку Иерархия и установите флаг Иерархический справочник (рис. 14). На закладке Данные задайте длину наименования справочника равной 100 символам. Рис. 14 – Создание иерархического справочника Теперь запустите «1С: Предприятие» в режиме отладки и заполните справочник Номенклатура. Создайте две группы в корне справочника: Материалы и Услуги (меню Действия - Новая группа) (рис. 15). Рис. 15 – Общий вид иерархического справочника В группе Материалы создайте пять элементов (рис. 16): Строчный трансформатор Samsung, − Строчный трансформатор GoldStar, - Транзистор Philips 2N2369, − - Шланг резиновый, − Кабель электрический. Рис. 16 - Заполнение иерархического справочника В группе Услуги тоже создайте несколько элементов (рис. 17): услуги по ремонту телевизоров: - Диагностика, − Ремонт отечественного телевизора Ремонт импортного телевизора − − и услуги по установке стиральных машин: Подключение воды Подключение электричества Рис. 17 – Заполнение справочника «Услуги» Теперь разнесите услуги по двум смысловым группам: услуги по ремонту телевизоров и услуги по установке стиральных машин. Для этого в группе Услуги создайте еще две группы: Телевизоры и Стиральные машины (рис. 18). Рис. 18 – Создание дополнительного уровня иерархии Для того чтобы переместить услуги в соответствующие группы, в окне списка установим курсор на ту услугу, которую хотите переместить, и выполните команду Действия Переместить в группу. В открывшемся окне выберите новую группу (рис. 19). Рис. 19 – Перемещение элементов в группу Аналогичным образом переместите в группу Телевизоры услуги Ремонт отечественного телевизора и Ремонт импортного телевизора. Услуги Подключение воды и Подключение электричества переместите в группу Стиральные машины. Затем в группе Материалы создайте две группы: Радиодетали и Прочее. В группу Прочее поместите Кабель электрический и Шланг резиновый. Остальные материалы переместите в группу Радиодетали. 4.2.4 Создание справочника Склады (создание справочника с предопределенным элементом) Справочник Склады будет содержать информацию о складах, используемых в нашем вымышленном предприятии OOO «На все руки мастер». Этот справочник будет содержать один предопределенный элемент – склад Основной, на который будут поступать все материалы. Задача состоит в том, чтобы создать справочник, содержащий предопределенные элементы. Откройте конфигуратор и создайте новый объект конфигурации Справочник с именем Склады. Перейдите на закладку Прочее и нажмите кнопку Предопределенные. Система откроет список предопределенных элементов справочника. Выполните команду Действия - Добавить и создайте предопределенный элемент с именем Основной (рис. 20). Рис. 20 – Создание предопределенного элемента Запустите «1С: Предприятие» в режиме отладки и откройте справочник Склады. Добавьте в справочник еще один склад, который назовите Розничный (рис. 21). Рис. 21 – Заполнение справочника «Склады» 4.3. Создание Документа Объект конфигурации Документ является прикладным объектом и предназначен для описания информации о совершенных хозяйственных операциях или о событиях, произошедших в жизни организации вообще. На основе объекта конфигурации Документ платформа создает в базе данных информационную структуру. Документ обладает способностью проведения. Факт проведения документа означает, что событие, которое он отражает, повлияло на состояние учета. До тех пор, пока документ не проведен, состояние учета неизменно. Создадим для нашего проекта два документа: Приходная накладная и Оказание услуги. Документ Приходная накладная будет фиксировать факт поступления в организацию необходимых материалов, а документ Оказание услуги будет фиксировать оказание услуг и расход материалов, которые используются при оказании этих услуг. 4.3.1 Создание документа ПриходнаяНакладная Создайте новый объект конфигурации Документ. Задайте имя документа – Приходная накладная. Нажмите Далее. Создайте реквизит документа с именем Склад и типом СправочникСсылка.Склады (рис. 22). Рис. 22 – Формирование реквизитов документа После этого добавьте табличную часть с именем "Материалы" и создайте у нее четыре реквизита: − − − − Материал с типом СправочникСсылка.Номенклатура, Количество с типом Число, длиной 15, точностью 3, неотрицательное, Цена с типом Число, длиной 15, точностью 2, неотрицательное, Сумма с типом Число, длиной 15, точностью 2, неотрицательное (рис. 23). Рис. 23 – Создание реквизитов табличной части Запустите 1С: Предприятие в режиме отладки. В открывшемся окне программы выполните команду Операции - Документы, выберите документ Приходная накладная. Пока в базе данных нет ни одного документа вида Приходная накладная, поэтому создайте новый документ. Система автоматически присвоит номер новому документу. Затем заполните табличную часть. Заполните ее материалами для ремонта телевизоров так, как показано на рис. 24. Рис. 24 – Заполнение документа Приходная накладная Аналогичным образом создайте второй документ, который будет приходовать следующие материалы для установки стиральных машин (рис. 25): Рис. 25 – Заполнение документа Приходная накладная Вернитесь в конфигуратор и откройте окно редактирования объекта конфигурации Приходная накладная. В этом окне выберите закладку Формы. Для того чтобы создать форму документа, нажмите на символ выбора выберите Форма документа (рис. 26). в поле ввода и Рис. 26 – Редактирование формы документа Создание процедуры обработки события в общем модуле Для того чтобы каждый раз, когда меняется значение в поле Количество или в поле Цена, в поле Сумма необходимо, чтобы автоматически устанавливалось значение равное Количество*Цена. Очевидно, что для этого нужно написать на встроенном языке команду, похожую на Сумма = Количество*Цена, которая будет выполняться при изменении значения поля Количество и Цена. Для начала создадим процедуру расчета суммы, которую будем использовать для расчета суммы в различных документах (не только в документе Приходная накладная). Поэтому пропишем заранее данную процедуру. А в документе просто оставим вызовы этой процедуры из общего модуля. Создадим объект конфигурации Общий модуль в ветке Общие → Общие модули и назовем его "РаботаСДокументами". Рис. 27 – Добавление общего модуля Он будет содержать следующий текст: Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена; КонецПроцедуры Ключевое слово Экспорт в конце оператора "Процедура" как раз указывает на то, что эта процедура может быть доступна из других программных модулей. Таким образом, теперь вместо непосредственного расчета суммы мы будем вызывать процедуру из общего модуля, и передавать ей в качестве параметра нужную нам строку табличной части. Создание процедуры обработки события в модуле формы Щелкните правой кнопкой мыши на поле ввода в колонке Количество и откройте для него палитру свойств (пункт контекстного меню Свойства). Прокрутите список до конца, и вы обнаружите перечень событий, которые могут быть связаны с этим полем ввода (рис. 28). С большинством элементов управления связаны различные события, и именно с их помощью разработчик может влиять на ход работы программы. Рис. 28 – Добавление процедуры обработки события Затем вставляем следующий текст в тело процедуры МатериалыКоличествоПриИзменении (Элемент): Процедура МатериалыКоличествоПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные; РассчитатьСумму(СтрокаТабличнойЧасти); КонецПроцедуры Теперь осталось и для поля Цена установить такой же обработчик. Процедура МатериалыЦенаПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные; РассчитатьСумму(СтрокаТабличнойЧасти); КонецПроцедуры Запустите «1С: Предприятие» в режиме отладки и убедитесь, что теперь сумма в строках табличной части документов ПриходнаяНакладная пересчитывается как при изменении количества, так и при изменении цены. 4.3.2. Создание документа ОказаниеУслуги Создайте второй документ ОказаниеУслуги. Создайте новый объект конфигурации Документ ОказаниеУслуги с реквизитами: − − − Склад, тип СправочникСсылка.Склады, Клиент, тип СправочникСсылка.Клиенты, Мастер, тип СправочникСсылка.Сотрудники, создайте табличную часть этого документа ПереченьНоменклатуры с реквизитами: − − − − Номенклатура, тип СправочникСсылка.Номенклатура, Количество, тип Число, длина 15, точность 3, неотрицательное, Цена, тип Число, длина 15, точность 2, неотрицательное, Сумма, тип Число, длина 15, точность 2, неотрицательное, В результате документ ОказаниеУслуги будет выглядеть следующим образом (рис. 29): Рис. 29 – Структура документа «Оказание услуги» После того, как эти действия будут выполнены, запустите «1С: Предприятие» в режиме отладки и убедитесь, что при вводе цены и количества в табличную часть документа ОказаниеУслуги сумма пересчитывается по алгоритму. 4.4. Объект конфигурации Регистр накопления Объект конфигурации Регистр накопления является прикладным объектом и предназначен для описания структуры накопления данных. На основе объекта конфигурации Регистр накопления платформа создает в базе данных информационную структуру, в которой будут накапливаться данные, «поставляемые» различными объектами базы данных. Эти данные будут храниться в регистре в виде отдельных записей, каждая из которых имеет одинаковую, заданную в конфигураторе, структуру. Отличительной особенностью регистра накопления является то, что он не предназначен для интерактивного редактирования пользователем. Разработчик может, при необходимости, предоставить пользователю возможность редактировать регистр накопления, но предназначение регистра накопления заключается в том, чтобы его модификация производилась на основе алгоритмов работы других объектов базы данных, а не в результате непосредственных действий пользователя. Основным назначением регистра накопления является накопление числовой информации в разрезе нескольких измерений, которые описываются разработчиком в соответствующем объекте конфигурации Регистр накопления и являются подчиненными объектами конфигурации. Виды числовой информации, накапливаемой регистром накопления, называются ресурсами и также являются подчиненными объектами и описываются в конфигураторе. 4.4.1. Создание регистра накопления ОстаткиМатериалов Создайте объект конфигурации ОстаткиМатериалов. Регистр накопления. Задайте имя регистра Создайте измерения регистра: Материал, с типом СправочникСсылка.Номенклатура, Склад, с типом СправочникСсылка.Склады. Затем создайте ресурс Количество с длиной 15 и точностью 3. В результате этих действий регистр ОстаткиМатериалов должен иметь следующий вид (рис. 30): Рис. 30 – Структура объекта конфигурации Регистр накопления 4.4.2. Создание движений документа ПриходнаяНакладная Движения документа – это записи в регистрах, которые создаются в процессе проведения документа и отражают изменения, производимые документом. Откройте окно редактирования объекта конфигурации Документ ПриходнаяНакладная. Перейдите на закладку Движения и в списке регистров конфигурации отметьте регистр накопления ОстаткиМатериалов (рис. 31): Рис. 31 – Параметры движения документа После отметки выбранного регистра становится доступной кнопка Конструктор движений. Конструктор устроен просто. В списке «Регистры» перечислены регистры, в которых документ может создавать движения. В списке Реквизиты документа должны находиться исходные данные для создания движений. А в таблице Поле – Выражение должны быть заданы формулы, по которым будут вычисляться значения измерений и реквизитов регистра при записи движений (рис. 32). Рис. 32 – Настройка движения документа В поле выбора Табличная часть выберите табличную часть вашего документа – Материалы. Список реквизитов документа автоматически заполнится реквизитами табличной части. Теперь нажмите Заполнить выражения. В нижнем окне сформируется соответствие полей и выражений (рис. 33). Рис. 33 – Конструктор движения регистров Конструктор движений установил соответствия подходящим образом: в качестве материала в регистр будет записан материал из табличной части документа, в качестве склада – склад, указанный в шапке документа, а в качестве количества – количество из табличной части документа. Нажмите ОК и посмотрите, какой текст сформировал конструктор в модуле объекта: Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр ОстаткиМатериалов Приход Движение = Движения.ОстаткиМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Материал = ТекСтрокаМатериалы.Материал; Движение.Склад = Склад; Движение.Количество = ТекСтрокаМатериалы.Количество; КонецЦикла; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры Объект встроенного языка ДокументОбъект имеет свойство Движения. Оно возвращает коллекцию наборов записей регистров, которые принадлежат этому документу. К набору записей документа, принадлежащему конкретному регистру, можно обратиться, указав через точку имя этого регистра. Запустите «1С: Предприятие» в режиме отладки и откройте одновременно два окна: список документов ПриходнаяНакладная и список регистра накопления ОстаткиМатериалов. При проведении приходной накладной появляются соответствующие записи в регистрах накопления (рис. 34): Рис. 34 – Записи регистров накопления 4.4.3. Создание движений документа ОказаниеУслуги Аналогичным образом создайте движения документа ОказаниеУслуги. При использовании конструктора обратите внимание на то, что документ ОказаниеУслуги должен расходовать материалы. Поэтому перед тем, как нажать ОК убедимся, что выбран правильный тип движения регистров (Расход). 4.5. Проведение документа по нескольким регистрам 4.5.1 Создание регистра СтоимостьМатериалов Регистр СтоимостьМатериалов будет иметь всего одно измерение – Материал с типом СправочникСсылка.Номенклатура и один ресурс – Стоимость с длиной 15 и точностью 2. 4.5.2 Изменение процедуры проведения документа ПриходнаяНакладная Откройте в конфигураторе окно редактирования объекта конфигурации Документ ПриходнаяНакладная и перейдите на закладку Движения. В списке регистров отметьте что документ будет создавать теперь движения и по регистру СтоимостьМатериалов. Запустите конструктор движений, и согласитесь с тем, что существующая процедура ОбработкаПроведения будет замещена. После этого откроется окно конструктора движений, которое будет содержать созданные ранее движения документа по регистру ОстаткиМатериалов. Добавьте в список регистров, по которым формируются движения, еще один регистр – СтоимостьМатериалов. Выберите для него ту же табличную часть Материалы и заполните выражения. Для ресурса Стоимость выберите значения реквизита табличной части Сумма (рис. 35): Рис. 35 – Заполнение табличной части ресурса Нажмите ОК и посмотрите на текст, который сформировал конструктор: Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр ОстаткиМатериалов Приход Движение = Движения.ОстаткиМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Материал = ТекСтрокаМатериалы.Материал; Движение.Склад = Склад; Движение.Количество = ТекСтрокаМатериалы.Количество; КонецЦикла; Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр СтоимостьМатериалов Приход Движение = Движения.СтоимостьМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Материал = ТекСтрокаМатериалы.Материал; Движение.Стоимость = ТекСтрокаМатериалы.Сумма; КонецЦикла; // записываем движения регистров Движения.ОстаткиМатериалов.Записать(); Движения.СтоимостьМатериалов.Записать(); //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры Конструктор создал два цикла обхода табличной части документа – отдельно для каждого регистра. Так происходит потому, что в общем случае документ может иметь несколько табличных частей, и информация, содержащаяся в каждой из них, может предназначаться для своего отдельного регистра. В нашем случае табличная часть всего одна, поэтому можно объединить эти два цикла в один следующим образом (изменения выделены жирным шрифтом с подчеркиванием): Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр ОстаткиМатериалов Приход Движение = Движения.ОстаткиМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Материал = ТекСтрокаМатериалы.Материал; Движение.Склад = Склад; Движение.Количество = ТекСтрокаМатериалы.Количество; //КонецЦикла; //Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр СтоимостьМатериалов Приход Движение = Движения.СтоимостьМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Материал = ТекСтрокаМатериалы.Материал; Движение.Стоимость = ТекСтрокаМатериалы.Сумма; КонецЦикла; // записываем движения регистров Движения.ОстаткиМатериалов.Записать(); Движения.СтоимостьМатериалов.Записать(); //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры Запустите «1С: Предприятие» в режиме отладки и перепроведите документ Приходная накладная. Затем откройте его и убедитесь, что документ создает желаемые записи в регистрах накопления. 4.6. Создание отчетов Объект конфигурации Отчет является прикладным объектом и предназначен для описания средств и алгоритмов, при помощи которых пользователь сможет получать необходимые ему выходные данные. Алгоритм формирования выходных данных описывается при помощи визуальных средств или с использованием встроенного языка В реальной жизни объектам конфигурации Отчет соответствуют всевозможные таблицы выходных данных, сводных данных диаграммы и пр. Создадим новый объект конфигурации Отчет и назовем его "Материалы" (рис. 36). Перейдем на закладку "Макеты" и воспользуемся конструктором выходной формы для того, чтобы полностью создать наш отчет (рис. 37). Рис. 36 – Создание отчета Рис. 37 – Запуск конструктора выходной формы После выбора имени формы конструктор предложит начать создание отчета. Конструктор обладает большим количеством возможностей для визуального проектирования отчетов, но мы сейчас воспользуемся только самыми простыми его возможностями и просто определим те данные, которые хотим видеть в результате работы нашего отчета. В списке "База данных" представлен состав объектов базы данных (рис. 38); на основе их данных мы имеем возможность построить отчет. Если раскрыть ветку «РегистрыНакопления», можно увидеть, что кроме таблицы регистра "ОстаткиМатериалов" в этой ветке присутствуют еще несколько виртуальных таблиц, которые формирует система. Рис. 38 – Редактирование структуры отчета Поскольку мы хотим видеть как остатки материалов, так и информацию об их поступлении и расходовании, нас будет интересовать виртуальная таблица "ОстаткиМатериалов.ОстаткиИОбороты". Раскроем ее (рис. 39). Рис. 39 – Структура виртуальной таблицы Эта таблица содержит материал, склад и кроме этого начальные и конечные остатки, а также значения прихода, расхода и оборотов для всех ресурсов регистра «ОстаткиМатериалов». Начнем выбирать поля таблицы в нужном нам порядке двойным щелчком мыши. Сначала выберем "Склад" и "Материал". Затем выберем "КоличествоНачальныйОстаток", "КоличествоПриход", "КоличествоРасход" и в заключение "КоличествоКонечныйОстаток". В результате окно "Поля" должно быть заполнено следующим образом (рис. 40): Рис. 40 – Окно «Поля» После этого на закладке "Итоги" укажем группировочное поле "Склад" (рис. 41): Рис. 41 – Настройка параметров группировки Нажмем "ОК". Система автоматически сформирует формы и откроет их на экране. Запустим 1С: Предприятие в режиме отладки и посмотрим, как работает отчет. Выполним Операции - Отчет... - Материалы и нажмем "Сформировать" (рис. 42).