Разработка информационной системы на технологической платформе системы программ "1С:Предприятие 8.0."

 

Задание


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

1.Характеристика деятельности организации:

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

. Реализация основных функций учета:

приходование поступивших на склад товарно-материальных ценностей и печать приходной накладной;

приходование готовой продукции на склад и печать накладной;

перемещение товарно-материальных ценностей между складами организации и печать накладной на внутреннее перемещение;

продажа товарно-материальных ценностей и готовой продукции, печать расходной накладной;

оказание услуг и печать соответствующего документа;

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


Введение

автоматизация учет складской

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

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

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

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

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

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


1. Разработка структуры информационной базы


Факты хозяйственной деятельности мы будем регистрировать с помощью документов. Данные о поступлении товаров будем вводить с помощью документа «Приходная накладная». Данные об отгрузке соответственно с помощью документа «Расходная накладная». При вводе данных в экранные формы накладных наименования нашей организации, контрагентов, материалов, складов, единиц измерения и материально-ответственных лиц из числа сотрудников мы будем выбирать из справочников «Контрагенты», «Номенклатура», «Склады», «Единицы измерения», «Сотрудники», «Организации». Для хранения информации об остатках и о движениях материалов на каждом складе мы будем использовать Регистр накопления остатков «ОстаткиМатериалов», для организации суммового учета материалов - регистр «СтоимостьМатериалов». Данные об объемах продаж готовой продукции в разрезе контрагентов будем хранить в Регистре накопления оборотов «РеализацияПродукции», объемах продаж оказываемых услуг - в регистре оборотов «ПродажиУслуг». Информацию, необходимую для формирования отчетов по остаткам и оборотам материалов, мы будем извлекать из регистров остатков. Данные для отчетов по анализу продаж готовой продукции и услуг будем извлекать из регистров оборотов.


Рис.1.1. Структура информационной базы

2. Создание информационной базы


Запустим 1С:Предприятие (Пуск ? Программы ? 1С:Предприятие 8.0 ? Конфигуратор). Откроется список информационных баз (в нашем случае он пуст).


Рис.2.1. Добавление информационной базы в список


Выберем Создание новой информационной базы (т. к. у нас нет ни одной информационной базы).


Рис.2.2. Создание новой информационной базы


Введем в следующем диалоговом окне название базы «Учебная», как оно будет отображаться в списке баз


Рис.2.3. Указание наименования информационной базы


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


Рис.2.4. Указание параметров информационной базы


В результате появляется следующее окно:


Рис.2.5. Окно запуска 1С:Предприятия


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


Рис.2.6. Диалоговое окно «Настройка диалога запуска»


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


Рис.2.7. Окно дерева конфигурации


3. Создание справочников


.1 Создадим справочник «Организации», необходимый для занесения в базу сведений об организации (наименования, идентификационного номера налогоплательщика ИНН и адреса)


Установим курсор на строку Справочники и щелкнем кнопку Добавить (или щелкнуть правой кнопкой мыши на иконке Справочник ? Добавить, или Действия ? Добавить). При этом откроется окно для редактирования структуры справочника.

Зададим имя справочника - «Организации». На основании имени платформа автоматически создаст синоним - «Организации» (рис. 3.1).


Рис.3.1. Создание справочника «Организации»


Перейдем на закладку «Данные». Установим длину кода и длину наименования. От длины кода зависит количество элементов, которые могут содержаться в справочнике. Длина кода 1 символ - от 0 до 9, т.е. 10 элементов. Длину наименования установим 50 символов.

Создадим реквизиты справочника (используя кнопку Добавить)(см. рис. 3.2):

·Имя - ИНН. Тип данных - Строка, длина - Переменная, 12 символов;

·Имя - Адрес. Тип данных - Строка, длина - Переменная; флаг - Неограниченная длина.


Рис.3.2. Задание реквизитов справочника «Организации»


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

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

При помощи пункта меню Действия ? Добавить или соответствующей иконки добавим новую организацию, внесем ее наименование, ИНН и адрес (рис. 3.3).


Рис.3.3. Заполнение реквизитов организации


.2 Создадим справочник «Контрагенты», в котором будет храниться информация о наших клиентах (поставщиках и заказчиках)


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

Зададим имя справочника - «Контрагенты». На основании имени платформа автоматически создаст синоним - «Контрагенты».

Для того чтобы справочником было удобно пользоваться, разобьем его на две группы:

Поставщики, у которых организация приобретает материалы, сырье;

Покупатели, которым организация продает готовую продукцию, материалы и оказывает услуги.

Для этого справочник должен обладать иерархической структурой. Перейдем на закладку «Иерархия» и установим флаг «Иерархический справочник» (рис. 3.4).


Рис.3.4. Окно редактирования структуры справочника «Контрагенты»


Перейдем на закладку «Данные». Установим длину кода 4 символа, длину наименования 50.

Создадим реквизиты справочника (используя кнопку Добавить):

·Имя - ПолноеНаименование. Тип данных - Строка, длина - Переменная, 50 символов;

·Имя - ИНН. Тип данных - Строка, длина - Переменная, 12 символов;

·Имя - Адрес. Тип данных - Строка, длина - Переменная; флаг - Неограниченная длина.

Запустим 1С:Предприятие в режиме отладки и заполним справочник «Контрагенты». Для этого выполним пункт меню Отладка ? Начать отладку. В открывшемся окне системы выполним пункт меню Операции ? Справочники и выберем справочник «Контрагенты».

Создадим две группы в корне справочника: «Поставщики» и «Покупатели» (Действия ? Новая группа)(см. рис. 3.5):


Рис.3.5. Создание групп в справочнике «Контрагенты»


В группе «Поставщики» создадим несколько элементов (меню Действия ? Добавить или соответствующая иконка ) и заполним реквизиты.

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

После добавления элементов, справочник выглядит следующим образом (рис. 3.6):


Рис.3.6. Создание группы «Поставщики» в справочнике «Контрагенты»


В группе «Покупатели» аналогично создадим несколько элементов и заполним соответствующие реквизиты (рис. 3.7).


Рис.3.7. Создание группы «Покупатели» в справочнике «Контрагенты»


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


На закладке «Данные» зададим длину кода 3 символа, длину наименования 50 символов.

Создадим реквизиты справочника (используя кнопку Добавить):

·Имя - Организация. Тип - СправочникСсылка.Организации. Ссылкой на справочник «Организации» предусмотрена возможность выбора организации из существующего справочника;

·Имя - ДатаРождения. Тип - Дата, состав даты - «Дата», т. к. в системе 1С:Предприятие 8.0 значения типа Дата содержат как дату, так и время;

·Имя - Пол. Тип данных - ПеречислениеСсылка.ПолСотрудника.

Для того, чтобы иметь возможность выбирать значение реквизита из готового списка, создадим новый объект конфигурации Перечисления ? Добавить с именем «ПолСотрудника». На закладке «Данные» добавим два значения Перечисления: «Женский» и «Мужской»(рис. 3.8)


Рис.3.8. Создание Перечисления «ПолСотрудника»

Имя - серия. Тип данных - Строка, длина 5;

·Имя - номер. Синоним - №. Тип данных - Строка, длина 6;

·Имя - выдан. Тип данных - Дата, состав даты - «Дата»;

·Имя - кем. Тип данных - Строка, длина 100;

·Имя - ИНН. Тип данных - Строка, длина 12, фиксированная;

·Имя - Должность. Тип данных - Строка, длина 30;

·Имя - ДатаПриема. Тип данных - Дата, состав даты - «Дата»;

·Имя - ДатаУвольнения. Тип данных - Дата, состав даты - «Дата» (см. рис. 3.9).


Рис.3.9. Создание реквизитов справочника «Сотрудники»


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

Перейдем на закладку «Формы». При нажатии на кнопку Просмотр Формы списка (символ лупы ) появляется окно Конструктора формы справочника. Флажком отметим те реквизиты справочника, которые будут выводиться на экран при просмотре. Выберем Картинку, Код и Наименование (рис. 3.10).


Рис.3.10. Окно Конструктора формы справочника


В результате получаем Форму списка справочника «Сотрудники», состоящую из трех полей.


Рис.3.11. Форма для просмотра справочника «Сотрудники»


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

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

Можно перемещать поля, уменьшать или увеличивать их длину, выравнивать размер, изменять шрифт, цвет текста и т.п. Паспортные данные выделим в отдельную группу с помощью рамки группы (Главное меню Конфигуратора ? меню «Форма» ? Вставить элемент управления). Вместо надписи «Код» введем заголовок «Табельный №» (см. рис. 3.12).


Рис.3.12. Форма для редактирования справочника «Сотрудники»


Выберем вариант редактирования справочника в диалоге. Для этого на закладке «Формы» установим соответствующий переключатель.

Запустим 1С:Предприятие в режиме отладки. Создадим несколько элементов справочника и заполним соответствующие реквизиты сотрудников (рис. 3.13).


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


После добавления элементов, справочник выглядит следующим образом (см. рис. 3.14):


Рис.3.14. Справочник «Сотрудники»


.4 Аналогично предыдущим справочникам создадим справочник «Единицы измерения»


На закладке «Данные» зададим длину кода - 2, длину наименования - 5 символов. Добавим единственный реквизит - ЕдиницаИзмерения. Тип - Строка, длина - 25. Запустим 1С:Предприятие в режиме отладки и заполним справочник. После добавления в него элементов, справочник выглядит следующим образом (рис. 3.15):


Рис.3.15. Справочник «Единицы измерения»


.5 Создадим новый справочник «Номенклатура»


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

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

На закладке «Данные» зададим длину кода - 5, длину наименования - 50 символов. Добавим реквизит, который позволит однозначно определять принадлежность элемента справочника к материалам, услугам и т.д.:

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

На закладке «Данные» добавим значения перечисления (см. рис. 3.16):


Рис.3.16. Создание Перечисления «ВидыНоменклатуры»


Запустим 1С: Предприятие в режиме отладки и заполним справочник «Номенклатура». Создадим четыре группы в корне справочника: «Материалы», «Готовая продукция», «Тара» и «Услуги» (меню Действия ? Новая группа) (рис. 3.17):


Рис.3.17. Создание групп в справочнике «Номенклатура»


В группе «Материалы» создадим несколько элементов с помощью кнопки Добавить :


Рис.3.18. Создание элементов справочника «Номенклатура»


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


Рис.3.19. Перемещение элементов справочника


В группе «Готовая продукция» создадим два элемента (кирпич, плитка облицовочная):


Рис.3.20. Создание элементов группы «Готовая продукция»


Для каждого элемента справочника выберем вид номенклатуры - Продукция. В группе «Тара» создадим три элемента (поддон деревянный, ящик, коробка картонная):


Рис.3.21. Создание элементов группы «Тара»


Для каждого элемента справочника выберем вид номенклатуры - Тара.

В группе «Услуги» создадим три элемента (рис. 3.22):

Рис.3.22. Создание элементов группы «Услуги»


Для каждого элемента справочника выберем вид номенклатуры - Услуга.


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


Этот справочник будет содержать один предопределенный элемент - склад «Основной», на который будут поступать все материалы.

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


Рис.3.23. Создание предопределенного элемента справочника «Склады»


На закладке «Данные» зададим длину кода - 1 (10 элементов от 0 до 9) и длину наименования - 30 символов.

Создадим реквизит справочника МОЛ - материально-ответственное лицо - тип данных СправочникСсылка.Сотрудники. Ссылкой на справочник «Сотрудники» предусмотрена возможность выбора М.О.Л. из списка сотрудников организации (рис. 3.24).


Рис.3.24. Задание реквизитов справочника «Склады»


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


Рис.3.25. Справочник «Склады»


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

Мы завершили создание справочников для нашей организации.


4. Создание Документов


.1 Документ «Приходная накладная»


4.1.1 Установим курсор на строку

Документы и щелкнем кнопку Добавить . При этом откроется окно для редактирования структуры документа

Зададим имя документа - «ПриходнаяНакладная». На основании имени платформа автоматически создаст синоним - «Приходная накладная». Документ будет содержать шапку и табличную часть.

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

Перейдем на закладку «Данные» и создадим следующие реквизиты:

·Имя - Контрагент. Тип данных - СправочникСсылка.Контрагенты (связь между реквизитом Контрагент документа «Приходная накладная» и справочником «Контрагенты»);

·Имя - Склад. Тип данных - СправочникСсылка.Склады;

·Имя - НомерНакладнойПоставщика. Тип данных - Число, длина - 5;

·Имя - Получил. Тип данных - СправочникСсылка.Сотрудники;

·Имя - СтавкаНДС. Тип данных - ПеречисленияСсылка.СтавкаНДС.

Предварительно выполним: Перечисления ? Добавить ? СтавкаНДС (см. рис. 4.1):


Рис.4.1. Создание Перечисления «СтавкаНДС»


Этот реквизит нужен, чтобы предусмотреть возможность поступления материалов с НДС (18%) и без НДС.

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

·Имя - Номенклатура. Тип данных - СправочникСсылка.Номенклатура;

·Имя - ЕдиницаИзмерения. Тип данных - СправочникСсылка.ЕдиницыИзмерения;

·Имя - Количество. Тип данных - Число, длина - 15, точность - 3. Флаг - неотрицательное;

·Имя - Цена. Тип данных - Число, длина - 15, точность - 2;

·Имя - Сумма. Тип данных - Число, длина - 15, точность - 2 (см. рис. 4.2).


Рис.4.2. Создание документа «Приходная накладная»


4.1.2 Для ввода данных необходима

Форма документа. Закладка - «Формы». При нажатии на кнопку Просмотр поля Форма документа появляется окно Конструктора формы документа.

После нажатия кнопки «Готово» получаем Форму документа «Приходная накладная». Отредактируем ее. Уменьшим длину полей «Номер», «Дата», «Номер накладной поставщика» и разместим их по одной линии. Добавим надпись «Приходная накладная», изменим заголовки полей «Номер» и «Дата». Поле «Получил» расположим внизу после табличной части. Для того чтобы пользователь мог видеть итоговую сумму по документу в процессе заполнения табличной части документа, добавим ее на экранную форму. Выделив в форме табличное поле, откроем для него палитру свойств и установим свойство «Подвал». Откроем свойства колонки «Цена» и установим текст подвала - «Всего:», горизонтальное положение в подвале - «Прижать вправо» и в шрифте подвала изменим начертание на «Жирный». После этого откроем свойства колонки «Сумма», установим горизонтальное положение в подвале - «Прижать вправо», установим флаг «Показывать итог в подвале» и в шрифте подвала тоже изменим начертание на «Жирный». Получаем форму документа (рис. 4.3):


Рис.4.3. Форма документа «Приходная накладная»


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

Щелкнув правой кнопкой мыши на поле ввода в колонке «Количество», откроем для него палитру свойств (пункт контекстного меню Свойства) (см. рис. 4.4):


Рис.4.4. Палитра свойств поля «Количество»


В разделе События находим событие «При изменении» и нажимаем кнопку Просмотр Поля . Открывается закладка формы «Модуль», в который уже вставлена Процедура с именем «ПереченьНоменклатурыКоличествоПриИзменении» и параметром «Элемент». Нужно добавить в ее тело необходимый код.

Сначала создадим отдельно Процедуру для расчета суммы . Т.к. автоматическое заполнение поля «Сумма» может нам понадобиться и в других документах, поместим расчет суммы в «общедоступном» месте (Конфигурация ? Общие ? Общие модули), чтобы разные документы, имеющие аналогичные реквизиты табличной части, могли использовать этот алгоритм.

Создадим объект конфигурации Общий модуль с помощью кнопки Добавить и назовем его «РаботаСДокументами» (рис. 4.5).


Рис.4.5. Создание модуля «РаботаСДокументами»


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


Рис.4.6. Процедура для расчета суммы


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

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

Переходим к закладке «Диалог» и выделяем поле «Цена». Выполняем для него те же действия, что и для поля «Количество». В результате получаем новую процедуру «ПереченьНоменклатурыЦенаПриИзменении», в тело которой вставляем вызов процедуры расчета суммы (см. рис. 4.7).


Рис.4.7. Вызов процедуры расчета суммы


.1.3 Проверим в работе созданные объекты

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


Рис.4.8. Документ «Приходная накладная»


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


.1.4 Создадим печатную форму документа

Откроем в конфигураторе окно редактирования объекта конфигурации Документ «Приходная накладная». Перейдем на закладку «Макеты» и запустим Конструктор печати.

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

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

Добавим новую область для вывода итоговой суммы документа. Выделим мышью три пустые строки и выполним команду Таблица ? Имена ? Назначить имя. Назовем область «Всего». В созданной области (первая пустая строка) в колонке «Цена», напишем «Всего:», а в колонке «Сумма» напишем «ВсегоПоДокументу».

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


Рис.4.9. Палитра свойств ячейки «ВсегоПоДокументу»


Во второй пустой строке в колонке «Цена» напишем текст «НДС:», в колонке «Сумма» зададим параметр <НДС>. В третьей пустой строке в соответствующих колонках напишем текст «Всего с НДС:» и зададим параметр <ВсегоСНДС>. Шрифт текста, его положение и границы ячейки зададим в палитре свойств данной ячейки. В подвале макета в текст ячейки «Получил» добавим линию: Получил _______ .

В результате получаем отредактированный макет печатной формы документа «Приходная накладная» (см. рис. 4.10):


Рис.4.10. Макет печатной формы документа «Приходная накладная»


Значения параметров <ВсегоПоДокументу>, <НДС> и <ВсегоСНДС> определим в модуле формы документа «ПриходнаяНакладная» (Закладка «Форма» ? «ФормаДокумента» ? «Модуль»). Найдем в нем процедуру «Печать» и после цикла добавим в нее следующие строки:


Рис.4.11. Задание значений параметров в процедуре «Печать»


Получаем новую область «Всего». Параметру «ВсегоПоДокументу» присваиваем значение итоговой суммы табличной части «ПереченьНоменклатуры» по колонке «Сумма». Параметрам <НДС> и <ВсегоСНДС> присваиваем значение в зависимости от ставки НДС. Выводим область в итоговый табличный документ.

Проверим макет в работе. Запустим 1С:Предприятие в режиме отладки и откроем документ «Приходная накладная №1». Нажмем на появившуюся новую кнопку «Печать» (см. рис. 4.12).


Рис.4.12. Печатная форма документа «Приходная накладная»


.2 Документ «Оказание услуги»


4.2.1 Создадим новый объект конфигурации Документ «Оказание услуги» с реквизитами:

·Имя - Организация, Тип данных - СправочникСсылка.Организации;

·Имя - Покупатель, Тип данных - СправочникСсылка.Контрагенты;

·Имя - ОтИсполнителя, Тип данных - СправочникСсылка.Сотрудники;

·Имя - ОтЗаказчика, Тип данных - Строка, длина 30, переменная.

Создадим табличную часть этого документа «ПереченьНоменклатуры» с реквизитами:

·Имя - Номенклатура, Тип данных - СправочникСсылка.Номенклатура;

·Имя - Количество, Тип данных - Число, длина 15, точность 3, неотрицательное;

·Имя - Цена, Тип данных - Число, длина 15, точность 2, неотрицательное;

·Имя - Сумма, Тип данных - Число, длина 15, точность 2, неотрицательное.


4.2.2 Создадим Форму документа и отредактируем ее. Поля «ОтИсполнителя» и «ОтЗаказчика» разместим внизу

Для полей ввода колонок «Количество» и «Цена» создадим обработчик события «ПриИзменении», в котором вызовем процедуру «РассчитатьСумму» из Общего модуля «РаботаСДокументами». Стоимость услуг, оказываемых нашей организацией, может изменяться с течением времени. Для формирования списка цен на услуги создадим новый объект конфигурации Регистр сведений «Цены». Установим периодичность этого регистра в пределах секунды. Перейдем на закладку «Данные» и создадим измерение регистра - «Номенклатура» с типом СправочникСсылка.Номенклатура. Укажем, что это измерение будет ведущим (т.е. при удалении объекта все записи регистра сведений по этому объекту тоже будут автоматически удалены). Создадим ресурс «Цена», тип - Число, длина 15, точность 2, неотрицательное.


Рис.4.13. Регистр сведений «Цены»


Запустим 1C:Предприятие в режиме отладки, откроем Регистр сведений «Цены» и зададим стоимость услуг (рис. 4.14):


Рис.4.14. Список «Цены»


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


Рис.4.15. Модуль «РаботаСоСправочниками»


При создании документа «Оказание услуги» нам необходимо обеспечить автоматическое заполнение поля «Цена» после того, как пользователь выберет услугу. Причем цена услуги должна определяться исходя из даты создаваемого документа. Перейдем на закладку «Форма» документа «Оказание услуги». Откроем свойства поля ввода, расположенного в колонке «Номенклатура» и найдем событие «При изменении». Нажмем на кнопку с лупой и в открывшейся заготовке обработчика события напишем следующий текст:

Рис.4.16. Процедура «ПереченьНоменклатурыНоменклатураПриИзменении»


Предусмотрим вывод в подвале табличной части итоговой суммы по документу.


Создадим печатную форму документа. Добавим новую область для вывода итоговой суммы документа с именем «Всего». Значения параметров <ВсегоПоДокументу>, <НДС> и <ВсегоСНДС> зададим в модуле формы документа «ОказаниеУслуги» с учетом НДС 18%.

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


Рис.4.17. Документ «Оказание услуги»


4.3 Документ «Расходная накладная»


По аналогии с документом «Приходная накладная» создадим новый документ «Расходная накладная». Имя - РасходнаяНакладная. Реквизиты - «Организация», «Контрагент», «Склад», «Отпустил». Табличная часть «ПереченьНоменклатуры» такая же, как и в документе «Приходная накладная». Создадим Форму документа и отредактируем ее. Поле «Отпустил» разместим внизу. Для полей ввода колонок «Количество» и «Цена» создадим обработчик события «ПриИзменении», в котором вызовем процедуру «РассчитатьСумму» из Общего модуля «РаботаСДокументами».

Для поля ввода колонки «Номенклатура» создадим обработчик события «ПриИзменении», в котором вызовем Функцию «РозничнаяЦена» из Общего модуля «РаботаСоСправочниками». Список «Цены» дополним ценами на готовую продукцию и тару, которые будем отпускать Покупателям. Предусмотрим вывод в подвале табличной части итоговой суммы по документу. Создадим печатную форму документа. Значения параметров для вывода итоговой суммы по документу зададим однозначно с учетом НДС 18%.

В режиме отладки создадим несколько документов «Расходная накладная» (см. рис. 4.18).


Рис.4.18. Документ «Расходная накладная»


4.4 Документ «Передача готовой продукции на склад»


Для отражения операций по оприходованию готовой продукции на склад создадим новый документ «Передача готовой продукции на склад». Перейдем на закладку «Данные» и создадим реквизиты:

·Имя - СкладОприходования. Тип данных - СправочникСсылка.Склады;

·Имя - Отпустил. Тип данных - СправочникСсылка.Сотрудники;

·Имя - Получил. Тип данных - СправочникСсылка.Сотрудники.

Создадим табличную часть этого документа «ПереченьНоменклатуры» с реквизитами:

·Имя - Номенклатура. Тип данных - СправочникСсылка.Номенклатура;

·Имя - ЕдиницаИзмерения. Тип данных - СправочникСсылка.ЕдиницыИзмерения;

·Имя - Количество, Тип данных - Число, длина 15, точность 3, неотрицательное;

·Имя - Цена, Тип данных - Число, длина 15, точность 2, неотрицательное;

·Имя - Сумма, Тип данных - Число, длина 15, точность 2, неотрицательное.

Создадим Форму списка и Форму документа. В Форме списка зададим все поля кроме «Отпустил» и «Получил». Отредактируем Форму документа, поля «Отпустил» и «Получил» разместим внизу.

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

Для поля ввода колонки «Номенклатура» создадим обработчик события «ПриИзменении», в котором вызовем Функцию «РозничнаяЦена» из Общего модуля «РаботаСоСправочниками».

Предусмотрим вывод в подвале табличной части итоговой суммы по документу.

Создадим печатную форму документа. В режиме отладки создадим несколько документов.


Рис.4.19. Документ «Передача готовой продукции на склад»


5. Документ «Перемещение материалов»


Для отражения операций по перемещению материалов между складами создадим документ с именем «ПеремещениеМатериалов».

На закладке «Данные» создадим следующие реквизиты:

·Имя - СкладОтправитель. Тип данных - СправочникСсылка.Склады;

·Имя - СкладПолучатель. Тип данных - СправочникСсылка.Склады;

·Имя - Отпустил. Тип данных - СправочникСсылка.Сотрудники;

·Имя - Получил. Тип данных - СправочникСсылка.Сотрудники.

Создадим табличную часть этого документа «ПереченьНоменклатуры» с реквизитами:

·Имя - Номенклатура. Тип данных - СправочникСсылка.Номенклатура;

·Имя - ЕдиницаИзмерения. Тип данных - СправочникСсылка.ЕдиницыИзмерения;

·Имя - Количество. Тип данных - Число, длина 15, точность 3, неотрицательное;

·Имя - Цена. Тип данных - Число, длина 15, точность 2, неотрицательное;

·Имя - Сумма. Тип данных - Число, длина 15, точность 2, неотрицательное.

Перейдем на закладку «Ввод на основании» и определим Документ «ПриходнаяНакладная» как объект - основание для Документа «Перемещение материалов». Это позволит при необходимости на основании Приходной накладной сразу создать Перемещение материалов.

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


Рис.4.20. Конструктор ввода на основании


Конструктор ввода на основании сгенерировал код на встроенном языке в модуле объекта Документа «ПеремещениеМатериалов» (см. рис. 4.21):


Рис.4.21. Процедура ОбработкаЗаполнения документа «ПеремещениеМатериалов»


Можно создавать документ «ПеремещениеМатериалов» обычным способом или на основании документа «ПриходнаяНакладная» .

Создадим Форму списка и Форму документа. В Форме списка зададим все поля кроме «Отпустил» и «Получил». Отредактируем Форму документа, поля «Отпустил» и «Получил» разместим внизу.

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

В режиме отладки создадим несколько документов (см. рис. 4.22).


Рис.4.22. Документ «Перемещение материалов»


6. Создание Регистров накопления


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

Регистры остатков

Создадим новый объект конфигурации Регистр накопления: имя - ОстаткиМатериалов; вид регистра - Остатки. На закладке «Данные» создадим структуру регистра - измерения регистра Материал и Склад, и ресурс - Количество:

·«Материал». Тип данных - СправочникСсылка.Номенклатура;

·«Склад». Тип данных - СправочникСсылка.Склады;

·«Количество». Тип данных - Число, длина 15, точность 3, неотрицательное (см. рис. 5.1).


Рис.5.1. Создание Регистра накопления «ОстаткиМатериалов»


Реализуем отражение документа «Приходная накладная» в регистре «ОстаткиМатериалов». Документ «Приходная накладная» ? Закладка «Движения» ? Регистры накопления. Устанавим флаг ОстаткиМатериалов (см. рис. 5.2).


Рис.5.2. Движения документа «Приходная накладная»


Вызываем Конструктор движений регистров. Тип движения регистра - Приход. В поле «Табличная часть» выберем табличную часть нашего документа - «ПереченьНоменклатуры». Список реквизитов документа автоматически заполнится реквизитами нашей табличной части. Нажмем кнопку «Заполнить выражения». В нижнем окне сформируется соответствие полей и выражений(см. рис. 5.3).


Рис.5.3. Конструктор движения регистров


Конструктор движений регистров сгенерировал код на встроенном языке. В результате выполнения этого кода в регистре «ОстаткиМатериалов» на основании данных, хранящихся в документе «Приходная накладная», будут сделаны записи (см. рис. 5.4).


Рис.5.4. Процедура «ОбработкаПроведения»

По аналогии с документом «Приходная накладная» реализуем отражение документа «Расходная накладная» в регистре «ОстаткиМатериалов». Тип движения регистра - Расход. С помощью Конструктора движений регистров сгенерируем код для обработки проведения документа «Расходная накладная».

Аналогично реализуем отражение в регистре «ОстаткиМатериалов» документов «Перемещение материалов» (тип движения регистра «Расход» для склада-отправителя и «Приход» для склада-получателя) и «Передача готовой продукции на склад» (тип движения регистра - Приход). С помощью Конструктора движений регистров сгенерируем код для обработки проведения документов.

Запустим 1C:Предприятие в режиме отладки. Откроем Приходную накладную №1 и нажмем «ОК». При проведении приходной накладной появляются соответствующие записи в регистрах накопления. Точно также перепроведем остальные приходные накладные, все расходные накладные, перемещение материалов и передачу готовой продукции на склад.

В результате все данные по поступлению материалов на склад и отпуску со склада нашли свое отражение в регистре накопления «ОстаткиМатериалов» - приход со знаком «+», расход со знаком «-» (см. рис. 5.5).


Рис.5.5. Список «Остатки материалов»


Для организации суммового учета материалов создадим регистр «СтоимостьМатериалов».

Этот регистр будет иметь всего одно измерение - «Материал» с типом СправочникСсылка.Номенклатура и один ресурс - «Стоимость» с длиной 15 и точностью 2, неотрицательное.

Реализуем отражение документа «Приходная накладная» в регистре «СтоимостьМатериалов». Документ «Приходная накладная» ? Закладка «Движения» ? Регистры накопления. Устанавим флаг СтоимостьМатериалов. Запустим Конструктор движений. Нажатием кнопки добавим в список регистров еще один регистр «СтоимостьМатериалов». Тип движения регистра - Приход. Выберем для него ту же табличную часть «ПереченьНоменклатуры» и заполним выражения. Для ресурса «Стоимость» выберем значения реквизита табличной части «Сумма».

Конструктор создал два цикла обхода табличной части документа - отдельно, для каждого регистра («ОстаткиМатериалов» и «СтоимостьМатериалов»). В нашем случае табличная часть всего одна, поэтому можно объединить эти два цикла в один. Аналогичные действия проделаем для документа «Расходная накладная». Отличие - тип движения регистра - Расход. Аналогично реализуем отражение в регистре «СтоимостьМатериалов» документов «Перемещение материалов» и «Передача готовой продукции на склад». Запустим 1C:Предприятие в режиме отладки и перепроведем все документы.


Рис.5.6. Список «Стоимость материалов»


Регистры оборотов

Создадим новый объект конфигурации регистр накопления. Назовем его «РеализацияПродукции» и определим вид регистра - «Обороты».

На закладке «Данные» создадим измерения регистра:

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

·«Контрагент», тип СправочникСсылка.Контрагенты.

У регистра будет два ресурса:

·«Количество»,тип Число, длина 15, точность 3, неотрицательное;

·«Стоимость», тип Число, длина 15, точность 2, неотрицательное.

Реализуем отражение документа «РасходнаяНакладная» в регистре «РеализацияПродукции». Документ «РасходнаяНакладная» ? Закладка «Движения» ? Регистры накопления. Устанавим флаг РеализацияПродукции.

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

Запустим 1С:Предприятие в режиме отладки и перепроведем все документы «РасходнаяНакладная». Все движения по документу «РасходнаяНакладная» нашли свое отражение в Списке «РеализацияПродукции» (см. рис. 5.7).


Рис.5.7. Список «РеализацияПродукции»

Аналогично создадим оборотный регистр «ПродажиУслуг» с измерениями «Номенклатура» и «Покупатель». У регистра будет два ресурса «Количество» и «Стоимость».

Реализуем отражение документа «Оказание услуги» в регистре «ПродажиУслуг». Документ «Оказание услуги» ? Закладка «Движения» ? Регистры накопления. Устанавим флаг ПродажиУслуг.

Запустим Конструктор движений и добавим в список регистр «ПродажиУслуг». Выберем для него табличную часть «ПереченьНоменклатуры» и заполним выражения. Для ресурса «Стоимость» выберем значения реквизита табличной части «Сумма».

Запустим 1С:Предприятие в режиме отладки и перепроведем все документы «Оказание услуги» (см. рис. 5.8).


Рис.5.8. Список «Продажи»


7. Создание отчетов


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

Отчет «Материалы»

Создадим новый объект конфигурации Отчет и назовем его «Материалы». Перейдем на закладку «Макеты» и воспользуемся Конструктором выходной формы. В списке «База данных» откроем группу РегистрыНакопления, выберем виртуальную таблицу «ОстаткиМатериалов.ОстаткиИОбороты» и перенесем ее в поле Таблицы.

Выберем поля таблицы в нужном нам порядке двойным щелчком мыши: «Склад», «Номенклатура», «КоличествоНачальныйОстаток», «КоличествоПриход», «КоличествоРасход» и «КоличествоКонечныйОстаток». При выборе ссылочных полей «Склад» и «Номенклатура» система предлагает включить в список выбранных полей и Представление ссылочного поля, т.к. именно оно и будет использовано для вывода в документ (рис. 6.1).


Рис.6.1. Формирование структуры отчета «Материалы»


Перейдем на закладку «Итоги». Перенесем в группировочное поле «Номенклатура» и «Склад». Для «Номенклатуры» установим тип итогов - Элементы и иерархия. В суммируемое поле перенесем необходимые поля и установим флаг - Общие Итоги (рис. 6.2).


Рис.6.2. Формирование группировочного и итогового полей отчета


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

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


Рис.6.3. Настройка отчета


Проверим работу отбора. Правая кнопка мыши ? Добавить ? Номенклатура. Тип сравнения - в иерархии. Значение - Тара. Сформировать. В полученном отчете представлены данные только о таре (рис. 6.4).


Рис.6.4. Отчет «Материалы»


Отчет «Анализ реализации продукции»

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

Создадим отчет с помощью Построителя отчета.

Перейдем на закладку «Реквизит» и добавим новый реквизит. Имя - Построитель. Тип данных - Построитель отчета.

Перейдем на закладку «Формы» и создим новую форму с помощью Конструктора формы отчета (кнопка с символом лупы).

Вставим в форму Поле табличного документа, в котором будет формироваться наш отчет: Главное меню Конфигуратора ? Форма ? Вставить элемент управления ? Поле табличного документа.

Перейдем на закладку «Модуль», напишем код Построитель.Текст = и вызовем Конструктор запроса (Главное меню Конфигуратора ? Текст ? Конструктор запроса).

Выберем виртуальную таблицу Регистра накопления «РеализацияПродукции.Обороты» и перенесем ее в поле Таблицы. В поле Поля перенесем Контрагент, КонтрагентПредставление, Номенклатура, Номенклатура.Представление и СтоимостьОборот (рис. 6.5).


Рис.6.5. Формирование структуры отчета


Перейдем на закладку «Итоги». Перенесем в группировочное поле «Контрагент» и «Номенклатура». В суммируемое поле перенесем «СтоимостьОборот». Общие итоги - установим флаг. Нажмем «ОК».

Конструктор запроса сформировал текст запроса. Ставим в конце точку с запятой. Чтобы Построитель отчета смог использовать результаты этого запроса его нужно настроить. Для этого напишем строку кода: Построитель.ЗаполнитьНастройки(). Добавим еще одну строку кода для создания макета оформления отчета.

Добавим код в процедуру «КнопкаСформироватьНажатие(Кнопка)» (рис. 6.6).


Рис.6.6. Модуль формы отчета «АнализРеализацииПродукции»

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

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

Для представления данных в графическом виде добавим в отчет диаграмму. Главное меню Конфигуратора ? Форма ? Вставить элемент управления ? Диаграмма. Изначально задан тип диаграммы - гистограмма объемная (Палитра свойств ? Тип диаграммы).

Для обеспечения возможности выбора другого типа диаграммы, расположим над ней поле выбора с именем «ПолеВыбора1» и подписью «Тип диаграммы:» (Форма ? Вставить элемент управления ? Поле выбора).

Откроем свойства Формы отчета и найдем событие «При открытии». Нажмем на кнопку с лупой и в открывшуюся заготовку обработчика события добавим установку значения поля выбора и типа диаграммы. Создадим обработчик события поля выбора «При изменении», и выполним в нем установку типа диаграммы (рис. 6.7):


Рис.6.7. Обработчик события «ПриОткрытии»


Запустим 1C:Предприятие в режиме отладки, откроем отчет «Анализ реализации продукции» и, нажав кнопку «Сформировать», получим наш отчет (рис. 6.8).


Рис.6.8. Отчет «Анализ реализации продукции»


Проверим работу отбора. Правая кнопка мыши ? Добавить ? Номенклатура. Значение - кирпич. Изменим группировку данных - уберем номенклатуру из области строк и добавим ее в область колонок. Изменим тип диаграммы на «Круговая объемная». Нажмем кнопку «Сформировать». В отчете и в диаграмме отобраны данные о реализации кирпича (рис. 6.9).


Рис.6.9. Формирование отчета с учетом условий отбора


При наведении курсора на сектор диаграммы появляется подсказка о контрагенте, номенклатуре и стоимости.

Отчет «Анализ продаж по периодам»

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

На закладке «Реквизит» добавим реквизит «Построитель» (тип данных - Построитель отчета). На закладке «Формы» с помощью Конструктора формы отчета создадим новую форму, в которую вставим Поле табличного документа. Установив курсор в Поле табличного документа, выполним следующие действия: Главное меню Конфигуратора ? Таблица ? Встроенные таблицы ? Вставить сводную таблицу.

Отчет будет формироваться сразу же при открытии. Поэтому удалим кнопку «Сформировать» и процедуру «КнопкаСформироватьНажатие» (закладка «Модуль»). В Палитре свойств нажмем на кнопку Просмотр поля При открытии. Автоматически создается процедура «ПриОткрытии».

Перейдем на закладку «Модуль». В процедуре «ПриОткрытии» вместо комментария напишем код Построитель.Текст = и вызовем Конструктор запроса.

Выберем таблицу «РеализацияПродукции.Обороты», установим на нее курсор и нажатием кнопки вызовем диалог ввода параметров виртуальной таблицы. Для поля Периодичность выберем значение «Месяц». В поле Поля перенесем Период, Контрагент и его Представление, Номенклатура и ее Представление, СтоимостьОборот.

Перейдем на закладку «Итоги». В группировочное поле поместим «Контрагент», «Номенклатура» и «Период». В суммируемое поле перенесем «СтоимостьОборот». Общие итоги - установим флаг. Нажмем «ОК». Конструктор запроса сформировал текст запроса. Ставим в конце точку с запятой.

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


Рис.6.10. Процедура «ПриОткрытии» отчета «АнализПродажПоПериодам»


Запустим 1C:Предприятие в режиме отладки и откроем отчет «Анализ продаж по периодам». В окне «Поля сводной таблицы» определяем, куда поместить поля (в строки, колонки, данные) или убрать. От этого выбора будет зависеть вид нашего отчета. Поместим поле «Номенклатура.Наименование» в колонки, поля «Период» и «Контрагент.Наименование» в строки, «СтоимостьОборот» в данные. В результате получаем отчет (рис. 6.11):


Рис.6.11. Отчет «АнализПродажПоПериодам»


Отчет «Реестр документов оказание услуги».

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

Создадим в конфигураторе новый объект конфигурации Отчет. Перейдем на закладку «Макеты» и запустим Конструктор выходной формы.

В качестве источника данных для запроса выберем объектную (ссылочную) таблицу документов «ОказаниеУслуги». Из этой таблицы выберем следующие поля: «Дата», «Номер», «Покупатель». При выборе ссылочного поля «Покупатель» система предлагает включить в список выбранных полей и представление ссылочного поля (рис. 6.12).


Рис.6.12. Выбор полей для отчета


На закладке «Порядок» укажем, что результат запроса должен быть сначала упорядочен по значению поля «Дата», а затем - по значению поля «ОказаниеУслуги.Ссылка» (рис. 6.13).


Рис.6.13. Упорядочивание результата запроса


Перейдем на закладку «Отчет» и сбросим флаг «Использовать построитель отчета». Нажмем «ОК». Конструктор сформирует форму отчета и макет. Откроем модуль формы и найдем в нем процедуру «РеестрДокументовОказаниеУслуги». В этой процедуре как раз формируется текст запроса, который будет использован для получения интересующих нас данных (рис. 6.14):


Рис. 6.14. Процедура «РеестрДокументовОказаниеУслуги»


Запустим 1C:Предприятие в режиме отладки и сформируем отчет (см. рис. 6.15):


Рис.6.15. Отчет «Реестр документов оказание услуги»


Отчет «Рейтинг услуг»

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

Создадим новый объект конфигурации Отчет «Рейтинг услуг». Перейдем на закладку «Макеты» и вызовем Конструктор выходной формы.

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

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


Рис.6.16. Параметры виртуальной таблицы «ПродажиУслугОбороты»


Выберем из таблиц поля «СпрНоменклатура.Ссылка», «СпрНоменклатура.Представление» и «ПродажиУслугОбороты.СтоимостьОборот» (рис. 6.17):


Рис.6.17. Формирование структуры отчета «РейтингУслуг»


Перейдем на закладку «Связи». Конструктором создана связь между двумя выбранными таблицами - значение изменения регистра «Номенклатура» равно ссылке на элемент справочника «Номенклатура». Сбросим флаг «Все» у таблицы регистра и установим его у таблицы справочника. Перейдем на закладку «Условия» и зададим условия выбора элементов из справочника «Номенклатура». Первое условие - выбранный элемент не является группой. Второе условие - выбранный элемент является услугой (рис. 6.18):


Рис.6.18. Задание условий выбора


Перейдем на закладку «Объединения/Псевдонимы» и укажем, что представление элемента справочника будет иметь псевдоним «Услуга», а поле регистра будет иметь псевдоним «Стоимость».

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

На закладке «Итоги» определим, что нужно выводить общие итоги (выставим флаг), и они должны представлять собой сумму значений поля «Стоимость». На закладке «Отчет» сбросим флаг «Использовать построитель отчета». Перейдем на закладку «Выходная форма». Укажем, что параметры «ДатаОкончания» и «ДатаНачала» будут редактироваться в форме в полях ввода с типом «Дата». Для параметра «ВидНоменклатуры» снимем признак редактирования в форме и укажем тип «Перечисления.ВидыНоменклатуры». Нажмем «ОК». Платформа сформирует макет и форму отчета. Откроем модуль формы и в процедуре «РейтингУслуг» определим значение параметра «ВидНоменклатуры» (рис. 6.19):


Рис.6.19. Задание параметра «ВидНоменклатуры»


Чтобы при выводе результатов отчета не учитывать время, в форме отчета для полей «ДатаНачала» и «ДатаОкончания» установим состав даты как «Дата» (рис. 6.20):


Рис.6.20. Состав даты для полей «ДатаНачала» и «ДатаОкончания»


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


Рис.6.21. Использование встроенной функции КонецДня()


Запустим 1С:Предприятие в режиме отладки и откроем отчет «Рейтинг услуг». Зададим период отчета с 01.11.2011 по 30.11.2011. Нажмем кнопку «Сформировать» (см. рис. 6.22).


Рис.6.22. Отчет «Рейтинг услуг»


Отчет «Перечень услуг»

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

Создадим новый объект конфигурации Отчет «ПереченьУслуг». Перейдем на закладку «Макеты» и вызовем конструктор выходной формы.

Выберем объектную (ссылочную) таблицу справочника «Номенклатура» и виртуальную таблицу Регистра сведений «Цены.СрезПоследних». Чтобы исключить неоднозначность имен в запросе, переименуем таблицу «Номенклатура» в «СпрНоменклатура». Вызовем диалог ввода параметров виртуальной таблицы «ЦеныСрезПоследних» и укажем, что период будет передан в параметре «&ДатаОтчета». Выберем из таблиц поля «СпрНоменклатура.Ссылка» и «ЦеныСрезПоследних.Цена» (рис. 6.23):


Рис.6.23. Формирование структуры отчета «Перечень услуг»


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

На закладке «Условия» зададим условие выбора элементов справочника «Номенклатура» - выбираемые элементы должны соответствовать виду номенклатуры переданному в параметре запроса «ВидНоменклатуры». На закладке «Объединения/Псевдонимы» укажем, что поле «Ссылка» будет иметь псевдоним «Услуга».

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

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

Запустим 1С:Предприятие в режиме отладки и выполним отчет «Перечень услуг» по состоянию на 01.10.11. И еще раз на другую дату - 01.11.11. Цены на услуги отображаются соответственно записям в Регистре сведений «Цены» (рис. 6.24).


Рис.6.24. Отчет «Перечень услуг»


7. Создание интерфейса


Создадим интерфейс для нашего приложения. Конфигурация ? Общие ? Интерфейсы ? Добавить. Откроется Конструктор меню (см. рис. 7.1).


Рис.7.1. Конструктор меню


Нажмем кнопку «Построить». В свойствах интерфейса зададим имя «Главный». Откроем Палитру свойств Конфигурации и в разделе «Представление» установим Основной интерфейс - «Главный» (рис. 7.2).


Рис.7.2. Задание основного интерфейса Конфигурации


Меню нашего приложения в режиме 1С:Предприятие будет иметь следующий вид (рис. 7.3):


Рис.7.3. Меню приложения

При добавлении нового отчета, документа, справочника его легко можно будет добавить в подменю приложения. Например, для добавления нового отчета выполним: Конфигурация ? Общие ? Интерфейсы ? Главный ? Отчеты ? <Новая> (рис. 7.4).


Рис.7.4. Добавление в подменю нового отчета


Так же можно добавить и новый пункт меню при создании нового объекта Конфигурации.


Заключение


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

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

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

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


Список литературы


1.Бойко Э.В.1С: Предприятие 8.0. Универсальный самоучитель / Э.В. Бойко. - М.: Омега-Л, 2010. - 324 с.

2.Габец А.П., Гончаров Д.И. 1С: Предприятие 8.0. Простые примеры разработки [Электронный ресурс] / А.П. Габец. - Электрон. дан. - М., [2005]. - Режим доступа:

// http://ilikebooks.ru/2377-gabec-ap-goncharov-di-1spredpriyatie-80-prostye.html. - [Загл. с экрана].

3.Глушаков С.В. Базы данных. Учебный курс [Электронный ресурс] / С.В.Глушаков, Д.В.Ломотько. - Электрон. дан. - М., [2006]. - Режим доступа: //http://www.kodges.ru/100448-bazy-dannyx.-uchebnyj-kurs.html. - [Загл. с экрана].

4.Дубянский В. М.1С: Предприятие. Конфигурирование и администрирование для начинающих [Электронный ресурс] / В. М. Дубянский. - Электрон. дан. - М., [2005]. - Режим доступа: //http://www.kodges.ru/11957-1c-predprijatie.-konfigurirovanie-i.html. - [Загл. с экрана].

5.Митичкин С. Разработка в системе 1С: Предприятие 8.0. / С.Митичкин. - М.:1С-Паблишинг, 2003. - 413 с.

6.Михайлов С. Е. Программирование как дважды два. Самоучитель / С. Е. Михайлов. - СПб.: Тритон, 2005. - 173 с.

7.Радченко М.Г. 1С: Предприятие 8.0. Практическое пособие разработчика [Электронный ресурс] / М.Г. Радченко. - Электрон. дан. - М., [2005]. - Режим доступа: //http://bestbookit.net/1-C-Predprijatie8/platform80-81/1--1-81-.html. - [Загл. с экрана].


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

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ