Интерактивный универсальный отчет по регистрам. Идея взята из интерактивной ОСВ. Однако найти что-то похожее для регистров не смог. Решил набросать сам.
Файлы
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже
заказов».
0% комиссии — оплата напрямую исполнителю;
Исполнители любого масштаба — от отдельных специалистов до команд под проект;
Прямой обмен контактами между заказчиком и исполнителем;
Безопасная сделка — при необходимости;
Рейтинги, кейсы и прозрачная система откликов.
Интерактивный универсальный отчет по регистрам. Выводит данные по всем ресурсам и измерениям выбранного регистра. Позволяет интерактивно "разворачивать" группировки регистра в произвольной последовательности. К недостаткам данного варианта отчета хочу отнести скорость работы отчета. Т.к. группировки запроса можно выбирать только последовательно, то результат запроса выгружается в ТЗ, которая потом разворачивается и сворачивается в произвольном порядке по командам пользователя. В будущем (при наличии свободного времени) планируется оптимизировать работу отчета для увеличения скорости.
25-08-2013. Добавлена возможность выполнять прямой запрос к БД. Для этого необходимо наличие в каталоге ИБ файла 1CPP.dll (http://www.1cpp.ru), для базы dbf дополнительно установить драйвер FoxPro не ниже 9.0.(http://www.microsoft.com/en-us/download). Кому лень искать, выложены рядом с отчетом. Для dbf версии прямой запрос в монопольном режиме недоступен.
Внимание! В SQL версии прямые запросы пока не реализованы!
Обработка пригодится специалисту в обслуживании любых конфигураций на платформе 1С:Предприятие 7.7, особенно нетиповых конфигураций. Поможет в анализе данных реквизитов и движений документов, написании правил обмена на Конвертации ред. 2,.пригодится для обработки документов (проведения, удаления и т.д.).
Универсальный журнал документов. 1сv7.
Иногда хочется чтобы в журнале можно было отобрать документы по нескольким параметрам одновременно.
Эта обработка позволяет это сделать.
ТЗВыводаНаПечать.УстановитьЗначение(1, ТекстГруппировкиОбщиеИтоги, ТекстСтрокиОбщиеИтоги);
{C:\...\УНИВЕРСАЛЬНЫЙ ОТЧЕТ ПО РЕГИСТРАМ.ERT(88)}: Номер за пределами значения!
Конфигурация Торговля и Склад.
Очень интересный отчет.Конечно, время обработки на больших базах напрягает. Но ведь это только начало!Хочется чтобы автор не забрасывал эту идею, а продолжил бы творчество и добавил сохранение настроек! Спасибо.
Если бы еще сделать бы возможность устанавливать отбор как до формирования отчета, так и после - двойным щелчком мышы - из контекстного меню - Было бы здорово!
Да, мысль такая есть. Но сейчас завал на работе, непрадахнуть. В планах сесть за доделки недели через две. Сначала скорее всего будет реализован отбор на запрос. В перспективе, конечно, будут дописываться прочие навороты, в планах есть переложить его на платформу 8.
Верия 1.1. Добавлен отбор по запросу. Исправлен косяк: Если вид регистра не был изменен, при нажатии на Обновить, отчет все равно "сворачивался" в итоговую строку.
Для скорости показа группировок - используй Йоксель. Там есть опция показывать/скрывать строки в мокселе. Это в разы быстрее, чем перерисовывать таблицу целиком.
Спасибо за советы. Отчет был написан "на скорую руку" штатными средствами. Сейчас просто нет времени доводить его до ума. (На работе аврал). Но по мере окончания оного, и появлению хотя бы небольшого количества свободного времени, думаю есть смысл переложить на прямые запросы. (Если конечно будет интерес к этой затее). По поводу йокселя, строки не просто показываются и скрываются, они перерисовываются в соответствии с выбором пользователя. Поэтому все равно придется хотя бы часть строк перерисовывать. Не факт что в йокселе это будет быстрее. К тому же йоксель стоит не у всех. В общем йоксель если и будет делаться, то потом и опционально. Вполне возможно найду способы оптимизировать скорость вывода штатными средствами до приемлемого уровня.
Добавлена возможность настроить список выводимых ресурсов. Произведены некоторые косметические доработки (вывод наименования разворота, и т.д.). Исправлен косяк с выбором в отборе измерения с типом "Перечисление".
Версия 1.3. Добавлены прямые запросы к БД. Пока только для dbf, т.к. тут были наибольшие тормоза. Для работы нужны 1CPP.dll (в каталоге ИБ) драйвер FoxPro не ниже 9.0. (см. описание). На FoxPro 8.0 запрос выкидывал ошибку, хотя тот же самый запрос на 9.0 нормально работает. Обращаю внимание, прямые запросы не работают в монопольном режиме, т.к в монопольном режиме 1С блокирует таблицы и драйвер не может получить из них данные.
(15)
1. прямые запросы сто лет в обед работают в монопольном режиме для дбф базы.
2. чтоб прямой запрос быстро обрабатывался, нужно правильно писать строку соединения + правильно писать условия и условия присоединения в тексте запроса, чтоб задействовать индекс.
3. или, можно писать запрос через 1sqlite.dll (хотя фокс и быстрее, для многих запросов будет при правильном написании)
Версия 1.4. Исправлены ошибки. (При повторном формировании отчета в режиме прямого запроса, выводились неверные результаты). Оптимизирован алгоритм разворота группировок. На больших объемах группировки стали разворачиваться по шустрее.