Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа_1C__2_1.doc
Скачиваний:
19
Добавлен:
10.05.2015
Размер:
543.23 Кб
Скачать

2.26 Отчет по прибыли с товара

В регистре "ОстаткиТовара" мы хранили такую информацию, как сумма поступления и сумма реализации. Создадим отчет, показывающий прибыль, которую мы получили в результате нашей хозяйственной деятельности.

  1. Создаем новый отчет "Прибыль";

  2. Добавим поле ввода ДатаН – тип Дата, формула ДатаН();

  3. Добавим поле ввода ДатаК – тип Дата, формула ДатаК();

  4. Добавим поле ввода Склад – тип С.Склады;

  5. Добавим кнопку [Х]. Пропишем в поле Формула свойств кнопки Склад="", этой кнопкой мы будем очищать поле "Склад";

  6. Пропишем процедуры в модуле формы: Процедура ДатаН()   Если ДатаН>ДатаК Тогда     ДатаН=ДатаК;   КонецЕсли; КонецПроцедуры //----------------------------------------------- Процедура ДатаК()   Если  ДатаК<ДатаН Тогда     ДатаК=ДатаН;   ИначеЕсли ДатаК>ПолучитьДатуТА() Тогда     ДатаК=ПолучитьДатуТА();   КонецЕсли; КонецПроцедуры //----------------------------------------------- Процедура Сформировать()   Запрос=СоздатьОбъект("Запрос");   ТекстЗапроса="   |Период с ДатаН по ДатаК;   |Скл = Регистр.ОстаткиТоваров.Склад;   |Товар = Регистр.ОстаткиТоваров.Товар;   |Сорт = Регистр.ОстаткиТоваров.Сорт;   |Количество = Регистр.ОстаткиТоваров.Количество;   |СуммаП = Регистр.ОстаткиТоваров.СуммаП;   |СуммаД = Регистр.ОстаткиТоваров.СуммаД;   |Ф = Регистр.ОстаткиТоваров.ФлагДвижения;   |Функция КоличРасходС = Расход(Количество) когда(Ф=1);   |Функция СуммаПРасход = Расход(СуммаП) когда(Ф=1);   |Функция СуммаДРасход = Расход(СуммаД) когда(Ф=1);   |Группировка Товар упорядочить по Товар.Код без групп;   |Группировка Сорт упорядочить по Сорт.Код;"; // Мы не хотим в запросе получать группы товара (для примера)   СклТекст="По всем складам";   Если Склад.Выбран()=1 Тогда     СклТекст="По складу: "+СокрЛП(Склад.Наименование);     ТекстЗапроса=ТекстЗапроса+"     |Условие(Скл=Склад);";   КонецЕсли;   Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда     Сообщить("Запрос не выполнен");     Возврат;   КонецЕсли;   Таб=СоздатьОбъект("Таблица");   Таб.ИсходнаяТаблица("");   ИтКолРасх = Запрос.КоличРасходС;   ИтСумПРас = Запрос.СуммаПРасход;   ИтСумДРас = Запрос.СуммаДРасход;   ИтПрибыль = ИтСумДРас-ИтСумПРас;   Таб.ВывестиСекцию("Шапка");   Пока Запрос.Группировка("Товар")=1 Цикл     ТТов=Запрос.Товар;     Тов=СокрЛП(ТТов.Код)+" ("+СокрЛП(ТТов.Наименование)+")";     КолРасх = Запрос.КоличРасходС;     СумПРас = Запрос.СуммаПРасход;     СумДРас = Запрос.СуммаДРасход;     Прибыль = СумДРас-СумПРас;     Таб.ВывестиСекцию("Товар");     Пока Запрос.Группировка("Сорт")=1 Цикл       Срт=Запрос.Сорт;       КолРасх = Запрос.КоличРасходС;       СумПРас = Запрос.СуммаПРасход;       СумДРас = Запрос.СуммаДРасход;       Прибыль = СумДРас-СумПРас;       Таб.ВывестиСекцию("Сорт");     КонецЦикла;   КонецЦикла;   Таб.ВывестиСекцию("Итого");   Таб.ТолькоПросмотр(1);   Таб.ПараметрыСтраницы(1,100,1);   Таб.Показать(""); КонецПроцедуры

  7. Создадим шаблон печатной формы;

2.27 Отчет по обороту товара

Сформируем отчет по товарообороту. Для него мы возьмем данные из регистра "ОборотыТоваров".

  1. Создаем новый отчет "ТоварооборотПоСкладу";

  2. Добавим поле ввода ДатаН – тип Дата, формула ДатаН();

  3. Добавим поле ввода ДатаК – тип Дата, формула ДатаК();

  4. Добавим поле ввода Склад – тип С.Склады;

  5. Добавим кнопку [Х]. Пропишем в поле Формула свойств кнопки Склад="", этой кнопкой мы будем очищать поле "Склад";

  6. Пропишем процедуры в модуле формы: //----------------------------------------------- Процедура ДатаН()   Если ДатаН>ДатаК Тогда     ДатаН=ДатаК;   КонецЕсли; КонецПроцедуры //----------------------------------------------- Процедура ДатаК()   Если  ДатаК<ДатаН Тогда     ДатаК=ДатаН;   ИначеЕсли ДатаК>ПолучитьДатуТА() Тогда     ДатаК=ПолучитьДатуТА();   КонецЕсли; КонецПроцедуры //----------------------------------------------- Процедура Сформировать()   Запрос=СоздатьОбъект("Запрос");   ТекстЗапроса="   |Период с ДатаН по ДатаК;   |Скл = Регистр.ОборотыТоваров.Склад;   |Тов = Регистр.ОборотыТоваров.Товар;   |Срт = Регистр.ОборотыТоваров.Сорт;   |Кол = Регистр.ОборотыТоваров.Количество;   |Сум = Регистр.ОборотыТоваров.СуммаУ;   |Функция КолСум = Сумма(Кол);   |Функция СумСум = Сумма(Сум);   |Группировка Тов упорядочить по Тов.Код без групп;   |Группировка Срт упорядочить по Сорт.Код;";   СклТекст="По всем складам";   Если Склад.Выбран()=1 Тогда     СклТекст="По складу: "+СокрЛП(Склад.Наименование);     ТекстЗапроса=ТекстЗапроса+"     |Условие(Скл=Склад);";   КонецЕсли;   Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда     Сообщить("Запрос не выполнен");     Возврат;   КонецЕсли;   Таб=СоздатьОбъект("Таблица");   Таб.ИсходнаяТаблица("");   ИтКолСум = Запрос.КолСум;   ИтСумСум = Запрос.СумСум;   Таб.ВывестиСекцию("Шапка");   Пока Запрос.Группировка("Товар")=1 Цикл     ТТов=Запрос.Товар;     Тов=СокрЛП(ТТов.Код)+" ("+СокрЛП(ТТов.Наименование)+")";     КолСум = Запрос.КолСум;     СумСум = Запрос.СумСум;     Таб.ВывестиСекцию("Товар");     Пока Запрос.Группировка("Сорт")=1 Цикл       Срт=Запрос.Сорт;       КолСум = Запрос.КолСум;       СумСум = Запрос.СумСум;       Таб.ВывестиСекцию("Сорт");     КонецЦикла;   КонецЦикла;   Таб.ВывестиСекцию("Итого");   Таб.ТолькоПросмотр(1);   Таб.ПараметрыСтраницы(1,100,1);   Таб.Показать(""); КонецПроцедуры

  7. Создадим шаблон печатной формы;

  8. Теперь мы можем загрузить 1С:Предприятие и посмотреть, что нам выдадут наши отчеты;