Автоматизированная информационная система "Справочная служба магазина"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

>|Группировка Товар;

|Группировка Магазин;

|Условие(Товар в ВыбрТоварГруппа);

|Условие(Магазин в ВыбМагазин);

|"//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Сформировать");

// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

Пока Запрос.Группировка(1) = 1 Цикл

// Заполнение полей Товар

Если Запрос.Товар.ЭтоГруппа()=1 Тогда

Таб.ВывестиСекцию("Группа");

Иначе

Таб.ВывестиСекцию("Товар");

Если Фл_НеВыводитьМагазины=0 Тогда

Пока Запрос.Группировка(2) = 1 Цикл

// Заполнение полей Магазин

Таб.ВывестиСекцию("Магазин");

КонецЦикла;

КонецЕсли;

КонецЕсли;

КонецЦикла;

// Заполнение полей "Итого"

Таб.ВывестиСекцию("Итого");

// Вывод заполненной формы

Таб.ТолькоПросмотр(1);

Таб.Опции(0);

Таб.Показать("Сформировать", "");

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

Модуль формы отчета Поступление

Процедура Сформировать()

Перем Запрос, ТекстЗапроса, Таб;

//Создание объекта типа Запрос

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =

"//{{ЗАПРОС(Сформировать)

|Период с ВыбНачПериода по ВыбКонПериода;

|Обрабатывать НеПомеченныеНаУдаление;

|Магазин = Документ.Приход.Магазин;

|Товар = Документ.Приход.Товар;

|Количество = Документ.Приход.Количество;

|Функция КоличествоСумма = Сумма(Количество);

|Группировка Магазин;

|Группировка Товар;

|Условие(Магазин в ВыбМагазин);

|Условие(Товар в ВыбТовар);

|"//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Сформировать");

// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

Пока Запрос.Группировка(1) = 1 Цикл

// Заполнение полей Магазин

Таб.ВывестиСекцию("Магазин");

Пока Запрос.Группировка(2) = 1 Цикл

// Заполнение полей Товар

Таб.ВывестиСекцию("Товар");

КонецЦикла;

КонецЦикла;

// Заполнение полей "Итого"

Таб.ВывестиСекцию("Итого");

// Вывод заполненной формы

Таб.ТолькоПросмотр(1);

Таб.Показать("Сформировать", "");

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

Модуль формы отчета Реализация

Процедура Сформировать()

Перем Запрос, ТекстЗапроса, Таб;

//Создание объекта типа Запрос

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =

"//{{ЗАПРОС(Сформировать)

|Период с ВыбНачПериода по ВыбКонПериода;

|Обрабатывать НеПомеченныеНаУдаление;

|Магазин = Документ.Расход.Магазин;

|Товар = Документ.Расход.Товар;

|Количество = Документ.Расход.Количество;

|Функция КоличествоСумма = Сумма(Количество);

|Группировка Магазин;

|Группировка Товар;

|Условие(Магазин в ВыбМагазин);

|Условие(Товар в ВыбТовар);

|"//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Сформировать");

// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

Пока Запрос.Группировка(1) = 1 Цикл

// Заполнение полей Магазин

Таб.ВывестиСекцию("Магазин");

Пока Запрос.Группировка(2) = 1 Цикл

// Заполнение полей Товар

Таб.ВывестиСекцию("Товар");

КонецЦикла;

КонецЦикла;

// Заполнение полей "Итого"

Таб.ВывестиСекцию("Итого");

// Вывод заполненной формы

Таб.ТолькоПросмотр(1);

Таб.Показать("Сформировать", "");

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

Модуль формы обработки ПоказатьОстатки

Перем ОбъектАнализа, КонтСправочника;

Перем Остатки;

Процедура ЗаполнитьКолонкиТаблицы()

СпособПоказа = ОстаткиПо.ПолучитьЗначение(ОстаткиПо.ТекущаяСтрока());

ТаблицаФормы.Очистить();

Если СпособПоказа = "магазинам" Тогда

Остатки = СоздатьОбъект("Регистр.ОстаткиТоваров");

ТаблицаФормы.НоваяКолонка("Магазин" , "Справочник.Магазины" ,,, ,20,,1);

ТаблицаФормы.НоваяКолонка("Остаток", "Строка" ,,, , 7,,2);

ТаблицаФормы.НоваяКолонка("Единица", "Строка" ,,,"Ед." , 5,,2);

КонецЕсли;

КонецПроцедуры // ЗаполнитьКолонкиТаблицы()

Процедура ЗаполнитьПоМагазинам()

ТаблОстатков =СоздатьОбъект("ТаблицаЗначений");

Остатки.УстановитьЗначениеФильтра("Товар", ОбъектАнализа, 1);

Остатки.ВыгрузитьИтоги(ТаблОстатков,1,1);

ТаблОстатков.Свернуть("Магазин","Количество");

ТаблОстатков.ВыбратьСтроки();

Пока ТаблОстатков.ПолучитьСтроку() = 1 Цикл

Если ТаблОстатков.Количество <> 0 Тогда

ТаблицаФормы.НоваяСтрока();

ТаблицаФормы.Магазин = ТаблОстатков.Магазин;

ТаблицаФормы.Остаток = ТаблОстатк?/p>