О проекте
Реклама
Правовая информация
Искать: 
Пользователей: 134559
Участников клуба: 1613
Разработок: 8428 (новых: 4)
Каталог разработок  |  Новости  |  Конференц-зал  |  Вопросы и ответы  |  КЛУБ на CD
КЛУБ ТЕСТИРОВАНИЯ Online
Новое
Скачать разработку
Об авторе
Все разработки автора
1C:TOP-100



Яндекс цитирования
Внешняя обработка "Отчет по таблице значений" v04-12
Главная : Решения : Алгоритмы и структуры данных
Автор: sau
Принял: sau
Описание:
Поставь оценку
Хорошо
Отлично
Идея

ИСХОДНАЯ ИДЕЯ:
Для получения отчета ("Таблица") скармливать одному и тому же
внешнему отчету (ОтчетПоТабЗн.ert) различные исходные данные в
виде таблицы значений (ТЗ) в зависимости от задачи, и тем самым
избавить себя от части рутины, связанной с программированием
формирования и вывода таблицы отчета.
Однако, постепенно функционал обработки существенно расширился
(см. далее).

Консоль запросов в сочетании с возможностями дополнительной
обработки полученной таблицы значений и режимом сохранения настроек
позволяют применять обработку программистами и здравомыслящими
конечными пользователями в режиме "Предприятие"
как универсальный генератор отчетов на базе выборки,
не прибегая к программированию.

ВОЗМОЖНОСТИ:
1. Формирование динамического отчета (с переменными колонками)
по таблице значений. Отчет может быть простой или с вложенными
группировками. В этом случае требуется исходная ТаблицаЗначений
специального формата, см.комментарии к процедуре
СформироватьОтчетСГруппировками(ТабЗнЧастиОтчета).
Поддерживается до 4-х уровней группировок включительно: первый -
охватывающий (старший), последний - детальная строка (если передать
больше - выведет 4, начиная с охватывающего уровня).
С версии 02-07 имеется также альтернативный вариант вывода
отчета с группировками произвольной вложенности
(Флажок "флРекурсивныйВыводГруппировок").
В версии 03-00 появилась возможность произвольно задавать группируемые и
суммируемые колонки (1 или несколько уровней) непосредственно в обработке
перед формированием отчета (вкладка "Произвольные группировки").
Исходная таблица значений может быть передана при вызове обработки в
качестве параметра открытия в конструкции типа
ОткрытьФорму("Отчет",ТабЗнСтрокиОтчета,
КаталогИБ()+"ExtForms\ОтчетПоТабЗн.ert");
С версии 03-04 для отчета с группировками можно обойтись и без ТЗ специального
формата (поднадоело ее собирать) - при вызове передавать детальную ТЗ,
а затем, манипулируя контекстом открытой формы, установить значения заголовка,
группируемых и суммируемых колонок и т.д. (см. соответствующий пример ниже).
2. Импорт ТЗ из *.dbf файла (xBase) (есть выбор DOS/Windows кодировки).
3. Импорт ТЗ из *.xls файла (Excel) (есть выбор листа книги).
4. Экспорт ТЗ в *.xml файл (агрегатные типы данных преобразуются к базовым).
5. Импорт ТЗ из *.xml файла в формате, выгружаемом данной обработкой,
который содержит описание структуры данных (поддерживаются только
базовые типы данных).
6. Импорт ТЗ из *.txt файла (есть выбор DOS/Windows кодировки,
разделителя полей).
7. Получение ТЗ из запроса 1С, сформированного из данной обработки
(вкладка "Консоль запросов", операция "Выполнить запрос").
Есть возможность ссылаться на списочные условия типа
Условие(ПеременнаяЗапроса В СписокЗначений) для агрегатных типов данных,
подробнее см. всплывающие подсказки к диалогам.
8. Экспорт ТЗ в *.dbf файл (есть выбор DOS/Windows кодировки).
9. Экспорт ТЗ в *.xls файл.
10. Экспорт ТЗ в *.txt файл (есть выбор DOS/Windows кодировки,
разделителя полей).
11. Редактирование ячеек ТЗ, добавление/удаление строк и колонок,
замена значения в колонке по условию, сортировка по указанным колонкам,
редактирование параметров колонок.
12. Собственный механизм сохранения/восстановления настроек
(дополнительно к стандартному) посредством текстового файла
(позволяет объединять списки настроек из разных файлов).
13. Создание перекрестной таблицы по типу перекрестного запроса MS Access
или сводной таблицы Excel (вкладка "Перекрестная таблица").
Реализовано отдельной операцией, а также как
предварительное действие перед формированием отчета с группировками
(флажок на вкладке "Произвольные группировки").
Можно указывать несколько колонок со значениями.
14. Заполнение колонок по формуле на языке 1С (вычисляемые поля).
В формуле можно ссылаться на значения колонок ТЗ и свойства самой ТЗ.
В списке подстановок имеются шаблоны готовых формул, возвращающие
элементы справочника и документы как значения агрегатных типов.
15. Свертка ТЗ по указанным колонкам. Для числовых колонок при этом
возможно суммирование значений.
16. Сохранение ТЗ в текстовом файле служебного формата
и восстановление ее из такого файла (в режиме создания новой ТЗ или
добавления строк в существующую ТЗ по колонкам с совпадающими
идентификаторами) с сохранением значений агрегатных типов данных.

ПРИМЕРЫ ВНЕШНЕГО ВЫЗОВА:
ВОЗМОЖНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ:
НЕКОТОРЫЕ НЕОЧЕВИДНЫЕ ФИЧИ:
ГРУППИРОВКИ ПРОИЗВОЛЬНОЙ ВЛОЖЕННОСТИ:
см. описание обработки или прилагаемый текстовый файл.

АВТОР:
Селюкин Александр (sau)
E-mail
Буду рад, если моя поделка окажется востребованной в миру
и принесет пользу прогрессивному человечеству

1С:Предприятие 7.7
Файл: repbyvaltab.zip
Размер: 80,16 KB
Дата регистрации: 09/12/2003
Последнее обновление: 04/03/2010
Рейтинг: 5.16 (19 голосов)
Скачиваний: 11591
Комментарии:

Нитевидный  |  Более старые первыми Вниз

Зарегистрируйтесь для создания
1 2 3 4 »

   Отправитель      Сообщения  
  ixijixi 
Сообщение:389232 -> 7939, Отправлено: 29/03/2010 0:20
Пишет, но нечасто


Зарегистрирован:01/03/2008
Город:не указан
Сообщений:1
Re: Внешняя обработка "Отчет по таблице значений" v02-04


Хорошая штука, заберу. Спасибо!


----------------
какая нафиг подпись

  sau 
Сообщение:389062 -> 7939, Отправлено: 04/03/2010 19:09
Пишет регулярно


Зарегистрирован:30/10/2003
Город:Новосибирск
Сообщений:44
Re: Внешняя обработка \"Отчет по таблице значений\" v04-12


Новое в версии 04-12:
- Авторасчет ширины колонок выполняется теперь по данным верхних 50-и строк, а не по всей ТЗ, как раньше.
  sau 
Сообщение:342331 -> 7939, Отправлено: 27/11/2006 7:23
Пишет регулярно


Зарегистрирован:30/10/2003
Город:Новосибирск
Сообщений:44
Re: Внешняя обработка \"Отчет по таблице значений\" v04-10


Еще новое в версии 04-10:
Мелкая, но востребованная фича - теперь при экспорте ТЗ в Excel значения
из "строковых" и "неопределенных" колонок помещаются в ячейку листа именно как
"Текст", а не с "Общим" форматом. Иначе Excel может самопроизвольно
преобразовывать разного рода номенклатурные коды, инвентарные номера и т.п.
с ведущими нулями в числа, а нули обрезть, что ведет к искажению данных.
Фича задействуется автоматически, если колонка ТЗ имеет неопределенный или
строковый тип.
Можно, вообще-то, рулить не форматом ячейки, а ведущий апостроф добавлять к
значению, чтобы "как есть" отображалось, но через формат, по-моему,
корректнее.
  sau 
Сообщение:336218 -> 7939, Отправлено: 21/07/2006 14:50
Пишет регулярно


Зарегистрирован:30/10/2003
Город:Новосибирск
Сообщений:44
Re: Внешняя обработка \"Отчет по таблице значений\" v04-10


Новое в версии 04-10:
Случайно заметил, что ограничение на 4 уровня вложенности группировок
для отчета с группировками распространялось и на рекурсивный вывод
группировок, что лишало затею с ним практического смысла. Для устранения
данной недоработки модифицирована Процедура
СформироватьОтчетСГруппировками(ТабЗнЧастиОтчета).
  sau 
Сообщение:324902 -> 7939, Отправлено: 26/01/2006 8:01
Пишет регулярно


Зарегистрирован:30/10/2003
Город:Новосибирск
Сообщений:44
Re: Внешняя обработка \"Отчет по таблице значений\" v04-09


Новое в версии 04-09:
1. Сохранение ТЗ в текстовом файле служебного формата
и восстановление ее из такого файла (в режиме создания новой ТЗ или
добавления строк в существующую ТЗ по колонкам с совпадающими
идентификаторами) с сохранением значений агрегатных типов данных.

2. Оптимизировано заполнение колонки по формуле.
В списке подстановок добавлены шаблоны готовых формул
(из контекста модуля обработки), возвращающие
элементы справочника и документы как значения агрегатных типов.
Например, импортировав из файла *.xls таблицу, где имеются
уникальные наименования или коды элементов справочника, можно
добавить колонку агрегатного типа и заполнить ее значениями,
найденными с помощью формулы по имеющимся атрибутам базовых
типов.
Сама реализация вычисления формулы также скорректирована, чтобы
поддерживать возврат значений любых типов, в том числе и агрегатных.
Как известно, штатно функция Шаблон([...]) вычисляет выражение [...]
и возвращает строку. Полезная идея неочевидного способа использования
функции Шаблон() для получения значения фактического типа
заимствована на правах общего доступа с сайта
Кайгородова Андрея (aka mszsuz)
http://www.sinor.ru:8100/~my1c/knowhow/getvalat.html
На этом сайте вообще-то много полезного кода есть,
автору - благодарность за то, что собирает и делится с народом.
  sau 
Сообщение:324151 -> 7939, Отправлено: 16/01/2006 14:04
Пишет регулярно


Зарегистрирован:30/10/2003
Город:Новосибирск
Сообщений:44
Re: Внешняя обработка \"Отчет по таблице значений\" v04-08


Новое в версии 04-08:
- Добавлена кнопка просмотра и выбора значений ячеек ТЗ агрегатного типа в немодальном режиме (через "ОткрытьПодбор").
- Добавлена кнопка копирования строки ТЗ.
- Добавлена кнопка установки пустого значения в ячейку ТЗ.
  sau 
Сообщение:318100 -> 7939, Отправлено: 03/11/2005 15:04
Пишет регулярно


Зарегистрирован:30/10/2003
Город:Новосибирск
Сообщений:44
Re: Внешняя обработка \"Отчет по таблице значений\" v04-07


Новое в версии 05-07:

1. Оптимизирован интерфейс подбора списочных условий для консоли запросов - добавлена возможность по двойному щелчку на уже включенном в список значении позиционироваться на нем в форме подбора (форма списка справочника, журнал документов, план счетов).

2. Несколько оптимизирована обработка импорта-экспорта через файл обмена для TXT и XLS файлов:
- при экспорте в качестве заголовков полей в файл выгружаются заголовки колонок ТЗ (по умолчанию они совпадают с идентификаторами).
- при импорте допустимо не указывать номер строки с именами полей ('Отмена' или 0), если в файле обмена с первой строки начинаются непосредственно данные.
  sau 
Сообщение:313992 -> 7939, Отправлено: 23/09/2005 11:55
Пишет регулярно


Зарегистрирован:30/10/2003
Город:Новосибирск
Сообщений:44
Re: Внешняя обработка \"Отчет по таблице значений\" v04-05


Забыл обновить описание... Теперь порядок
  sau 
Сообщение:313991 -> 7939, Отправлено: 23/09/2005 11:44
Пишет регулярно


Зарегистрирован:30/10/2003
Город:Новосибирск
Сообщений:44
Re: Внешняя обработка \"Отчет по таблице значений\" v04-05


Новое в версии 04-05:
- Некоторые относительно новые реквизиты диалога не сохранялись
при записи пользовательских настроек. Дополнено.
- В целях стандартизации изменены идентификаторы флажков
ВыполнитьОперациюПриЗакрытии -> флВыполнитьОперациюПриЗакрытии,
РекурсивныйВыводГруппировок -> флРекурсивныйВыводГруппировок.
- Для лучшей наглядности в отчете с группировками предусмотрена
возможность выделения группировок, имеющих подчиненные, более
крупным шрифтом (старше группировка - крупнее шрифт),
что определяется флажком флВыделятьГруппировкиШрифтом (вкладка
'Произвольные группировки').
  sau 
Сообщение:311693 -> 7939, Отправлено: 02/09/2005 16:04
Пишет регулярно


Зарегистрирован:30/10/2003
Город:Новосибирск
Сообщений:44
Re: Внешняя обработка \"Отчет по таблице значений\" v04-04


Новое в версии 04-04:
- Свертка ТЗ по указанным колонкам. Для числовых колонок при этом
возможно суммирование значений.
- Немного оптимизированы замена значений по колонкам типа "Неограниченная строка" и обработка замыкающих пробелов в заменяемых и заменяющих строках.
//------------------------------------------------------------------------------
К консоли запросов:
Визуальный конструктор текста запросов 1С в режиме "Предприятие" от MPV:
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3601

Зарегистрируйтесь для создания
1 2 3 4 »

Нитевидный  |  Более старые первыми Наверх