Главная | Обратная связь
МегаЛекции

II . СОЗДАНИЕ СПРАВОЧНИКОВ





Любой справочник в системе «1С:Предприятие» имеет встроенные реквизиты «Код» и «Наименование». Встроенный реквизит «Код» будет присваиваться автоматически системой.

Создание справочника «Оборудование»

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

1. Правой кнопкой мыши щелкнем по Справочники в конфигураторе (рис. 10) и выберем Добавить.

 

Рис. 10. Добавление нового Справочника

 

2. На экране появится форма Конструктор справочника и Свойства. Заполните их следующими данными (рис. 11):

Рис. 11. Конструктор Справочника и окно Свойства

 

Заполните Имя – Оборудование.

3. На вкладке Данные зададим Длину наименования100 символов (рис. 12).

Рис. 12. Конструктор Справочника и вкладка Данные

 

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

Закройте форму (рис. 12).

Создание справочника «Клиенты»

Создадим новый справочник (рис. 13): имя – Клиенты.

Рис. 13. Справочник Клиенты

 

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

Закройте форму (рис. 13).

 

Создание справочника «Склады»

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

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

 

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

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

Если обычные элементы пользователь может добавлять и удалять по своему желанию, то предопределенные элементы пользователь удалить не может. Эти элементы существуют всегда. Благодаря этому на них могут быть завязаны какие-либо программные алгоритмы. (Эти возможности рассмотрим позже).



 

2. Переходим на закладку Прочее (рис. 15) и нажмем кнопку Предопределенные.

Рис. 15. Справочник Склады закладка Прочее

 

3. Добавим новый предопределенный элемент ОсновнойСклад (рис. 16, 16а).

Рис. 16. Предопределенные элементы справочника

Рис. 16а. Предопределенные элементы справочника

 

III . СОЗДАНИЕ ДОКУМЕНТОВ

Нужно как-то фиксировать выполняемые менеджером действия:

1. принять насос в ремонт,

2. выдать клиенту отремонтированный насос.

 

Создадим два документа:

1. Акт приема в ремонт.

2. Акт выдачи из ремонта.

 

1. На закладке Документы в Дереве конфигуратора добавим документ АктПриемаВРемонт (рис. 17).

Рис. 17. Документ Акт приема в ремонт

 

2. Что необходимо знать, когда оборудование принимается в ремонт:

1. кто клиент,

2. какое оборудование,

3. на какой склад,

4. в чем неисправность.

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

Рис. 18. Документ Акт приема в ремонт закладка Данные

 

Рис. 18а. Документ Акт приема в ремонт закладка Данные Свойства реквизита Клиент

 

3. Аналогично создайте еще три новых Реквизита документа:

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

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

- Имя – ОписаниеНеисправности, Тип данных – Строка, Длина – 250. Чтобы удобнее было записывать, укажем Многострочный режим, Расширенное редактирование. (Это значит, что в форме этот реквизит будет отображаться как поле из нескольких строк. При нажатии кнопки Ввод будет происходить переход к следующей строке этого поля) (рис. 19а). Этот реквизит необходим, чтобы со слов клиента зафиксировать неисправность.

 

Рис. 19а. Документ Акт приема в ремонт закладка Данные Свойства реквизита ОписаниеНеисправности

 

На рис. 19б представлены созданные реквизиты Документа АктПриемаВРемонт.

Рис. 19б. Документ Акт приема в ремонт закладка Данные

 

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

Присвоим новому скопированному документу имя – АктВыдачиИзРемонта.

Реквизиты Клиент, Оборудование, Склад – остаются без изменений, реквизит Описание неисправностей – переименуем в ВыполненныеРаботы.

 

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

 

IV . РЕГИСТРЫ И ОТЧЕТЫ

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

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

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

Например, реализуем в отчете два фактора:

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

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

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

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

 

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

 

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

 

Переходим назад в Конфигуратор.

 

1. Добавляем Регистр накопленийУчет оборудования.

Правой кнопкой мыши щелкнем по Регистры накопления в конфигураторе и выберем Добавить.

В появившейся форме введем имя регистра УчетОборудования (рис. 20):

Рис. 20. Регистр накопления Учет оборудования

 

2. Далее опишем структуру учета, откроем закладку Данные. Регистр предполагает описание многомерной системы учета, имеющей один или несколько ресурсов в точке пересечения измерений.

Измерения регистра – это разрезы регистра, в которых учитываются хранимые данные.

Создадим три измерения:

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

- Имя – Клиент, Тип данные – Справочник.Ссылка.Клиенты.

- Имя – Склад, Тип данные – Справочник.Ссылка.Склады.

 

Ресурсы регистра – это сами учитываемые показатели. В данном случае учитываемыми показателями является количество.

Так как каждый насос является уникальным – у каждого насоса есть серийный номер, то количество может быть либо 1, либо 0 (насос отремонтировали и отдали).

Создадим ресурс Количество, тип данных – Число.

3. Далее дважды щелкнем на регистр Учет оборудования, на закладке Регистраторы укажем, что данные в это регистр будут записывать два документа Акт приема в ремонт и Акт выдачи из ремонта (рис. 21).

Рис. 21. Регистр накопления Учет оборудования закладка Регистры

 

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

 

Дважды щелкнем на документ Акт приема в ремонт. Перейдем на закладку Движения. Воспользуемся Конструктором движения (рис. 22).

Рис. 21. Документ Акт приема в ремонт закладка Движения

 

Конструктор движения регистров (рис. 22) содержит:

- слева указано, что движение будем формировать для регистра Учет оборудования;

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

- справа перечислены доступные реквизиты документа, т.е. то ,что может быть записаны в этот регистр;

- слева в низу перечислены реквизиты регистров, которые должны что-то записать.

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

 

Для того, чтобы записать в эти регистры воспользуемся кнопкой Заполнить выражение. Конструктор предложил записать в измерения Оборудование, Клиент, Склад. А что записать в ресурс Количество, он не знает (рис. 22).

Рис. 22. Конструктор движения регистров (заполненный)

 

В ресурс количество запишем – 1, т.е. по акту проведения работ – это означает, что в ремонте появилось новое оборудование. Нажмем ОК.

Откроется модуль документа (рис. 23), в котором конструктор сформировал процедуру проведения этого документа.

Рис. 23. Модуль документа Акт приема в ремонт

 

Поясним текст процедуры обработчика.

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

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

 

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

К конкретному набору записей этой коллекции можно обратиться, указав через точку имя регистра, которому принадлежит этот набор записей (ДвижениеУчетОборудования).

Затем через точку можно использовать различные методы набора записей регистра (Движения.УчетОборудования.Добавить()). Метод Добавить() добавляет новую запись в набор записей.

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

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

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

Причем Движение.Оборудование, Движение.Клиент, Движение.Склад – это измерения регистра, Движение.Количество – это ресурс регистра, а Движение.ВидДвижения и Движение.Период – стандартные реквизиты регистра, которые создаются автоматически.

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

ВидДвиженияНакопления.Приход – это значение системного перечисления, которое определяет вид движения регистра накопления как Приход.

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

 

5. Аналогичным образом поступим со вторым документом. Разница будет в том, что Акт выдачи из ремонта должен уменьшать количество насосов в регистре, т.к. происходит выдача насоса клиенту.

 

Выполним: Документ Акт выдачи из ремонта вкладка Движение, далее Конструктор движения. Указываем Тип движения – Расход. Нажимаем – Заполнить выражение. Количество – 1. Нажимаем ОК.

В результате откроется модуль документа (рис. 24), в котором конструктор сформировал процедуру проведения этого документа.

Рис. 24. Модуль документа Акт выдачи из ремонта

 

В результате в регистре должно стать на один насос меньше.

 

6. Далее добавим отчет, который покажет «что обстоит с ремонтом насосов на предприятии в общем».

Для того, чтобы добавить отчет, в Дереве конфигурации выберите Отчет Добавить (рис. 25).

Рис. 25. Дерево конфигурации Добавить отчет

 

Назовем отчет Ремонт оборудования (рис. 26). Основу любого отчета составляет Схема компоновки данных.

Рис. 26. Форма создания отчета

 

7. Открываем Схему компоновки данных . В Конструкторе макета нажмите на кнопку Готово.

 

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

 

Рис. 27. Основная схема компоновки данных

 

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

Рис. 28. Конструктор запроса

 

Раскроем Регистры накопления. Перенесем ОстаткиИОборы в Таблицы. Из этой Таблице возьмем все Поля, кроме поля Оборот (рис. 28а).

Рис. 28а. Конструктор запроса

 

На этом формирование данного запроса закончено. Нажмем ОК и закроем Конструктор.

 

9. Сформировался текст запроса и заполнились поля Схемы компоновки данных (рис. 29).

Рис. 29. Схема компоновки данных Отчета

 

Изменим заголовки нескольких полей, чтобы отчет был читабельным.

Поле КоличествоКонечныйОстаток – заменим на Остаток на конец периода (рис. 30, 30а).

Рис. 30. Фрагмент схемы компоновки данных Отчета

Рис. 30а. Фрагмент схемы компоновки данных Отчета

 

Изменим также заголовки еще нескольких полей:

- Поле КоличествоРаход – заменим на Выдано клиенту.

- Поле КоличествоНачальныйОстаток – заменим на Остаток на начало периода.

- Поле КоличествоПриход – заменим на Принято в ремонт.

 

10. Далее на Схеме компоновки данных Отчета переходим на закладку Ресурсы. Все поля, итоговые значения которых можно вычислить в результате выполнения отчета, добавим в ресурсы Схемы компоновки данных (Рис. 31).

Рис. 31. Фрагмент схемы компоновки данных Отчета. Вкладка Ресурсы

 

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

 

11. Переходим на закладку Настройки и создадим структуру отчета (т.е. его внешний вид).

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

Поэтому сначала добавим группировку Клиент (рис. 32а, б, в).

 

Рис. 32а. Фрагмент схемы компоновки данных Отчета. Вкладка Настройки. Создание новой группировки

 

Новая группировка – поле Клиент – ОК (рис. 32б).

Рис. 32б. Создание новой группировки Клиент

 

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

Рис. 32в. Фрагмент схемы компоновки данных Отчета. Вкладка Настройки.

 

Укажем, что в качестве

- начала периода необходимо использовать дату начала этого месяца (рис. 33а),

- конца периодадату начала следующего месяца.

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

Рис. 33а. Фрагмент схемы компоновки данных Отчета. Вкладка Параметры. Начало периода

Рис. 33б. Фрагмент схемы компоновки данных Отчета. Вкладка Параметры. Конец периода

 

Рис. 33в. Пользовательские настройки элемента отчета

12. Перейдем на вкладку Выбранные поля и выберем поля, которые будут отражаться в отчете в следующей последовательности:

- Клиент,

- Оборудование,

- Склад,

- Остаток на начало периода,

- Принято в ремонт,

- Выдано клиенту,

- Остаток на конец периода.

Для этого необходимо два раза щелкнуть мышью на необходимое поле в разделе доступные поля. В результате схема компоновки данных Отчета. Вкладка Выбранные поля должна выглядеть следующим образом (рис 34):

 

Рис. 34. Фрагмент схемы компоновки данных Отчета. Вкладка Выбранные поля

 

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

 

ВВОД ДАННЫХ В БД

1. Клиент принес в ремонт насос на основной склад.

Выполним:

1. В список Клиентов добавим нового клиентаНасосный завод (рис. 35а).

Рис. 35а. Форма создание нового клиента

2. В список оборудования добавим новый насосНасос ЦМНШ-80.5, с/н 987254 (рис. 35б).

Рис. 35б. Форма создание нового оборудования

 

3. В список Актов приема в ремонт добавим новый документ: Клиент – Насосный завод. Оборудование – Насос ЦМНШ-80.5, с/н 987254. Склад – Основной склад (он уже есть в конфигурации, потому что при разработке был обозначен как предопределенный). Неисправность – Не работает совсем. Дата – 5.11.2011 г. Провести. Закрыть (рис. 35в).

Рис. 35в. Форма создание нового документа Акт приема в ремонт

 

4. Далее откроем список Актов выдачи из ремонта. Отметим, что 11.11.2011 г. насос был отремонтирован и отдан клиенту. Выполненные работы – Замена упругой втулки муфты. Провести. Закрыть (рис. 36).

Рис. 36. Форма создание нового документа Акт выдачи из ремонта

 

Отметим недостатки в разработанной конфигурации:

- Когда создается Акт выдачи из ремонта, то снова придется выбирать Клиента, Оборудование. Эти реквизиты такие же, как в Акте приема в ремонт.

- Когда выбираем склад, то он выбирается в отдельном окне. Все это не совсем удобно, т.к. большого количества складов наверняка не будут.

 

Вернемся в конфигуратор и сделаем несколько доработок.

 

V . ВВОД НА ОСНОВАНИИ

Укажем, что на основании насоса будет выводиться Акт приема в ремонт.

1. В справочнике Оборудование откроем вкладку Ввод на основании. Нажмем на кнопку Является основанием для .

Выбираем – Документ АктПриемаВРемонт (рис. 37а).

Рис. 37а. Ввод на основании. Выбор объекта

 

2. На основании АктПриемаВРемонт будет вводится АктВыдачиИзРемонта.

Выполните данные действия для документа (открыть документ АктПриемаВРемонт – Вкладка Ввод на основании – Является основанием для АктВыдачиИзРемонта) (рис. 37б).

Рис. 37б. Ввод на основании. Выбор объекта для Акта приема в ремонт

 

3. Далее создадим процедуры, описывающие какие именно реквизиты должны заполняться при Вводе на основании.

Для документа АктПриемаВРемонт откроем его Модуль (нажатием правой кнопкой мыши открываем контекстное меню документа АктПриемаВРемонт – выбираем Открыть модуль объекта) (рис. 38).

Рис. 38. Контекстное меню Документа

 

Создадим обработчик событий Обработка заполнения (рис. 39). В модуле появилась новая запись (рис. 40а).

 

Рис. 39. Обработчик событий Обработка заполнения

Рис. 40а. Модуль документа Акт приема в ремонт

 

По условию задачи Акт приема в ремонт вводится на основании насоса, поэтому в параметры ДанныеЗаполнения будет передана ссылка на этот самый насос.

Реквизиту документа АктПриемаВРемонт Оборудование присвоим значение ДанныеЗаполнения. Для это вводим в процедуру

Оборудование = ДанныеЗаполнения;

(рис. 40б).

Рис. 40б. Модуль документа Акт приема в ремонт

 

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

 

4. Далее для Акта выдачи из ремонта также опишем алгоритм заполнения при вводе на основании.

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

Данный документ вводится на основании Акта приема в ремонт. Потому в данных заполнения будет ссылка на АктПриемаВРемонт. Значит

- в реквизит Клиент необходимо подставить ДанныеЗаполнения.Клиент,

- в реквизит Оборудование – ДанныеЗаполнения.Оборудования

- в реквизит Склад – ДанныеЗаполнения.Склад (рис. 40в).

 

Рис. 40в. Модуль документа Акт выдачи из ремонта

 

5. Также для справочника Склады укажем, что справочник будет использовать свойство Быстрый выбор. Это значит, что теперь Склад будет выбираться не из отдельной формы, открывающейся в отдельном окне, а из маленького списка, который выпадает прямо из поля ввода (открыть Свойства справочника Склады – отметить свойство Быстрый выбор) (рис. 41).

Рис. 41. Фрагмент Свойства справочника. Быстрый выбор

 

Обновим конфигурацию БД и запустим ее в режиме 1С: Предприятие.

 

ВВОД ДАННЫХ В БД

1. Насосный завод принес еще один насос в ремонт. Запишем его в справочник – КМ 0-32-180/2-5, с/н7744.

 

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

Создадим на основании Акт приема в ремонт.

Оборудование, необходимое, уже подставилось (рис. 42). Клиент – Насосный завод. Склад – Основной склад (появился маленький список). Дата- 12.11.2011 г. Провести. Закрыть.

 

Рис. 42. Ввод Акта приема в ремонт

 

Отметим недостатки в разработанной конфигурации:

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

- Список ссылок, представленный слева, выглядит не очень красиво (рис. 43).

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

Рис. 43. Список ссылок меню системы

 

Обновим конфигурацию БД и запустим ее в режиме 1С: Предприятие.

 





Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:
©2015- 2019 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.