Интеграция с программным комплексом СДЭК








Выгрузка заявок в СДЭК — edostavka.ru, получение трек номера заказа, получение печатной формы квитанции к заказу.

 Интеграция написана по документации с сайта СДЭК — http://www.edostavka.ru/clients/integrator.html

Что реализовано:

1. Получение  "Списка пунктов выдачи заказов (ПВЗ)" для выбранного города (город выбирается из классификатора СДЭК, который загружен в макет обработки).

2. Формирование  "Списка заказов на доставку", при успешной выгрузке обратно приходит "трек номер" заказа (необходимо создать такой реквизит у документа "ЗаказПокупателя"), если при выгрузке были ошибки, то их можно увидеть в соответствующей колонке.

3. Формирование "Печатной формы квитанции к заказу"  по загруженным в СДЭК заказам.

Если будет востребовано данное решение, то планирую реализовать все возможности интеграции. 

25.02.16 

Добавлена обработка для "Управление торговлей 11".

1. Логин и пароль задаются в процедуре ПриСозданииНаСервере.

2. Реализован рассчет доставки по выбраным тарифам.

3. Настройки по печати выведены на форму.

4. Функционал версии для обычного приложения сохранен. 

38 Comments

  1. kolabaister

    А реализован ли вызов курьера?

    Reply
  2. morik44

    (1) kolabaister,

    нет, но это реализуемо, если есть необходимость — пишите.

    Reply
  3. specerp

    Такое решение уже существует http://1softbiz.ru/?p=486

    Reply
  4. morik44

    (3) specerp, ну я рад, плати 10 рублей и радуйся)

    Reply
  5. 1sbiz

    morik44, окей)

    Reply
  6. chuklay

    Форма обработки для УТ 11.1.10.94 открывается пустой.

    Reply
  7. morik44

    (6) chuklay, завтра гляну, делалось на 11.2 Оставьте Вашу почту.

    Reply
  8. fdrpaid

    По ссылке ИнтеграцияСДЭК_УТ11 вариант обработки для толстого клиента.

    На управляемых формах (например в УТ11) обработка не работает. Я оплатил именно для УТ 11.

    Reply
  9. morik44

    отредактировал для УТ 11.

    Reply
  10. vamleshka

    код закрыт для доработок?

    Reply
  11. morik44

    (10) код конечно открыт

    Reply
  12. morik44

    Доработаю вашу конфигурации под синхронизацию с Яндекс.Маркет по программе «Заказ на Маркете». Реализовано через HTTP-сервис.

    Обращайтесь в скайп: spartak-ks

    Reply
  13. sobeyko2008

    У меня не открылась обработка

    {ВнешняяОбработка.ОтправкаСДЭК.Форма.Форма.Форма(283)}: Ошибка при вызове метода контекста (Выполнить)

    Заказы.Загрузить(Запрос.Выполнить().Выгрузить());

    по причине:

    {(7, 18)}: Поле не найдено «ЗаказПокупателя.ТрекНомер»

    ЗаказПокупателя.<<?>>ТрекНомер КАК НомерСДЭК

    Reply
  14. morik44

    (13) — Читайте внимательно :

    2. Формирование «Списка заказов на доставку», при успешной выгрузке обратно приходит «трек номер» заказа (необходимо создать такой реквизит у документа «ЗаказПокупателя»), если при выгрузке были ошибки, то их можно увидеть в соответствующей колонке.

    Reply
  15. sobeyko2008

    (14)я скорей всего плохо понимаю логику… Но для чего используется документ заказ покупателя. Разве отправка наложенным платежом не через реализацию проводится?

    Reply
  16. morik44

    (15) в данной разработке требовалось для заказа. Можете подменить под реализацию, код открыт.

    Reply
  17. morik44

    Обновлен адрес подключения.

    Reply
  18. lame

    Протокол у СДЭКа обновлен

    в программе нет.

    Скачивать или не советую.

    Или скачиваете — с дальнейшей сильной допилкой …

    Reply
  19. lame

    для не УФ — нет заявленного механизма расчета доставки

    Есть опция — отправка текущего заказа покупателя на сайте СДЭК

    при этом — протокол обновлен и при текущих параметрах — работать не будет

    Есть опция — получения списка — Список пунктов выдачи заказов

    Есть опция — получение печатной формы заказа на бланке СДЭК … в пдф формате ( пока не дошел до этого .. но пдф выскакивает .. пустой -но выскакивает. Проверю — отпишусь)

    Reply
  20. lame

    логика вообще не логичная .. уж пардоньте …

    Автор .. смотрите …

    есть таблица заказов. я отправляю их на сайт сдэк. он их там создал. нормально.

    при повтороной отправке он не отправляет уже созданные. Тоже нормально.

    Но! Печать ПДФ возможна только при первой отправке заказа.

    те взять и повторно распечатать форму пдф сдэка — в уже сформированном на сдэк документе — невозможно

    Reply
  21. morik44

    (19) — для не УФ — нет заявленного механизма расчета доставки

    Для не УФ расчета доставки заявлено не было, читайте внимательно.

    По поводу протокола не в курсе, клиенты продолжают работать на

    используемой версии api.

    Reply
  22. morik44

    если про УФ, то доп. реквизит должен быть у заказа;

    если про не УФ, то в тексте публикации написано — (необходимо создать такой реквизит у документа «ЗаказПокупателя»)

    Reply
  23. lame

    (21)

    читаю внимательно

    Добавлена обработка для «Управление торговлей 11».

    2. Реализован рассчет доставки по выбраным тарифам.

    4. Функционал версии для обычного приложения сохранен.

    Отсюда делаю вывод — что и для НЕ УФ — данная опция пристутсвует

    Reply
  24. lame

    (22)

    я не про допреквизит

    а про логику работы.

    попробуйте в своей версии распечатать документ пдф для заказа — который УЖЕ есть на сайте сдэка.

    не получится

    потому что печать пдф возможна только для только созданного заказа

    Reply
  25. lame

    (21)

    и да .. если лень было делать не для УФ опцию — расчет стоимости

    то можно было в коде обработки не УФ выложить процедуру с УФ — закомментированную.

    чтобы можно было воссоздать..

    а то у вас одна стоимость работы- для УФ и не для УФ в 10 монет

    при этом урезан функционал

    Reply
  26. lame

    и НИГДЕ не указано — что работа идет только по 2м тарифам

    Список.Добавить(«136 С-С»,»136 С-С»);

    Список.Добавить(«137 С-Д»,»137 С-Д»);

    Reply
  27. lame

    такие переменные как — отправитель ФИО и отправитель Телефон — вы бы как-то закомментирвоали бы

    или вынесли б в общие переменные..

    Reply
  28. lame

    Уважаемые программисты.

    Кто читает.

    Итоги такие

    — если руки не из ж. и есть время на прикручивание к вашей 1С — то скачивайте. У меня заработало через 1,5ч после сопоставления кода и описания протокола. Да и то … куча полей не данном протоколе не указана. Например, геометрические размеры груза SizeA SizeB SizeC

    те как наглядный вариант — работает!

    Reply
  29. lame

    в типовой выгрузке — если скачивать — внести допреквизит и запустить

    самая первая ошибка — которую присылает сервер

    <?xml version=»1.0″ encoding=»UTF-8″?><response><Order Number=»000568″ ErrorCode=»ERR_NEED_ATTRIBUTE» Msg=»Отсутствие обязательного атрибута: Attempt/Date»/><Order Msg=»Добавлено заказов 0″/></response>

    Как показал метод проб и ошибок

    надо из запроса удалить блок

    <Attempt ID=»1″ TimeBeg=»10:00:00″ TimeEnd=»18:00:00″/>

    т.к. тут нет параметров Date и Number

    Reply
  30. lame

    обработка ответ от сервера — не верная ..

    опять -таки, логически не верная.

    суть

    — вы обошли все строки таблицы на экране. сформировали 1 файл-запроса. хмл.

    отправили.(например, в запросе идет добавление 6 заказов)

    приходит ответ в виде 1 файла ответа, в котором перечислены статусы на все 6 заказов.

    и вы — судя по всему — последний ответ из этого хмл-файла ответа пишите во все строки — в которых участвует запрос.

    те если из 6 отправляемых документов 4 прошло, а 2 нет — то ВЕЗДЕ будет стоять последнее значение из массива ответа …

    ВЕЗДЕ !!!

    А по факту — это не так!

    Reply
  31. lame

    Вот пример ответа на отправку 3х накладных .

    2 из которых с ошибкой

    <?xml version=»1.0″ encoding=»UTF-8″?><response><Order Number=»00000000381″ ErrorCode=»ERR_NOT_FOUND_RECCITY» Msg=»Отсутствуют параметры для идентификации города получателя: RecCityCode, RecCityPostCode»/><Order Number=»00000000380″ ErrorCode=»ERR_NOT_FOUND_RECCITY» Msg=»Отсутствуют параметры для идентификации города получателя: RecCityCode, RecCityPostCode»/><Order Number=»00000000382″ DispatchNumber=»1073414865″/><Order Msg=»Добавлено заказов 1″/></response>

    Reply
  32. morik44

    (30) (31) уважаемый, Вы куда-то не туда смотрите: ошибки выводятся по номеру заказа.

    Выгрузка проходит корректно, без ошибок, днём были ошибки, но были связаны с нестабильной работой api СДЭК.

    Reply
  33. lame

    я смотрю в ваш код.

    вы — наверное — за одну отправку не отправляли ни разу более 1 заказа.

    отправьте в своей тестовой базе 3 документа.

    1 из которых с заведомо явной ошибкой в данных.

    удивитесь выводимому на экран ответу.

    Reply
  34. lame

    еще ..

    то место — где вы записываете документ заказ покупателя — с внесенным номеромтрека ..

    типа

    ДокОб.Записать(Режимзаписи.запись)

    делать правильно через

    Попытка

    Исключение

    конецпопытки

    надеюсь — объяснять не надо почему

    и если записать документ не удается

    то выводить информацию или в окно сообщений или в колонку — ошибка.

    И как-то думать — что делать в такой

    Reply
  35. lame

    И как-то думать — что делать в такой ситуации ..

    те документ в сдэк отправлен. номер вашего заказа на на сайте уже присвоен. и у него есть этот номер.

    а в базе 1С — не зафиксирован нигде ..

    и при повтороной выгрузке этого документа на сайт — сдэк вернет ошибку…

    Т.е. — лучший вариант — делаем регистр сведений. с 2мя параметрами

    — заказ клиента

    — номер трека.

    все.

    Reply
  36. lame

    или обрабатываем ситуацию — когда сдэк возвращает ошибку- что документ в системе уже зарегистрирован.

    в котором есть и номер заказа 1С , и номер трека …

    Reply
  37. morik44

    (36) Дак кто ж Вам мешает всё это реализовать у себя. Я не претендую на «оскар».

    И хорош уже флудить. Я Вам обработку не за 10000 руб. продаю Это можно сказать «рыба», где реализованы определенные функции взаимодействия с api.

    Вам уважаемый сюда — http://1softbiz.ru/integraciya-1s-i-sdek/

    Reply
  38. lame

    ну что вы .. я флудом не занимаюсь

    я описываю то — с чем придется столкнутся следующим ..

    страна должна знать своих героев и их косяки и быть готовым ..

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *