Загрузка и обработка "плоского" Табличного документа / Excel с произвольным кодом обработки строк, который можно редактировать на лету в режиме предприятия, с автоформированием и отображением таблицы значений.
Минимум настроек - всю необходимую логику обработки данных можно реализовать возможностями языка 1с ( как нравится и на сколько хватило фантазии :) )

Позволяет:
- - Произвольно обработать табличные данные из xls, mxl применяя произвольный построчный код
- - Модифицировать табличный документ используя произвольный код (можно в несколько итераций обрабатывать данные новыми алгоритмами)
- - Сформировать на основе табл. документа Таблицу Значений и обработать ее
- - Выполнять транзакционную запись или использовать режим Без Записи (попытка записи, но откат транзакций)
- - Получить лог обработки
- - Загрузить mxl с уже существующими ссылочными данными в своих ячейках (например при прошлых выполнениях алгоритмов)
- - Можно редактировать Таб. документ/ Таблицу значений вручную ( т.е. менять значения ячеек, удалять строки и т.д.) и применять код уже модифицированным данным
Требования к загружаемому файлу:
- - если используется эксель файл - то одностраничный
- - нет разрывов (пустых строк / столбцов) между строками и колонками с данными в табличном документе
- - наименования колонок не содержат "спец" символов
- - первая строка содержит заголовки колонок
Логика работы и особенности
1.1 Читается табличный документ - в зависимости от флага - может сразу формироваться ТЗ или нет (при формировании ТЗ может сразу же выполняться и алгоритм)
1.2 Табличный документ модифицируется как угодно используя поля с вводом алгоритмов (например можно сразу добавить новый столбец с ссылками на данные, а можно это сделать модификацией ТЗ. можно результат одного выполнения модифицировать стартом нового алгоритма и т.д.)
Между алгоритмами может передаваться структура КонтекстАлгоритмов, содержащая общедоступные данные (например менеджер ВТ какого то запроса , или индексированную ТЗ).
2. На основе табличного документа можно сформировать таблицу значений и использовать ее данные, применяя алгоритмы как для каждой строки, так и перед и после обработки всех строк. (см. соответствующие флаги)
3. Формируется лог выполнения алгоритмов
4. Текст алгоритмов можно сохранять/ загружать из файла, или настроек формы
Присутствует ряд служебных переменных и функций доступных в алгоритмах, например таких, как ФиксацияТранзакции(), ЗначениеЯчейкиТабличногоДокумента()
Возможна транзакционная запись или откат транзакций по флагу БезЗаписи (тогда в алгоритме надо использовать конструкцию НачатьТранзакцию() и закрывающую ФиксацияТранзакции() - см Пример3);
Возможно прерывание цикла обхода строк при первой ошибке

Примеры
- Пример 1 - простая модификация табличного документа (см gif выше)
Пример модификации таблицы
- Пример 2 - использование структуры КонтекстАлгоритмов передаваемой между алгоритмами,
возможно использовать по результату примера 1 - Пример 3 - работа с объектами и транзакциями (флаг БезЗаписи, процедура ФиксацияТранзакции()) (см gif выше)
- Пример 3 ( для заполнения ТЗ) - демонстрация работы флага “Использовать для заполнения значений ТЗ” при выполнении первичного формирования ТЗ, когда ее еще нет как реквизита формы. Позволяет продемонстрировать получение ссылочных данных, для дальнейшего использования
Пример формирования ТЗ с ссылками
- Пример 4 - трансформация полученной ТЗ, так же демонстрирует получение ссылочных данных
Пример Пред/ Пост трансформации уже сформированной ТЗ
Демонстрация работы обработки:
https://youtu.be/GCxGt8D0RTU?si=YBE3MzxGljsfpWsZ
P.S.
Обработок загрузки из эксель полно, так что на "открытие" года не претендует.
Но для себя похожего "минимализма" не нашел, поэтому сделал этот велосипед. Буду кататься, а точнее уже )) т.к. на практике приходится примерно одни и те же действия делать для разных данных, и хочется видеть, как они трансформируются на лету при тестовых прогонах перед тем, как загрузить в рабочую базу что-то.
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.12.270
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.150.33
Вступайте в нашу телеграмм-группу Инфостарт