Артемий Зайцев пишет: Там есть возможность обновлять только цены и остатки. Эту задачу часто просят клиенты. Им самое главное, чтобы цены и остатки были актуальны.
Знакомо и сделано быстро сбоку (в 1С уже была заготовка по выгрузке в CSV). Просил такое один пока. Другие проскочили на стандартной выгрузке в режиме обновлений. А тут затык по скорости, не имеющий объяснения. Думал у меня рыльце в пушку, проверил обработчики, отключил (условно) компоненты в header.php. А все равно скорость не та (20-60 товаров за один шаг в 30 с.)
Цитата
Артемий Зайцев пишет: А на больших инфоблоках с тысячами свойств режим "Быстрая запись свойств" в разы ускоряет обмен.
Страшно такие вещи на рабочем сайте тестировать. Для этого нужен еще один новый сайт (и время при действующем проекте заниматься этой альтернативой). Лично я эти эксперименты отложу. Здесь важно понимать как в принципе сделано. Но если вы откроетесь раньше, есть шанс, что я это сделаю сам (хотя, могу и не делать, а сэкономить время заказчика и купить решение). Если взять демо, то самое важное все равно не увидишь пока не купишь. Так что здесь можно только рискнуть. Риск исчезнет, когда точно знаешь что сделано. Но к этому моменту будет уже свое решение. Это заколдованный круг.
Ок. Не пользовался никогда ни sleep, ни usleep в PHP. Как-то стараешься ускорять, а тут замедление. Да и сомнения были, что реально отпускает процессор эта функция (переводит в ожидание процесс, а не продолжает гонять какой-нибудь цикл). Видимо, в этой идее есть смысл.
Цитата
Артемий Зайцев пишет: На дешевых хостингах c жесткими лимитами может помочь
У меня как раз не дешевый VDS. И нагрузка заметная на хостинг без обмена с 1С. Когда включаешь обмен, можно уже к сайту и не подходить. Увеличивается время генерации страницы, оно переходит допустимый предел и все слоты Apache забиваются. Так что пауза - это, пожалуй, решение.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Тест хостинга указанным скриптом провел с самого начала (еще до установки Битрикс). В отличие от автора, контрольные суммы не использую (подводят они меня часто).
А вот данные панели производительности (скриншот) Не оптимально там из-за ttl для xcache (0 стоит для неограниченного хранения). По тесту видно, что работа с БД очень медленная, с файловой системой чуть медленее чем на эталоне. Но "попугаев" больше.
Таблицы инфоблоков в INNODB.
Есть шанс улучшить дело настройкой БД? Других вариантов я не вижу. Скорость загрузки медленная еще на создании временной таблицы.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Количество запросов при обмене с 1С, Количество запросов при обмене с 1С
Артемий Зайцев пишет: Модуль вставляет между шагами паузы. 30 секунд обмен, 2 секунды пауза. Замедление на 1/15. Но надежность очень сильно повышается. Длина интервалов настраивается.
Как это возможно, если запросы на сайт отдает 1С?
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Юрий Волошин пишет: Интеграция это 3 операции: формирование из 1С + транспорт до сервера + обработка сервером и в зависимости от объема данных она долгая по многим причинам может быть и не всегда вина сайта.
А как выяснить на каком шаге время тратится?
У меня ситуация подобная описанной. Каталог содержит 10 000 товаров (это в 2 раза меньше чем у автора темы), есть картинки, свойств не более 20, тип цен один. Объем архива 1,1 Гб. Из них import.xml - 60МБ, offers.xml - 6МБ. На формирование в 1С уходит три часа. На загрузку в БД сайта 10-12 часов.
Вижу здесь рекламу модуля. Есть у меня беспокойства насчет его использования (как он себя поведет на кастомизированном обмене заказами, отработают ли нормально обработчики по окончании обмена товарами). С ним я пока не разбирался, да и желания нет.
Есть также скрипт 1C Diag (). Ничего по хронометражу там нет. Есть пошаговая обработка. Пока не имел с ней дел, использую скрипт на деле тогда, когда сайт во время обмена с 1С упал и нужно сэкономить время на подготовку данных в 1С и выгрузку файла обмена на сайт.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Проверьте что выдает функция на "плохих" и "хороших" адресах. Если выяснится, что есть адреса, где эта функция уверена, что адрес правильный, а у Вас с ним проблема - смотрите настройки хостинга.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Изменение заказа и код в init.php, Не выдает свойства заказа через события
Если идет работа с создаваемым заказом, то в этот момент свойства еще не сохранены в БД. Об этом месяца за три до Вашего вопроса.
Похоже, и сейчас это актуально, т.е. за год не изменилось ничего. Сейчас смотрю bitrix:sale.order.ajax - в событие добавления значений свойства заказа влезать смысла нет - не анализируется ответ от CSaleOrderPropsValue::Add. Так что искать событие самой компоненты, где можно с этим вмешаться.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Пользовательский комментарий к заказу, как вынуть комментарий пользователя
Нигде, комментарии, введенные пользователем в 1С не идут. А то, что Вы видите в выгрузке и затем в однострочном комментарии в 1С - это определенным образом сформированная строка, показывающая где на сайте найти этот заказ (в 1С своя нумерация и без этого на сайте ничего не найдешь).
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Юлия, у меня в настройках на вкладке Заказы ничего похожего нет.
Там только:
Сайт, заказы которого выгружать в "1С:Предприятие"
Префикс номера заказа при выгрузке
Выгружать только оплаченные заказы
Выгружать только заказы c разрешенной доставкой
Выгружать заказы начиная со статуса
Статус, в который переводить заказ при получении отгрузки от "1С:Предприятие"
Заменять валюту при выгрузке в "1С:Предприятие" на
Группы, пользователям которых разрешена выгрузка
Использовать сжатие zip, если доступно
Зато на закладке "Профили обмена" есть возможность добавить в выгрузку свои параметры. Судя по Вашему ответу, они должны попасть в 1С на закладку Дополнительные сведения.
Смотрим Дополнительные параметры (передаются в реквизиты заказа в 1С). Там в поле Название параметра, видимо, я могу указать название параметра, которое будет использовать 1С для его отображения на этой закладке. Проблема в том, что я не могу выбрать источник для этого поля.
В типе я могу указать:
Другое значение
Параметр пользователя
Параметр заказа
Свойство заказа
Что такое другое значение я не совсем понимаю. Видимо, это вариант для ввода некоей константы, которая будет зависеть в итоге только от типа плательщика (и только потому, что профиль обмена привязан к типу).
Параметры пользователя здесь явно не подходят.
Параметры заказа - это то, что нужно, но там не видно комментария к заказу. Есть только:
Код заказа (ID)
Дата заказа
Дата заказа (без времени)
Сумма счета
Валюта
Стоимость заказа
Сайт
Стоимость доставки
Величина скидки
Код покупателя
Код платежной системы
Название платежной системы
Код службы доставки
Название службы доставки
Величина налогов
Идентификатор отправления (Доставка)
Номер платежного документа
Дата платежного документа
Оплачено с внутреннего счета
Номер документа отгрузки
Дата документа отгрузки
В итоге создавать искусственное свойство заказа? Искусственное потому, что есть такое стандартное поле в заказе, да выбрать его нельзя.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
<Комментарий>№ 100 www.example.com [s1] Самый лучший магазин</Комментарий>
В 1С под это выделена одна строка (я не знаю реально ли это изменить). Решил, что кастомизацией выгрузки этого тега заниматься смысла нет. Тогда должны помочь реквизиты документа (и соответствующая доработка 1С).
Хорошо, лезу в настройки профиля обмена. Как всегда, документация на высоте.
В пользовательской документации написано в стиле "Название параметра - это название параметра, чтобы ввести название параметра введите название". Можете сами посмотреть, . Ничего этот тест не проясняет.
В учебном курсе тоже (а по теме - вообще ничего). Уточнения ничего не уточняют.
В форуме, как ни странно об этом не спрашивали (или глаза не протер - не нашел).
Я готов настроить профиль, но что мне вбивать в название и значение параметра (это о разделе Дополнительные параметры (передаются в реквизиты заказа в 1С))?
Кстати, в параметрах заказа я не усмотрел ничего, чтобы соответствовало полю USER_DESCRIPTION.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Митрошин Владислав пишет: Дело в том, что при загрузке аяксом у вас нет ни $_SERVER, ни всяких там SITE_TEMPLATE_PATH
Быть такого не может, чтобы серверных переменных не было (ну, конечно, если правильно настроен сервер, болячки могут быть в nginx).
SITE_TEMPLATE_PATH определяется ядром Битрикс вполне успешно. Ядро никто не отменял и сброс буфера вывода на определение сайта не влияет.
Да, скрипты приходится подключать заново, при вызове AJAX. Дело, скорее всего в хитро закрученной BX.ajax.submitComponentForm (вызывается из известной в шаблоне этой компоненты функции submitForm(). Там создается iframe и в нем все уже подключенные библиотеки не видны.
Вот что получилось у меня (в моем случае не мультипликация, а стилизация с помощью ):
Код
if($_REQUEST["AJAX_CALL"] == "Y" || $_REQUEST["is_ajax_post"] == "Y")
{
// это работать не будет, шаблона не выдается!
//CJSCore::Init(array('jquery'));
$jqInfo = CJSCore::getExtInfo('jquery');
?>
<script type="text/javascript" src="<?=$jqInfo['js']?>"></script>
<script type="text/javascript" src="<?=SITE_TEMPLATE_PATH?>/js/jquery.formstyler.min.js"></script>
<script type="text/javascript" language="javascript">
$("input[type='checkbox'], input[type='radio'], select").styler();
<?
?>
</script>
<?
}
?>
Добавлено:
Приведенное выше решение будет работать не всегда. Надежнее все это сделать в обработчике события onAjaxSuccess
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
OnSuccessCatalogImport1C как узнать id инфоблока куда проходила выгрузка.
Денис Диденко пишет: Добрый день коллеги, хотелось бы снизить нагрузку при обработке OnSuccessCatalogImport1C, и возник вопрос, а как в этом событии узнать ID инфоблока куда проходила выгрузка?
Я выкрутился переносом скрипта обмена в прубличную часть (компоненты не кастомизировал). В этом случае становится известен ИД сайта. Если к сайту привязан ОДИН каталог, проблема решаема в один вызов API.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Данные offers и import попадают в один тип инфоблока при выгрузке, Проблема
Нужно проверить настройки каталога. Должны быть настроено использование отдельного инфоблока для предложений. В инфоблоке должны быть правильно настроены принципиальные для этого свойства (те, что хранят связи между товарами и предложениями). Встречался с попорченными инфоблоками.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Как получить дату и время последнего обмена данными с 1С
Не могу найти, а ориентироваться на существующую реализацию обмена в конкретном экземпляре 1С не могу (никогда не слышал о чистой конфигурации, часто люди доводят имеющуюся до "последней").
Знаю что давно можно указать какая группа номенклатуры пойдет в какой каталог на сайте.
Меня же интересует возможность настроить соответствие групп на сайте и групп в 1С. Да так, чтобы одна группа на сайте могла соответствовать двум и более группам в 1С. Толи у меня дежавю, толи и правда такая возможность есть, а я не могу найти о ней ничего.
В учебном курсе вижу только о (и ).
Реально ли на уровне настроек 1С/Битрикс решить мою задачу?
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Не добавляются дополнительные картинки в массив при парсинге битриксом файла import.php выгруженного Предприятием
В коде вижу, что Битрикс работает с дополнительными картинками, когда тегов в <Картинка> в выгрузке много. В этом случае он заполняет картинки анонса и деталей первой картинкой (это всегда) и ищет свойство с XML_ID равным CML2_PICTURES (в админке это внешний код, отображение внешних кодов включается в настройках модуля Инфоблоки).
В Вашем случае не нужно было в выгрузке оформлять картинки дополнительным свойством.
Правда, и в моем случае картинки все равно не загрузились, веду раскопки. Версия инфоблоков 14.0.4 (02.12.2013)
Добавлено: У меня все просто. Было два свойства с этим XML_ID. В форме редактирования элемента (она перенастроена) было одно, а картинки принимались в другое.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Выгрузка заказов из 1С в промежуточных статусах, Возможно ли изменение заказа на сайте при изменении статуса заказа в 1С и при изменении его содержания?
Екатерина Раздорова пишет: Тема еще актуальна. Возможно ли стандартным механизмом интеграции переводить заказ на сайте в промежуточный статус, пришедший из 1С? Или для этой цели необходимо кастомизировать компонент sale.export.1c ?
Нет, я это делал кастомизацией на 12-й. Стандартная компонента знает только две ситуации - заказ отменен, заказ оплачен. Только в последнем случае можно вмешаться в статус через параметры компоненты.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Выгрузка заказов из 1С в промежуточных статусах, Возможно ли изменение заказа на сайте при изменении статуса заказа в 1С и при изменении его содержания?
В настройках интеграции со стороны Битрикс вижу только что делать, когда сайт получает информацию по отгрузке товаров по заказу.
А что происходит когда статус заказа меняется в 1С?
Например, когда заказ отменен, оплачен, произведена отгрузка (с этим вроде как понятно, но на всякий случай). А что если по результатам разговора с покупателем менеджер изменил содержание заказа в 1С? Он изменится га сайте после обмена заказами?
Не менее важен вопрос об изменении заказа на сайте уже после первичной выгрузки. Или при наличии 1С такие вещи не нужно делать, а оставлять за сайтом только первичное создание заказа?
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
VKuser6838620 пишет: И всё таки я не понимаю что такое точка подключения и интерфейс точки и как мне их использовать.
Я тоже не очень то это понимаю. Может помочь статья на Хабре (недавно появилась) - "". Как вариант - попробовать написать клиент на модуле PHP (soap). У Qiwi по этому поводу есть образец. Для 1С-ки так не я делал, а на классах Битрикс делал только тестовый пример серверной части ("").
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
А причем тут asved.ru:2048? Это всего-лишь часть имени пространства имен. Туда можно что угодно написать. А сервис, скорее всего, отзывается на (обычно wsdl файл и сам сервис на одном адресе делают).
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!
Передать значения переменных из компонента в header.php
Очевидно, что при таком раскладе компонента должна быть подключена до визуального пролога. Так такие вещи не делаются.
Посмотрите шаблон любой комплексной компоненты. Там нормально подключается фильтр, к примеру, из section.php. Можно заглянуть с этой целью в шаблон каталога демо-магазина.
Поддержите идею (выбор имени файла для robots.txt в многосайтовой конфигурации на общей папке)! А убит сайт идей. Фсё!