Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчеты 6-15 по 1С.docx
Скачиваний:
5
Добавлен:
28.08.2019
Размер:
102.48 Кб
Скачать

Практическая работа №11 Создание отчета Остатки материалов по свойствам

Цель: научиться использовать конструктор схемы компоновки данных, познакомиться с некоторыми конструкциями языка запросов, научиться использовать диаграммы в отчетах.

  1. Создать в конфигураторе новый объект конфигурации Отчет, присвоить ему имя ОстаткиМатериаловПоСвойствам.

  2. На закладке Основные нажать кнопку Открыть схему компоновки данных. В открывшемся окне нажать Готово.

  3. В конструкторе схемы компоновки данных создать Набор данных – запрос. Запустить конструктор запроса.

  4. В качестве источника данных для запроса выбрать виртуальную таблицу регистра накопления ОстаткиМатериалов.ОстаткиИОбороты.

  5. Перейти на закладку Объединения/Псевдонимы задать псевдонимы числовых полей без слова «Количество». На этом создание запроса завершено.

  6. Перейти на закладку Характеристики и выполнить команду Добавить. Описать поля следующим образом: первое поле – Тип значения – выбрать тип СправочникСсылка.ВариантыНоменклатуры.

  7. В поле Источник выбрать Таблица, а в поле Список характеристик выбрать – ПланВидовХарактеристик.СвойстваНоменклатуры.

  8. В поле Идентификатор выбрать Ссылка, в поле Имя – Наименование, в поле Тип – ТипЗначения. Источник – Таблица, Объект – НаборСвойств, Идентификатор – ВидСвойства, в поле Значение выбрать Значение.

  9. На этом создание запроса закончено. Нажать ОК.

  10. В результате конструктор должен был сформировать запрос следующего вида:

  11. Выполнить редактирование схемы компоновки данных. Перейти на закладку Ресурсы и выбрать все доступные ресурсы (как на рисунке).

  12. Перейти на закладку Настройки и создать структуру отчета - добавить новую группировку Детальные записи. Затем на закладке Выбранные поля задать поля, которые будут выводиться в отчет

  13. Перейти на закладку Другие настройки, задать заголовок отчета – ОстаткиМатериаловПоСвойствам.

  14. Запустить 1С:Предприятие в режиме отладки и открыть отчет Остатки материалов по свойствам. Нажать Сформировать

  15. Выполнить следующую настройку отчета. Открыть закладку Настройки, выбрать Отбор и раскрыть ветку Набор Свойств, выбрать поле Сечение, мм2 и задать для него условие равенства 2,5.

  16. Сформировать новый отчет по материалам черного цвета

  17. Сформировать новый отчет по материалам – электрическим кабелям белого цвета.

Вывод: научились использовать конструктор схемы компоновки данных, познакомиться с некоторыми конструкциями языка запросов, научиться использовать диаграммы в отчетах.

Практическая работа №12 Оптимизация документа Оказание услуг

Цель работы: изучить приемы создания движения документа по нескольким регистрам с помощью конструктора

Ход работы:

  1. Выбрать из виртуальной таблицы ОстаткиМатериалов.ОстаткиНаСкладе поле КоличествоОстаток

  2. Задание условий между таблицами. Перейти на закладку Связи. Каждую из виртуальных таблиц необходимо связать с таблицей документа таким образом, что для всех записей таблицы документа должны подбираться имеющиеся записи виртуальной таблицы, причем номенклатура в таблице документа должна быть равна материалу из виртуальной таблицы. Установить связи в соответствии с рисунком.

  3. Перейти на закладку Дополнительно и установить флаг Блокировать получаемые данные Для последующего изменения. Данная команда позволяет заблаговременно заблокировать чтение указанных данных уже при считывании, чтобы исключить взаимные блокировки данных.

  4. Перенести таблицы ОстаткиМатериалов.Остатки и СтоимостьМатериалов.Остатки в раздел Таблицы для изменения

  5. Перейти на закладку Условия и задать условие отбора из таблицы документа только строк проводимого документа (ссылка на него будет передана в параметр запроса Ссылка)

  6. Перейти на закладку Псевдонимы и задать следующие псевдонимы полей

  7. Нажать ОК и просмотреть, какой запрос сформировал конструктор

  8. Текст запроса для случая неоперативного проведения документа будет практически таким же, за исключением того, что в нем будет отсутствовать третье левое соединение.

  9. Перед оператором Иначе добавить команду запроса

  10. Следующий фрагмент программы служит для проверки на складе достаточного количества номенклатуры и устанавливается в тело цикла ВыборкиРезультатаЗапроса.Следующий () Цикл

//Проверить остаток при оперативном проведении

Если Режим = РежимПроведенияДокумента.Оперативный Тогда

Если ВыборкаРезультатаЗапроса.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда

Остаток = ?(ВыборкаРезультатаЗапроса.КоличествоОстатокНаСкладе = Null, 0, ВыборкаРезультатаЗапроса.КоличествоОстатокНаСкладе);

Если Остаток < ВыборкаРезультатаЗапроса.Количество

Тогда

Сообщить("Материала " + СокрЛП(ВыборкаРезультатаЗапроса.Номенклатура) + " имеется только " + Остаток);

Отказ = Истина;

Возврат;

КонецЕсли;

КонецЕсли;

КонецЕсли;

// Сформировать движения.

Если ВыборкаРезультатаЗапроса.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда

// Регистр ОстаткиМатериалов Расход.

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ВыборкаРезультатаЗапроса.Номенклатура;

Движение.Склад = Склад;

Движение.Количество = ВыборкаРезультатаЗапроса.Количество;

// Регистр СтоимостьМатериалов Расход.

Движение = Движения.СтоимостьМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ВыборкаРезультатаЗапроса.Номенклатура;

// Рассчитать стоимость материала.

СтоимостьМатериала = ?(ВыборкаРезультатаЗапроса.КоличествоОстаток = Null, 0, ВыборкаРезультатаЗапроса.СтоимостьОстаток / ВыборкаРезультатаЗапроса.КоличествоОстаток);

Движение.Стоимость = СтоимостьМатериала * ВыборкаРезультатаЗапроса.Количество;

КонецЕсли;

// Регистр Продажи.

Движение = Движения.Продажи.Добавить();

Движение.Период = Дата;

Движение.Номенклатура = ВыборкаРезультатаЗапроса.Номенклатура;

Движение.Клиент = Клиент;

Движение.Мастер = Мастер;

Движение.Количество = ВыборкаРезультатаЗапроса.Количество;

Движение.Выручка = ВыборкаРезультатаЗапроса.Сумма;

Если ВыборкаРезультатаЗапроса.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда

Движение.Стоимость = СтоимостьМатериала * ВыборкаРезультатаЗапроса.Количество;

Иначе

Движение.Стоимость = 0;

КонецЕсли;

// Записать движения регистров.

Движения.ОстаткиМатериалов.Записать();

Движения.СтоимостьМатериалов.Записать();

Движения.Продажи.Записать();

Вывод: изучили приемы создания движения документа по нескольким регистрам с помощью конструктора.