Jump to content

Ошибка при выгрузке заказов в 1С


Recommended Posts

Сегодня обнаружил весьма неприятную ошибку при выгрузке заказов в 1С и решил поделиться тем, как ее исправлять

Суть ошибки: в модуле api/Orders.php в методке get_orders по умолчанию прописан лимит в 100 записей при получении списка заказов из базы данных. А в скрипте экспорта в 1С этот метод вызывается без указания лимита. В результате в 1С выгружаются только 100 записей. Соответственно, если с момента последнего обмена с 1С пришло или обновилось больше 100 заказов, то часть из них остается не импортированной.

Исправление:

в файле simpla/cml/1c_exchange.php меняем строку 

 

$orders = $simpla->orders->get_orders(array('modified_since'=>$simpla->settings->last_1c_orders_export_date));
 

 

на такую:

 

$orders = $simpla->orders->get_orders(array('modified_since'=>$simpla->settings->last_1c_orders_export_date,'limit'=>10000));
 

 

увеличив тем самым количество строк, извлекаемых из базы до 10 тысяч.

Сейчас проверил, даже в самой последней версии эта ошибка присутствует.

Link to post
Share on other sites

Подобные ошибки имеются в коде еще примерно в 5-6 местах и могут проявляться в десятке мест, например

http://forum.simplacms.ru/topic/9579-%D0%BF%D0%BE%D0%B4%D0%B1%D0%BE%D1%80-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2-%D0%BA-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D1%83-%D0%B2-%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%BA%D0%B5/

http://forum.simplacms.ru/topic/11111-%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-100-%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2-%D0%B2-%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD/

 

И сам подход автора, когда по умолчанию используется фиксированное значение $limit - совсем несерьезный...

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...