Страницы: 1
RSS
Надстройка для связи mySql сайта и екселя, Макрос в виде надстройки для связи mySql сайта и екселя для получения данных и дальнейшего разноса этих данных по ячейкам
 
Нужно сделать надстройку для екселя, которая бы связывала ексель файл и базу данных сайта на opencart 1.5.1.3 для втягивания заказов и разносил данные по ячейкам.

связь без использования odbe драйвера, для авторизации к базе данных и передачи запроса в базу использовать php скрипт, который будет лежаить на хостинге

версия екселя 2010


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

Для отбора нужных заказов для втягивания, кроме статуса заказа, нужно еще иметь возможность отбора заказа по типу оплаты.
Т.е. так же нажатием кнопки втягиваем в макрос возможные способы оплаты с базы сайта и потом выбираем галочкой с каким способом оплаты нас интересую заказы для втягивания.
Например выбираем:
Статус заказа: В обработке (этому статусу соответствует новый заказ на сайте)
И отмечаем Способ оплаты: Оплата при получении на Новой почте (Наложенный платеж)

Т.е. втянутся заказы соответствующие статусу В обработке и при этом у которых только способ оплаты «Оплата при получении на Новой почте (Наложенный платеж)»

Втягиваем следующую информацию с заказа:
• Номер заказа
• Название товара
• Артикул товара
• Стоимость товара
• e-mail
• телефон
• фио клиента
• данные по доставке.
• комментарий
Данные:
• Название товара
• Стоимость товара
• e-mail
• телефон
в екселе вписываются каждый в свою ячейку, поэтому в макросе в настройках нужно указать для каждого из этих данных в какой столбец вписывать.
А данные:
• Номер заказа
• фио клиента
• данные по доставке.
• Комментарий
• А так же дублирование телефона, e-mail и артикула в ячейку вместе.
Вписываются в одну ячейку вместе


Пример что там должно быть в общей ячейке:
#22398 Иванов Иван Петрович 0569999999
Способ доставки:Доставка Новой почтой
Отделение №1: ул. Льва, 38л
Городок(Львовская обл.)
(Львівська область)
Україна
+380569999999
rrrr@gmail.com
CS-ERU5SL
Комментарий: Наложений платіж,

Данные вносятся на открытый (активный) текущий лист документа в следующую свободную строку после занятых, определяется по столбцу "B" (может вы лучше придумаете идею)
Должна быть кнопка, Втянуть заказы, по нажатию которой начинает втягиваться заказы, согласно выставленных настроек.
И так же должно быть прямо на панели надстройки 2 поля для ввода цифр, куда можно вписать номера заказов, которые нужно втянуть, если введены цифры, тогда все настройки косательно статусов заказа и формы оплаты игнорируются и просто втягивается те номера которые указаны.
2 формы чтобы задать диапозон заказов, которые нужно втянуть  если это больше чем один, если нужен один заказ, тогда цифра только в первой форме или в 2-х формах один и тот же номер. Можно сделать одну форму и чтобы макрос понимал написанное в ней, например: 100-110 то втягиваем все заказы с номера 100 по 110 включительно, если 110,113,120 – то втягиваем заказы с номерами 110,113, 120. Или если одна цифра – то это один заказ с этим номером.

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

Заказы должны втягиватся быстро.

Макрос должен быть сделан так, чтобы если что-то пойдет не так, то это не приведет к полному зависанию екселя намертво.

Если в заказе несколько товаров, то этот  блок строк  выделяется заливкой, чтобы было сразу видно что эти несколько строки относятся к одному заказу.
В столбце Е «Где продано» для заказов втянутых макросом устанавливаем значение из выпадающего списка «Магазин»

Бюджет 80 доларов
 
80 долларов - на мой взгляд, очень мало для этой задачи.

что за php скрипт на хостинге, для авторизации, и передачи данных?
или его тоже надо написать «с нуля», в рамках этой задачи?
 
Цитата
Игорь написал:
что за php скрипт на хостинге, для авторизации, и передачи данных?
или его тоже надо написать «с нуля», в рамках этой задачи?
на VBA нельзя сделать авторизацию с базой данной на мускуле, для этого нужно использовать или obde драйвер (я не хочу его использовать) или php скрипт.

php скрипт (примерно 20 строк) пишите тоже вы, так как он взаимодействует с вашим макросом . в нем авторизация и передача запроса в базу
Изменено: Siniy - 13.12.2017 19:17:22
 
Если умножить цену на 5 (а лучше на 6) - то можно сделать
Страницы: 1
Читают тему
Наверх