Главная страница

Лабораторная работа 1 Знакомство, создание информационной базы


Скачать 3.89 Mb.
НазваниеЛабораторная работа 1 Знакомство, создание информационной базы
Дата19.07.2022
Размер3.89 Mb.
Формат файлаpdf
Имя файлаa757879d6b0c882753b0c99f1dd46c3d.pdf
ТипЛабораторная работа
#633520
страница6 из 9
1   2   3   4   5   6   7   8   9
ПриходнаяНакладная.
-
На закладке Движения: В списке регистров отметим СтоимостьМатериалов.
-
На закладке Прочее: нажмем кнопку Модуль объекта, откроем процедуру обработчика события ОбработкаПроведения. И изменим код следующим образом: (см.листинг):
Листинг 11.1
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиМатериалов.Записывать = Истина;
Движения.СтоимостьМатериалов.Записывать = Истина;
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

//регистр ОстаткиМатериалов Приход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаМатериалы.Материал;
Движение.Склад=Склад;
Движение.Количество = ТекСтрокаМатериалы.Количество:
//регистр СтоимостьМатериалов Приход
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаМатериалы.Материал;
Движение.Стоимость=ТекСтрокаМатериалы.Сумма;
КонецЦикла;
КонецПроцедуры
Команда перехода к записям регистра
В заключение отредактируем командный интерфейс формы документа, чтобы в панели навигации формы иметь возможность переходить к списку записей регистра
СтоимостьМатериалов, связанному с документом.
-
Откроем форму документа ПриходнаяНакладная: перейдем на закладку Командный
интерфейс. В разделе Панель навигации раскроем группу Перейти и увидим команду для открытия регистра накопления Стоимость материалов. Установим свойство
Видимость для этой команды:
Рис. 11.2. Редактируем командный интерфейс формы документа


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

Добавить в табличную часть документа еще один реквизит, в котором будет указываться стоимость номенклатуры.

После этого изменить процедуру проведения документа ОказаниеУслуги.

В режиме 1С: Предприятие перепровести все эти документы.

В режиме Конфигуратор
Откроем в конфигураторе окно редактирования объекта конфигурации Документ
ОказаниеУслуги
-
На закладке Данные: создадим новый реквизит табличной части документа с именем
Стоимость, типом Число, длиной 15 и точностью 2, и отметим флажок
неотрицательное:

Рис. 11.3. Редактируем свойства Стоимость
Откроем форму ФормаДокумента документа ОказаниеУслуг и добавим табличную часть ПереченьНоменклатуры поле, отображающее новый реквизит Стоимоть:
-
На закладке Реквизиты: раскроем реквизит формы Объект.
Найдем в табличной части реквизит Стоимость и с помощью мыши перетащим его в окно элементов формы, расположенное слева в верхней части редактора форм:
Рис. 11.4. Редактируем реквизит формы Объект

Новый элемент расположим в структуре элементов формы после поля Номенклатура.
Оставим свойства элемента формы, предложенные по умолчанию.
Новый реквизит сразу же отобразится в форме документа, расположенной в левом нижнем окне редактора форм.
Изменение процедуры проведения
Создадим движения документа ОказаниеУслуги таким же образом, как мы делали это для документа Приходная Накладная.
-
На закладке Движения: в списке регистров отметим, что документ будет создавать теперь движения и по регистру СтоимостьМатериалов.
-
На закладке Прочее: нажмем кнопку Модуль объекта. Откроем процедуру обработчика события ОбработкаПроведения. Отредактируем код следующим образом:
Листинг 11.2
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиМатериалов.Записывать = Истина;
Движения.СтоимостьМатериалов.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл
Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры
= Перечисления.ВидыНоменклатуры.Материал Тогда
//регистр ОстаткиМатериалов Расход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Склад=Склад;
Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;
//регистр СтоимостьМатериалов Расход
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Стоимость=ТекСтрокаПереченьНоменклатуры.Количество
*ТекСтрокаПереченьНоменклатуры.Стоимость;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
В заключение отредактируем командный интерфейс формы документа, чтобы в панели навигации формы иметь возможность переходить к списку записей регистра Стоимость
Материалов, связанному с документом.
-
Откроем форму документа ОказаниеУслуги: перейдем на закладку Командный

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

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

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

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

Как создать движения документа без использования конструктора движений.

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

Как добавить в форму документа новый реквизит.

Лабораторная работа № 12
Оборотные регистры накопления.
Ориентировочная продолжительность занятия - 40 минут.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Что такое оборотный регистр накопления
Регистры накопления могут быть регистрами остатков и регистрами оборотов.
Существующие в нашей конфигурации регистры ОстаткиМатериалов и
СтоимостьМатериалов являются регистрами остатков.
Если вы помните, при создании отчета Материалы в конструкторе запроса мы видели, что для таких регистров система создает три виртуальные таблицы: таблица остатков, оборотов и совокупная таблица остатков и оборотов.
Оборотный регистр накапливает только обороты, остатки ему безразличны. Поэтому единственной виртуальной таблицей, которую будет создавать система для такого регистра, будет таблица оборотов. В остальном оборотный регистр ничем не отличается от регистра остатков.
Следует сказать об одной особенности конструирования регистров накопления, напрямую связанной с возможностью получения остатков. При создании оборотного регистра накопления нет особой сложности в определении того, какие именно данные должны являться измерениями регистра - мы можем назначить в качестве его измерений любые нужные нам данные.
Совсем иная ситуация в случае регистра накопления, поддерживающего накопление остатков. Для него выбор измерений должен выполняться исходя из того, что движения регистра могут быть осуществлены в две стороны: приход и расход. Таким образом, в качестве измерений нужно выбирать те данные, по которым движения точно будут осуществляться как в одну, так и в другую сторону.
Скорее всего, при поступлении материалов поставщик будет указан, а вот при расходовании материалов, с большой долей вероятности, поставщик указываться не будет. В большинстве случаев это совершенно лишняя информация.
Значит, поставщика следует добавить не как измерение, а как реквизит регистра накопления.
Если же при расходе материалов поставщик будет указываться наверняка, имеет смысл добавить поставщика в измерения регистра.
Иными словами, по каждому из измерений регистра накопления остатков ресурсы обязательно должны изменяться в обе стороны: приход и расход. Не должно существовать таких измерений, по которым осуществляется только приход или только расход.
Нарушение этого принципа построения регистров накопления будет вести к непроизводительному использованию ресурсов системы и как следствие к замедлению работы и падению производительности.
Для реквизитов же регистра этот принцип не важен. По реквизитам регистра ресурсы могут только приходоваться или только расходоваться.
ПРАКТИЧЕСКАЯ ЧАСТЬ
Добавление оборотного регистра накопления

В режиме Конфигуратор

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

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

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

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

Количество, тип Число, длина 15, точность 3;

Выручка, тип Число, длина 15, точность 2;

Стоимость, тип Число, длина 15, точность 2.
Рис. 12.1. Создание регистров
-
В дереве объектов конфигурации выделим ветвь Подсистемы, вызовем Все
подсистемы: В открывшемся окне выделим подсистему Бухгалтерия; в группе Панель
навигации.Обычное включим видимость у команды Продажи и мышью перетащим ее в группу Панель навигации.См.также.
Аналогично, выделив подсистемы ОказаниеУслуг и УчетМатериалов, в панели навигации включим видимость у команды Продажи и перенесем ее в группу См.также.
Проведение документа «Оказание услуги» по трем регистрам
Изменим процедуру проведения документа ОказаниеУслуги, а затем в режиме
1С:Предприятие перепроведем все эти документы.

В режиме Конфигуратор

Откроем окно редактирования объекта конфигурации Документ ОказаниеУслуги .
-
На закладке Движения: укажем, что этот документ будет создавать движения еще и по регистру Продажи.
-
На закладке Прочее: нажмем кнопку Модуль объекта, затем откроем процедуру обработчика события ОбработкаПроведения и изменим код следующим образом (см.
Листинг 12.1):
Листинг 12.1
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиМатериалов.Записывать = Истина;
Движения.СтоимостьМатериалов.Записывать = Истина;
Движения.Продажи.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл
Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры =
Перечисления.ВидыНоменклатуры.Материал Тогда
//регистр ОстаткиМатериалов Расход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Склад=Склад;
Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;
//регистр СтоимостьМатериалов Расход
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Стоимость=ТекСтрокаПереченьНоменклатуры.Количество
*ТекСтрокаПереченьНоменклатуры.Стоимость;
КонецЕсли;
//РегистрПродажи
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Клиент = Клиент;
Движение.Мастер – Мастер;
Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;
Движение.Выручка = ТекСтрокаПереченьНоменклатуры.Сумма;
Движение.Стоимость = ТекСтрокаПереченьНоменклатуры.Стоимость
*ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
КонецПроцедуры

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

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

Что такое оборотный регистр накопления.

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

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

Как создать оборотный регистр накопления.

Лабораторная работа № 13
Отчеты. Выбор данных из одной таблицы
Ориентировочная продолжительность занятия - 45 минут.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Способы доступа к данным
Система 1С:Предприятие 8 поддерживает два способа доступа к данным, хранящимся в базе данных:
• объектный (для чтения и записи),
• табличный (для чтения).
Объектный способ доступа к данным реализован посредством использования объектов встроенного языка.
Важной особенностью объектного способа доступа к данным является то, что, обращаясь к какому-либо объекту встроенного языка, мы обращаемся к некоторой совокупности данных, находящихся в базе данных, как к единому целому.
Объектная техника обеспечивает сохранение целостности объектов, кеширование объектов, вызов соответствующих обработчиков событий и т. д.
Табличный доступ к данным в 1С: Предприятии 8 реализован с помощью запросов к базе данных, которые составляются на языке запросов.
В этой технике разработчик получает возможность оперировать отдельными полями таблиц базы данных, в которых хранятся те или иные данные.
Табличная техника предназначена для получения информации из базы данных по некоторым условиям (отбор, группировка, сортировка, объединение нескольких выборок, расчет итогов и т.д.). Табличная техника оптимизирована для обработки больших объемов информации, расположенной в базе данных, и получения данных, отвечающих заданным критериям.
ПРАКТИЧЕСКАЯ ЧАСТЬ
Выбор данных из одной таблицы
Создадим отчет Реестр документов оказание услуги, используя систему компоновки данных. Этот отчет будет выводить список существующих в базе данных документов
ОказаниеУслуги в порядке их дат и номеров.

В режиме Конфигуратор
Добавим в конфигураторе объект конфигурации Отчет.
На закладке Основные: имя отчета – РеестрДокументовОказаниеУслуги; расширенное представление - Список оказанных услуг для представления отчета в интерфейсе программы. Создадим схему компоновки данных для отчета, нажмем кнопку Открыть схему компоновки данных. В открывшемся диалоговом окне конструктора макета нажмем
Готово. В конструкторе схемы компоновки данных создадим Набор данных – запрос.

Рис. 13.1. Проведение приходной накладной по двум регистрам
После чего нажмем кнопку Конструктор запроса, в качестве источника данных для запроса выберем объектную таблицу документа ОказаниеУслуги. Из этой таблицы выберем следующие поля:

Склад,

Мастер,

Клиент,

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

Группировка - для вывода информации в виде обычного линейного отчета.

Таблица - для вывода информации в виде таблицы.

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

Документ,

Склад,

Мастер,

Клиент.
В результате окно настроек отчета должно иметь вид. На этом создание отчета закончено.

Рис. 13.2. Создание отчета

В окне редактирования объекта конфигурации Отчет
РеестрДокументовОказаниеУслуги перейдем на закладку Подсистемы.
Отметим в списке подсистему Оказание услуг.

1   2   3   4   5   6   7   8   9


написать администратору сайта