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

6.2. Создание отчета

Создать отчет, имеющий свою отдельную форму.

  1. В дереве метаданных, в разделе "Отчеты", создать новый отчет.

  2. Идентификатор - "Взаиморасчеты".

  3. Добавить поле ввода. Идентификатор - ВыбДата, тип - дата.

  4. В модуле формы написать:

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

// Запрос — специальный объект в 1С, служит для получения

струк¬турированной // выборки данных Т3="

|Период с ВыбДата по ВыбДата;

|Контр = Регисгр.Взаиморасчеты.Контрагент;

|Дог = Регистр.Взаиморасчеты.Договор;

|Сум = Регистр.Взаиморасчеты.Сумма;

|(Функция СумКонОст = КонОст(Сум);

|(Группировка Контр упорядочить по Контр.Код;

|";'

// Это текст запроса

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

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

Возврат;

КонецЕсли;

// Если запрос будет не выполнен по какой либо причине, метод

Вы¬поли ить()

// вернет 0. Мы сообщим пользователю о произошедшей ошибке, и //

командой Возврат—прервем выполнение процедуры ИтогоМы=0;

Ито гоНам =0;

// В этих двух переменных мы будем хранить итоговую информацию

по долгу

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

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

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

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

// Получаем очередную запись из запроса

ТЭ=Запрос.Контр;

// Во временную переменную передаем значение выборки Д

олг=3апрос.Cум КонОст;

// Определяем суммарный долг по текущему значению выборки

Если ТЭ.ЭтоГруппа()=1 Тогда

НазГр=СокрЛП(ТЭ .Наименование);

Если Долг=Ю Тогда

ИначеЕсли Долг>0 Тогда

Мы=Долг;

Нам=0;

ИначеЕсли Долг<0 Тогда

Мы=0;

Нам=-Долг;

КонецЕсли;

Таб.ВывестиСекцию("Группа"); Иначе

Наз="("+СокрЛП(Строка(ТЭ.Код))+")

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

Если Долг--0 Тогда

Продолжить;

ИначеЕсли Долг>0 Тогда

Мы=Долг;

Нам=0;

ИтогоМы=ИтогоМы+Мы; ИначеЕсли Долг<0 Тогда

Мы=0; Нам=-Долг;

ИтогоНам=ИтогоНам+Нам; КонецЕсли;

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

КонецЕсли;

КонецЦикла;

Таб.ВывестиСекцию("Итого"); Таб.ТолькоПросмотр(1);

Таб.ПараметрыСтраницы( 1,100,1); Таб.Показать(""); КонецПроце

дуры

  1. Перейти на закладку таблицы, создать шаблон.

  2. Закрыть форму отчета.

  3. Сохранить конфигурацию.

  4. Войти в 1С:Предприятие.

  5. Через меню Отчеты вызываем отчет "Взаиморасчеты".

  6. Установить дату 02.10.2003.

  7. Нажать [Сформировать].

Далее необходимо создать документ "Выплата денег", который будет практически аналогичен документу "Приход денег". Поэтому его можно создать простым копированием и потом внести в него ряд небольших изменений.

  1. В дереве метаданных скопировать документ "ПриходДенег" в буфер обмена Windows.

  2. Вставить из буфера обмена в раздел "Документы" копию.

  3. Изменить Идентификатор на "ВыплатаДенег", аналогично изменить Синоним и комментарий.

  4. В модуле проведения документа вместо строки: Регистр.Взаиморасчеты.ДвижениеПриходВыполнить() написать

Регистр. Взаиморасчеты. ДвижениеРасходВыполнить().

  1. В модуле проведения документа вместо строки: Регистр. Взаиморасчеты. Флаг Движения = 4

написать

Регистр.Взаиморасчеты.ФлагДвижения = 3.

  1. В журнале "ДвижениеДенег" изменить реквизит "Сумма".

  2. В выбранные значения добавить реквизит "Сумма" из нового документа.

  3. Сохранить конфигурацию.

  4. Открыть 1С:Г1редприятие.

  5. Создать новый документ типа "Выплата денег". Заполнить его. Сохранить. Провести и посмотреть на движения, которые сформировал документ и результат, который выдаст нам отчет.