Создание отчетов в Конфигураторе
- Создание Регистра Остатки материалов. Ветка Регистры накопления → Insert → имя ОстаткиМатериалов - Далее → закладка Данные → создадим измерения регистра Материал (тип СпрСсылка.Номенклатура) и Склад (тип СпрСсылка.Склады). Затем создадим ресурс Количество.
- Создание отчета: Запустить 1С в режиме Конфигуратор → меню Конфигурация → открыть Конфигурацию → слева в дереве метаданных пометить ветвь Отчеты → нажать правой кнопкой мыши Добавить команда (или Insert) → в появившемся окне задать имя ОстаткиНоменклатуры → синоним Остатки номенклатуры → нажать кнопку Открыть схему компоновки данных → платформа откроет конструктор макета → в открывшемся окне конструктора макета будет доступен для выбора единственный тип макета – Схема компоновки данных → нажать кнопку Готово → создастся макет отчета.
image056.jpg
Схема компоновки данных является основой для компоновки отчета. В ней задается структура отчета – поля, наборы данных, порядок и др. параметры.
image058.jpg
Конструктор макета откроет окно конструктора схемы компоновки данных. В нем происходит основная работа по визуальному конструированию отчета. Любой отчет основывается на данных, извлекаемых из каких-либо «источников» по определенным условиям и параметрам. Мы рассмотрим простой случай, когда используется один набор данных. Он будет содержать Запрос к базе данных, сформулированный на специальном языке – языке запросов.
Набор данных описывает способ получения данных из ИБ.
- Добавление «источника» (набора) данных - запроса. В окне конструктора отчета нажать на ветке Наборы данных → команда Добавить набор данных – запрос → кнопка Конструктор запроса (с ее помощью мы можем создавать и редактировать текст запроса) → закладка Таблицы и поля → список База данных → раскроем ветку Регистры накопления → выделим таблицу ОстаткиНоменклатуры → выделить таблицу ОстаткиМатериалов.ОстаткиИОбороты и перетащить ее в список Таблицы → раскрыть ее → и все нужные поля перенести в список Поля: Материал, Склад, Кол-воНачОст, Кол-воКонОстаток, КоличествоПриход и КоличествоРасход → ОК.
image060.jpg
image062.jpg
- Закладка Ресурсы (на ней формируются итоговые данные) → список Доступные поля → нажать кнопку Добавить все ресурсы, чтобы конструктор выбрал все доступные ресурсы, по которым можно вычислять итоги → закладка Настройки → кнопка Конструктор настроек → выбрать тип Отчета Таблица → Далее → перенесем из списка доступных полей все поля → кнопка Далее → перетащим в список Строки поле Материал, а в список Колонки – поле Склад (этим мы определим поля для группировки строк и столбцов таблицы) → Далее → ОК. → F5 или F7 (режим отладки и запуск режима 1С:Предприятие). Проверим результаты работы. Меню Отчеты.
Конструктор запроса - позволяет визуально конструировать запрос. Даже пользователь, не знакомый с языком запросов, может с помощью конструктора создать синтаксически правильный запрос.
image064.jpg
Конфигурация - описывает структуру данных, которую пользователь будет использовать в режиме работы 1С. Все описание, которое содержит конфигурация, состоит из нескольких логических единиц, которые называются объекты конфигурации.
Справочник – прикладной объект конфигурации и предназначен для работы со списками данных. Состоит из элементов. Предопределенные элементы – те, которые должны существовать всегда, независимо от действий пользователя.
Форма - подчиненный объект конфигурации. Служит для «визуализации» данных, находящихся в базе.
Документ – прикладной объект конфигурации. Предназначен для описания информации о совершенных хоз. Операциях. Документ обладает способностью проведения.
Регистр накопления – прикладной объект, предназначен для описания структуры накопления данных. Основное назначение - накопление числовой информации в разрезе нескольких измерений. Виды числовой информации называются ресурсами. Н-р, регистр накопления может накапливать инф-ю о количестве и сумме товаров на складах. Тогда он будет иметь измерения Товар и Склад и Ресурсы Кол-во и Сумма.
Создание документа Приходная накладная: Конфигурация → открыть конфигурацию → Документы → Insert → имя ПриходнаяНакладная → Далее → создадим реквизит Склад (тип СпрСсылка.Склады) → добавим табличную часть с именем Материалы и создадим 4 реквизита на закладке Данные (кнопка Добавить реквизит): Материал (тип СпрСсылка.Номенклатура), Кол-во (тип Число), Цена (тип Число) и Сумма (тип Число) → закладка Нумерация → длина номера 9 тип номера Строка → периодичность в пределах года например → закладка Формы → нажать на символ лупы в поле ввода (Осн.Формы Документа) → система вызовет Конструктор форм → выбрать тип Форма документа → кнопка Готово.
Теперь зададим формулу:
Сумма = Количество * Цена (чтобы сумму в приходе автоматом считала программа). Для этого: щелкнуть правой кнопкой мыши на поле ввода в колонке Количество → Свойства → прокрутив список до конца, найдите событие ПриИзменении → лупа → система задаст заготовку процедуры обработчика этого события в модуле формы.
Модуль – это хранилище для текста программы на встроенном языке.
В процедуру МатериалыКоличествоПриИзменении добавим текст:
СтрокаТабличнойЧасти=ЭлементыФормы.Материалы.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма=СтрокаТабличнойЧасти.КоличествохСтрокаТабличнойЧасти.Цена;
Тоже самое сделать со столбцом Цена.
Чтобы алгоритм, выполняемый при обработке события, был доступен для разных документов, мы создадим общий модуль и перенесем в него нашу процедуру расчета суммы. А в документе просто оставим вызовы этой процедуры из общего модуля: Ветка Общие → Общие модули → кнопка Добавить → РаботаСДокументами → ввести текст:
Процедура РассчитатьСумму(СтрокаТабличнойЧасти)Экспорт
СтрокаТабличнойЧасти.Сумма=СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена;
КонецПроцедуры
В модуле приходной накладной (ветка Форма документа) изменим текст:
Процедура МатериалыКоличествоПриИзменении(Элемент)
// Вставить содержимое обработчика.
СтрокаТабличнойЧасти=ЭлементыФормы.Материалы.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры
И то же самое сделать для колонки Цена в модуле.
Результат: сумма должна автоматом пересчитываться как при изменении количества, так и при изменении цены.
Далее: Открыть 2-м щелчком документ ПриходнаяНакладная → закладка Движения → отметим регистр накопления ОстаткиМатериалов → сразу после отметки становится доступной кнопка Конструктор движений → в списке Реквизиты должна находиться исходные данные для создания движений → в таблице Поле-Выражение д.б. заданы формулы, по которым будут вычисляться значения измерений и ресурсов регистра при записи движений. Тип движения – приход. → в поле Табличная часть выбрать Материалы → кнопка Заполнить выражения → ОК → посмотрим на текст в модуле объекта. Конструктор создал обработчик события ОбработкаПроведения и поместил его в модуль.
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
// регистр ОстаткиМатериалов Приход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаМатериалы.Материал;
Движение.Склад = Склад;
Движение.Количество = ТекСтрокаМатериалы.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
F5- отладка. Проверить работу 1С. Меню операции – Документы – Приходная Накладная – Insert – ввести дату выбрать склад – оприходовать 2 или 3 товара – ОК.
Меню Операции – Отчеты – Остатки материалов – кнопка Сформировать.
ОТЧЕТ – прикладной объект конфигурации, предназначен для описания алгоритмов, при помощи которых пользователь может получать необходимые ему выходные данные.
У вас нет доступа для скачивания и просмотра вложений, документации, файлов, изображений в этом сообщении. Доступ для зарегистрированных пользователей. Вы можете бесплатно зарегистрироваться на нашем сайте. Если Вы зарегистрированы, то Вам необходимо нажать опцию "Вход" в вверху страницы (там же находится ссылка на страницу регистрации)