Задать вопрос
  • Возможно ли физ лицу принимать оплату через сторонние сервисы?

    @anton99zel
    29а класс средней школы №7
    Я продаю товары

    а чеки?
    принимать оплату

    основание?
    --
    Будьте готовы к тому, что однажды за это прилетит, особенно в свете последних событий, когда налоговая хочет получить более расширенные права к счетам россиян.
    --
    онлайн оплату

    ИнтерКасса, ЯндексКасса
    Ответ написан
    3 комментария
  • Получить свойство товара из заказа bitrix?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Если свойство попадает в заказ, то
    // получение списка свойств для заказа с ID 123
    $dbRes = \Bitrix\Sale\PropertyValueCollection::getList([
        'select' => ['*'],
        'filter' => [
            '=ORDER_ID' => 123, 
        ]
    ]);
    
    while ($item = $dbRes->fetch())
    {
        var_dump($item);
    }

    Иначе
    Ответ написан
  • Как исправить сортировку разделов в Битриксе в админке?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Поле SORT влияет на сортировку разделов одного уровня вложенности относительно единого родителя.
    Для разделов/подразделов крайне желательно использовать уникальный CODE.
    Как вариант, убедившись, что первые пункты вы учли, пересохранить проблемные разделы (особенно если создавали их с помощью выгрузок из сторонних систем)
    Ответ написан
    Комментировать
  • Как можно защитить верстку?

    @anton99zel
    29а класс средней школы №7
    Крайне удивлен, что не увидел до сих пор ответа:
    Ничто так не внушает доверие, как предоплата!
    Ответ написан
    5 комментариев
  • Как сделать правильный вывод фото/изображения?

    @anton99zel
    29а класс средней школы №7
    Простите, но вы читали документацию?
    Видели, что настройки инфоблока имеют ресайзинг?
    5f9017ffe3fef702609398.jpeg
    Для всего остального есть методы api ResizeImageGet
    Ответ написан
  • 1С-Битрикс. Как поменять путь к папке авторизации?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    spoiler
    Мне достался тут сайт

    А у вас был опыт работы? А если нет, то зачем вы за это беретесь?

    Страница регистрации может быть где угодно, где создадите там и будет.
    Если какие то ссылки ссылаются на страницу, где не должен быть компонент регистрации, то отредактируйте шаблон.
    Когда вы читали эти страницы, что вам стало не понятно?
    https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
    https://dev.1c-bitrix.ru/user_help/components/sluz...
    Ответ написан
  • Как сделать интеграцию сайта на Битрикс с 1С?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Если Вы задаете такой вопрос, да ещё так неконкретно, то не думаю, что кто-то тут будет писать многотомные инструкции.
    Реальный совет: отвалить от 100т.р и сильно выше специалистам, тем более, если у вас нет знаний и каталоги с обоих сторон имеются с большим кол-вом товаров.
    Если нет денег и специалистов и не важен soap, то можете делать как я через winhttp, либо через обмен xml - и писать с обоих сторон обработки.
    spoiler
    //Онлайн интеграция заказов с сайтом	 - отправка из 1С
    ПараметрыОбмена = "";
    ПараметрыОбмена = ПараметрыОбмена + "KEY="+"DN9MBPQP7680";
    ПараметрыОбмена = ПараметрыОбмена + "&NUMBER="+Номер;
    ПараметрыОбмена = ПараметрыОбмена + "&DATE="+Дата;
    ПараметрыОбмена = ПараметрыОбмена + "&KLIENT="+Контрагент;
    ПараметрыОбмена = ПараметрыОбмена + "&PHONE="+ТелефонКлиента;
    ПараметрыОбмена = ПараметрыОбмена + "&EMAIL="+Контрагент.Email;
    ПараметрыОбмена = ПараметрыОбмена + "&STATUS="+Статус;
    ПараметрыОбмена = ПараметрыОбмена + "&STATUSORDER="+СтатусОбработки;
    ПараметрыОбмена = ПараметрыОбмена + "&STORES="+Подразделение;
    ПараметрыОбмена = ПараметрыОбмена + "&TOTAL="+СтрЗаменить(СуммаДокументаПолная, Символы.НПП, "");
    Массив = 0;
    Для Каждого ТекСтрокаЗаказТЧ Из ЗаказТЧ Цикл
    ПараметрыОбмена = ПараметрыОбмена + "&CART"+"["+Массив+"][id]="+ТекСтрокаЗаказТЧ.Товар.КодУТ;
    ПараметрыОбмена = ПараметрыОбмена + "&CART"+"["+Массив+"][sections]="+ТекСтрокаЗаказТЧ.Товар.Родитель;
    ПараметрыОбмена = ПараметрыОбмена + "&CART"+"["+Массив+"][item]="+ТекСтрокаЗаказТЧ.Товар;
    ПараметрыОбмена = ПараметрыОбмена + "&CART"+"["+Массив+"][quantity]="+ТекСтрокаЗаказТЧ.Количество;
    ПараметрыОбмена = ПараметрыОбмена + "&CART"+"["+Массив+"][price]="+СтрЗаменить(ТекСтрокаЗаказТЧ.Цена, Символы.НПП, "");
    Массив = Массив+1;	
    КонецЦикла;
    
    WinHttp=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
    WinHttp.Option(2,"Windows-1251");                  
    WinHttp.Open("GET","https://mysite.com/api/1c.php?"+ПараметрыОбмена,0);    
    WinHttp.SetRequestHeader("Accept-Language", "ru");
    WinHttp.SetRequestHeader("Accept-Charset","Windows-1251");
    WinHttp.setRequestHeader("Content-Language", "ru");
    WinHttp.setRequestHeader("Content-Charset", "Windows-1251");
    WinHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Windows-1251"); 
    WinHttp.Send();
    Сообщить(WinHttp.ResponseText());


    Еще есть обмен из коробки, он не полнофункциональный, скачать можно с сайта 1с
    https://www.1c-bitrix.by/products/cms/features/rea...
    Больше инструкций и исполнителей можно найти на форуме 1с-ников
    https://forum.infostart.ru/
    Ответ написан
    Комментировать
  • Как вывести количество товаров на складе в Bitrix?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    phpneguru, если где-то, то
    <? $ar_res = CCatalogProduct::GetByID($arResult[ID]); 
    echo "<br>На складе: "; 
    print_r($ar_res['QUANTITY']); 
    echo " шт."; ?>

    А если комплексный компонент Каталог, то USE_STORE установить Y, это вы найдете в режиме правки страницы в корне вашего каталога, например /catalog/
    Ответ написан
    Комментировать
  • Как в готовому блюду добавить стоимость упаковки в корзине Битрикса?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Готовых плагинов нет в открытом доступе.
    Ваша задача решается двумя путями:
    1. Если клиент должен видеть упаковку, то заводим новый раздел с упаковками. В корзине проверяем какой товар находится и методом api добавляем в корзину соответствующую упаковку. В шаблоне корзины нужно проверять есть ли упаковка. Если есть, то скрыть для неё кнопки увеличения кол-ва и удаления., раздел упаковки и будет признаком для скрытия. Также надо добавить событие на удаление товара, которое при удалении товара удалит упаковку.

    2. Можно модифицировать заказ (не корзину), добавляя упаковку (по сути это тоже товар) по api. В публичной части (в корзине) использовать правила наценок. Скорее подойдёт, если вам нужно это для внутреннего учёта.

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

    В некоторых случаях можно использовать Наборы и Комплекты, если у вас относительно новые обновления Битрикса.
    https://dev.1c-bitrix.ru/community/blogs/product_f...
    Ответ написан
    Комментировать
  • Пропала кнопка "Сохранить" редактирования элемента инфоблока, как исправить?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Настройки -> Настройки модулей -> Главный модуль -> Настройки, на пункте "Переместить весь Javascript в конец страницы" установить галочку.
    Не факт, но бывает связано с js.
    Ответ написан
  • Как сделать простую страницу оформления заказа в один шаг с выбором способа оплаты и доставки?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Можно и самому написать, но это будет велосипед, наверняка данная задача решалась неоднократно.

    Да, решалась. Тем самым велосипедом, называется api+html+js, примеры.
    spoiler
    use Bitrix\Main\Context,
        Bitrix\Currency\CurrencyManager,
        Bitrix\Sale\Order,
        Bitrix\Sale\Basket,
        Bitrix\Sale\Delivery,
        Bitrix\Sale\PaySystem;
    
    global $USER;
    
    Bitrix\Main\Loader::includeModule("sale");
    Bitrix\Main\Loader::includeModule("catalog");
    
    // Допустим некоторые поля приходит в запросе
    $request = Context::getCurrent()->getRequest();
    $productId = $request["PRODUCT_ID"];
    $phone = $request["PHONE"];
    $name = $request["NAME"];
    $comment = $request["COMMENT"];
    
    $siteId = Context::getCurrent()->getSite();
    $currencyCode = CurrencyManager::getBaseCurrency();
    
    // Создаёт новый заказ
    $order = Order::create($siteId, $USER->isAuthorized() ? $USER->GetID() : 539);
    $order->setPersonTypeId(1);
    $order->setField('CURRENCY', $currencyCode);
    if ($comment) {
        $order->setField('USER_DESCRIPTION', $comment); // Устанавливаем поля комментария покупателя
    }
    
    // Создаём корзину с одним товаром
    $basket = Basket::create($siteId);
    $item = $basket->createItem('catalog', $productId);
    $item->setFields(array(
        'QUANTITY' => 1,
        'CURRENCY' => $currencyCode,
        'LID' => $siteId,
        'PRODUCT_PROVIDER_CLASS' => '\CCatalogProductProvider',
    ));
    $order->setBasket($basket);
    
    // Создаём одну отгрузку и устанавливаем способ доставки - "Без доставки" (он служебный)
    $shipmentCollection = $order->getShipmentCollection();
    $shipment = $shipmentCollection->createItem();
    $service = Delivery\Services\Manager::getById(Delivery\Services\EmptyDeliveryService::getEmptyDeliveryServiceId());
    $shipment->setFields(array(
        'DELIVERY_ID' => $service['ID'],
        'DELIVERY_NAME' => $service['NAME'],
    ));
    $shipmentItemCollection = $shipment->getShipmentItemCollection();
    $shipmentItem = $shipmentItemCollection->createItem($item);
    $shipmentItem->setQuantity($item->getQuantity());
    
    // Создаём оплату со способом #1
    $paymentCollection = $order->getPaymentCollection();
    $payment = $paymentCollection->createItem();
    $paySystemService = PaySystem\Manager::getObjectById(1);
    $payment->setFields(array(
        'PAY_SYSTEM_ID' => $paySystemService->getField("PAY_SYSTEM_ID"),
        'PAY_SYSTEM_NAME' => $paySystemService->getField("NAME"),
    ));
    
    // Устанавливаем свойства
    $propertyCollection = $order->getPropertyCollection();
    $phoneProp = $propertyCollection->getPhone();
    $phoneProp->setValue($phone);
    $nameProp = $propertyCollection->getPayerName();
    $nameProp->setValue($name);
    
    // Сохраняем
    $order->doFinalAction(true);
    $result = $order->save();
    $orderId = $order->getId();
    Ответ написан
    Комментировать
  • Как скопировать раздел в 1C Bitrix?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    2 комментария
  • Как добавить свои поля, например телефон, в форму регистрации на странице оформления заказа?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Если для заказа, то тут bitrix/admin/sale_order_props.php?lang=ru
    5f8ec6751bfec000479326.jpeg
    Как сделать регистрацию по номеру телефона тут
    Ответ написан
  • Очки для компа где за 20ч не устают глаза?

    @anton99zel
    29а класс средней школы №7
    Наверное, Вам рассказывали про такие очки:
    spoiler
    245_3.jpg

    Бывают компьютерные линзы для очков, но по сути они просто отсеивают синий свет экрана. В виндовс 10 и в ios можно отключить этот самый неблагоприятный цвет для глаз + снизить яркость и контраст.
    Ответ написан
    Комментировать
  • Как вывести каталог для определенной группы пользователей?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    if( in_array(5,CUser::GetUserGroup(CUser::GetID())))
    {
    //Твой компонент будет показан для группы 5
    }
    Ответ написан
    Комментировать
  • Как настроить сортировку на вывод картинок в bitrix?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Подскажите, пожалуйста, может где-то нужно что-то настроить?

    Видимо в компоненте настроить сортировку надо! В админке лишь указывается значение!
    Ответ написан
  • Как сделать сортировку по времени года битрикс?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Задать товару новое свойство Сезон типа список.
    Сортировать: propertysort_<PROPERTY_CODE> - по индексу сортировки варианта значения свойства. Только для свойств типа Список.
    Затем написать update, который у свойства в инфоблоке у этих 4 значений изменит сортировку. Привязать к условию - значение текущего месяца date.
    https://dev.1c-bitrix.ru/api_help/iblock/classes/c...
    Этот вариант будет делать всего 4 запроса 4 раза в год)
    Ответ написан
    Комментировать
  • Ckeditor, Битрикс как сделать, чтобы при переходе на ссылку открывалась середина сайт?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    <a name="top">
    <a href="#top">Клик</a>

    Первая ссылка вставляется где то в середине сайта
    Вторая в твоё меню, говоря вашим языком.
    А вообще это 1 класс школы html
    Ответ написан
  • Как корректно потянуть время до принятия оффера?

    @anton99zel
    29а класс средней школы №7
    Как корректно потянуть время до принятия оффера?

    Так и сказать, что рассматриваешь предложение еще одной компании. Заодно себе цену набьешь)
    Ответ написан
    Комментировать
  • Где ошибка в коде при записи в переменную?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Вы получаете данные из инфоблока, вам нужно это в виде json отправить куда то кому то, но у вас синтаксические ошибки при формировании json.
    Вам нужно использовать валидатор для проверки
    Очень помогает выявлять лишние или отсутствующие символы, результат сравнивать с примерами из документации.

    Это совсем некрасиво:
    spoiler
    $data_for_write ='
      {
        "type": "FeatureCollection",
        "metadata": {
          "name": "Карта торгового центра",
          "creator": "SWP",
          "description": ""
        },
      '.
        while($ob = $res->GetNextElement()){
          $arFields = $ob->GetFields();
          $arProps = $ob->GetProperties();
      .'
          "features": [{

    Сначала соберите всё в массив:
    Пример
    spoiler
    $data = array('items' =>array(
    array(
    'description' => $description, 
    'category_id' => $category_id, 
    'name' => 'Карта торгового центра',
    'offer_id' => $offer_id,
    'price' => $price,
    'old_price' => $old_price,
    Ответ написан
    6 комментариев