Автоматизированная информационная система "Справочная служба магазина"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
>|Группировка Товар;
|Группировка Магазин;
|Условие(Товар в ВыбрТоварГруппа);
|Условие(Магазин в ВыбМагазин);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 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>