Доброго времени суток!
Одно время я долго работал в фирме оптовой торговли. На тот момент это была доработанная Управления торговлей 10.3. В частности много и долго дорабатывал отчеты, а в управлении торговлей 10.3 большинство отчетов сделана через так называемый универсальный отчет. Мощная штука, основанная на построителе отчетов. Сейчас он в последних версиях 1С оно преобразовался в СКД, но не в это суть. Основное в том, что он тесно связан с визуальными элементами самой 1С. ПостороительОтчеты.Вывести(ТабличныйДокумент) делает практически все за Вас. Остальное заключается в правильной настройке, установке параметров и прочем обвесе. Это конечно замечательно, но покопаться внутри очень хочется. И поможет нам в этом то, что в большинстве случаев универсальном отчетом пользуются с достаточно простыми отборами и группировками. Тогда появилась идея реализовать при таких простых условиях работоспособный отчет с выводом данных в стандартную HTML таблицу.
Вот такая коза с бояном.
И если Вас не смущает эта картинка, то данная статья точно для Вас. Внутри самой 1С такой отчет будет не интересен. Слишком урезанные возможности, плохая поддержка стилевого оформления CSS, возможности ПолеHTML урезаны по сравнения с Табличным документом. Но мы сделаем для полноты картины. А вот снаружи из браузера, используя вэб-сервис этот отчет мог бы оказаться очень привлекательным. См. картинки.
Опишем работу этого отчета: Используем виртуальную таблицу ОстаткиИОбороты по одному регистру. Динамически создаем текст запроса, по подобию как он сделан в универсальном отчете 1С. Что выводим в Представлениях. Поля это наши группировки по строкам и ресурсы. Для расчета ресурсов используем раздел запроса ИТОГИ. Отборы делаем в условиях виртуальной таблицы. Так как посттроитель отсчета завязан на элементы вывода самой 1С, его придется вырезать. Мы многое по теряем, и практически получим новый отчет.
Пока не работает (о грусном):
- Реквизиты полей выбираются толко на нулевом уровне.
- Отбор простейшие, через реквизит Наименование.
- Нет группировок колонок
- Показать скрыть группировки строк, колонок +/-, расшифровок
- Дополнительное оформление
- Простейшая печать
Если у Вас еще не пропала охота все это попробовать, прошу первый вариант:
Устанавливаем себе:
- Скачиваем архив sikudaUnireport.zip.
- В архиве файл sikudaUnireport.cf - надо добавить в вашу конфигурация УТ 10.(Там 1 вэбсервис и один отчет).
- Пользователь 1С под которым у Вас вэб сервис, должен иметь права на чтение к регистрам накопления и добавленному отчету.
- Публикуем вебсервис c адресом sikudaws (получается путь типа http://localhost/[Директория публикации])
- Положить index.html в папку sikuda на вебсервер (у меня IIS C:\inetpub\wwwroot\sikuda )
- Заходим на http://localhost/sikuda и тестируем.
Продолжая наш труд. Утыкаюсь в проблему интерфейса выбора интерфейса. Например как выбрать какое-либо значение из 1С извне в настройки отчета. Нужен будет список выбора. Давайте возмем что-то супер популярное. Например JQM(jquerymobile.com). Скачивайте и пробуйте.
Устанавливаем себе:
- Скачиваем архив sikudaMobileReport.zip.
- В архиве файл sikuda_ru_MobileReport.cf - надо добавить в вашу конфигурация УТ 10 или другую.(Там 1 вэбсервис и один отчет).
- Пользователь 1С под которым у Вас вэб сервис, должен иметь права на чтение к регистрам накопления и добавленному отчету.
- Публикуем вебсервис c адресом sikudaws или другим (можно изменить в настройках или при входе)
- Положить папку sikuda в архиве на вебсервер (у меня IIS C:\inetpub\wwwroot\sikuda )
- Заходим на http://localhost/sikuda и тестируем.
Решенные проблемы:
- Выбор элементов отбора (прикольно получилось).
- Интерфейс хорошо работает на всех мобильный устройствах(спасибо JQM)
Пути дальнейшего движения:
- Группировка элементов отчета(дилема вывода - свои значки для группировки или использовать для вывода список JQM)
- Выводятся данные только по одному регистру (надо прикручивать СКД, но это в настройках совсем другое направление)
Если Вам есть что сказать или Вы уже сделали, что-то другое говорите, пишите...
В текущий момент 06.2013 ушел в графику(//infostart.ru/public/191248/), а данные наработки могут быть кому-нибудь полезны.
Сайт sikuda.ru