- •Практическая работа № 6 Проведение документа по нескольким регистрам
- •Изменение процедуры проведения документа «Оказание услуги»
- •Практическая работа №7 Создание отчетов
- •Практическая работа №8 Создание отчетов
- •Практическая работа №9 Создание универсальных отчетов
- •Практическая работа №10 Создание плана видов характеристик
- •Доработка справочника Варианты номенклатуры
- •Доработка регистра Остатки материалов
- •Доработка документа Приходная накладная
- •Практическая работа №11 Создание отчета Остатки материалов по свойствам
- •На закладке Основные нажать кнопку Открыть схему компоновки данных. В открывшемся окне нажать Готово.
- •В конструкторе схемы компоновки данных создать Набор данных – запрос. Запустить конструктор запроса.
- •Практическая работа №12 Оптимизация документа Оказание услуг
- •Практическая работа №13 Создание объекта конфигурации План видов характеристик Виды субконто
- •Практическая работа №14 Создание плана видов расчета
- •Создание отчета Начисления сотрудникам
- •Практическая работа №15 Выполнение заданий по расписанию. Подсистемы. Интерфейс, роли
Практическая работа №11 Создание отчета Остатки материалов по свойствам
Цель: научиться использовать конструктор схемы компоновки данных, познакомиться с некоторыми конструкциями языка запросов, научиться использовать диаграммы в отчетах.
Создать в конфигураторе новый объект конфигурации Отчет, присвоить ему имя ОстаткиМатериаловПоСвойствам.
На закладке Основные нажать кнопку Открыть схему компоновки данных. В открывшемся окне нажать Готово.
В конструкторе схемы компоновки данных создать Набор данных – запрос. Запустить конструктор запроса.
В качестве источника данных для запроса выбрать виртуальную таблицу регистра накопления ОстаткиМатериалов.ОстаткиИОбороты.
Перейти на закладку Объединения/Псевдонимы задать псевдонимы числовых полей без слова «Количество». На этом создание запроса завершено.
Перейти на закладку Характеристики и выполнить команду Добавить. Описать поля следующим образом: первое поле – Тип значения – выбрать тип СправочникСсылка.ВариантыНоменклатуры.
В поле Источник выбрать Таблица, а в поле Список характеристик выбрать – ПланВидовХарактеристик.СвойстваНоменклатуры.
В поле Идентификатор выбрать Ссылка, в поле Имя – Наименование, в поле Тип – ТипЗначения. Источник – Таблица, Объект – НаборСвойств, Идентификатор – ВидСвойства, в поле Значение выбрать Значение.
На этом создание запроса закончено. Нажать ОК.
В результате конструктор должен был сформировать запрос следующего вида:
Выполнить редактирование схемы компоновки данных. Перейти на закладку Ресурсы и выбрать все доступные ресурсы (как на рисунке).
Перейти на закладку Настройки и создать структуру отчета - добавить новую группировку Детальные записи. Затем на закладке Выбранные поля задать поля, которые будут выводиться в отчет
Перейти на закладку Другие настройки, задать заголовок отчета – ОстаткиМатериаловПоСвойствам.
Запустить 1С:Предприятие в режиме отладки и открыть отчет Остатки материалов по свойствам. Нажать Сформировать
Выполнить следующую настройку отчета. Открыть закладку Настройки, выбрать Отбор и раскрыть ветку Набор Свойств, выбрать поле Сечение, мм2 и задать для него условие равенства 2,5.
Сформировать новый отчет по материалам черного цвета
Сформировать новый отчет по материалам – электрическим кабелям белого цвета.
Вывод: научились использовать конструктор схемы компоновки данных, познакомиться с некоторыми конструкциями языка запросов, научиться использовать диаграммы в отчетах.
Практическая работа №12 Оптимизация документа Оказание услуг
Цель работы: изучить приемы создания движения документа по нескольким регистрам с помощью конструктора
Ход работы:
Выбрать из виртуальной таблицы ОстаткиМатериалов.ОстаткиНаСкладе поле КоличествоОстаток
Задание условий между таблицами. Перейти на закладку Связи. Каждую из виртуальных таблиц необходимо связать с таблицей документа таким образом, что для всех записей таблицы документа должны подбираться имеющиеся записи виртуальной таблицы, причем номенклатура в таблице документа должна быть равна материалу из виртуальной таблицы. Установить связи в соответствии с рисунком.
Перейти на закладку Дополнительно и установить флаг Блокировать получаемые данные Для последующего изменения. Данная команда позволяет заблаговременно заблокировать чтение указанных данных уже при считывании, чтобы исключить взаимные блокировки данных.
Перенести таблицы ОстаткиМатериалов.Остатки и СтоимостьМатериалов.Остатки в раздел Таблицы для изменения
Перейти на закладку Условия и задать условие отбора из таблицы документа только строк проводимого документа (ссылка на него будет передана в параметр запроса Ссылка)
Перейти на закладку Псевдонимы и задать следующие псевдонимы полей
Нажать ОК и просмотреть, какой запрос сформировал конструктор
Текст запроса для случая неоперативного проведения документа будет практически таким же, за исключением того, что в нем будет отсутствовать третье левое соединение.
Перед оператором Иначе добавить команду запроса
Следующий фрагмент программы служит для проверки на складе достаточного количества номенклатуры и устанавливается в тело цикла ВыборкиРезультатаЗапроса.Следующий () Цикл
//Проверить остаток при оперативном проведении
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
Если ВыборкаРезультатаЗапроса.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда
Остаток = ?(ВыборкаРезультатаЗапроса.КоличествоОстатокНаСкладе = Null, 0, ВыборкаРезультатаЗапроса.КоличествоОстатокНаСкладе);
Если Остаток < ВыборкаРезультатаЗапроса.Количество
Тогда
Сообщить("Материала " + СокрЛП(ВыборкаРезультатаЗапроса.Номенклатура) + " имеется только " + Остаток);
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
// Сформировать движения.
Если ВыборкаРезультатаЗапроса.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда
// Регистр ОстаткиМатериалов Расход.
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ВыборкаРезультатаЗапроса.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = ВыборкаРезультатаЗапроса.Количество;
// Регистр СтоимостьМатериалов Расход.
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ВыборкаРезультатаЗапроса.Номенклатура;
// Рассчитать стоимость материала.
СтоимостьМатериала = ?(ВыборкаРезультатаЗапроса.КоличествоОстаток = Null, 0, ВыборкаРезультатаЗапроса.СтоимостьОстаток / ВыборкаРезультатаЗапроса.КоличествоОстаток);
Движение.Стоимость = СтоимостьМатериала * ВыборкаРезультатаЗапроса.Количество;
КонецЕсли;
// Регистр Продажи.
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаРезультатаЗапроса.Номенклатура;
Движение.Клиент = Клиент;
Движение.Мастер = Мастер;
Движение.Количество = ВыборкаРезультатаЗапроса.Количество;
Движение.Выручка = ВыборкаРезультатаЗапроса.Сумма;
Если ВыборкаРезультатаЗапроса.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда
Движение.Стоимость = СтоимостьМатериала * ВыборкаРезультатаЗапроса.Количество;
Иначе
Движение.Стоимость = 0;
КонецЕсли;
// Записать движения регистров.
Движения.ОстаткиМатериалов.Записать();
Движения.СтоимостьМатериалов.Записать();
Движения.Продажи.Записать();
Вывод: изучили приемы создания движения документа по нескольким регистрам с помощью конструктора.