База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как создать отчет «Журнал учета ремонта ОС» в 1С:ERP? › Ответ в теме: Как создать отчет «Журнал учета ремонта ОС» в 1С:ERP?
В 1С:ERP создать отчет «Журнал учета ремонта основных средств» можно следующим образом:
1. **Определить цель отчета и структуру данных**
В отчете должны отображаться основные сведения о ремонтах основных средств: дата ремонта, объект (основное средство), вид ремонта, описание работ, затраты (материалы, трудозатраты), ответственные подразделения и исполнители, статус ремонта и т.п.
2. **Источник данных**
В 1С:ERP ремонты основных средств обычно учитываются через документы и регистры, связанные с ремонтом:
— Документы «Заказ на ремонт» (Обслуживание и ремонт)
— Документы «Выполнение ремонта»
— Регистры накопления, например, регистр учета затрат на ремонт
— Справочники основных средств и подразделений
3. **Создание отчета в конфигураторе**
— Откройте конфигуратор 1С:ERP
— Создайте новый объект конфигурации — Отчет, например, с именем «ЖурналУчетаРемонтаОсновныхСредств»
— В отчете создайте схему компоновки данных (СКД)
— В источниках данных добавьте запрос, который будет выбирать данные из документов и регистров, связанных с ремонтом основных средств
4. **Пример текста запроса для отчета (СКД)**
Запрос должен выбирать данные из документов «Заказ на ремонт» и связанных табличных частей, например:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
ВЫБРАТЬ | ЗаказНаРемонт.Дата КАК ДатаРемонта, | ЗаказНаРемонт.ОсновноеСредство КАК ОсновноеСредство, | ЗаказНаРемонт.ВидРемонта КАК ВидРемонта, | ЗаказНаРемонт.ОтветственноеПодразделение КАК Подразделение, | ЗаказНаРемонт.Состояние КАК Статус, | Материалы.Номенклатура КАК Материал, | Материалы.Количество КАК КоличествоМатериалов, | Трудозатраты.ВидРаботы КАК ВидРаботы, | Трудозатраты.Трудозатраты КАК ЧасыРаботы |ИЗ | Документ.ЗаказНаРемонт КАК ЗаказНаРемонт | ЛЕВОЕ СОЕДИНЕНИЕ ЗаказНаРемонт.Материалы КАК Материалы | ПО ЗаказНаРемонт.Ссылка = Материалы.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ ЗаказНаРемонт.Трудозатраты КАК Трудозатраты | ПО ЗаказНаРемонт.Ссылка = Трудозатраты.Ссылка |ГДЕ | ЗаказНаРемонт.Дата МЕЖДУ &ДатаНачала И &ДатаКонца |УПОРЯДОЧИТЬ ПО | ЗаказНаРемонт.Дата, ЗаказНаРемонт.ОсновноеСредство |
Параметры &ДатаНачала и &ДатаКонца задаются в форме отчета для фильтрации по периоду.
5. **Создание формы отчета**
— Добавьте элементы управления для выбора периода (начало и конец)
— Добавьте табличный документ для вывода данных
— В обработчике кнопки «Сформировать» выполните запрос и заполните табличный документ результатом
6. **Дополнительные возможности**
— Добавьте отборы по подразделениям, видам ремонта, состоянию
— Добавьте группировки и итоги по основным средствам или видам ремонта
— Реализуйте возможность перехода из отчета в документы ремонта
7. **Пример кода процедуры формирования отчета (управляемая форма)**
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
Процедура СформироватьОтчет(Команда) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказНаРемонт.Дата КАК ДатаРемонта, | ЗаказНаРемонт.ОсновноеСредство КАК ОсновноеСредство, | ЗаказНаРемонт.ВидРемонта КАК ВидРемонта, | ЗаказНаРемонт.ОтветственноеПодразделение КАК Подразделение, | ЗаказНаРемонт.Состояние КАК Статус, | Материалы.Номенклатура КАК Материал, | Материалы.Количество КАК КоличествоМатериалов, | Трудозатраты.ВидРаботы КАК ВидРаботы, | Трудозатраты.Трудозатраты КАК ЧасыРаботы |ИЗ | Документ.ЗаказНаРемонт КАК ЗаказНаРемонт | ЛЕВОЕ СОЕДИНЕНИЕ ЗаказНаРемонт.Материалы КАК Материалы | ПО ЗаказНаРемонт.Ссылка = Материалы.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ ЗаказНаРемонт.Трудозатраты КАК Трудозатраты | ПО ЗаказНаРемонт.Ссылка = Трудозатраты.Ссылка |ГДЕ | ЗаказНаРемонт.Дата МЕЖДУ &ДатаНачала И &ДатаКонца |УПОРЯДОЧИТЬ ПО | ЗаказНаРемонт.Дата, ЗаказНаРемонт.ОсновноеСредство"; Запрос.УстановитьПараметр("ДатаНачала", ЭлементыФормы.ДатаНачала.Значение); Запрос.УстановитьПараметр("ДатаКонца", ЭлементыФормы.ДатаКонца.Значение); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); ТабДок = Новый ТабличныйДокумент; ТабДок.Колонки.Добавить("Дата ремонта"); ТабДок.Колонки.Добавить("Основное средство"); ТабДок.Колонки.Добавить("Вид ремонта"); ТабДок.Колонки.Добавить("Подразделение"); ТабДок.Колонки.Добавить("Статус"); ТабДок.Колонки.Добавить("Материал"); ТабДок.Колонки.Добавить("Количество материалов"); ТабДок.Колонки.Добавить("Вид работы"); ТабДок.Колонки.Добавить("Часы работы"); Пока Выборка.Следующий() Цикл Строка = ТабДок.ДобавитьСтроку(); Строка["Дата ремонта"] = Выборка.ДатаРемонта; Строка["Основное средство"] = Выборка.ОсновноеСредство.Наименование; Строка["Вид ремонта"] = Выборка.ВидРемонта; Строка["Подразделение"] = Выборка.Подразделение.Наименование; Строка["Статус"] = Выборка.Статус; Строка["Материал"] = ?(Выборка.Материал = Неопределено, "", Выборка.Материал.Наименование); Строка["Количество материалов"] = ?(Выборка.КоличествоМатериалов = Неопределено, 0, Выборка.КоличествоМатериалов); Строка["Вид работы"] = ?(Выборка.ВидРаботы = Неопределено, "", Выборка.ВидРаботы); Строка["Часы работы"] = ?(Выборка.ЧасыРаботы = Неопределено, 0, Выборка.ЧасыРаботы); КонецЦикла; ЭлементыФормы.ТабличныйДокумент.Значение = ТабДок; КонецПроцедуры |
8. **Тестирование и отладка**
— Проверьте корректность выборки данных
— Убедитесь, что отчет корректно фильтруется по дате и другим параметрам
— Проверьте отображение и читаемость данных
—
Если в вашей конфигурации 1С:ERP уже есть типовые документы и регистры по ремонту, то отчет можно построить на их основе. Если нет — потребуется доработка конфигурации.
Рекомендую посмотреть примеры и методики построения отчетов с использованием СКД в 1С:ERP на официальных ресурсах и форумах, например:
https://infostart.ru/public/
https://its.1c.ru/
—
Если нужна помощь с конкретным кодом или настройкой — могу помочь с примером по вашей базе.