Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИСиТ. Методичка.doc
Скачиваний:
25
Добавлен:
04.11.2018
Размер:
745.47 Кб
Скачать

10.3. Создание отчета по прибыли с товара

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

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

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

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

  4. Добавить поле ввода Склад - тип С.Склады.

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

  6. Прописать процедуры в модуле формы:

Процедура ДатаН()

ДатаК-Получит.ьДатуТА();

Если ДатаН>ДатаК Тогда

ДатаН=ДатаК;

КонецЕсли;

КонецПроцедуры

//-

Процедура ДатаК() Если ДатаК<ДатаН Тогда ДатаК=ДатаН;

ИначеЕсли ДатаК>ПолучитьДатуТА() Тогда

ДатаК^ПолучитьДатуТА();

КонецЕсли;

КонецПроцедуры

//-

Процедура Сформировать()

Запрос=СоздатьОбъект("Запрос"); Те кстЗапроса=" |Период с ДатаН

по ДатаК; |Скл = Регистр.ОстаткиТоваров.Склад; |Товар =

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

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

Регистр.ОстаткиТоваров.СуммаП; |СуммаД =

Регистр.ОстаткиТоваров.С'уммаД; |Ф =

Регистр.ОстаткиТоваров.ФлагДвижения; {Функция КоличРасходС

= Расход(Количество) когда(Ф=1); {Функция СуммаПРасход =

Расход(СуммаП) когда(Ф=1); |Функция СуммаДРасход =

Расход(СуммаД) когда(Ф=1); (Группировка Товар упорядочить по

Товар.Код без групп; // Мы не хотим в запросе получать группы

товара (для примера) СклТекст="По всем складам"; Если

Склад.Выбран()=1 Тогда СклТекст="По складу:

"+СокрЛП(Склад.Наименование); _ГекстЗапроса=ТекстЗапроса+"

|Условие(Скл=Склад);"; КонецЕсли;

Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда

Сообщит]^ "Запрос не выполнен"); Возврат;

КонецЕсли;

Таб--СоздатьОбъект("Таблица"); Таб.

Исходная Таблица(""); ИтКолРасх =

Запрос.КоличРасходС; ИтСум1 IPac =

Запрос.СуммаПРасход; ИтСумДРас =

Запрос.СуммаДРасход; ИгПрибыль

ИтСумДРас-ИтСумПРас; Таб. В ы

вестиСекцию("Шапка"); Пока

Запрос.Группировка("Товар")=1 Цикл

ТТов=Запрос.Товар;

Тов=СокрЛП(ТТов.Код)+" ("+СокрЛП(ТТов.Наименование)+")";

КолРасх =* Запрос.КоличРасходС; СумПРас =

Запрос.СуммаПРасход; СумДРас Запрос.СуммаДРасход; Прибыль =

СумДРас-СумПРас; Таб. В ы вестиСекцию( "Товар"); КонеиЦикла;

Габ.ВывестиСекцию("Итого");

Таб.ТолькоГ1росмотр( 1); Таб.ПараметрыСтраницы( 1,100,1); Таб.

Показать(" "); КонецПроцедуры

  1. Создать шаблон печатной формы.

10.4. Создание отчета по обороту товара

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

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

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

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

  4. Добавить поле ввода Склад - тип С.Склады.

  5. Добавить кнопку [X]. Прописать в поле Формула свойств кнопки Склад.

  6. Прописать процедуры в модуле формы:

Процедура ДатаЩ) ДатаК=ПолучитьДатуТА(): Если ДатаН>ДатаК

Тогда ДатаН=ДатаК; КонецЕсли;

КонецПроцедуры //

Процедура ДатаК() Если ДатаК<ДатаН Тогда ДатаК^ ДатаН;

ИначеЕсли ДатаК>ПолучитьДатуТА() Тогда

ДатаК=ПолучитьДатуТА();

КонецЕсли;

КонецПроцедуры //

Процедура Сформировать() Запрос=СоздатьОбъект( "Запрос");

ТекстЗапроса="

[Период с ДатаН по ДатаК;

|Скл = Регистр.ОборотыТоваров.Склад;

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

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

|Сум = Регистр.ОборотыТоваров.СуммаУ;

[Функция КолСум = Сумма(Кол);

[Функция СумСум = Сумма(Сум);

[Группировка Тов упорядочить по Тов.Код без групп;

СклТекст="По всем складам";

Если Склад.Выбран()^1 Тогда

СклТекст="По складу: "+СокрЛП(Склад.Наименование);

ТекстЗапроса=ТекстЗапроса+"

|Условие(Скл=Склад);";

КонецЕсли;

Если Запрос. Выполнить(ТекстЗапроса)=0 Гогда

Сообщить("Запрос не выполнен");

Возврат;

КонецЕсли;

Таб-СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("м);

ИтКолСум - Запрос.КолСум;

ИтСумСум — Запрос.СумСум;

Таб.ВывестиСекцию("Шапка");

Пока Запрос.Группировка("Товар")=1 Цикл

ТТов^Запрос.Товар;

Тов^СокрЛГ^ТТов.Код)-*-" ("+СокрЛП(ТТов.Наименование)т")";

КолСум - Запрос.КолСум;

СумСум = Запрос. СумСум;

Таб.ВывестиСекцию("Товар");

КонецЦикла;

Таб.ВывестиСекцию("Итого");

Таб.ТолькоПросмотр( 1);

Таб.11араметрыСтраницы( 1,100,1);

Таб.Показать("");

КонецПроцедуры

  1. Создать шаблон печатной формы.

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