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

АкторКраткое описание актораМенеджерОформление прихода и реализации товаров.ДиректорДиректор осуществляет общее руководство производственно-хозяйственной и финансово-экономической деятельностью предприятия, а так же организует взаимодействие

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

Курсовой проект

Компьютеры, программирование

Другие курсовые по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

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

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

|Товар = Регистр.ОстаткиТоваров.Товар;

|Магазин = Регистр.ОстаткиТоваров.Магазин;

|Количество = Регистр.ОстаткиТоваров.Количество;

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

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

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

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

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

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

;

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

Если Запрос.Выполнить(ТекстЗапроса) = 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 Тогда

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

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

ТаблицаФормы.Остаток = ТаблОстатков.Количество;

ТекСтрока = 0;

КонецЕсли;

КонецЦикла;

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

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

ТаблицаФормы.УдалитьСтроки();

Если ПустоеЗначение(ОбъектАнализа) = 0 Тогда

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

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

ЗаполнитьПоМагазинам();

КонецЕсли;

КонецЕсли;

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

Функция СформироватьИнформационнуюСтроку()

Перем ИнфСтрока;

Если ТипЗначения(КонтСправочника) = 100 Тогда

ТекЭлемент = КонтСправочника.ТекущийЭлемент();

Если ТекЭлемент <> ОбъектАнализа Тогда

ОбъектАнализа = ТекЭлемент;

ЗаполнитьСтрокиТаблицы();

КонецЕсли;

Если ПустоеЗначение(ОбъектАнализа) = 1 Тогда

ИнфСтрока = "";

Иначе

Если ОбъектАнализа.ЭтоГруппа() = 0 Тогда

ИнфСтрока = СокрЛП(ОбъектАнализа.Наименование);

КонецЕсли;

КонецЕсли;

КонецЕсли;

Возврат ИнфСтрока;

КонецФункции // СформироватьИнформационнуюСтроку()

Процедура ПриДвойномЩелчкеНаТаблице()

Перем Конт;

Позиция= ТаблицаФормы.ТекущаяСтрока();

Если Позиция= 0 Тогда

Возврат

КонецЕсли;

Попытка

Конт = ТаблицаФормы.ПолучитьЗначение(Позиция, "Объект");

Исключение КонецПопытки;

ОткрытьФормуМодально(Конт);

// Могли поменять отображаемую информацию

ОбъектАнализа = "";

СформироватьИнформационнуюСтроку();

ТаблицаФормы.ТекущаяСтрока(Позиция);

КонецПроцедуры // ПриДвойномЩелчкеНаТаблице()

Процедура ПриИзмененииОстаткиПо()

ЗаполнитьКолонкиТаблицы();

ЗаполнитьСтрокиТаблицы();

КонецПроцедуры // ПриИзмененииОстаткиПо()

Процедура ПриОткрытии()

 

КонтСправочника = Форма.Параметр;

Если ПустоеЗначение(КонтСправочника) = 1 Тогда

Предупреждение("Данная обработка вызывается из других модулей конфигурации",60);

СтатусВозврата(0);

Возврат;

КонецЕсли;

ОстаткиПо.УдалитьВсе();

ОстаткиПо.ДобавитьЗначение("магазинам");

ТекСтрока = ВосстановитьЗначение("СпособПоказаОстатков");

ОстаткиПо.ТекущаяСтрока(Макс(1,ТекСтрока));

// Заполним таблицу значений формы

ПриИзмененииОстаткиПо();

КонецПроцедуры // ПриОткрытии()

Процедура ПриЗакрытии ()

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

КонецПроцедуры // ПриЗакрытии ()

 

 

Приложение 2

 

Логическая схема данных

 

 

Приложение 3

 

 

Похожие работы

<< < 1 2 3 4