ИЛИ - ИЛИ: выгрузка в Excel
Добавлено: 04 окт 2017, 06:05
Поскольку выяснилось, что острых вопросов накопилось больше, чем может себе позволить обсудить временной регламент конференции, решено часть из них вынести на форум.
"Или - или" - название книги датского философа Кьеркегора (Киркегард). На нашем форуме меткой "ИЛИ - ИЛИ" я буду запускать не технические, но скорее дискуссионные вопросы о том, какой из множества способов реализации функционала стоит предпочесть. Вопросы "ИЛИ - ИЛИ" появляются потому, что Файлмейкер позволяет одну практическую задачу решить несколькими способами, и возникает вопрос - какой способ лучше. Цель дискуссии - не просто определить оптимальный способ из известных, но, может быть, в том, чтобы этот оптимальный способ найти, выработать совместными усилиями.
Итак,
выгрузка в Excel
проблема в том, что мы, разработчики, используем собственные наименования полей в таблицах, понятные нам, подчиняющиеся определенной логике и стандартам (без пробелов, английский язык и т.п.). Пользователи при выгрузке в Excel хотят видеть в итоговом файле нормальные "человеческие" заголовки столбцов на родном языке.
Известные мне варианты решения проблемы:
1) сделать в оригинальной таблице дубликаты полей (калькулируемые нехранимые поля с формулой = original_field), именно их использовать при выгрузке
плюсы: быстро и просто реализуется
минусы: "засоряется" оригинальная таблица, с ней становится сложно работать (так ли это?)
2) для каждого отчета создавать отдельную таблицу с нужными (по названию) полями. Генерация отчета - это заполнение таблицы нужными данными с возможностью представить результат пользователю и выгрузить в Excel
плюсы: логичная организация данных, логика в структуре (назначение служебных таблиц с префиксом report_contacts_of_year понятно любому разработчику)
минусы: время на генерирование отчета увеличивается (нужно считать данные с оригинальной таблицы и заполнить таблицу служебную)
3) универсальная таблица с полями типа text1, text2, text3, number1 и т.д. (по десятку-двум полей каждого типа). При выгрузке в Excel названия столбцов будут браться не из названий полей, а из верхней строки. А это значит - можно задать ЛЮБОЕ название столбцу.
Плюсы: одну и ту же таблицу можно использовать многократно для разных отчетов.
минусы: сложновато выгружать, приходится строго проверять, какое из анонимных полей что обозначает...
минусы: нужно решать проблему периодической чистки данных, например, маркировать записи датой создания и раз в день уничтожать записи, созданные ранее этого дня.
минусы: как и в варианте 2 время на заполнение данными (можно конечно выполнять на сервере это все).
есть и другие варианты. но начало дискуссии положено. Высказывайтесь, коллеги
"Или - или" - название книги датского философа Кьеркегора (Киркегард). На нашем форуме меткой "ИЛИ - ИЛИ" я буду запускать не технические, но скорее дискуссионные вопросы о том, какой из множества способов реализации функционала стоит предпочесть. Вопросы "ИЛИ - ИЛИ" появляются потому, что Файлмейкер позволяет одну практическую задачу решить несколькими способами, и возникает вопрос - какой способ лучше. Цель дискуссии - не просто определить оптимальный способ из известных, но, может быть, в том, чтобы этот оптимальный способ найти, выработать совместными усилиями.
Итак,
выгрузка в Excel
проблема в том, что мы, разработчики, используем собственные наименования полей в таблицах, понятные нам, подчиняющиеся определенной логике и стандартам (без пробелов, английский язык и т.п.). Пользователи при выгрузке в Excel хотят видеть в итоговом файле нормальные "человеческие" заголовки столбцов на родном языке.
Известные мне варианты решения проблемы:
1) сделать в оригинальной таблице дубликаты полей (калькулируемые нехранимые поля с формулой = original_field), именно их использовать при выгрузке
плюсы: быстро и просто реализуется
минусы: "засоряется" оригинальная таблица, с ней становится сложно работать (так ли это?)
2) для каждого отчета создавать отдельную таблицу с нужными (по названию) полями. Генерация отчета - это заполнение таблицы нужными данными с возможностью представить результат пользователю и выгрузить в Excel
плюсы: логичная организация данных, логика в структуре (назначение служебных таблиц с префиксом report_contacts_of_year понятно любому разработчику)
минусы: время на генерирование отчета увеличивается (нужно считать данные с оригинальной таблицы и заполнить таблицу служебную)
3) универсальная таблица с полями типа text1, text2, text3, number1 и т.д. (по десятку-двум полей каждого типа). При выгрузке в Excel названия столбцов будут браться не из названий полей, а из верхней строки. А это значит - можно задать ЛЮБОЕ название столбцу.
Плюсы: одну и ту же таблицу можно использовать многократно для разных отчетов.
минусы: сложновато выгружать, приходится строго проверять, какое из анонимных полей что обозначает...
минусы: нужно решать проблему периодической чистки данных, например, маркировать записи датой создания и раз в день уничтожать записи, созданные ранее этого дня.
минусы: как и в варианте 2 время на заполнение данными (можно конечно выполнять на сервере это все).
есть и другие варианты. но начало дискуссии положено. Высказывайтесь, коллеги