новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
xalexey
Приватное сообщение

Написать загрузчик из Excel

Задание в категории песочница
Москва(Россия )
7 |  7
29 июня 2020 в 15:07:56 (4 года 20 недель 6 дней 19 часов назад)
1200
Текст задания
Необходим загрузчик из Excel в самописную конфигурацию на УФ. Бюджет - 1500 руб.
Конфигурация в прикреплении.
Загрузка планируется локальная из тонкого клиента, поэтому передавать файл с клиента на сервер и проверять подключение расширения работы с файлами (для веб-клиента) не требуется.
Пример файла в прикреплении.
Страницам файла соответствует справочник "Курсы", если не найден - создавать новый, поиск по наименованию.
На странице структура прерывисто линейная.
В 1-ой строке идет шапка, затем группы строк.
У каждой группы строк есть заголовок, расположен в колонке "2". Заголовок соответствует справочнику "Группы", поиск по наименованию и реквизиту "Курс".
Отличать одну группу строк от другой следует по следующим параметрам:
- Перед строкой с заголовком в той же колонке пустая ячейка
- Перед строкой с заголовком в той же колонке ячейка "ИТОГО"

Пример наименования группы "25.08.15 КП/К-1420 18:30 - 21:30 (4 занятия/Среда)". Наименование необходимо распознать и преобразовать в данные справочника.
25.08.15 - реквизиты "ДатаТеоретическая", "ДатаФактическая". 18:30 - реквизит "Время".
По разнице между "21:30 и 18:30" - реквизит "Длительность" в минутах.
Если есть слова "заняти", "зан.", то цифры слева от него через пробел преобразовывать в реквизит "КоличествоЗанятий".
Полные названия дней недели ("Среда", "Пятница" и т. д.), а также выражения типа "СБ", "ПН", "ВСК" и т. д. преобразовывать в реквизит "ДниЗанятий" (реквизит с типом Строка, данные хранятся в виде "ПН;ЧТ;СБ;", можно посмотреть в Форме элемента в процедурах "ПриСозданииНаСервере" и "ПриЗаписи").
При невозможности распознать данные заполнять только Наименование элемента и, соответственно, "Курс".

После названия группы на со следующей строки идут данные по ученикам.
Этим данным соответствует справочник "Ученики" и табличной части "Ученики" справочника "Группы".
Колонка "2" - Наименование и реквизиты "Фамилия", "Имя", "Отчество" (наименование необходимо разбить на 3 составляющих, если в наименование более 3-х слов, то 3-е слово и более хранить в поле "Отчество").
Колонка "3" - если поле заполнено, то должен создаваться документ "ПКО" на эту сумму с соответствующими заполненными данными. Поиск по сумме, ученику, группе.
Колонка "4" - колонка "Комментарий" в строке таблицы "Ученики" элемента "Группы" и строка в таблице "Комментарии" элемента ученики.
Колонка "5" - поле "Телефон" элемента "Ученики".
Колонка "6" - поле "Email" элемента "Ученики".
Колонка "7" - поле "ОткудаУзнали" элемента "Ученики".
Колонки "8" - колонка "Комментарий" в строке таблицы "Ученики" элемента "Группы" и строка в таблице "Комментарии" элемента ученики.
Колонки "9 - 15" - колонка "Комментарий" в строке таблицы "Ученики" элемента "Группы".
Все данные для комментариев (колонки "4", "8", "9 - 15") должны быть объединены в одну строку, разделителем между данными разных колонок должен быть 1 перенос строки. Данные одной колонки должны быть записаны так: сначала название колонки, на следующей строке текст ячейки. Название для колонок "4", "8" брать из 1-ой строки страницы, названия для колонок "9 - 15" брать из строки с заголовком группы.
Весь совокупный комментарий по одному ученику по одной группе (по колонкам "4", "8") должен быть добавлен в одну строку таблицы "Комментарии" справочника "Ученики", дата комментария - реквизит справочника Группы "ДатаТеоретическая".
Поиск по ученикам осуществлять по полям "Наименование", "Телефон", "Email".
Окончанием строк с составом группы считать пустую ячейку в колонке "2" или ячейку "ИТОГО".

На форме выбирается путь к файлу.
После загрузки и сопоставления данных (но ДО записи в базу), данные должны быть представлены на форме.
Должно быть видны (отдельные колонки) исходные данные (текстовое представление) и найденная ссылка (если данные нашлись).
Данные должны быть распределены по группам, а группы по курсам, т. е. должны быть 3 таблицы (либо еще какой-то способ), при выделении строчки которой будут отображаться соответствующие строки в зависимых таблицах (например, при активации строки с определенной группой, в таблице с учениками отображается только состав этой группы).
Должна быть возможность указать галочками, какие курсы, группы, ученики должны быть загружены в базу. При снятой галочки у группы, вся группа не загружается, при снятой галочке у курса, не загружаются все группы этого курса.

Бюджет - 1500 руб.
0
Выбранные исполнители
Отклики (7)