Для чего нужна автоматическая загрузка данных
Автоматическая загрузка данных используется в случае если вам необходимо загрузить в систему много данных извне. Например данные из своей старой crm системы, или всех контрагентов из экселевского файла, в котором вы их вели раньше.
Грубо говоря, автоматическая загрузка является средством подачи данных из экселевского файла в процедуру системы, которая что-то сделает, например, добавит новые данные в ту или иную таблицу, или изменит их. Тут ваше творчество неограниченно.
Надо ли вам перенести своих контрагентов из старой системы, или их контакты из экселя, загрузить автоматически счета. Нет проблем! Создается процедура под ваши нужды, и грузите!
Автоматическую загрузку лучше всего описывать на примере.Пример использования автозагрузки
Например нам необходимо некому контрагенту загрузить автоматически его контакты.
Для начала нам надо сделать (или найти) процедуру при помощи которой мы буде эти данные загружать.
Процедура уже существует, она называется "КОНТАКТЫ_УНИВЕРСАЛЬНЫЕ_Новый" (где находятся процедуры и процесс их создания см. в разделе "Часть 2. Программирование базы данных").
Смотрим входящие параметры данной процедуры.
[ID_запроса] в нашем случае надо заполнять =1. Т.к. контакты универсальные, в каждом новом месте будет присваиваться новый номер. У контрагентов он равен единице.
[ID_Объекта_привязки] в нашем случае равно Лицевому счету контрагента, т.е. =1 (можно добавлять адреса сразу многим контрагентам зная их лицевые счета и в той или иной строке файла вписывая нужные ЛС)
[Тип контакта] берем из универсального справочника "Типы контактов". В нашем примере мы будем добавлять E-mail (17) и Адрес (19).
[Текст_контакта] - сам контакт, например для email это может быть asd@asd.ru
[Комментарий] - комментарий к контакту
[Автор] - это лицевой счет пользователя, из под которого в системе создастся контакт. Его можно посмотреть в карточке сотрудника. Пусть это будет сотрудник с ID=15. Формируем экселевский файл и заполняем наши данные в той последовательности в которой идут входящие параметры процедуры.
В примере мы добавим контакты Иванову Ивану Ивановичу, 2 email и 1 адрес.
Сохраняем файл в виде CSV
Заходим в систему автозагрузки Настройки --> Автоматизированная загрузка
Загружаем файл в систему.
(PS сверху отображаются данные обработки последнего файла)
После загрузки файла надо его обработать. Для этого указываем в верхнем меню наш загруженный файл test_csv9.csv.
Выбираем процедуру "КОНТАКТЫ_УНИВЕРСАЛЬНЫЕ_Новый".
И нажимаем на кнопку "Загрузить и обработать новый файл".
Изначально статус у файла будет "В очереди".
Как только программа загрузки начнет обрабатывать данный файл статус измениться на "Начата обработка".
Сначала программа обработки будет проверять корректность ваших данных. Например если в процедуре входящий параметр типа integer, то данные в соответствующем столбце не могут быть числом с запятой или строкой не являющаяся числом. Если входящий параметр является строкой в 50 символов, то данные в соответствующем столбце не могут иметь более 50 символов в длину (так же учитываются мнемоники, например символ < будет преобразован в последовательность & lt;, а одинарная кавычка в & apos; и т.п.)
Если данные не прошли предварительную проверку то статус загрузки данных измениться на "Ошибки предварительной проверки". Если такое случилось, то можно посмотреть подробные логи, в какой строке и каком столбце программе не понравились данные. Поправить их и произвести повторную загрузку.
Когда этап проверки данных пройден, наступает этап выполнения процедуры с этими данными, каждая строка данных, это выполнение процедуры 1 раз, ей на вход подаются данные и она их выполняет.
В данном случае результатом работы нашей процедуры будет добавление заданного контакта. Всего процедура в примере выполнится 3 раза, добавив 2 email и 1 адрес.
Так же возможны ошибки в самой процедуре на этапе выполнения (зависит от того какие обработки пользователь написал в процедуре), даже если все данные признаны корректными. Когда в первый раз встретится такая ошибка, статус загрузки изменится на "Обработан (с ошибками процедуры). Заливка отменена", и программа произведет откат всех изменений выполненных до ошибки. Заливка данных будет отменена.
В нашем примере все данные были корректны и успешно обработались.
Результат эксперимента
Последние 100 обработок можно посмотреть в закладке "Логи обработки"
Тут есть статус, сколько строк проанализировано и ошибки при анализе, сколько строк выполнено и т.п.
Для просмотра подробностей по ошибкам, надо в последнем столбце щелкнуть по ссылке "посмотреть", откроется новое окно со списком ошибок.
Так же существуют определенные ограничения на обработку. Нельзя за один раз обрабатывать более 10000 строк данных. Если у вас 15000 строк, то надо сформировать 2 файла, в первом 10000, во втором 5000 и обработать один, потом второй Если возникают ошибки предварительной проверки, то программа анализирует только первые 100 ошибок, потом прерывает анализ. 100 ошибок говорит о том что уже глобально что-то не так.
Если возникают ошибки на этапе отработки процедуры, то при встрече первой такой ошибки, программа произведет полный откат всех совершенных ранее изменений и завершит обработку с ошибкой процедуры. Пользователю надо разобраться и подкорректировать процедуру.
Наши специалисты всегда будут рады помочь вам в этом деле, в случае наличия неочевидных проблем! |