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

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


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

Для чего предназначен объект конфигурации Макет.

Что такое конструктор печати.

Как создать макет с помощью конструктора печати.

Как изменить табличный документ.

Какая разница в заполнении ячейки табличного документа текстом, параметром
и шаблоном.

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

Как изменить внешний вид и поведение элемента формы.

Как отобразить сумму по колонке таблицы.

Лабораторная работа № 9
Периодические регистры сведений.
Ориентировочная продолжительность занятия - 50 минут.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Зачем нужен периодический регистр сведений
Начнем мы с того, что обратим, ваше внимание на документ Оказаниеуслуги. Как вы помните, в этом документе мы выбираем услугу, которая оказывается, и затем указываем цену.
Очевидно, что в компании существует перечень услуг, который определяет стоимость каждой услуги. Казалось бы, стоимость услуги является неотъемлемым свойством самой услуги, и поэтому ее следует добавить в качестве реквизита справочника Номенклатура.
Однако стоимость услуг имеет особенность меняться со временем. И может сложиться такая ситуация, когда нам потребуется внести изменения или уточнения в один из ранее проведенных документов Оказание услуги. В этом случае мы не сможем получить правильную стоимость услуги, поскольку в реквизите справочника будет храниться последнее введенное значение.
Для хранения стоимости услуг мы используем новый объект - Регистр сведений.
Что такое регистр сведений
Объект конфигурации Регистр сведений предназначен для описания структуры хранения данных в разрезе нескольких измерений. На основе объекта конфигурации Регистр сведений платформа создает в базе данных таблицу, в которой может храниться произ- вольная информация, «привязанная» к набору измерений.
Принципиальное отличие регистра сведений от регистра накопления заключается в том, что каждое движение регистра сведений устанавливает новое значение ресурса, в то время как движение регистра накопления изменяет существующее значение ресурса. По этой причине регистр сведений может хранить любые данные.
Следующей важной особенностью регистра сведений является его способность хранить данные с привязкой ко времени. Благодаря этому регистр сведений может хранить не только актуальные значения данных, но и историю их изменения во времени - периодический регистр сведений.
Периодичность регистра сведений можно определить одним из следующих значений:
• в пределах секунды,
• в пределах дня,
• в пределах месяца,
• в пределах квартала,
• в пределах года,
• в пределах регистратора .
Периодический регистр сведений всегда содержит служебное поле Период, добавляемое системой автоматически. Оно имеет тип Дата и служит для указания факта принадлежности записи к какому-либо периоду. При записи данных в регистр платформа всегда приводит значение этого поля к началу того периода, в который он попадает.
Например, если в регистр сведений с периодичностью в пределах месяца записать данные, в которых период указан как 08.04.2004, то регистр сохранит эти данные со значением
периода, равным 01.04.2004.
Как и для других регистров, система контролирует уникальность записей для регистра сведений. Однако если для прочих регистров уникальным идентификатором записи является регистратор и номер строки, то для регистра сведений применяется другой принцип формирования ключевого значения.
Ключом записи, однозначно идентифицирующим запись, является в данном случае совокупность значений измерений регистра и периода (в случае если регистр сведений периодический). Регистр сведений не может содержать несколько записей с одинаковыми ключами.
ПРАКТИЧЕСКАЯ ЧАСТЬ
Добавление периодического регистра сведений

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

Свойство Ведущее имеет смысл использовать лишь тогда, когда измерение имеет тип ссылки на объект базы данных. Установка свойства Ведущее будет говорить о том, что запись регистра сведений представляет интерес, пока существует тот объект, ссылка на который выбрана в качестве значения этого измерения в этой записи. При удалении объекта, все записи регистра сведений по этому объекту тоже будут автоматически удалены. б) создадим ресурс Цена, тип Число, длина 15, точность 2, неотрицательное.
Для этого выделим ветвь Ресурсы к нажмем кнопку Добавить в командной панели окна:
Рис. 9.2. Свойства Цена

В режиме 1С: Предприятие
Теперь запустим 1С: Предприятие в режиме отладки и посмотрим, как работает наш периодический регистр сведений Цены.
В открывшемся окне 1С: Предприятия мы видим, что в панели навигации разделов
Бухгалтерия, Оказание услуг и Учет материалов появилась команда для открытия списка регистра Цены на номенклатуру.
Создание записей в регистре сведений
Чтобы добавить новую запись в регистр сведений, нажмем кнопку Создать.
Зададим стоимость услуг. При этом период зададим прошлым числом, так как он должен быть меньше или равен дате создания документа об оказании услуг.

Автоматическая подстановка цены в документ при выборе номенклатуры
Для этого нужно сделать две вещи:

Написать некую функцию, которая будет возвращать актуальную цену номенклатуры.

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

В режиме Конфигуратор
Создадим функцию РозничнаяЦена(),которая будет возвращать нам актуальную
розничную цену номенклатуры, и поместим ее в общий модуль конфигурации:
Откроем конфигуратор, в ветке Общие > Общие модули добавим новый объект конфигурации Модуль и назовем его РаботаСоСправочниками.
Установим флажок Вызов сервера для того, чтобы экспортные процедуры и функции этого модуля можно было вызывать с клиента:
Рис. 9.3. Свойства РаботаСоСправочниками
Затем поместим в модуль следующий текст (см. Листинг 1):

Листинг 9.1. Редактируем Общий Модуль РаботаСоСправочниками
Для получения розничной цены мы будем передавать в функцию два параметра:

АктуальнаяДата - параметр типа Дата, определяет точку на оси времени, в которой нас интересует значение розничной цены.

ЭлементНоменклатуры - ссылка на элемент справочника Номенклатура, для которого мы хотим получить розничную цену.
Теперь эту функцию нужно вызвать в некоторый момент работы документа.
Вызов функции при выборе номенклатуры и заполнение цены в документе
1 -
Найдем в конфигураторе документ ОказаниеУслуги и откроем его форму
ФормаДокумента.
2 -
Дважды щелкнем на элементе формы ПереченьНоменклатурыНоменклатура.
Прокрутим список до конца, найдем событие ПриИзменении, которое возникает после изменения значения поля.
3 -
Нажмем кнопку открытия со значком лупы в поле ввода. Система создаст шаблон процедуры обработчика этого события в модуле нашей формы и откроет закладку Модуль редактора формы. Внесем в него следующий текст (см. Листинг 2):
Листинг 9.2. Модуль редактора формы

В режиме 1С: Предприятие
Запустим 1С:Предприятие в режиме отладки и откроем регистр сведений Цены. Для элемента таблицы добавим другим числом новую цену.
Теперь откроем документ Оказание услуги № 1. Оставим дату документа без изменения и повторим выбор транзистора в колонке Номенклатура табличной части документа.
Автоматически установится последнее значение цены товара.

Контрольные вопросы

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

Какими особенностями обладает объект конфигурации Регистр сведений.

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

Какие поля определяют ключ уникальности регистра накопления.

Что такое периодический регистр сведений и что такое независимый регистр
сведений.

Как создать периодический регистр сведений.

Что такое ведущее измерение регистра.

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

Лабораторная работа № 10
Перечисления.
Ориентировочная продолжительность занятия - 30 минут.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Что такое перечисление
Объект конфигурации Перечисление предназначен для описания структуры хранения постоянных наборов значений, не изменяемых в процессе работы конфигурации. На основе объекта конфигурации Перечисление платформа создает в базе данных таблицу, в которой может храниться набор некоторых постоянных значений.
В реальной жизни этому объекту может соответствовать, например, перечисление вариантов указания цены («включая НДС», «без НДС»). Набор всех возможных значений, которые содержит перечисление, задается при конфигурировании системы, и пользователь не может изменять их, удалять или добавлять новые.
Особенность перечисления: значения перечисления не «обезличены» для конфигурации,
на них могут опираться алгоритмы работы программы.
ПРАКТИЧЕСКАЯ ЧАСТЬ
Добавление перечисления

В режиме Конфигуратор
Откроем конфигуратор и создадим сначала новый объект конфигурации Перечисление с именем ВидыНоменклатуры.
-
На закладке Данные: нажмем на «+» и добавим два значения перечисления: Материал и Услуга.
Привязка номенклатуры к значениям перечисления «ВидНоменклатуры»
Чтобы привязать номенклатуру к значениям перечисления, мы сделаем следующее:

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

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

В режиме Конфигуратор
-
На закладке Данные: добавим в справочник Номенклатура новый реквизит
ВидНоменклатуры с типом ПеречислениеСсылка.ВидыНоменклатуры.

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

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

Текст следует добавить в начало цикла обхода табличной части документа после строки
Для Каждого ТекСтрокаПереченьНоменклатурыИз ПереченьНоменклатурыЦикл.
В результате процедура ОбработкаПроведения должна выглядеть следующим образом:
Листинг 10.1. Скорректируем движения документа
Добавленный текст исключает выполнение операторов цикла для тех строк табличной части документа, в которых номенклатура не является материалом.

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

Контрольные вопросы

Для чего предназначен объект конфигурации Перечисление.

Как создать новое перечисление.

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

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

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

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

Рис. 11.1. Проведение приходной накладной по двум регистрам

В режиме Конфигуратор
Откроем в конфигураторе окно редактирования объекта конфигурации Документ
1   2   3   4   5   6   7   8   9


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