№
|
Наименование статьи расходов
|
Затраты
|
1
|
Зарплата суммарная исполнителя
|
2
|
Страховые отчисления
|
1548,6
руб.
|
3
|
Затраты на эксплуатацию ПК, используемого для написания
программы
|
660 руб.
|
Итого:
|
|
8164,6руб.
|
Экономический эффект.
Рассчитаем экономический эффект получаемый за счет сокращения времени на
выполнение необходимых операций. Для этого нам потребуются следующие данные:
Т1 - время которое занимала одна операция.
До внедрения программного обеспечения сотрудник выполнял примерно 10
операций по поиску и вводу данных в день. На одну операцию он тратил
приблизительно 10 минут, т.к. определенную информацию приходилось искать в
бумажных архивах. Т1 = 10 мин. = 0.16 часа.
Тестирование показало, что время выполнения операции после внедрения
программного обеспечения стало занимать 5 минут вместо 8. Так как вся
информация уже находится в базе и надо всего лишь открыть необходимую форму,
которая выведет нам нужные данные; нет никакой необходимости отвлекать другого
сотрудника от работы либо производить ручной поиск в архиве. Т2 = 5
мин. = 0.08 часа.
Мы сократили время на
Т = Т1
- Т2 = 10 мин. - 5 мин. = 5 мин. = 0.08 часа.
Теперь
рассчитаем стоимость работы сотрудника.
В
месяц количество рабочих часов равно: 8 * 22 = 176.
Стоимость
одного часа работы высчитывается по формуле:
ч = ЗП / 176.
Заработная
плата сотрудника составляет 12000 руб. / месяц. Тогда стоимость одного часа
работы будет стоить 12000 / 176 = 68,2 руб.
Стоимость
экономии фондовых отчислений рассчитывается по формуле:
со = (ЗП * 0,26) / 176 =
(12000 * 0,26) / 176 = 17,7 руб.
В
итоге получается
сум = Pч + Pсо
= 68,2 + 17,7 = 85,9 руб.
Годовая
экономия времени рассчитывается по формуле: Тгод = Т * Q * кол-во рабочих дней в месяц * кол-во месяцев =
0.08 * 10 * 22 * 12 = 211.2 часа.
Годовая
экономия составит
Тгод * Pсум
= 211.2 * 85,9 = 18142 руб.
Вычтем
затраты и определим экономический эффект:
-8164,6=
9977,4 руб. в год
Теперь
посчитаем, за какое количество времени окупится приложение: Т = затраты / ЭФ =
9977,4 / 18142 = 0,5 года.
Таким
образом, если магазин по продаже продукции Zepter захочет
реализовать у себя данный программный продукт, то он окупится за 0,5 года.
Заключение
В дипломной работе на тему “Автоматизация товарного учета продукции Zepter” был автоматизирован процесс учета
поступлений и продаж товаров в магазине. Написанное приложение полностью
соответствует поставленной задаче.
Оценка экономической эффективности от внедрения приложения показала, что
проект экономически выгоден, срок его окупаемости составит 6 месяцев.
В конечном итоге разработанный мною проект “Автоматизация товарного учета
продукции Zepter” на «1С:Предприятие7.7». существенно
упростит работу сотрудника и сократит его рабочее время.
Литература
· “1C:Предприятие 7.7
Описание встроенного языка” 77.001.03 14 октября 2011г.
· “1C:Предприятие
7.7 Введение в конфигурирование ” 2010г.
· Официальный сайт компании 1С “ www.1C.ru”.
· “1C:Предприятие
7.7 Руководство по установке и запуску” 77.003.04
· “1C:Бухгалтерия
7.7Руководство по ведению учета (Описание типовой конфигурации редакции 4.5)”
77.450.02 8 сентября 2012г.
· “1C:Предприятие
7.7Конфигурирование и администрирование. Часть1 77.002.03 17 октября 2009г.
Приложение
Справочник. Товар
Форма элемента
1. Процедура ПриЗаписи()
2. если пустоезначение(наименование)=1 тогда
. предупреждение("Введите наименование товара!");
. статусвозврата(0);
. конецесли;
. если пустоезначение(цена)=1 тогда
. предупреждение("Введите цену товара!");
. статусвозврата(0);
. конецесли;
. КонецПроцедуры
Справочник. Поставщики
Форма элемента
1. Процедура ПриЗаписи()
2. если пустоезначение(наименование)=1 тогда
. предупреждение("Введите поставщика!");
. статусвозврата(0);
. конецесли;
. если пустоезначение(адрес)=1 тогда
. предупреждение("Введите адрес!");
. статусвозврата(0);
. конецесли;
. если пустоезначение(телефон)=1 тогда
. предупреждение("Введите телефон!");
. статусвозврата(0);
. конецесли;
. КонецПроцедуры
Справочник. Покупатели
Форма элемента
1. Процедура ПриЗаписи()
2. если пустоезначение(наименование)=1 тогда
. предупреждение("Введите покупателя!");
. статусвозврата(0);
. конецесли;
. если пустоезначение(телефон)=1 тогда
. предупреждение("Введите телефон!");
. статусвозврата(0);
. конецесли;
. КонецПроцедуры
Документ. Продажи
Форма элемента
1. Процедура Печ()
2. Таб = СоздатьОбъект("Таблица");
. таб.ИсходнаяТаблица("Таблица");
. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
. покк=Покупатель;
. проо=Продавец;
. квалл=Квалификация;
. Таб.ВывестиСекцию("Шапка");
. Выбратьстроки();
. пока получитьстроку()=1 цикл;
. _Ном = 0;
. ном=НомерСтроки;
. товв=Товар;
. колл=Количество;
. ценн=Цена;
. сумм=сумма;
. Таб.ВывестиСекцию("строка");
. конеццикла;
. итоо=Формат(Итог("сумма"), "Ч20.2-,");
. Таб.ВывестиСекцию("подвал");
. Таб.ТолькоПросмотр(1);
. Таб.Показать("Продажа","");
. Конецпроцедуры
Процедура Счет()
24. Перем Запрос, ТекстЗапроса;
25. если количество=0 тогда
. количество=1;
. конецесли;
. Цена=Товар.Цена;
. Квалификация=Продавец.Квалификация;
. Сумма= Цена*Количество;
. товв=товар;
. _Ном = 0;
. ном=НомерСтроки;
. Выбратьстроки();
. пока Получитьстроку()=1 цикл
. если товар=товв тогда
. Если _Ном > 0 Тогда
. товар = "";
. количество="";
. предупреждение("ТАКОЙ ТОВАР УЖЕ ЕСТЬ,выберете другой товар
или удалите строку!");
. _Ном = НомерСтроки;
. Прервать;
. КонецЕсли;
. _Ном = НомерСтроки;
. Конецесли;
. Стр = "";
. конеццикла;
. конецпроцедуры
Модуль документа
1. Процедура ОбработкаПроведения()
2. //проверка остатков
. рег=создатьобъект("регистр.Поступлениетовара") ;
. Если не(СравнитьТА() = 0 ) тогда
. рег.временныйрасчет(1);
. конецесли;
. РассчитатьРегистрыНа(текущийдокумент());
. Таб = создатьобъект("Таблицазначений") ;
. рег.ВыгрузитьИтоги(Таб,0,1);
. Выбратьстроки();
. пока Получитьстроку()=1 цикл
. Стр = "";
. Если Таб.НайтиЗначение(Товар,стр,1) = 1 Тогда
. таб.ПолучитьСтрокуПоНомеру(Стр);
. Стр = "";
. рег=регистр.Поступлениетовара;
. рег.ПривязыватьСтроку(НомерСтроки);
. рег.товар=товар;
. рег.сумма=сумма;
. кол=количество;
. Запрос = СоздатьОбъект("Запрос") ;
. ТекстЗапроса =
. "//{{ЗАПРОС(Сформировать)
. |Тов = Регистр.Поступлениетовара.Товар;
. |Кол = Регистр.Поступлениетовара.Количество;
. |Функция КоличествоКонОст = КонОст(Кол);
. |Условие(товар = тов);
. |Группировка тов;
. |";
. Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
. Возврат;
. КонецЕсли;
. Пока Запрос.Группировка(1) = 1 Цикл
. зК = запрос.кол;
. если зк<кол Тогда
. Предупреждение("В таком количестве товара
"+запрос.тов+" нет! " );
. непроводитьдокумент();
. возврат;
. конецесли;
. Если зк <= кол тогда
. рег.количество = зк; иначе
. рег.количество = КОЛ;
. конецесли;
. КОЛ = кол - зк;
. рег.движениерасходвыполнить();
. Если кол <= 0 тогда
. Прервать;
. КонецЕсли;
. КонецЦикла; иначе
. Предупреждение("Товара "+строка(Товар)+" нет на
складе! ") ;
. непроводитьдокумент();
. возврат;
. КонецЕсли;
. конеццикла;
. КонецПроцедуры
Документ. Переоценка
Форма элемента
1. Процедура перес()
2. Старая_цена=Товар.Цена;
. товв=товар;
. _Ном = 0;
. ном=НомерСтроки;
. Выбратьстроки();
. пока Получитьстроку()=1 цикл
. если товар=товв тогда
. Если _Ном > 0 Тогда
. товар = "";
. количество="";
. предупреждение("ТАКОЙ ТОВАР УЖЕ ЕСТЬ,выберете другой товар
или удалите строку!");
. _Ном = НомерСтроки;
. Прервать;
. КонецЕсли;
. _Ном = НомерСтроки;
. Конецесли;
. Стр = "";
. конеццикла;
. конецпроцедуры
. Процедура Печ()
. Таб = СоздатьОбъект("Таблица");
. таб.ИсходнаяТаблица("Таблица");
. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
. Таб.ВывестиСекцию("Шапка");
. Выбратьстроки();
. пока получитьстроку()=1 цикл;
. _Ном = 0;
. ном=НомерСтроки;
. товв=Товар;
. старр=Старая_цена;
. новв=Новая_цена;
. провв=Провел_переоценку;
. Таб.ВывестиСекцию("строка");
. конеццикла;
. провв=Провел_переоценку;
. Таб.ВывестиСекцию("подвал");
. Таб.ТолькоПросмотр(1);
. Таб.Показать("Продажа","");
. Конецпроцедуры
Модуль документа
1. Процедура ОбработкаПроведения()
2. рег=регистр.Переоценка;
. спр=создатьобъект("справочник.Товары");
. выбратьстроки();
. пока получитьстроку()=1 цикл
. спр.выбратьэлементы();
. Спр.НайтиЭлемент(Товар);
. Спр.Цена=Новая_цена;
. Спр.Записать();
. ПривязыватьСтроку(НомерСтроки);
. Рег.Товар=Товар;
. Рег.Новая_цена=Новая_цена;
. Рег.Старая_цена=Старая_цена;
. Рег.ДвижениеВыполнить();
. конеццикла;
. КонецПроцедуры
Документ. Заявка
Форма элемента
1. Процедура заяв()
2. Перем Запрос, ТекстЗапроса;
. если количество=0 тогда
. количество=1;
. конецесли;
. Телефон=Заказчик.Телефон;
. Цена=Товар.Цена;
. Сумма=Цена*Количество;
. товв=товар;
. _Ном = 0;
. ном=НомерСтроки;
. Выбратьстроки();
. пока Получитьстроку()=1 цикл
. если товар=товв тогда
. Если _Ном > 0 Тогда
. товар = "";
. количество="";
. предупреждение("ТАКОЙ ТОВАР УЖЕ ЕСТЬ,выберете другой товар
или удалите строку!");
. _Ном = НомерСтроки;
. Прервать;
. КонецЕсли;
. _Ном = НомерСтроки;
. Конецесли;
. Стр = "";
. конеццикла;
. Конецпроцедуры
. Процедура Печ()
. Таб = СоздатьОбъект("Таблица");
. таб.ИсходнаяТаблица("Таблица");
. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
. телл=Телефон;
. закк=Заказчик;
. Таб.ВывестиСекцию("Шапка");
. Выбратьстроки();
. пока получитьстроку()=1 цикл;
. _Ном = 0;
. ном=НомерСтроки;
. товв=Товар;
. колл=Количество;
. ценн=Цена;
. сумм=сумма;
. Таб.ВывестиСекцию("строка");
. конеццикла;
. итоо=Формат(Итог("сумма"), "Ч20.2-,");
. закк=Заказчик;
. прии=Принял_заказ;
. Таб.ВывестиСекцию("подвал");
. Таб.ТолькоПросмотр(1);
. Таб.Показать("Продажа","");
. Конецпроцедуры
Модуль документа
1. Процедура ОбработкаПроведения()
2. выбратьстроки();
. пока получитьстроку()=0 цикл
. если товар.выбран()=0 тогда
. предупреждение("Не выбран товар!!!");
. непроводитьдокумент();
. возврат;
. конецесли;
. конеццикла;
. если заказчик.выбран()=0 тогда
. предупреждение("Выберетие заказчика!!!");
. непроводитьдокумент();
. возврат;
. конецесли;
. если Принял_заказ.выбран()=0 тогда
. предупреждение("Выберетие продавец!!!");
. непроводитьдокумент();
. возврат;
. конецесли;
. КонецПроцедуры
Документ. Списание
Форма элемента
1. Процедура списс()
2. Перем Запрос, ТекстЗапроса;
. если количество=0 тогда
. количество=1;
. конецесли;
. Цена=Товар.Цена;
. Сумма=Количество*Цена;
. товв=товар;
. _Ном = 0;
. ном=НомерСтроки;
. конецпроцедуры
. Процедура Печ()
. Таб = СоздатьОбъект("Таблица");
. таб.ИсходнаяТаблица("Таблица");
. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
. Таб.ВывестиСекцию("Шапка");
. Выбратьстроки();
. пока получитьстроку()=1 цикл;
. _Ном = 0;
. ном=НомерСтроки;
. товв=Товар;
. колл=Количество;
. дефф=Дефект;
. ценн=Цена;
. сумм=сумма;
. конеццикла;
. ущщ=Формат(Итог("сумма"), "Ч20.2-,");
. обнн=Обнаружил_деффект;
. Таб.ВывестиСекцию("подвал");
. Таб.ТолькоПросмотр(1);
. Таб.Показать("Акт списания","");
.Конецпроцедуры
Модуль документа
1. Процедура ОбработкаПроведения()
2. Если Пустоезначение(Товар) = 0 тогда
. Предупреждение("Товар не выбран! " );
. НепроводитьДокумент();
. КонецЕсли;
. Регистр.Списание.Привязыватьстроку(1);
. Регистр.Списание.Обнаружил_деффект = Обнаружил_деффект;
. Выбратьстроки();
. Пока Получитьстроку() = 1 Цикл;
. Регистр.Списание.Товар = Товар;
. Регистр.Списание.Дефект = Дефект;
. Регистр.Списание.Количество = Количество;
. Регистр.Списание.Цена = Цена;
. Регистр.Списание.Сумма = Сумма;
. Регистр.Списание.ДвижениеРасходВыполнить();
. КонецЦикла;
Документ. Поступление товара
Форма элемента
1. Процедура счет()
2. Перем Запрос, ТекстЗапроса;
. если количество=0 тогда
. количество=1;
. конецесли;
. Цена=товар.цена;
. Сумма=Количество*Цена;
. Телефон=Поставщик.Телефон;
. Адрес=Поставщик.Адрес;
. Квалификация=Принял_товар.Квалификация;
. товв=товар;
. _Ном = 0;
. ном=НомерСтроки;
. Выбратьстроки();
. пока Получитьстроку()=1 цикл
. если товар=товв тогда
. Если _Ном > 0 Тогда
. товар = "";
. количество="";
. предупреждение("ТАКОЙ ТОВАР УЖЕ ЕСТЬ,выберете другой товар
или удалите строку!");
. _Ном = НомерСтроки;
. Прервать;
. КонецЕсли;
. _Ном = НомерСтроки;
. Конецесли;
. Стр = "";
. конеццикла;
. Конецпроцедуры
. Процедура Печ()
. Таб = СоздатьОбъект("Таблица");
. таб.ИсходнаяТаблица("Таблица");
. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
. посс=Поставщик;
. прии=Принял_товар;
. телл=Телефон;
. расс=Расчетный_счет;
. адд=Адрес;
. Таб.ВывестиСекцию("Шапка");
. Выбратьстроки();
. пока получитьстроку()=1 цикл;
. _Ном = 0;
. ном=НомерСтроки;
. товв=Товар;
. колл=Количество;
. ценн=Цена;
. сумм=сумма;
. Таб.ВывестиСекцию("строка");
. конеццикла;
. итоо=Формат(Итог("сумма"), "Ч20.2-,");
. Таб.ВывестиСекцию("подвал");
. Таб.ТолькоПросмотр(1);
. Таб.Показать("Продажа","");
.Конецпроцедуры
Модуль документа
1. Процедура ОбработкаПроведения()
2. Регистр.Поступлениетовара.Привязыватьстроку(1);
. Выбратьстроки();
. Пока Получитьстроку() = 1 Цикл
. Регистр.Поступлениетовара.Товар=Товар;
. Регистр.Поступлениетовара.Количество=Количество;
. Регистр.Поступлениетовара.Сумма=Сумма;
. Регистр.Поступлениетовара.ДвижениеПриходВыполнить();
. КонецЦикла;
. конецпроцедуры
Отчет. Отчет продаж
Форма диалога
1. Процедура Сформировать()
2. если пустоезначение(начдата)=1 тогда
. предупреждение("Выберете начальную дату формирования
отчета!");
. возврат;
. конецесли;
. если пустоезначение(кондата)=1 тогда
. предупреждение ("Выберете конечную дату формирования
отчета!");
. возврат;
. конецесли;
. если(кондата)<(начдата) тогда
. предупреждение ("Неправельный диапазон дат!");
. возврат;
. конецесли;
. ДатаТА=ПолучитьДатуТА();
. если кондата>ДатаТА тогда
. предупреждение ("Конечная дата запроса больше даты
актуальности итогов");
. возврат;
. конецесли;
. запр=создатьобъект("Запрос");
. текстзапроса="
. |период с начдата по кондата;
. |ОбрабатыватьДокументы Проведенные;
. |док=документ.Продажа.текущийдокумент;
. |Товар=документ.Продажа.Товар;
. |код=документ.Продажа.номерстроки;
. |количество=документ.Продажа.количество;
. |цена=документ.Продажа.цена;
. |сумма=документ.Продажа.сумма;
. |функция кондата=коност(сумма);
. |ФУНКЦИЯ колич=коност(количество);
. |Группировка товар без групп;
. |группировка код;
. |группировка док;";
. Если пустоезначение(Выбтов)=0 Тогда
. ТекстЗапроса = ТекстЗапроса +"
. |условие(Товар=выбтов);";
. КонецЕсли;
. запр.выполнить(Текстзапроса);
. Если Запр.Выполнить(ТекстЗапроса) = 0 Тогда
. Возврат;
. КонецЕсли;
. Таб = СоздатьОбъект("Таблица");
. Таб.ИсходнаяТаблица("Таблица");
. Таб.ВывестиСекцию("Шапка");
. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
. Пока запр.группировка(1)=1 Цикл
. Пока запр.группировка(2)=1 Цикл
. кол=запр.колич;
. тов=запр.товар;
. цена=запр.цена;
. сумм=запр.сумма;
. Таб.ВывестиСекцию("Строка_1");
. Пока запр.группировка(3)=1 Цикл
. д=запр.док;
. Таб.ВывестиСекцию("Строка_2");
. КонецЦикла;
. КонецЦикла;
. КонецЦикла;
. сумит= " "+запр.Кондата+": " ;
. Таб.ВывестиСекцию("Итог");
. Таб.ТолькоПросмотр(1);
. Таб.Показать("Отчет по продажам","");
. КонецПроцедуры
Отчет. Заказы
Форма диалога
1. Процедура Сформировать()
2. если пустоезначение(начдата)=1 тогда
. предупреждение("Выберете начальную дату формирования
отчета!");
. возврат;
. конецесли;
. если пустоезначение(кондата)=1 тогда
. предупреждение ("Выберете конечную дату формирования
отчета!");
. возврат;
. конецесли;
. если(кондата)<(начдата) тогда
. предупреждение ("Неправельный диапазон дат!");
. возврат;
. конецесли;
. ДатаТА=ПолучитьДатуТА();
. если кондата>ДатаТА тогда
. предупреждение ("Конечная дата запроса больше даты
актуальности итогов");
. возврат;
. конецесли;
. запр=создатьобъект("Запрос");
. текстзапроса="
. |период с начдата по кондата;
. |ОбрабатыватьДокументы Проведенные;
. |док=документ.Заявка.текущийдокумент;
. |Товар=документ.Заявка.Товар;
. |код=документ.Заявка.номерстроки;
. |количество=документ.Заявка.количество;
. |Покупатель=документ.Заявка.Заказчик;
. |цена=документ.Заявка.цена;
. |сумма=документ.Заявка.сумма;
. |функция кондата=коност(сумма);
. |ФУНКЦИЯ колич=коност(количество);
. |Группировка товар без групп;
. |группировка код;
. |группировка док;";
. Если пустоезначение(аа)=0 Тогда
. ТекстЗапроса = ТекстЗапроса +"
. |условие(покупатель=аа);";
. КонецЕсли;
. запр.выполнить(Текстзапроса);
. Если Запр.Выполнить(ТекстЗапроса) = 0 Тогда
. Возврат;
. КонецЕсли;
. Таб = СоздатьОбъект("Таблица");
. Таб.ИсходнаяТаблица("Таблица");
. Таб.ВывестиСекцию("Шапка");
. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
. Пока запр.группировка(1)=1 Цикл
. Пока запр.группировка(2)=1 Цикл
. кол=запр.колич;
. тов=запр.товар;
. покк=запр.покупатель;
. цена=запр.цена;
. сумм=запр.сумма;
. Таб.ВывестиСекцию("Строка_1");
. Пока запр.группировка(3)=1 Цикл
. д=запр.док;
. Таб.ВывестиСекцию("Строка_2");
. КонецЦикла;
. КонецЦикла;
. КонецЦикла;
. сумит= " "+запр.Кондата+": " ;
. Таб.ВывестиСекцию("Итог");
. Таб.ТолькоПросмотр(1);
. Таб.Показать("Отчет по продажам","");
. КонецПроцедуры
Отчет. Списание
Форма диалога
1. Процедура Сформировать()
2. если пустоезначение(начдата)=1 тогда
. предупреждение("Выберете начальную дату формирования
отчета!");
. возврат;
. конецесли;
. если пустоезначение(кондата)=1 тогда
. предупреждение ("Выберете конечную дату формирования
отчета!");
. возврат;
. конецесли;
. если(кондата)<(начдата) тогда
. предупреждение ("Неправельный диапазон дат!");
. возврат;
. конецесли;
. ДатаТА=ПолучитьДатуТА();
. если кондата>ДатаТА тогда
. предупреждение ("Конечная дата запроса больше даты
актуальности итогов");
. возврат;
. конецесли;
. запр=создатьобъект("Запрос");
. текстзапроса="
. |период с начдата по кондата;
. |ОбрабатыватьДокументы Проведенные;
. |док=документ.Списание.текущийдокумент;
. |Товар=документ.Списание.Товар;
. |код=документ.Списание.номерстроки;
. |количество=документ.Списание.количество;
. |цена=документ.Списание.цена;
. |сумма=документ.Списание.сумма;
. |Дефект=документ.Списание.Дефект;
. |функция кондата=коност(сумма);
. |ФУНКЦИЯ колич=коност(количество);
. |Группировка товар без групп;
. |группировка код;
. |группировка док;";
. запр.выполнить(Текстзапроса);
. Если Запр.Выполнить(ТекстЗапроса) = 0 Тогда
. Возврат;
. КонецЕсли;
. Таб = СоздатьОбъект("Таблица");
. Таб.ИсходнаяТаблица("Таблица");
. Таб.ВывестиСекцию("Шапка");
. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
. Пока запр.группировка(1)=1 Цикл
. Пока запр.группировка(2)=1 Цикл
. кол=запр.колич;
. дефф=запр.дефект;
. тов=запр.товар;
. цена=запр.цена;
. сумм=запр.сумма;
. Таб.ВывестиСекцию("Строка_1");
. Пока запр.группировка(3)=1 Цикл
. д=запр.док;
. Таб.ВывестиСекцию("Строка_2");
. КонецЦикла;
. КонецЦикла;
. КонецЦикла;
. сумит= " "+запр.Кондата+": " ;
. Таб.ВывестиСекцию("Итог");
. Таб.ТолькоПросмотр(1);
. Таб.Показать("Отчет по списанию товара","");
. КонецПроцедуры
Отчет. Поступление
Форма диалога
1. Процедура Сформировать()
2. если пустоезначение(начдата)=1 тогда
. предупреждение("Выберете начальную дату формирования
отчета!");
. возврат;
. конецесли;
. если пустоезначение(кондата)=1 тогда
. предупреждение ("Выберете конечную дату формирования
отчета!");
. возврат;
. конецесли;
. если(кондата)<(начдата) тогда
. предупреждение ("Неправельный диапазон дат!");
. возврат;
. конецесли;
. ДатаТА=ПолучитьДатуТА();
. если кондата>ДатаТА тогда
. предупреждение ("Конечная дата запроса больше даты
актуальности итогов");
. возврат;
. конецесли;
. запр=создатьобъект("Запрос");
. текстзапроса="
. |период с начдата по кондата;
. |ОбрабатыватьДокументы Проведенные;
|док=документ.Поступление_товара.текущийдокумент;
. |Товар=документ.Поступление_товара.Товар;
. |код=документ.Поступление_товара.номерстроки;
. |количество=документ.Поступление_товара.количество;
. |цена=документ.Поступление_товара.цена;
. |сумма=документ.Поступление_товара.сумма;
. |функция кондата=коност(сумма);
. |ФУНКЦИЯ колич=коност(количество);
. |Группировка товар без групп;
. |группировка код;
. |группировка док;";
. Если пустоезначение(Выбтов)=0 Тогда
. ТекстЗапроса = ТекстЗапроса +"
. |условие(Товар=выбтов);";
. КонецЕсли;
. запр.выполнить(Текстзапроса);
. Если Запр.Выполнить(ТекстЗапроса) = 0 Тогда
. Возврат;
. КонецЕсли;
. Таб = СоздатьОбъект("Таблица");
. Таб.ИсходнаяТаблица("Таблица");
. Таб.ВывестиСекцию("Шапка");
. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
. Пока запр.группировка(1)=1 Цикл
. Пока запр.группировка(2)=1 Цикл
. кол=запр.колич;
. тов=запр.товар;
. цена=запр.цена;
. сумм=запр.сумма;
. Таб.ВывестиСекцию("Строка_1");
. Пока запр.группировка(3)=1 Цикл
. д=запр.док;
. Таб.ВывестиСекцию("Строка_2");
. КонецЦикла;
. КонецЦикла;
. КонецЦикла;
. сумит= " "+запр.Кондата+": " ;
. Таб.ВывестиСекцию("Итог");
. Таб.ТолькоПросмотр(1);
. Таб.Показать("Отчет по продажам","");
. КонецПроцедуры
Отчет. Остаток товара
1. Процедура Сформировать()
2. если пустоезначение(начдата)=1 тогда
. предупреждение("Выберете начальную дату формирования
отчета!");
. возврат;
. конецесли;
. если пустоезначение(кондата)=1 тогда
. предупреждение("Выберете конечную дату формирования
отчета!");
. возврат;
. конецесли;
. если(кондата)<(начдата) тогда
. предупреждение("Неправельный диапазон дат!");
. возврат;
. конецесли;
. ДатаТА=ПолучитьДатуТА();
. если кондата>ДатаТА тогда
. предупреждение("Конечная дата запроса больше даты
актуальности итогов");
. возврат;
. конецесли;
. запр=создатьобъект("запрос");
. текстзапроса="
. |период с начдата по кондата;
. |товар=регистр.Поступлениетовара.товар;
. |количество=регистр.Поступлениетовара.количество;
. |функция коностк=коност(количество);
. |группировка количество без групп;
. |группировка товар без групп ;
. |";
. Если ПустоеЗначение(Выбтовар) = 0 Тогда
. ТекстЗапроса = ТекстЗапроса + "Условие(товар = Выбтовар);
. |";
. КонецЕсли;
. Если пустоезначение(Выбтов)=0 Тогда
. ТекстЗапроса = ТекстЗапроса +"
. |условие(Товар=выбтов);";
. КонецЕсли;
. запр.выполнить(текстзапроса) ;
. Таб = СоздатьОбъект("Таблица");
. Таб.ИсходнаяТаблица("Таблица");
. Таб.ВывестиСекцию("Шапка");
. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
. Пока запр.группировка(1)=1 Цикл
. Пока запр.группировка(2)=1 Цикл
. товв=запр.товар;
. колл= запр.коностк;
. Таб.ВывестиСекцию("Строка");
. КонецЦикла;
. КонецЦикла;
. Таб.ВывестиСекцию("Подвал");
. Таб.ТолькоПросмотр(1);
. Таб.Показать("Остатки товара","");
. КонецПроцедуры