ШапкаТабличная
часть
|
|
Покупатель
|
Товар
|
Магазин
|
Цена
|
|
Количество
|
Журналы
Приход-расход товаров
Описание проекта
Описание справочников
Справочник Магазины:
Данный справочник содержит сведения о магазинах.
Справочник Товар:
Данный справочник содержит сведения о товаре.
Справочник Покупатель:
Данный справочник содержит данные о покупателях.
Описание документов
Документ Приход:
С помощью данного документа можно оприходовать
поступивший товар на определенный магазин.
Документ Расход:
С помощью данного документа можно списать товар
клиенту.
Описание журналов
Журнал Приход-расход товаров:
Данный документ содержит информацию обо всем
товарообороте.
Реализация проекта
Рабочая документация
Руководство оператора
Общие сведения о программном продукте
Данный программный продукт предназначен для
автоматизации работы магазина.
Описание запуска программного продукта
Для запуска программного продукта потребуется
программа 1С «Предприятие 7.7». При нажатии на ярлык программы 1С «Предприятие
7.7» появится окно, в котором потребуется выбрать информационную базу, нужно
выбрать соответствующую, выбрать режим 1С «Предприятие». Если вы хотите
добавить новую информационную базу, то нужно нажать кнопку «добавить» и выбрать
(создать) папку в которой храниться информационная база.
После запуска программа запросит ввести пароль.
Работа с программным продуктом
После того, как выбрана (создана) информационная
база, можно приступить к заполнению справочников, документов. Так для
добавления нового покупателя в справочник «Покупатели» нужно выбрать в меню
раздел «Справочники» и выбрать справочник «Покупатели».
Затем можно перейти к заполнению справочника.
Для этого в меню справочника нажимаем кнопку «Новая строка» и
заполняем необходимые реквизиты, после чего нажимаем кнопку «Enter».
Для добавления объектов в справочник «Товар»
необходимо открыть данный справочник. Нажимаем кнопку «Новая строка» и
заполняем необходимые реквизиты, после чего нажимаем кнопку «Ок».
В справочнике «Товары» можно посмотреть остатки
необходимого вам товара по определенному магазину и вывести на печать остатки
товара по всем магазинам.
Для добавления объектов в справочник «Магазины»
и его заполнения необходимо выполнить аналогичные операции.
Далее на примере рассмотрим создание документа
Поступление товара.
Пример:
В магазин «Одежда для семьи» поступил товар.
Для отражения данного действия в информационной
базе необходимо создать документ «Поступление товара». Для добавления документа
«Поступление товара» нужно в меню выбрать раздел «Документы» и в нем выбрать
соответствующий документ.
После выбора данного документа откроется форма,
в которую необходимо занести весь поступивший товар.
После заполнение всех необходимых реквизитов и
сохранения документа «Поступление товара» данные будут занесены в базу. Система
выдаст окно «Сохранение документа», необходимо нажать «Да».
После этого система выдаст окно» Время
документа, необходимо выбрать время проведения данного документа.
После этого система выдаст окно» Проведение
документа», необходимо нажать «Да».
Документ сохранен и проведен.
Работа с документом «Реализация товара»
выполняется аналогично.
Для работы с документами «Поступление товара» и
«Реализация товара» можно вызвать их любым из имеющихся способов (Меню Операции
/ Документы, меню Документы / Поступление товара, меню Журналы / Поступление и
реализация товаров) и заполнить нужной информацией.
После оформления документов можно посмотреть
журнал «Поступление и реализация товаров». Для открытия журнала необходимо
выбрать в меню раздел «Журналы» и выбрать журнал «Поступление и реализация
товаров»
После открытия журнала откроется список операций
по приходу и реализации товаров.
При выборе меню Отчет пользователю предлагается
ввести дату начала отчетного периода и дату окончания отчетного периода. После
этого формируется отчет и выдается в печатной форме, в котором указаны магазин,
товар, сумма.
Пункт меню Выход из программы позволяет
пользователю закончить работу с программой и выйти из приложения.
автоматизация оборот товар
программный экономический
4. Экономический раздел
.1 Обоснование экономической эффективности
Экономическая эффективность - это получение
максимума возможных благ от имеющихся ресурсов. Для этого нужно постоянно
соотносить выгоды (блага) и затраты, или, говоря по-другому, вести себя
рационально.
Рациональное поведение заключается в том, что
производитель и потребитель благ стремятся к наивысшей эффективности и для
этого максимизируют выгоды и минимизируют затраты.
Экономическая эффективность - результативность
экономической деятельности, экономических программ и мероприятий,
характеризуемая отношением полученного экономического эффекта, результата к
затратам факторов, ресурсов, обусловившим получение этого результата,
достижение наибольшего объема производства с применением ресурсов определенной
стоимости.
.2 Методика расчёта экономической эффективности
Стоимость решения задачи (Сз) складывается из
двух частей: стоимости разработки программ (Спр) и стоимости непосредственного
решения (Ср):
Смз = Спр+Ср
Стоимость разработки программ (Спр) можно
определить по следующей формуле:
Спр=Qпр*Фпр*Кпр+Смч*tотл
где Qпр - трудоемкость работ программиста при
разработке программы (час);
Фпр - затрата программиста в единицу времени
(руб);
Кпрм - коэффициент накладных расходов к
заработной плате (Кпрм >1<2);отл - машинное время отладки программы
(час);
Смч - стоимость 1 машинно-часа (руб).
Время вывода информации
Время вывода информации рассчитывается по
формуле:
Тавт=tотл+tввода+tреш+tкорр+tвывода
где tотл - время отладки программы;ввода - время
вывода информации;реш - время решения задачи на ЭВМ;корр - время изменения
информации;вывода - время вывода информации на печать или на экран.
Стоимость затрат на решение задачи на ЭВМ
Стоимость затрат на решение задачи на ЭВМ
определяется по формуле:
См=Смр+Смавт
где Смр - стоимость ручных работ;
Смавт - оклад программиста, умноженный на
коэффициент накладных расходов;
Смавт = S(
tотл+tввода+tреш+tкорр)*Смч*Кн
где Смч - стоимость 1 машинно-часа;
Кн - коэффициент накладных расходов (от 3 до 4).
Методика расчета трудоемкости ручного способа
обработки информации
Оценка решения задачи на ЭВМ проводится в
сравнении с ручным способом обработки информации. Поэтому, прежде всего
необходимо определить трудовые и стоимостные затраты ручного труда при
обработке информации и с использованием ЭВМ.
Общая трудоемкость ручного способа обработки
информации равна:
n
Тр=S ti*Кi
/ qi * К
i=1
где ti - трудоемкость обработки группы
документов вида i;
Кi - годовое количество групп документов вида
i;- количество документов вида i в группе;- количество наименований документов;
К - поправочный коэффициент для учета полной
загрузки персонала, занятого обработкой информации. Его значение от 2 до 3.
Общие стоимостные затраты ручного способа
обработки информации
Общие стоимостные затраты ручного способа
обработки информации (Ср) определяют по формуле:
Ср=Тр*Пчас*(1+Ксс+Кнр)
где Пчас - тарифная среднегодовая ставка
работников, занятых обработкой информации;
Ксс - коэффициент, определяющий отчисления на
социальные нужды. Он равен 0,13-0,15;
Кнр - коэффициент накладных расходов. Он равен
0,4-0,7.
Затраты времени на обработку информации по
данной задаче
Затраты времени на обработку информации по
данной задаче на ЭВМ складываются из времени на обработку выполнения ручных
операций (Трм), машинноручных (Тмрм) и автоматических (Тавтм) операций:
Тм= Трм + Тмрм+ Тавтм
К ручным операциям относятся операции,
выполняемые работниками - это постановка задачи, кодирование информации и т.д.
Трудоемкость ручных операций определяется по изложенному выше порядку.
Расчет экономической эффективности
Для определения экономической эффективности
необходимо рассчитать следующие показатели: срок окупаемости (Ток) и расчетный
коэффициент эффективности (Ер).
Показатель срока окупаемости показывает период
времени (месяц, год), в течение которого дополнительные капитальные вложения
окупятся за счет экономических затрат.
Коэффициент эффективности - это доля капитальных
вложений на единицу текущих затрат.
Нормативный коэффициент эффективности (Ен)
должен находиться в пределах от 0,15 до 2, а в срок окупаемости нормативный
(Тн) находится в пределах от 0,6 до 1 года.
Срок окупаемости определяется по следующей
формуле:
Ток=Кмод / Эмод
где Кмод - капитальные вложения на устройства;
Эмод - годовая экономия от внедрения устройства.
Коэффициент эффективности капитальных вложений
рассчитывается по формуле:
Ер=1/ Ток > 0,15
Годовая экономия от внедрения устройства
рассчитывается по формуле:
Эгод =Эмод-Ен*Кмод
.3 Расчёт экономической эффективности
Расчёт стоимости решения задачи на ЭВМ
Стоимость решения задачи (Сз) складывается из
двух частей: стоимости разработки программ (Спр) и стоимости непосредственного
решения (Ср):
Смз = Спр+Ср = 131250+30000=161250 руб.
Стоимость разработки программ (Спр) можно
определить по следующей формуле:
Спр=Qпр*Фпр*Кпр+Смч*tотл =
20*30000*1,3+50*6=780300 руб.
где Qпр - трудоемкость работ программиста при
разработке программы = 20 (час);
Фпр - затрата программиста в единицу времени
(руб) = 30000;
Кпрм - коэффициент накладных расходов к
заработной плате = 1,3;отл - машинное время отладки программы (час) = 6;
Смч - стоимость 1 машинно-часа (руб) = 50 .
Время вывода информации
Время вывода информации рассчитывается по
формуле:
Тавт=tотл+tввода+tреш+tкорр+tвывода =
6+1+6+2+0,5=15,5 часов
где tотл - время отладки программы = 6;ввода -
время вывода информации = 1;реш - время решения задачи на ЭВМ = 6;корр - время
изменения информации = 2;вывода - время вывода информации на печать или на
экран =0,5.
Стоимость затрат на решение задачи на ЭВМ
Стоимость затрат на решение задачи на ЭВМ
определяется по формуле:
См=Смр+Смавт = 17000+27325=44325 руб.
где Смр - стоимость ручных работ = 17000;
Смавт - оклад программиста, умноженный на
коэффициент накладных расходов = 21019*1,3=27325;
Смавт = S(
tотл+tввода+tреш+tкорр)*Смч*Кн = 15,5*50*3,4=2635 руб.
где Смч - стоимость 1 машинно-часа = 50;
Кн - коэффициент накладных расходов = 3,4.
Методика расчета трудоемкости ручного способа
обработки информации
Оценка решения задачи на ЭВМ проводится в
сравнении с ручным способом обработки информации.
Поэтому, прежде всего необходимо определить трудовые
и стоимостные затраты ручного труда при обработке информации и с использованием
ЭВМ.
Общая трудоемкость ручного способа обработки
информации равна:
n
Тр=S ti*Кi / qi * К =
10*6/2*2,5=75 часов.
i=1
где ti - трудоемкость обработки группы
документов вида I = 10;
Кi - годовое количество групп документов вида I
= 6;- количество документов вида i в группе = 2;- количество наименований
документов;
К - поправочный коэффициент для учета полной
загрузки персонала, занятого обработкой информации = 2,5.
Общие стоимостные затраты ручного способа
обработки информации
Общие стоимостные затраты ручного способа
обработки информации (Ср) определяют по формуле:
Ср=Тр*Пчас*(1+Ксс+Кнр) =
75*400*(1+0,138+0,46)=30000*1,60=30001.60 руб.
где Пчас - тарифная среднегодовая ставка
работников, занятых обработкой информации = 400;
Ксс - коэффициент, определяющий отчисления на
социальные нужды = 0,138;
Кнр - коэффициент накладных расходов = 0,46.
Затраты времени на обработку информации по
данной задаче
Затраты времени на обработку информации по
данной задаче на ЭВМ складываются из времени на обработку выполнения ручных
операций (Трм), машинноручных (Тмрм) и автоматических (Тавтм) операций:
Тм= Трм + Тмрм+ Тавтм = 75+20+15,5=110,5 часов
К ручным операциям относятся операции,
выполняемые работниками - это постановка задачи, кодирование информации и т.д.
Трудоемкость ручных операций определяется по изложенному выше порядку.
Расчёт экономической эффективности
Для определения экономической эффективности
необходимо рассчитать следующие показатели: срок окупаемости (Ток) и расчетный
коэффициент эффективности (Ер).
Показатель срока окупаемости показывает период
времени (месяц, год), в течение которого дополнительные капитальные вложения
окупятся за счет экономических затрат.
Коэффициент эффективности - это доля капитальных
вложений на единицу текущих затрат.
Нормативный коэффициент эффективности (Ен)
должен находиться в пределах от 0,15 до 2, а в срок окупаемости нормативный
(Тн) находится в пределах от 0,6 до 1 года.
Срок окупаемости определяется по следующей
формуле:
Ток=Кмод / Эмод = 350000/480000=0,7 года
где Кмод - капитальные вложения на устройства;
Эмод - годовая экономия от внедрения устройства.
Коэффициент эффективности капитальных вложений
рассчитывается по формуле:
Ер=1/ Ток > 0,15 = 1/0.7=1,3
Годовая экономия от внедрения устройства
рассчитывается по формуле:
Эгод =Эмод-Ен*Кмод = 480000-1,3*350000=25000
руб.
Вывод: исходя из данных расчетов, можно сделать
вывод, что обработка информации с помощью данной информационной системы
является эффективнее, нежели обработка вручную. Срок окупаемости системы около
0,7 года.
Заключение
При разработке программного продукта были
поставлены задачи:
автоматизировать ввод и хранение информации о
магазинах, товаре, покупателях;
автоматизировать процесс прихода и реализации
товаров,
которые в процессе написания курсового проекта
были реализованы.
Список литературы
1.
Введение в конфигурацию 1С: Бухгалтерии 7. 7. -М., 2003 г.
.
Компьютерная бухгалтерия 7.7.«Азбука бухгалтера». М., 2003г.
.
Комягина В.Б. 1С: Бухгалтерия. М., 2004 г.
.
Муштоватый И.Ф. Компьютер для бухгалтеров. Ростов-на-Дону, 2005 г
.
Самоучитель 1С: Бухгалтерии версий 7.5-7.7 в вопросах и ответах. Практическое
пособие- М.: Триумф,2002г.
.
Фигурнов В. 1С: Бухгалтерия 7.7: Руководство пользователя. М.: Фирма 1С.
.
Чистов Д. В. Основы бухгалтерского учета в системе Windows: Учеб.Практикум по
ведению бухучета в 1С: Бухгалтерии 7.0.
.
1С: Бухгалтерия. Версия 7.7: Руководство пользователя. М.: Фирма 1С.
.
1С: Предприятие. Версия7.7.: Описание встроенного языка. М. : Фирма 1С.
.
1С: Бухгалтерия 7.7. Практический курс. М., 2004 г.
Приложения
Приложение 1
Листинг программы
Глобальный модуль
Функция глВзятьКонтекст(Конт) Экспорт
Возврат Конт;
КонецФункции // глВзятьКонтекст()
Процедура глПодбор(Конт,Параметры="")
Экспорт
Если ТипЗначенияСтр(Параметры) <>
"СписокЗначений" Тогда
Параметры =
СоздатьОбъект("СписокЗначений");
КонецЕсли;
// открываем форму подбора
Конт.ОткрытьПодбор("Товар", "ДляПодбора",
Параметры);
КонецПроцедуры // глПодбор()
Модуль формы списка справочника «Магазины»
//{{ПРОЦЕДУРА_ПЕЧАТИ(Печать)
Процедура Печать()
Спр =
СоздатьОбъект("Справочник.Магазины");
Спр.ИспользоватьДату(ИспользоватьДату());
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.ЭтоГруппа() = 1 Тогда
Таб.ВывестиСекцию("Группа");
Иначе
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать
Магазины","");
КонецПроцедуры
//}}ПРОЦЕДУРА_ПЕЧАТИ
Модуль формы списка справочника «Товар»
//{{ПРОЦЕДУРА_ПЕЧАТИ(Печать)
Процедура Печать()
Спр = СоздатьОбъект("Справочник.Товар");
Спр.ИспользоватьДату(ИспользоватьДату());
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.ЭтоГруппа() = 1 Тогда
Таб.ВывестиСекцию("Группа");
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать
Товар","");
КонецПроцедуры
//}}ПРОЦЕДУРА_ПЕЧАТИ
Модуль формы списка «ДляПодбора» справочника
«Товар»
Процедура Остатки()
Параметр = глВзятьКонтекст(Контекст);
ОткрытьФорму("Обработка.ПоказатьОстатки",
Параметр);
ФормаТаблицыОстатков = Параметр; // через
параметр возвращается контекст открытой формы обработки
КонецПроцедуры // Остатки()
Модуль документа «Приход»
Процедура ОбработкаПроведения()
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Регистр.ОстаткиТоваров.Товар=Товар;
Регистр.ОстаткиТоваров.Магазин=Магазин;
Регистр.ОстаткиТоваров.Количество=Количество;
Регистр.ОстаткиТоваров.ДвижениеПриходВыполнить();
КонецЦикла;
КонецПроцедуры
Модуль формы документа «Расход»
Процедура Подбор()
Параметры =
СоздатьОбъект("СписокЗначений");
Параметры.ДобавитьЗначение(Магазин,
"Магазин");
Если Выбран() = 0 Тогда
Параметры.ДобавитьЗначение("Дата",
"ТипГраницы");
Параметры.ДобавитьЗначение(ДатаДок,
"ЗначениеГраницы");
Иначе
Параметры.ДобавитьЗначение("Позиция",
"ТипГраницы");
Параметры.ДобавитьЗначение(ПолучитьПозицию(),
"ЗначениеГраницы");
КонецЕсли;
Параметры.ДобавитьЗначение("Подбор номенклатуры
в документ " + ПредставлениеВида() + " № " + НомерДок,
"Заголовок");
глПодбор(Контекст, Параметры);
КонецПроцедуры // Подбор()
Процедура ОбработкаПодбора(ВыбрТов, Конт)
Кол = 1;
ЦенаТ=0;
Если ВвестиЧисло(Кол, "Введите количество
товара", 14, 0) = 0 Тогда
Возврат;
ИначеЕсли Кол = 0 Тогда
Возврат;
КонецЕсли;
НоваяСтрока();
Товар = ВыбрТов;
Количество = Кол;
АктивизироватьСтроку();
КонецПроцедуры
Модуль документа «Расход»
Процедура ОбработкаПроведения()
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Регистр.ОстаткиТоваров.Товар=Товар;
Регистр.ОстаткиТоваров.Магазин=Магазин;
Регистр.ОстаткиТоваров.Количество=Количество;
Регистр.ОстаткиТоваров.ДвижениеРасходВыполнить();
КонецЦикла;
КонецПроцедуры
Модуль формы отчета «ОстаткиТоваров»
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Обрабатывать НеПомеченныеНаУдаление;
|Товар = Регистр.ОстаткиТоваров.Товар;
|Магазин = Регистр.ОстаткиТоваров.Магазин;
|Количество = Регистр.ОстаткиТоваров.Количество;
|Функция КоличествоКонОст = КонОст(Количество);
|Группировка Товар;
|Группировка Магазин;
|Условие(Товар в ВыбрТоварГруппа);
|Условие(Магазин в ВыбМагазин);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 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