- •Лабораторная работа № 3 Разработка объектов конфигурации в среде v8 Тема: Документы
- •Пример выполнения работы
- •Разработать Документ «Поступление товара»
- •Сформировать форму документа
- •Разработать Документ «Возврат товара».
- •6. Сформировать новый отчет «Ведомость о поступлениях и возврате».
- •Обеспечение промежуточной подсуммировки итогов в отчете
Пример выполнения работы
Дано:
Для отчета:
Ведомость поступления товаров от поставщиков с учетов возвратов за период с ______ по_______
товар |
поступило |
возвращено |
% брака |
||
Кол |
Сумма |
Кол |
Сумма |
|
|
Итого <> <> <>
разработать документы «Поступление товара и «Возврат поставщику»
Отчет должен иметь нестандартную расшифровку. Конкретизирующий отчет будет выглядеть так:
<товар>
Документ |
Поступило |
возвращено |
||
Кол |
Сумма |
Кол |
Сумма |
|
Итого <> <> <> <>
Решение.
1. Необходимо сформировать три справочника:
Справочник складов (Код, наименование )
Справочник товаров (Код, наименование , ЦенаЗакупочная, ЦенаРозничная)
Справочник контрагентов (Код, наименование )
Включить эти справочники в основной интерфейс.
Разработать Документ «Поступление товара»
Реквизиты «Шапки»:
Поставщик
Склад
Реквизиты табличной части:
Товар
Количество
Цена
Сумма
Сформировать форму документа
Для управления работой формы документа предусмотреть :
При вводе нового документа поля «Поставщик» и «Склад» должны первоначально означиваться произвольными значениями из соответствующих справочников (по умолчанию). Для решения этой задачи необходимо включить в конфигурацию две константы: «ОсновнойПоставщик»
и «ОсновнойСклад»
Затем в модуле формы документа описать обработчик события «ПриОткрытии»
Процедура ПриОткрытии()
Если ЭтоНовый() Тогда
Поставщик=Константы.ОсновнойПостащик.Получить();
Склад = Константы.ОсновнойСклад.Получить();
КонецЕсли;
КонецПроцедуры
При выборе товара в табличной части документа в поле «Цена» необходимо поставить значение закупочной цены выбранного товара.
Каждое поле ввода в форме имеет события, обработчики которых можно разработать программисту. Поле ввода «Товар» в табличной части документа имеет следующие события:
Тело процедуры-обработчика должно иметь следующий вид:
Процедура ПриИзмененииТовара(Элемент)
//ВыбТовар=Элемент.Значение;
//ЭлементыФормы.Товары.ТекущаяСтрока.цена=Выбтовар.ЦенаЗакупочная;
ЭлементыФормы.Товары.ТекущаяСтрока.цена=ЭлементыФормы.Товары.ТекущаяСтрока.товар.ЦенаЗакупочная;
КонецПроцедуры
При вводе количество в табличной части документа автоматически должна рассчитываться сумма строки
Для этого в свойствах поля ввода «Количество» находим событие «ПриИзменении»
Процедура ПриИзмененииКоличестваЦены(Элемент)
ЭлементыФормы.Товары.ТекущаяСтрока.Сумма=ЭлементыФормы.Товары.ТекущаяСтрока.Цена*ЭлементыФормы.Товары.ТекущаяСтрока.Количество;
КонецПроцедуры
Эту же процедуру ставим на событие «ПриИзменении» поля ввода «Цена» - на случай изменения в форме документа цены товара (цены каждого поставщика могут отличаться друг от друга)
