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

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 650

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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