Общие вопросы про PIX RPA

artarik

Member
1. в 1С создать ОСВ и выгрузить в EXCEL
2. из исходного файла получить таблицу следующего содержания
ПоставщикКод
ООО "ромашка206,26
ООО "Рога и копыт"302,26

1606398387984.png
ВЫше пример ОСВ.
У некоторых поставщиков есть несколько счетов, нужен самый последний, т.е. у поставщика №1 итоговый счет будет 302,26
у Поставщика 2 - 302,32
у ПОставщика 3 302,34
у Поставщика 4 - 302,31
и т.д.


Спасибо @addewyd, за его доработки :) получил такую картину
1606399552741.png

Основные "затыки" в активностях Прочитать ячейку, Классифицировать
 

Вложения

addewyd@

Member
Возможно, потому что "прочитать ячейку" каждый раз открывает и парсит файл ексель? (предположение). Чем толще файл, тем больше работы.
А если считать сразу весь лист в таблицу ("диапазон ячеек") и с ней работать?.
 

addewyd@

Member
А вообще могу предложить активность "построчное чтение excel файла"

Первым шагом открываем файл
Вторым устанавливаем лист
Дальше читаем строки (в цикле — возвращает List<object>) пока не вернёт null

Где-то так. Через день-два...

набросок (рабочий) можно и тут посмотреть


Пример: examples/excel.pix
 
Последнее редактирование:

artarik

Member
Возможно, потому что "прочитать ячейку" каждый раз открывает и парсит файл ексель? (предположение). Чем толще файл, тем больше работы.
А если считать сразу весь лист в таблицу ("диапазон ячеек") и с ней работать?.
вряд ли, нелогично это
 

artarik

Member
А вообще могу предложить активность "построчное чтение excel файла"

Первым шагом открываем файл
Вторым устанавливаем лист
Дальше читаем строки (в цикле — возвращает List<object>) пока не вернёт null

Где-то так. Через день-два...

набросок (рабочий) можно и тут посмотреть


Пример: examples/excel.pix

ну я так и делаю, стандартными активностями, но спасибо, гляну
 
Последнее редактирование:

addewyd@

Member
Стандартными - это или весь лист в таблицу прочитать, или на каждую ячейку заново открывать эксель, распаковывать и в хмл искать нужную ячейку.
вряд ли, нелогично это
ага, а параметром к активности "прочитать ячейку" имя файла.

У меня же открывается один раз при старте.
 

Кирилл Серов

Administrator
Команда форума
вряд ли, нелогично это

Добрый день.

addewyd@ в данном случае прав.

Активность "Считать ячейку" действительно использует считывание файла. Отсюда может увеличиваться время обработки.
И здесь, действительно, как альтернатива, может использоваться единоразовое считывание всей таблицы (при помощи активности "Считать диапазон ячеек"). А далее уже работа с ним.
 

artarik

Member
Добрый день.

addewyd@ в данном случае прав.

Активность "Считать ячейку" действительно использует считывание файла. Отсюда может увеличиваться время обработки.
И здесь, действительно, как альтернатива, может использоваться единоразовое считывание всей таблицы (при помощи активности "Считать диапазон ячеек"). А далее уже работа с ним.
Дело в том, что я не знаю сколько у меня в итоге будет строк в таблице, а без этого не могу использовать активность
1606469318835.png
 

addewyd@

Member
В моей активности можно получить размеры листа:

1606470502936.png

FieldCount и RowCount

Позже, возможно, добью последнюю опцию, пока там пусто.
 

addewyd@

Member
А можно даже загнать всю таблицу в массив и обращаться по индексу.
 

artarik

Member
UPD
оказалось, что под "Если диапазон не указан ..." в описании свойства Диапазон активности СЧИТАТЬ ДИАПАЗОН ЯЧЕЕК С ЛИСТА подразумевается не пустое значение, а ""
В итоге, через работу с таблицей, время обработки уменьшилось с 15 минут, до 40 секунд. :)
Забавно наблюдать, как в отладке отображается выполнение активностей, когда робот уже закончил работу и вывел результат на экран :)
 

addewyd@

Member
Тем не менее...


в профилере добавлены ещё одна колонка и одна опция.

Кроме того, новая активность, с помощью которой можно отправлять разную инфу в процессе выполнение по хттп на сервер. Свой сервер, на (локалхосте). Отправка осуществляется в отдельном треде, так что на скорость работы робота практически не влияет.

А дальше инфа по ws отправляется прямо в браузер. Сижу и мониторю в реальном времени.
 
Последнее редактирование:

addewyd@

Member

Раз уж пошла такая пьянка...

Опция в excel reader "Tables".
Возвращает список таблиц. Таблица = лист.

1 Открываем
2 получаем список
3 закрываем

Увы, добавилась ещё одна дллка

1606487747692.png

try/catch по вкусу...
 
Последнее редактирование:
Верх