//////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////// Задача. Загрузка заказов с сайта abaris.top //////////////////////////////////////////////// В конфигурации Управление торговлей 11.1.4.11 настроить обработку для ручной и автоматической (по заданному расписанию) загрузки заказов клиентов с сайта abaris.top. Данные с сайта получаются путем отправки http запроса на ресурс abaris.top, в ответ на который получается xml файл с данными о заказах. Выбор заказов осуществляется путем передачи на ресурс abaris.top даты начала, с которой необходимо получить заказы. После успешной загрузки текущая дата будет запомнена в базе 1С и при последующем запросе будет передана как дата начала загрузки для очередной порции новых заказов. Для заполнения заказов будет создан алгоритм разбора xml содержимого, получаемого с сайта, в котором содержится информация о заказе, покупателе, заказанных строках (товары) и, при наличии, характеристик. При загрузке покупателей, синхронизация будет происходит следующим образом: * Если поле с идентификатором клиента (поле ) ненулевое, то синхронизируем по этому полю (у контрагента связанный реквизит будет добавлен в конфигурации) * Если поле нулевое (клиент не зарегистрировался), то синхронизация следующая: * Синхронизируем по номеру телефона * Если не найден, то синхронизируем по Фамилии и Имени. * Если не найден, то создаем нового контрагента. При создании нового / перезаписи существующего контрагента будут заполняться / обновляться следующие поля по данным сайта: * Наименование (оно же ФИО) * Контактная информация: * e-mail; * телефон (если синхронизация не по телефону); * Адрес (в свободной форме). См ниже Примечание1. Следующие поля при создании нового контрагента заполняются по умолчанию: * Тип контрагента: физическое лицо В заказе клиента создать дополнительное поле: "Номер abaris.top" В данное поле будет загружаться номер заказа с сайта abaris.top В новом заказе следующие поля заполняются по умолчанию: * Организация: Абарис * Соглашение: то, что будет сохранено в обработке. * Статус "Согласован"; * Подразделение "Отдел продаж"; * Желаемая дата отгрузки = дата создания заказа; Способ доставки заполняется по данным сайта. Например: "Доставка до пункта выдачи". При заполнении товаров получаются следующие поля с сайта: * Код номенклатуры (например УТ-00000234), по нему будет идти синхронизация номенклатуры. В выгрузке это поле , содержащее только цифры, при синхронизации нужно слева дополнить "УТ-<лидирующие нули". * Количество * Цена * Ставка НДС- всегда Без НДС. Так же будет предусмотрено заполнение характеристик. С сайта идет информация о составляющих характеристиках для каждой позиции, по ним будет происходить поиск характеристики. Например: Ростовые группы: 3 Цвет каркаса: Жёлтый Цвет спинки и сиденья: Белый Примечание1: Из сайта abaris.top данные по адресу контрагента приходят в текстовом значении без специальной разметки. Например: "Москва Чермянская улица 3", или "Москва Барклая ул 8". В отличие от загрузки с сайта sovrsosh.ru. В результате при создании нового контрагента данные по адресу будут содержаться в свободной форме. Чтобы разнести ключевые поля (индекс, область, город, улица, дом, квартира и т.п.) в нужном месте, пользователю потребуется вручную отредактировать адрес //////////////////////////////////////////////////////////////////////////// //////////////////////////////// ТЕХНО ИНФО /////////////////////////// ///////////////////// Механизм нужно добавить к обработке в конфигурации "_Alex4fm_ЗагрузкаЗаказовКлиентовИзАмиро". Там же по аналогии добавить кнопку "Загрузить с abaris.top", в имеющеся кнопке для Амиро в названии добавить "... с Амиро". Обработку тоже переименовать: убрать название Амиро. В форме в "параметры заполнения заказа" поля настроек для обоих сайтов оставить на главной, под ними добавить 2 страницы, на первой специальные значения для Амиро, на второй для Abaris.top (если таковые имеются). Так же не забудь прописать сохранение новых параметров в базе так же как и для текущих. Обработка предусматривает автоматическую загрузку. Туда же добавить и Abaris.top. Код для подклюения сайту (Http запросы), откуда идут заказу уже подготовлен (в модуле управляемой формы). Взять его сможешь из обработки ТестAPI_OpenCart (лежит на рабочем столе). Код создания заказа, а равно и создание контрагента и номенклатуры нужно сделать в общей процедуре с Амиро на базе уже существующей в обработки, т.к. многие действия у обоих сайтов совпадают (потом общие механизмы редактировать будет проще). Если у каждого сайта свои уточнения, то их выполнять с условием. Т.к. некоторая часть алгоритмов дорабатывается в имеющейся обработке, то в ТЗ могут отсутствовать некоторые уточнения, которые уже описаны в алгоритме (например, заполнение полей по умолчанию при создании нового заказа). И еще: кроме заявленной стоимости, мне от тебя нужна дата дедлайна, после которой ты гарантируешь окончательнео завершение с учетом исправленных багов (которые нужно свести к минимуму, путем самостятельного тестирования перед сдачей мне своей работы). Нужно делать работу так: сдавать до дедлайна, и если сдал, то значит гарантируешь стабильную работу даже после перехода на рабочую базу. Если сделаешь хорошо без нудных багов, только на описание которых уходит уйма времени, а так же мои нервы и нервы заказчика, то приплюсовываю к твоей стоимости премию в процентах от 10 до 30 в зависимости от результата и исходной заявленной стоимости. Сдача работу после дедлайна недопустима (я не буду ее принимать). Если ты сдал работы близко к дедлайну (за 1-2 дня), то работа принимается только при отсутствии серьезных багов. Т.к. предполагается, что ты их все-равно не успеешь исправить. Это тоже самое, что просто не доделать работу, заявить ее выполненно, а недоделки списать на баги. А потом уже после дедлайна тянуть кота за хвост на целые километры. Я это пишу, т.к. уже имею не однократный исполнения криворукой работы, что часто заключается не всегда в отсутствии опыта, а в распределении своих приоритетов. Допустимо только, что с момента начала исполнения до полного завершения задача будет на первом месте. Предполагается, что у тебя должны быть вопросы по текущей задаче, т.к. само описание не всегда точно описывает суть работы, и чтобы ее понять как надо, нужно созвониться и обсудить детали.