Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическое задание 3б.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
620.54 Кб
Скачать

28

Практическое задание к занятию 3(исбу) Запросы к регистрам накопления

Задание 1: Расчет остатков в форме документа. Документ «Поступление товаров» : добавить в табличную часть реквизит «Остаток». Рассчитать остаток по выбранному товару для выбранного в шапке документа склада. Расчет вести при изменении значения реквизита «Товар»

Задание 2. Сформировать два отчета:

1. Разработать отчет ( форма отчета – см. лабораторную работу 2 - ИСБУ) с помощью запроса к регистру накопления.

Ведомость поступления товаров от поставщиков за

период с ______ по_______

товар

Поступило

Кол

Сумма

Итого <> <>

1а. Дополнительный отчет:

Ведомость поступления товаров от поставщика ____________ за ___ период

С _____- по ______

Дата

Товар

Склад

Единицы

Колич.

цена

стоимость

Сумма ндс

Всего с ндс

Итого: < > < > < >

Замечание 1. Строки отчета группируются по складам. В конце группы следует включать строку «Итого по складу».

  1. Сформировать сводную таблицу на основании запроса к регистру накопления. Состав полей сводной таблицы :

товар

поступило

Кол

Сумма

Из прошлых практических занятий:

  1. В конфигурации есть документ «ПоступлениеТоваров»

2. Разработаны регистры накопления «Закупки» и «ОстаткиТМЦ»

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

Процедура ОбработкаПроведения(Отказ, Режим)

Для Каждого ТекСтрокаТовары Из Товары Цикл

// регистр Закупки

Движение = Движения.Закупки.Добавить();

Движение.Период = Дата;

Движение.Поставщик = Поставщик;

Движение.Товар = ТекСтрокаТовары.Товар;

Движение.Количество = ТекСтрокаТовары.Количество;

Движение.СуммаБезНДС = ТекСтрокаТовары.Сумма;

Движение.СуммаНДС = ТекСтрокаТовары.СуммаНДС;

Движение.ВидОперации = Перечисления.ВидыОпераций.Закупка;

КонецЦикла;

Для Каждого ТекСтрокаТовары Из Товары Цикл

// регистр ОстаткиТоваров Приход

Движение = Движения.ОстаткиТМЦ.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.приход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаТовары.Товар;

Движение.Склад = Склад;

Движение.Количество = ТекСтрокаТовары.Количество;

Движение.Сумма = ТекСтрокаТовары.Сумма;

КонецЦикла;

// записываем движения регистров

Движения.Закупки.Записать();

Движения.ОстаткиТМЦ.Записать();

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

Решение

1.Расчет остатков в форме документа. Документ «Поступление товаров» : добавить в табличную часть реквищит «Остаток». Рассчитать остаток по выбранному товару для выбранного в шапке докум ента склада. Расчет вести при изменении значения реквизита «Товар».

а) Добавляем реквизит в табличную часть документа «Поступление товаров»

б) в форму документа включаем данный реквизит

В свойствах поля «товар» пишем название обработчика события «ПриИзменении»

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

ПриИзмененииТовара(Элемент);

Запрос_=Новый Запрос("

| ВЫБРАТЬ

| ОстаткиТМЦОстатки.КоличествоОстаток как количество

|ИЗ

| РегистрНакопления.ОстаткиТМЦ.Остатки(

| &ВыбДата,

| Склад = &ВыбСклад

| И Товар = &ВыбТовар) КАК ОстаткиТМЦОстатки");

Запрос_.УстановитьПараметр("ВыбДата",КонецДня(Дата));

Запрос_.УстановитьПараметр("ВыбСклад",Склад);

Запрос_.УстановитьПараметр("ВыбТовар",ЭлементыФормы.Товары.ТекущаяСтрока.Товар);

рез=Запрос_.Выполнить();

Выборка=рез.Выбрать();

Если Выборка.Следующий() Тогда

ЭлементыФормы.Товары.ТекущаяСтрока.Остаток=Выборка.количество;

КонецЕсли;

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

Замечание. Запрос можно формировать с использованием «Конструктора запроса»

г) Результат: