Внешняя обработка для платформы 1С:Предприятие 7.7 «Отчет по таблице значений» v02-01
ФАЙЛЫ ПОСТАВКИ:
ОтчетПоТабЗн.ert — файл обработки;
ОтчетПоТабЗн.efd — файл описания;
ОтчетПоТабЗн.txt — Read Me/About.
ВызовОтчетПоТабЗн.ert — пример внешнего вызова ОтчетПоТабЗн.ert для построения отчета с группировками (там табличная часть счет-фактуры из демонстрационной базы бухгалтерии участвует, желательно многострочную фактуру с разными группами номенклатуры, чтоб повод для группировки был).
УСТАНОВКА:
Скопировать файлы *.ert, *.efd в КаталогИБ()+»ExtForms\ и затем вызывать из меню Сервис->Дополнительные возможности или запускать непосредственно из меню Файл->Открыть.
ВОЗМОЖНОСТИ:
1. Формирование динамического отчета (с переменными колонками) по таблице значений. Отчет может быть простой или с вложенными группировками (в этом случае требуется исходная ТаблицаЗначений специального формата, см.комментарии к процедуре СформироватьОтчетСГруппировками(ТабЗнЧастиОтчета)).
Исходная ТаблицаЗначений может быть:
— передана при вызове обработки в качестве параметра открытия в конструкции типа
ОткрытьФорму(«Отчет»,ТабЗнСтрокиОтчета, КаталогИБ()+»ExtForms\ОтчетПоТабЗн.ert»);
— импортирована из *.dbf файла (есть выбор DOS/Windows кодировки);
— импортирована из *.xls файла (есть выбор листа книги).
— импортирована из *.xml файла определенной структуры.
2. Экспорт таблицы значений в *.dbf файл (есть выбор DOS/Windows кодировки);
3. Экспорт таблицы значений в *.xls файл;
4. Экспорт таблицы значений в *.xml файл;
5. Импорт таблицы значений из *.xml файла в формате, выгружаемом данной обработкой, который содержит описание структуры данных.
ПРИМЕРЫ ВНЕШНЕГО ВЫЗОВА:
Для простого отчета:
1 2 3 4 5 6 7 8 |
ОткрытьФорму("Отчет",ТабЗнСтрокиОтчета, КаталогИБ()+"ExtForms\ОтчетПоТабЗн.ert") ТабЗнСтрокиОтчета.СпЗнОперации.ТекущаяСтрока( ТабЗнСтрокиОтчета.СпЗнОперации.НайтиЗначение("Отчет")); ТабЗнСтрокиОтчета.НеПоказыватьФорму=1; ТабЗнСтрокиОтчета.Форма.Обновить(); ТабЗнСтрокиОтчета.Форма.Закрыть(); //(операция "Отчет", процедура СформироватьОтчет(ТабЗнСтрокиОтчета)). |
Для отчета с группировками:
1 2 3 4 5 6 7 8 |
ОткрытьФорму("Отчет",ТабЗнЧастиОтчета, КаталогИБ()+"ExtForms\ОтчетПоТабЗн.ert") ТабЗнЧастиОтчета.СпЗнОперации.ТекущаяСтрока( ТабЗнЧастиОтчета.СпЗнОперации.НайтиЗначение("ОтчетСГруппировками")); ТабЗнЧастиОтчета.НеПоказыватьФорму=1; ТабЗнЧастиОтчета.Форма.Обновить(); ТабЗнЧастиОтчета.Форма.Закрыть(); //(операция "Отчет с группировками", процедура СформироватьОтчетСГруппировками(ТабЗнЧастиОтчета)). |
ВОЗМОЖНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ:
- Как внешнее средство формирования отчета правильной структуры: Не нужно для каждого нового отчета рисовать все по новой, достаточно обеспечить исходную таблицу значений и передать ее в данную обработку при внешнем вызове (см. примеры внешнего вызова).
- Как конвертер *.dbf<->*.xls<->*.xml;
- Как средство визуализации отладочной информации взамен стандартного метода объекта типа «ТаблицаЗначений» ВыбратьСтроку();
- Как внешний компонент самописного обменника через *.dbf, *.xls, *.xml посредством таблицы значений;
- В качестве источника полезного кода: Движок загрузки/выгрузки из/в *.dbf, *.xls, *.xml (в таблицу значений и из нее); Движок динамического отчета.
НЕКОТОРЫЕ НЕОЧЕВИДНЫЕ ВОЗМОЖНОСТИ:
- Заголовки колонок для отчета берутся из параметра «Заголовок» исходной таблицы значений, если этот параметр пуст, то используется идентификатор колонки. Таким образом, для отображения длинных наименований колонок с пробелами, точками, и т.п. надо с помощью метода УстановитьПараметрыКолонки(), определить нужные заголовки. Если нет желания возиться с этим, то можно проще: определить понятные для пользователя идентификаторы с подчеркиваниями, которые при выводе будут замещены на пробелы.
- Если ячейка отчета содержит объект типа «ТаблицаЗначений» или «СписокЗначений», можно по Double click/Enter получить расшифровку данного значения (ТабЗн.ВыбратьСтроку() или СпЗн.ВыбратьЗначение()) соответственно. При этом надо чтобы форма ОтчетПоТабЗн не была закрыта, иначе неоткуда будет брать процедуру ОбработкаЯчейкиТаблицы().
- Вызывать ОтчетПоТабЗн.ert можно из табло отладчика.
- Щелкнув на ячейке, не заполненной «живым» значением, можно получить информацию о идентификаторах колонок, по которым в данной строке осуществлена группировка.