User Tools

Site Tools


sys:gather

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
sys:gather [2020/03/20 10:08] – created eugeneaisys:gather [2020/10/24 08:46] (current) – external edit 127.0.0.1
Line 8: Line 8:
  
 Имеет смысл обобщить систему организаций и представить ее в виде иерархии. В каждом узле с ветвлением (нелистовом) происходит копирование информации, передаваемой вниз, и агрегация информации, передаваемой вверх. В листовых вершинах осуществляется только выполнение части инструкции - как получать заполняемую информацию и куда ее вставлять. Имеет смысл обобщить систему организаций и представить ее в виде иерархии. В каждом узле с ветвлением (нелистовом) происходит копирование информации, передаваемой вниз, и агрегация информации, передаваемой вверх. В листовых вершинах осуществляется только выполнение части инструкции - как получать заполняемую информацию и куда ее вставлять.
 +
 +**Объект автоматизации** - деятельность организаций, организованной в иерархию, направленная на сбор статистической информации.
  
 Шаблон документа готовится в Word или Excel. Инструкция указывает какие элементы шаблона подлежат копированию и реорганизации, например заполнение скопированной ячейки собранной информацией. Инструкция изначально - это текстовое описание вышеуказанных процедур. В принципе при реализации можно придумать способ формализации инструкции на техническом английском языке. Шаблон документа готовится в Word или Excel. Инструкция указывает какие элементы шаблона подлежат копированию и реорганизации, например заполнение скопированной ячейки собранной информацией. Инструкция изначально - это текстовое описание вышеуказанных процедур. В принципе при реализации можно придумать способ формализации инструкции на техническом английском языке.
 +
 +Разрабатываемая программная система должна выполнять следующие действия:
 +  - Проводить анализ шаблона документа и извлекать оттуда информацию о структуре собираемых данных.
 +  - Сгенерировать таблицу для хранения данных. Можно предусмотреть повторное использование ранее созданных таблиц, если сбор информации повторяется.
 +  - Генерировать формы сбора информации для организаций, находящихся в листовых вершинах.
 +  - Организовывать сбор информации:
 +    - Из базы данных подшефных организаций извлекаются контактные данные ответственных лиц (в общем случае зависит от типа собираемой задачи), 
 +    - Форма и инструкция по ее заполнению рассылается ответственным лицам (ссылка на **персонализированную** (идентифицирующую конкретную организацию) форму на почту, телеграм, вацап, телеграм и т.п.).
 +    - Ответственное лицо выполняет инструкцию и заполняет форму. В форме надо **предусмотреть возможность частично сохранять информацию**, т.е. дать возможность заполнять форму поэтапно, если процедура сбора информации во времени распределена. Самый простой способ - две кнопки: "Сохранить", "Подписать"
 +    - Ответственное лицо подписывает форму, система сохраняет результат в базе данных.
 +  - Генерировать отчетный документ. Имеет смысл предусмотреть возможность автоматизации корректировки формул шаблона для учета обновленной структуры документа.
 +
 +====== Задел ======
 +
 +
 +Пробовал реализовать эту систему для документов WORD: https://github.com/eugeneai/icc.quest . Здесь в docx-шаблоне ячейки представляются при помощи структур :<название поля>:<тип> + можно добавить еще :disabled, если ячейку править нельзя. Пример в проекте input/query1.docx .
 +
 +
 +Потом ушел в дебри модификации Документа Excel: https://github.com/eugeneai/if2xlsx . Идея - не интерпретировать и не загружать данные excel, а вносить модификации копированием строки или столбца переименовывая ячейки. Что копировать должно определяться структурой таблицы. Копируемые элементы (строки или столбцы) определяются при помощи "переменных диапазонов". До копирования дело так и не дошло.
 +
 +
 +
  
  
  
-**Объект автоматизации**  
  
sys/gather.1584670099.txt.gz · Last modified: 2020/10/24 08:46 (external edit)