Лабораторная работа Конфигурирование и администрирование информационных систем Регистры сведений в системе 1С:Предприятие. лаб 5 рег свед. Отчет по лабораторной работе 5 по дисциплине Конфигурирование и администрирование информационных систем на платформе 1С
Скачать 3.21 Mb.
|
Министерство науки и высшего образования Российской Федерации ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» Институт менеджмента. Кафедра прикладной информатики в экономике и управлении ОТЧЕТ по лабораторной работе № 5 по дисциплине «Конфигурирование и администрирование информационных систем на платформе 1С» Работа с объектом конфигурации «Регистры сведений» в системе 1С: Предприятие. ОГУ 38.03.05 4015. 714 О Руководитель Старший преподаватель ___________ Вдович С.А. «___»______________2021 г. Студент группы 18БИ(ба)ИСЭ __________ Старых А.А «___»______________2021 г. Оренбург 2021 Задание 1. Создать регистр сведений, который будет в режиме пользователя выполнять функции констант. Задание 2. Создать два документа (имеющих реквизиты и хотя бы одну табличную часть) со сквозной нумерацией, которые будут содержаться в одном журнале документов. Создать регистр сведений (с измерениями, ресурсами и реквизитами), который будет содержать движения этих документов. Реализовать добавление в регистр двух записей, имеющих одинаковые измерения, ресурсы и период, при этом не используя посекундную периодичность. Задание 3. Создать независимый регистр сведений, позволяющий хранить историю изменения курсов валют. Задание 4. Создать документ «УстановкаЦенНаТовары» с реквизитом «ОтветственноеЛицо» и табличной частью «Товары» с реквизитами «Товар» и «Цена». Создать регистр сведений «ЦеныТоваров», который будет позволять хранить историю изменения значений цен на товары. Для формирования процедуры «ОбработкаПроведения» воспользоваться конструктором движений. Задание 5. Для регистра сведений «ЦеныТоваров» создать основную форму списка, имеющую две кнопки: «СрезПервых» и «СрезПоследних». Добавить ещё две формы списка (не основные). На основной форме списка при нажатии на соответствующие кнопки будет показываться СрезПервых, а на вторую - СрезПоследних. Итоги получить через запросы к виртуальным таблицам-источникам периодических регистров сведений. Задание 6. Создать регистр сведений «ДолжностиСотрудников», позволяющий хранить историю изменения должностей сотрудников из всех кадровых документов («ПриниятиеНаРаботу», «КадровоеПеремещение», «Увольнение»). Создать для регистра основную форму списка. Добавить на форму списка реквизит для выбора сотрудника из справочника. Написать процедуру, позволяющую при изменении сотрудника выводить в окне сообщений все его должности. Задание 7. В документе «ПродажаТоваров» на форме документа написать процедуру, позволяющую при выборе товара автоматически определять его текущую (последнюю с регистра сведений «ЦеныТоваров») и заносить её в соответствующую колонку табличной части «Товары». Задание 1. Создадим регистр сведений, который будет в режиме пользователя выполнять функции констант. Рисунок 1.1 – Регистр сведений «ЗначенияКонстант»: измерения и ресурсы Заполним и проверим в режиме предприятия Рисунок 1.2 – Регистр сведений «ЗначенияКонстант» режим «1С:Предприятие» Задание 2. Выбираем уже созданные ранее документы «ПоступлениеТоваров» и «ПродажаТоваров» и для них создаем журнал документов «Поступление_и_Продажа_Товаров», где во вкладке данные выбираем регистрируемые документы. Рисунок 2.1 – Журнал документов «Поступление_и_Продажа_Товаров» Создаем регистр сведений «РеализацияТоваров» с периодичностью в пределах дня и с режимом записи подчинение регистратору. Рисунок 2.2 – Регистр сведений «РеализацияТоваров» Во вкладке данные добавляем измерения и ресурсы. Измерениями будут Товар (тип СправочникСсылка.Товары) и Валюта (тип СправочникСсылка.Валюты), ресурсом является Цена (тип число с точностью 2, неотрицательное) Рисунок 2.3 – Регистр сведений «РеализацияТоваров» вкладка Данные Во вкладке Регистраторы выбираем документы «ПоступлениеТоваров» и «ПродажаТоваров» Рисунок 2.4 – Регистр сведений «РеализацияТоваров» вкладка Регистраторы Открываем документ «ПоступлениеТоваров» и во вкладке Движения ставим галочку рядом с регистром сведений «РеализацияТоваров». Далее открываем конструктор движений регистров и создаем новый, выбираем для него табличную часть Товары и заполняем, как показано на рисунке 2.5. Рисунок 2.5 – Документ «ПоступлениеТоваров», Конструктор движения регистров Текст получившейся процедуры представлен на рисунке 2.6. Рисунок 2.6 – Документ «ПоступлениеТоваров»: Модуль объекта Проделаем аналогичные действия для документа «ПродажаТоваров». Рисунок 2.7 – Документ «ПродажаТоваров», Конструктор движения регистров Рисунок 2.8 – Документ «ПродажаТоваров»: Модуль объекта Проверим работу регистра в режиме «1С:Предприятие» Рисунок 2.9 – Окно регистра сведений «РеализацияТоваров» в режиме «1С:Предприятие» Задание 3. В разделе «Регистры сведений» создаем регистр с режимом записи «Независимый» и выбираем для него нужную нам периодичность – в пределах дня. Рисунок 3.1 – Регистр сведений «КурсыВалют» Переходим во вкладку данные и для регистра задаем измерение – Валюта с типом СправочникСсылка.Валюты. Ресурсом будет Курс – тип число точность 2, неотрицательное. Рисунок 3.2 – Добавление измерения и ресурса в регистре Проверка работы регистра «КурсыВалют» в режиме «1С:Предприятие» показана на рисунке 3.3. Рисунок 3.3 – Регистр в режиме предприятия Задание 4 Создаем документ «УстановкаЦенНаТовары» с реквизитом «ОтветственноеЛицо» (тип СправочникСсылка.Сотрудники) и табличной частью «Товары», включающую реквизиты «Товар» (тип СправочникСсылка.Товары) и «Цена» (тип число с точностью 2, неотрицательное). Составляющие документа показаны на рисунке 4.1. Рисунок 4.1 – Документ «УстановкаЦенНаТовары» Проверим работу документа в режиме предприятия. Рисунок 4.2 – Документ «УстановкаЦенНаТовары» в «1С:Предприятие» Создаем регистр сведений «цены товаров» с режимом записи подчинение регистратору и периодичностью по позиции регистратора. Рисунок 4.3 – Регистр сведений ЦеныТоваров Для регистра добавляем измерения и ресурсы. Измерением будет Товары с типом СправочникСсылка.Товар, ресурсом будет являться Цена с типом число и точностью 2 (неотрицательное), Реквизитом будет Ответственное Лицо с типом СправочникСсылка.Сотрудники. Рисунок 4.4 – Регистр сведений ЦеныТоваров: измерения, ресурсы, реквизиты Переходим во вкладку «Регистраторы» и указываем в качестве регистратора документ «УстановкаЦенНаТовары». Рисунок 4.5 – Регистр сведений ЦеныТоваров: Регистраторы В документе «УстановкаЦенНаТовары» во вкладке «Движения» указываем регистр сведений «ЦеныТоваров». Рисунок 4.6 – Документ «УстановкаЦенНаТовары» вкладка «Движения» Для формирования процедуры «ОбработкаПроведения» воспользуемся конструктором движений: заходим в документ «УстановкаЦенНаТовары» и выбираем вкладку движения, затем выбираем конструктор движений. В окне конструктора движений указывается соответствие реквизитов документа и измерений, ресурсов и реквизитов регистра сведений. При этом если требуется указать реквизит не шапки, а табличной части, то разработчик имеет возможность ее выбора. При установлении соответствия следует обращать внимание на совпадение типов данных полей и выражений. Рисунок 4.7 – Окно конструктора движений Рисунок 4.8 – Модуль объекта «ОбработкаПроведения()» Проверим в режиме 1С: «Предприятие» Рисунок 4.9 – Проверка в режиме предприятия Задание 5. Для регистра сведений «ЦеныТоваров» создадим основную форму списка и произвольную форму «Форма» Рисунок 5.1 – Регистр сведений «ЦеныТоваров» Формы Добавляем на форму списка кнопку с командой, открывающую произвольную форму «ОткрытьЗадание5». Код процедуры представлен на рисунке 5.2. Рисунок 5.2 – Регистр сведений «ЦеныТоваров» ФормаСписка Далее на произвольную форму добавляем команды «СрезПервых» и «СрезПоследних». Рисунок 5.3 – Регистр сведений «ЦеныТоваров» произвольная Форма Добавляем на форму реквизит Дата и Таблица1 с частями Товар и Цена, перемещаем их на форму вместе с командами «СрезПервых» и «СрезПоследних». Рисунок 5.4 – Регистр сведений «ЦеныТоваров» произвольная Форма Для команд «СрезПервых» и «СрезПоследних» создадим процедуры на сервере и на клиенте и напишем код, представленный на рисунке 5.5. Рисунок 5.5 – Код для «СрезПервых» и «СрезПоследних» Запустим в режиме 1С: «Предприятие» Рисунок 5.6 – Регистр сведений «ЦеныТоваров» 1С: «Предприятие» Задание 6. Создадим регистр сведений «ДолжностиСотрудников» с режимом записи Подчинение регистратору и периодичностью в пределах дня. Рисунок 6.1 – Регистр сведений «ДолжностиСотрудников» Измерением регистра будет Сотрудники (тип СправочникСсылка.Сотрудники), а в качестве ресурса будут Должности (тип СправочникСсылка.Должности). Рисунок 6.2 – Регистр сведений «ДолжностиСотрудников»: измерения и ресурсы Регистр позволяет хранить историю изменения должностей сотрудников из всех кадровых документов («ПриниятиеНаРаботу», «КадровоеПеремещение», «Увольнение»). Поэтому переходим на вкладку Регистраторы и выбираем нужные нам документы, это действие показано на рисунке 6.3. Рисунок 6.3 – Регистр сведений «ДолжностиСотрудников» регистраторы Создадим для регистра основную форму списка. Добавим на форму списка реквизит для выбора сотрудника из справочника. Также напишем процедуру, позволяющую при изменении сотрудника выводить в окне сообщений все его должности. На созданную произвольную форму добавим реквизит «ВыбранныйСотрудник» с типом «СправочникСсылка.Сотрудники» и перенесем на командную панель формы. Рисунок 6.4 – Создание реквизита «ВыбранныйСотрудник» на произвольной форме Для созданного на рисунке 6.4 реквизита «ВыбранныйСотрудник» на событие «ПриИзменении» напишем процедуру, при этом нам понадобится 2 события: на сервере и на клиенте. В текст процедуры из Шаблонов теста перетаскиваем Запрос или Запрос с параметром (Рисунок 6.5). Воспользуемся конструктором запросов и создадим запрос, позволяющий показать все назначения данного сотрудника на какие-либо должности. Рисунок 6.5 – Текст процедуры для регистра сведений «ДолжностиСотрудников» При перетаскивании мышью открывается Конструктор запроса, он показан на Рисунке 6.6. На первой вкладке указываем в таблице Документ «ПринятиеСотрудника» и поля: ссылка, сотрудник, отдел и должность. Рисунок 6.6 – Конструктор запроса Задаем условие запроса, перейдя во вкладку «Условия» в конструкторе запроса, подробнее показано на Рисунке 6.7 Рисунок 6.7 – Условие для документа «ПринятиеСотрудника» Далее добавляем новый запрос, посредством перехода на вкладку «Объединения/Псевдонимы». В таблице выбираем документ «КадровоеПеремещение» и поля: ссылка, сотрудник, отдел и должность, подробнее показано на рисунке 6.8. Рисунок 6.8– Создание второго запроса В конструкторе запроса переходим во вкладку «Условия» и задаем его, условие показано на рисунке 6.9. Рисунок 6.9 – Условие для документа «КадровоеПеремещение» Для того чтобы создать третий запрос, снова переходим на вкладку «Объединения/Псевдонимы» и добавляем новый запрос. В таблице выбираем документ «УвольнениеСотрудника» и поля: ссылка, сотрудник, отдел и должность (Рисунок 6.10). Рисунок 6.10– Создание запроса 3, документ «УвольнениеСотрудника» На рисунке 6.11 показано создание условия запроса для документа «УвольнениеСотрудника» Рисунок 6.11 – Условие для запроса 3 После создания запросов и условий нажимаем «ОК», выводится текст запроса с обработкой результата. В выделенной строке указываем параметр «Сотрудник» и задаем значение параметра «ВыбранныйСотрудник». Рисунок 6.12 – Результат выполнения запросов Затем необходимо все должности из запроса вывести в окне сообщений. Для этого в теле цикла указываем оператор для вывода сообщений. Полученный код представлен на рисунке 6.13. Рисунок 6.13– Код для вывода в окне сообщений всех должностей из запроса. Запускаем режим «1С:Предприятие» и проверяем получившиеся запросы. Рисунок 6.14 – Тестирование запросов в режиме «1С:Предприятие» Задание 7. Создаем Общий модуль во вкладке «Общие» и прописываем функцию, показанную на рисунке: Рисунок 7.1 – ОбщийМодуль1 Затем в документе «ПродажаТоваров» на форме документа напишем процедуру, позволяющую при выборе товара автоматически определять его текущую (последнюю с регистра сведений «ЦеныТоваров») и заносить её в соответствующую колонку табличной части «Товары». На форме документа для «Товар» создаем событие «ПриИзменении», рисунок 7.2. Процедура для объекта показана на рисунке 7.3. Рисунок 7.2 – Документ «ПродажаТоваров»: ФормаДокумента Рисунок 7.3 – Документ «ПродажаТоваров»: ФормаДокумента событие ПриИзменении |