Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Вычисление всех связей между функциями, тест их скорости и поиск узких мест #27

Open
4 of 29 tasks
Nior21 opened this issue Mar 9, 2022 · 1 comment
Assignees

Comments

@Nior21
Copy link
Owner

Nior21 commented Mar 9, 2022

  • * Прилетает письмо по расписанию
  • * Выгружаем вложение по триггеру, удаляем и логируем
  • * Разархивируется файл по триггеру, удаляется и в логируется
  • * После разархивации тот же триггер конвертирует файлы, удаляет исходники и логируется
  • * Отдельный триггер проверяет наличие таблиц на диске и если находит то загружает только один за раз
  • * Таблица из диска загружается один раз в массив, после чего удаляется исходник и логируется событие. Возможно стоит в JSON формате разбитом на части вывести всю таблицу в лог. Спец.функция по разбиению и выводу времени на обработку в конце
  • * Из вкладки Setup единожды загружаются настройки в виде таблицы, возможно выводятся в лог (спец.функция)
  • * В новом массиве сразу в памяти заменяются названия спец.функцией поиска значения в таблице setup.
  • * Спец функция после загрузки в память нового массива выделяет из целого диапазона отдельно заголовки (другая функция), заполняет вкладку импорт названиями столбцов в точечной нотации. Анализ происходит один раз в памяти в виде объекта и метода Set.add. Поэтому если такой объект уже есть, то он не добавляется.
  • * В новом массиве удаляется итого (та же функция отбора из переданного массива нужных данных). Вернуть через деструктиризацию в заготовленные переменные сразу все нужные объекты: заголовки, массив без итого, название файла без даты и т.д.
  • * Создание импортных настроек тут.
  • * Удаление файла происходит тут.
  • * Массив без итого сразу после загрузки преобразуется в объект importSet.
  • * После успешного завершения получения importSet запускается создание exportSet.
  • * Для него требуется загрузить актуальные настройки (те что созданы вручную, их всего три) и сам массив.
  • * Единожды берется весь массив заголовков из настроек.
  • * Отфильтровываем массив так, чтобы в точечной нотации в экспорте были только те пункты что требуются для текущего документа
  • * Со стороны импорта проходим по полученному массиву и если пусто, то запоминаем индекс в список на удаление.
  • * Спец. функцией в получаемом массиве export нужно удалить все помеченные строчки.
  • * Пробуем функцию перебора для удаления использовать так же для переименования заголовков в экспортном массиве
  • * Тут же при переборе массива настроек происходит замена заголовков согласно таблице. Следовательно изменения благодаря настройкам появляются только при следующей загрузке.
  • * Протестировать работу без использования camelCase и удаления круглых скобок
  • * Сверяем два объекта Set и получаем разницу в виде нового Set или пустой ответ.
  • * Сохраняем ответ в память проекта в отдельных JSON, по одному на каждый нужный объект
  • * Создаем функцию разбора JSON и записи n отдельных записей в таблицу.
  • * Запись должна производить единоразово. Состаляется готовый набор данных и range и одной командой записывается.
  • * После записи из констант проекта удаляется использованный JSON
  • * Триггер запускает специальную функцию где указано сколько записей записывать за раз.
  • * Настройки экспортных таблиц подсчитываются в конце каждой загрузки отдельной таблицы и аналогично проверяются на дубли и сохраняются в точечной нотации. Формула ВПР переносит значения во вкладку Setup
@Nior21 Nior21 created this issue from a note in ImportFrom1C (In progress) Mar 9, 2022
@Nior21
Copy link
Owner Author

Nior21 commented Mar 9, 2022

Полноценное выполнение
image
Если нет файлов
image
Полностью рабочий механизм загрузки на диск включает следующие файлы
image

@Nior21 Nior21 self-assigned this Mar 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
ImportFrom1C
In progress
Development

No branches or pull requests

1 participant