Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1С лаба. Дорошенко.docx
Скачиваний:
4
Добавлен:
27.11.2019
Размер:
616.8 Кб
Скачать

3.4 Создание справочника Склады (создание справочника с предопределенным

элементом)

Справочник Склады будет содержать информацию о складах, используемых в нашем

вымышленном предприятии. Этот справочник будет содержать один предопределенный элемент – склад Основной, на который будут поступать все материалы. Задача состоит в том, чтобы создать справочник, содержащий предопределенные элементы.

Открываем конфигуратор и создаем новый объект конфигурации Справочник с именем

Склады. Переходим на закладку Прочее и нажимаем кнопку Предопределенные. Система

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

- Добавить и создаем предопределенный элемент с именем Основной (рис. 21).

Рис. 21 – Создание предопределенного элемента

Запускаем «1С: Предприятие» в режиме отладки и открываем справочник Склады.

Добаляем в справочник еще один склад, который назовем Розничный (рис. 22).

Рис. 22 – Заполнение справочника «Склады»

4. Создание Документа

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

платформа создает в базе данных информационную структуру.

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

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

проведен, состояние учета неизменно.

Создадим для нашего проекта два документа: Приходная накладная и Оказание услуги.

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

4.1 Создание документа ПриходнаяНакладная

Создадим новый объект конфигурации Документ. Зададим имя документа – Приходная

накладная. Нажимаем Далее. Создаем реквизит документа с именем Склад и типом СправочникСсылка.Склады (рис. 23).

Рис. 23 – Формирование реквизитов документа

После этого добавим табличную часть с именем "Материалы" и создадим у нее четыре реквизита:

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

− Количество с типом Число, длиной 15, точностью 3, неотрицательное,

− Цена с типом Число, длиной 15, точностью 2, неотрицательное,

− Сумма с типом Число, длиной 15, точностью 2, неотрицательное (рис. 24).

Рис. 24 – Создание реквизитов табличной части

Запускаем 1С: Предприятие в режиме отладки. В открывшемся окне программы выполняем команду Операции - Документы, выбераем документ Приходная накладная.

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

Затем заполняем табличную часть ( рис. 25)

Рис. 25 – Заполнение документа Приходная накладная

Возвращаемся в конфигуратор и открываем окно редактирования объекта конфигурации Приходная накладная. В этом окне выбераем закладку Формы.

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

выберите Форма документа (рис. 26).

Рис. 26 – Редактирование формы документа

Создание процедуры обработки события в общем модуле

Для того чтобы каждый раз, когда меняется значение в поле Количество или в поле Цена,

в поле Сумма необходимо, чтобы автоматически устанавливалось значение равное Количество*Цена. Очевидно, что для этого нужно написать на встроенном языке команду, похожую на Сумма = Количество*Цена, которая будет выполняться при изменении значения поля Количество и Цена.

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

Создадим объект конфигурации Общий модуль в ветке Общие → Общие модули и назовем его "РаботаСДокументами".

Рис. 27 – Добавление общего модуля

Он будет содержать следующий текст:

Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт

СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество *

СтрокаТабличнойЧасти.Цена;

КонецПроцедуры

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

Создание процедуры обработки события в модуле формы

Щелкним правой кнопкой мыши на поле ввода в колонке Количество и откроем для него палитру свойств (пункт контекстного меню Свойства). Прокрутим список до конца, и обнаружим перечень событий, которые могут быть связаны с этим полем ввода (рис. 28).

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

Рис. 28 – Добавление процедуры обработки события

Затем вставляем следующий текст в тело процедуры МатериалыКоличествоПриИзменении

(Элемент):

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

КонецПроцедуры

Теперь осталось и для поля Цена установить такой же обработчик.

Процедура МатериалыЦенаПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти); КонецПроцедуры

Запускаем «1С: Предприятие» в режиме отладки и убедимся, что теперь сумма в строках

табличной части документов ПриходнаяНакладная пересчитывается как при изменении

количества, так и при изменении цены.