понедельник, 24 июня 2019 г.

Подключение сбербанка полное руководство

Тестовые карты

В качестве Cardholder name указывать от 2 слов в английской раскладке.
Для всех карт, вовлеченных в 3d Secure (veres=y, pares=y или a) пароль на ACS: 12345678.
( 12345678 это надо вводить, когда ввел карточку и надал Оплаить)
"Заглушка" в самом шлюзе:
pan:4111 1111 1111 1111
exp date:2019/12
cvv2:123
3dsecure: veres=y, pares=y
pan:6011 0000 0000 0004
exp date:2019/12
cvv2:123
3dsecure: veres=Y pares=A
pan:5555 5555 5555 5599
exp date:2019/12
cvv2:123
3dsecure: veres=n
pan:6390 0200 0000 000003
exp date:2019/12
cvv2:123(необязательный параметр)
3dsecure: veres=y, pares=a

https://developer.sberbank.ru/doc/v1/acquiring/rest-requests1pay
https://developer.sberbank.ru/doc/v1/acquiring/api-basket
https://developer.sberbank.ru/doc/v1/acquiring/rest-requests1pay


<?php

$z=222;

ЭТО ОПЛАТА

$url = 'https://3dsec.sberbank.ru/payment/rest/register.do';
$ch = curl_init($url);

$data='returnUrl=https://www.consul.devh/order/a9e5df12d03ba4788a541fb3678e6b14';
$data.='&failUrl=https://www.consul.devh/order/a9e5df12d03ba4788a541fb3678e6b14?payment_status=fail';
$data.='&orderNumber='.$z;
$data.='&description="Оплата заказа в интернет-магазине КОНСУЛ."';
$data.='&amount=2499000';
$data.='&currency=643';
$data.='&sessionTimeoutSecs=43200';
$data.='&taxSystem=1';
$data.='&orderBundle={"cartItems":{"items":[{"positionId":"266011","name":"Swarovski Lovely Crystals Mini 5301877","quantity":{"value":"1","measure":"\u0448\u0442"},"itemAmount":2499000,"itemCode":"17907","tax":{"taxType":"0"},"itemPrice":2499000,"itemAttributes":{"attributes":[{"name":"paymentMethod","value":1},{"name":"paymentObject","value":1}]}}]}}';
$data.='&userName=consul-api&password=consul';

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$reply=curl_exec($ch);
curl_close($ch);

echo $reply;
 

echo '<p><p>******<p><p>'; 

ЭТО ПОЛУЧЕНИЕ СТАТУСА ОПЛАТЫ

$url = 'https://3dsec.sberbank.ru/payment/rest/getOrderStatusExtended.do';
$ch = curl_init($url);

$data='orderNumber='.$z;
$data.='&userName=consul-api&password=consul';

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     
$reply=json_decode(curl_exec($ch));

curl_close($ch);

echo "<pre>";
print_r($reply);
echo "</pre>";
 
?>
1) если зафиксировать $z=500 номер заказа в коде<p>
передали получили урл перехода на сбер<p>
перешли оплатили<p>
перебросило на стрвницу на сайте<p>
2) запросили запрос по номеру заказа получили оплачен [orderStatus] => 2 https://developer.sberbank.ru/doc/v1/acquiring/rest-requests1pay<p>

Отправка SMS ViberSMS с сайта https://my.devinotele.com/Account/LogOn кабинет

http://docs.devinotele.com/viber-resender.html

Нужны зарегистрированные каналы отправки

<?php

$url = 'https://viber.devinotele.com:444/send';
$username = 'ConsulRuAvia3';
$password = 'hromosk72{{#c=A4z751';
$ch = curl_init($url);

$headers = array(
    'Content-Type: application/json',
    'Authorization: Basic '. base64_encode("$username:$password")
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$data='{
    "resendSms" : "true",
    "messages" :
        [ {
            "subject" : "'.$username.'",
            "priority" : "realtime",
            "validityPeriodSec" : 3600,
            "comment" : "comment",
            "type" : "viber",
            "contentType" : "text",
            "content" :
            {
                 "text" : "'.$_GET['text'].'"
            },

        "address" : "'.$_GET['tel'].'",
        "smsText":"'.$_GET['text'].'",
        "smsSrcAddress":"'.$username.'",
        "smsValidityPeriodSec":5000
    } ]
}';

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$reply=curl_exec($ch);
curl_close($ch);
echo $reply;
    ?>
<form>
<input name="tel" value="79199610491"><br>
<input name="text" value="Hellowold!!!"><br>
<input type="submit" value="Send">
</form>
   рабочий код
http://u0715817.cp.regruhosting.ru/ind_viber.php


рабочий\

<?php
$url = 'https://viber.devinotele.com:444/send';
$username = 'ConsulRu';
$password = 'k72{{#c=A4';
$username2 = 'Clockshop';
$ch = curl_init($url);

$headers = array(
    'Content-Type: application/json',
    'Authorization: Basic '. base64_encode("$username:$password")
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$data='{
    "resendSms" : "true",
    "messages" :
        [ {
            "subject" : "'.$username2.'",
            "priority" : "realtime",
            "validityPeriodSec" : 30,
            "comment" : "comment",
            "type" : "viber",
            "contentType" : "text",
            "content" :
            {
                 "text" : "'.$_GET['text'].'"
            },
        "address" : "'.$_GET['tel'].'",
        "smsText":"'.$_GET['text'].'",
        "smsSrcAddress":"'.$username2.'",
        "smsValidityPeriodSec":60
    } ]
}';

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$reply=curl_exec($ch);
curl_close($ch);
echo $reply;
    ?>
<form>
<input name="tel" value="79199610491"><br>
<input name="text" value="Сработал http://u0715817.cp.regruhosting.ru/ind_viber.php"><br>
<input type="submit" value="Send">
</form>

пятница, 21 июня 2019 г.

запуск обмена БД из консоли Gitbash на локалке

соединяемся ssh an43@lamp
 ssh u0715817@31.31.196.88
pass

удаление из 360 все /big/ папки
find i360 -path "*/big/*" -delete

pwd где я
выход exit

rm -rf * удалить все в папке в которой нахожусь
rm -rf ddd удалить папку ddd
du -sh сколько занимает папка

переходим в корень сайта на локалке
an43@lamp7:~$ ls
consuldev  order-fix-log.txt  upd.txt

оказывается мы находимся в ссылке на виртуалку
an43@lamp7:~$ pwd
/home/an43

переходим в ссылку
an43@lamp7:~$ cd /media/sf_work/

видим наш архив базы
an43@lamp7:/media/sf_work$ ls
apache-sites  db_test_2019_06_18.sql  nginx-sites  Seiko.xls  test.xls

запускаем разархивирование в базу consul_site_db2 на виртуалке
an43@lamp7:/media/sf_work$ mysql -u root -p6yhuji9 consul_site_db2 < db_test_2019_06_18.sql

mysql -u root --password="("]m?iqhGKTjgi6eWU?Mt sitemanager < ind777.sql
mysql -u u0741309_aaa --password=Hromos44 u0741309_aaa < ind777.sql

установка utf8 в выгрузке из базы

//$coz="SET CHARACTER SET utf8";
//mysql_query($coz,$link); 

Загрузка рисунков

360 круговая диарама
http://avia3.ru/moto.php

сайт домен разработки консул
http://u0715817.cp.regruhosting.ru/product-details.html

загрузка рисунков определенного размера
https://www.consul.ru/files/products/r1040_132_012_1.400x400w.jpg

img360
https://www.consul.ru/files/i360/frederique-constant-fc-285v5b4/10.jpg

четверг, 20 июня 2019 г.

Карточка товара

consul_adress - адрес склада
product_werehouse связь продукта+склада+количествонаскладе+города
s_product
s_vatiants

s_images
s_features
s_options

еще

это автомат
s_series_1c по артикулу выгружает товар с навешенным штрихкодом+склад+ячейка

ручная загрузка
consul_parse_temp publik=0 нет в наличии, stock=1 количество

среда, 19 июня 2019 г.

Интеграция кнопки «КупиВкредит» от банка Тинькофф

Поддержка #2731

Интеграция кнопки «КупиВкредит» от банка Тинькофф

Добавил(а) Павлов Дмитрий 6 месяцев назад. Обновлено 5 месяцев назад.
Статус:
Закрыта
Приоритет:
Нормальный
Назначена:
Категория:
-
Дата начала:
06.12.2018
Срок завершения:
Готовность:
0%
Оценка временных затрат:

Описание
Нужно провести интеграцию кнопки «КупиВкредит» от банка Тинькофф. Документация по интеграции прикреплена к задаче. В начале нужно использовать тестовые параметры, которые указаны на странице 2. После тестирования банк пришлёт нам наши рабочие параметры, которыми нужно будет заменить тестовые.

Скачать 4 вложения одним архивом
Подзадачи

Связанные задачи

дерево симпла консул админки


  • Каталог 
    • Товары 
    • Категории 
    • Бренды 
    • Свойства (для фильтра)
    • Новые товары (для Китрила)
    • Сортировка 
    • Партнерский товар (парсер)
    • Выгрузка (что на складах)
    • Скидки 
    • Фиды (для яндекс маркет) фиды это полная выгрузка только указаны разные способы доставки до места в зависимости от находжения часов. Если есть в краснодаре то есть самовывоз
  • Акции/Блоги/Новости 
    • Блоги 
    • Акции 
      • Действующие 
      • Будущие 
      • Завершенные 
      • Удаленные 
      • Выключенные
    • Новости
  • Заказы 
    • Оформляется 
    • Требует внимания 
    • Новый 
    • В работе 
    • Рассрочка 
    • От поставщика 
    • К доставке 
    • В доставке 
    • Перемещение 
    • К самовывозу 
    • Доставлено/Ждем денег
    • Выполнен 
    • Удален 
    • Метки 
    • Все
  • Покупатели 
    • Покупатели 
    • Группы 
    • Купоны поступает цена старая, новая, скидка применяется в корзине купон если скидка есть то товар в раздел sale Еще запрос спец цены на товары которые
    • Подписчики
  • Страницы (типа статей с url)
    • Основное меню 
    • Другие страницы 
    • Сервисный центр 
    • Продуктовые страницы 
    • Магазины
  • Блог 
  • Комментарии 
    • Комментарии 
    • Обратная связь (что-то спросили)
  • Автоматизация 
    • Импорт наличия и цен (из 1с в сайт)***
    • Импорт товаров (из csv+zip_img)
    • Экспорт (не работает)
    • Бекап (битык и ошибка сети)
  • Статистика 
  • Дизайн (не сохраняет)
  • SEO (загрузка robots.txt)
  • Настройки сайта 
    • Меню сайта 
    • Контакты 
    • Магазины и сервисные центры 
    • Города 
    • Выбор редакции (на морде)
    • Настройка UTM-меток в письмах 
    • Настройка флажка для рекомендуемых товаров 
    • Уведомления 
    • Влив спам емаилов 
    • Меню футера, магазинов и сервисных страниц (не работает)
    • Слайдеры и баннеры 
    • Заказы 
    • Управление блоком с брендами 
    • Партнеры
  • Настройки
    • Настройки 
    • Валюты 
    • Доставка  (очень много как отключать)
    • Оплата (очень много как отключать)
    • Менеджеры 
    • Группы



*** https://redmine.consul.ru/issues/995

Разработка #995

Описание
нужен скрипт приема файла от 1с
скрипт должен срабатывать при вливании файла по адресу http://consul.ru/upload/1c?method&hash=564bc951848bffbe825bcd6cdbd68f8f
method = full | short | barcode
hash пока неизменен
Файл от 1с приходит в zip-файле, скорее всего в base64_encode. Но лучше сдеалать проверку, попытку декодировать.
затем проверяем что файл действительно является zip-архивом.
и только после этого переносим его на постоянное место хранения в /archive/ostatki
для 1с возвращем код 200
храним все принятые файлы за последнию две недели
формат имени файла ddmmYYYY_HHiiss_method.zip
если появится файл старше недели
создаем папку формата /archive/ostatki/YYYY_mm и перемещаем туда файл, формат имени меняем на dd_method.zip
если такой файл уже существует, тогда просто удалем файл
смысл в том, что бы был архив переданных данных от 1с
+ возможность уточнить остатки на любой день месяца
для удобства отладки сделать в админке страничку для влива файла в ручную
в ней размещаем поле приема файла и кнопку отправить

файл barcode_20190618_144958.csv

  1. uid 1c не использовать
  2. id 1c не использовать
  3. артикул
  4. штрихкод
  5. где лежит сервицентр какой
  6. качество
  7. цена нового
  8. есть ли заключение спеца
  9. цена после уценки
  10. есть ли значимые повреждения
  11. описание повреждений
  12. https://www.base64decode.org/ описание изделия
  13. https://www.base64decode.org/ краткое описание повреждения
  14. полка гле лежит в магазине


51d7ecff-01c1-11e9-80c7-0cc47a854663 1,28E+11 OLA 99 2,2E+12 51 7. БУ, ХОРОШЕЕ СОСТОЯНИЕ 201500.00 True 85000.00 True Без заметных следов эксплуатации 77u/0KHQtdC50YfQsNGBINCS0Ysg0L3QsCDRgdGC0YDQsNC90LjRhtC1IFZlcnNh  Y2UgT0xBIDk5LiDQrdGC0L4g0YfQsNGB0Ysg0LrQu9Cw0YHRgdC40YfQtdGB0LrQ  vtCz0L4g0LTQuNC30LDQudC90LAsINC80LXRhdCw0L3QuNC60LAg0YEg0LDQstGC  0L7Qv9C+0LTQt9Cw0LLQvtC00L7QvCwgY9GC0LDQu9GM0L3QvtC5INC+0LLQsNC7  0YzQvdGL0Lkg0LrQvtGA0L/Rg9GBIDQ30YUzOCDQvNC8LCDQt9Cw0LTQvdGP0Y8g  0LrRgNGL0YjQutCwINC90LAg0YfQtdGC0YvRgNC10YUg0LLQuNC90YLQsNGFLCAg  V1IgMzAg0LwsINGB0LDQv9GE0LjRgNC+0LLQvtC1INGB0YLQtdC60LvQviwg0YHQ  tdGA0LXQsdGA0LjRgdGC0YvQuSDQs9C40LvRjNGP0YjQuNGA0L7QstCw0L3QvdGL  0Lkg0YbQuNGE0LXRgNCx0LvQsNGCLCDQstGL0L3QtdGB0LXQvdC90LDRjyDRgdC1  0LrRg9C90LTQvdCw0Y8g0YHRgtGA0LXQu9C60LAsINC30LDQstC+0LTQvdCw0Y8g  0LPQvtC70L7QstC60LAg0YEg0YHQuNC80LLQvtC70LjQutC+0Lkg0LzQtdC00YPQ  t9GLLCDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lkg0LrQvtGA0LjRh9C90LXQstGL  0Lkg0YDQtdC80LXQvdGMINC40Lcg0LrRgNC+0LrQvtC00LjQu9CwLCDQvNC10YXQ  sNC90LjQt9C8ICDQldCi0JAgMjg5NS8xLCDRgdC+0YHRgtC+0Y/QvdC40LUg0L7R  gtC70LjRh9C90L7QtSwg0L3QsCDQt9Cw0LTQvdC10Lkg0YHRgtC10L3QutC1INC/  0LvQtdC90LrQsCwg0YDQtdC80LXQvdGMINC4INC60L7RgNC/0YPRgSDQsdC10Lcg  0L/RgNC40LfQvdCw0LrQvtCyINC90L7RiNC10L3QuNGPLiDQndCwINGE0L7RgtC+  0LPRgNCw0YTQuNGP0YUg0JLRiyDQstC40LTQuNGC0LUg0LjQvNC10L3QvdC+INGC  0LUg0YfQsNGB0YssINC60L7RgtC+0YDRi9C1INC/0YDQtdC00LvQsNCz0LDQtdGC  0YHRjyDQuiDQv9GA0L7QtNCw0LbQtS4NCg0K0KfQsNGB0Ysg0LHQtdC3INC30LDQ  vNC10YLQvdGL0YUg0YHQu9C10LTQvtCyINGN0LrRgdC/0LvRg9Cw0YLQsNGG0LjQ  uC4g0KLQtdGF0L3QuNGH0LXRgdC60LjQtSDRhdCw0YDQsNC60YLQtdGA0LjRgdGC  0LjQutC4INGH0LDRgdC+0LIg0LIg0L3QvtGA0LzQtSwg0L3QviDQvNGLINGA0LXQ  utC+0LzQtdC90LTRg9C10Lwg0L/RgNC+0LLQtdGB0YLQuCDQv9GA0L7RhNC40LvQ  sNC60YLQuNC60YMg0LzQtdGF0LDQvdC40LfQvNCwLCDRh9GC0L7QsdGLINC40LfQ  sdC10LbQsNGC0Ywg0L/RgNC+0LHQu9C10Lwg0LIg0LHQu9C40LbQsNC50YjQtdC8  INCx0YPQtNGD0YnQtdC8INC4INC/0L7Qu9GD0YfQuNGC0Ywg0LPQsNGA0LDQvdGC  0LjRjiDQvdCwINGA0LDQsdC+0YLRgyDQvNC10YXQsNC90LjQt9C80LAgINC90LAg  MTIg0LzQtdGB0Y/RhtC10LIuDQoNCg0KDQoNCg0KDQoNCg== 77u/0JHQtdC3INC30LDQvNC10YLQvdGL0YUg0YHQu9C10LTQvtCyINGN0LrRgdC/  0LvRg9Cw0YLQsNGG0LjQuA== 157
ыыыыыыыыыыыыыыыыы

full_20190618_145454.csv попадает в новые, используется для предзаполнения Кирила

  1. ид категории товара в 1с
  2. артикул
  3. бренд
  4. фильтр по нему ищем часы, ювелирку

7  FAK00002S0  Orient  {"ЮвелирноеИзделие":"Нет","ТипИзделия":"Часы","НаличиеДрагМет":"Нет","НаличиеДрагКамней":"Нет"}
кккккккккккккккккккккккк

short_20190618_145452.csv наличие

  1. ид категории 1с
  2. артикул
  3. цена
  4. старая цена
  5. количество на складе 
  6. дефект
  7. ид склада из таб s_adress


1000703    1335419cd/31 325 000 1         Некритичный дефект 52

понедельник, 17 июня 2019 г.

продление битрикс на месяц

Вы можете попробовать получить еще один месяц дополнительной лицензии по ссылке https://www.1c-bitrix.ru/bsm_register.php

Дамп БД в консоли


 ssh u0715817@31.31.196.88
password
  1. На исходнике скопировать базу и заархивировать файлы
  2. На приемнике распаковать
  3. в конфиге прописать коннект к базе bitrix/php_interface/dbconn.php bitrix/.settings.php bitrix/php_interface/.settings.php (может не быть, возможно человек на форуме ошибся)


Здравствуйте! Подключиться по SSH можно согласно информации доступной в следующей справочной статье (для подключения по ssh необходимо указывать логин и пароль услуги хостинга): https://www.reg.ru/support/hosting-i-servery/hosting-sajtov/nachalo-raboty-i-dostupy/kak-podklyuchitsya-po-ssh?query=ssh Информация по способам импорта и экспорта базы данных доступна в следующей статье: https://www.reg.ru/support/hosting-i-servery/hosting-sajtov/bazy-dannyh/Import-bazy-dannyh-mysql При необходимости, информацию о включенных сервисах и паролях доступа можно просмотреть в личном кабинете, подробнее: https://www.reg.ru/support/hosting-i-servery/hosting-sajtov/nachalo-raboty-i-dostupy/informatsiya-o-vklyuchennyh-servisah-i-parolyah-dostupa

архивация
mysqldump -u [пользователь] -p[пароль] [имя базы] > [имя файла].sql
mysqldump -u root d2 > ind777.sql

разархивация
mysql -u [user] --password=[password] [имя базы] < [имя файла]
mysql -u root d3 < ind777.sql
mysql -u root --password="("]m?iqhGKTjgi6eWU?Mt sitemanager < ind777.sql
mysql -u u0741309_aaa --password=Hromos44 u0741309_aaa < ind777.sql


архивация
tar -czvf d2.tar.gz -C d2 .

разархивация
tar -xvzf d2.tar.gz

удаление
rm d2.tar.gz
удаление всего директория
rm -rf *

остановка
ctrl+С

где я
pwd

показать все файлы
ls -a

вторник, 11 июня 2019 г.

КАк создать новый товар методом insert

rotected static function insert(self $model, $update = false) {

новый товар создается через симплу, передачей названия таблиц

website/api/database/SimplaModel

Распариивание эксель файла

Заходим на
https://www.consul.devh/simpla/index.php?module=zPartners
контроллер zPartners.php

Для нашей Simple запускается function ajax() если xtreqwest
function fetch() по умолчанию

поняли что пришел post запрос
if ($this->request->method('post')) {  $this->process_post();

function process_post() выбор режима кнопки
коммутация $result = $this->partners->parse_price($partner, $temp_file,
    $_FILES['upload_file_' . $partner->id]['name']);unlink($temp_file);

выбрали перешли process_partner('refresh', $partner);
$this->design->assign('partners', $this->partners->get_partners([], TRUE));
коммутация

****************
в смарти передали и выполнили парсинг
$this->partners->get_partners([], TRUE))

function get_partners( считывает и дозаполняет sql
****************

передаем файл $excel_file и класс $partner
public function parse_price($partner, $excel_file, $original_filename = NULL) {
###
как выбирается метод defult csv xls

function parse_price
return call_user_func([$this, $convert_method_name], $excel_file);
превращает $convert_method_name=
convert_file_default
convert_file_to_xls
convert_file_to_csv
и вызываются эти функции
###

считываем строку название файла класса
$parser_class = $partner->pricelist_parser_class;

создаем массив строк
$result = $parser->run(function ($row_data, $parser)

правим
$row_data[ дозаполняем

сохраняем строку в базу временную
if ($this->save_parsed_row_to_temp($row_data)) {

Результат: получен файл, распарсен и записан в базу.




пятница, 7 июня 2019 г.

Новый поставщик


  1. заводим новый класс plugins/priselistparser/fildparser/okgavaseikoparser.php
  2. миграцией создаем партнера, склад и прописать класс
  3. создаем склад
  4. нужно перейти перейти ssh an43@consul.devh в корень через gitbash либо в корень виртуалки
  5. создаем миграцию ./cli m 3544
  6. под виндовс своя установка
  7. Composer install
  8. правим миграцию
  9. ./cli m 3544
  10. получилась запись https://www.consul.devh/simpla/index.php?module=zPartners без кнопок выбора файла и загрузки

среда, 5 июня 2019 г.

миграция

запуск на сервере виртуалки не в гитбаше

идем в корень сайта, там где папка migration

запускаем ./cli m 3494
создается миграция в папке migration

перетаскиваем ее в папук ветку задачи 3494 она становится зеленой, это к гиту подключилось

в мигации пищем код sql и откат

запускаем ./cli m 3494

как из баша перейти в папку сайта

это запустился где баш сидит
user@RS-24-22 MINGW64 /
$ ls
bin/  etc/  lib/  libexec/  share/  ssl/


user@RS-24-22 MINGW64 /
$ cd /c/
это переход на диск с: виндовса


вторник, 4 июня 2019 г.

чтение чужих фидов

?module=BrandAdmin ищем класс

метод фич
return $this->design->fetch('brand.tpl');

Partners.php загружает файл  и через базу таблицу consul_parner получаем класс SeikoParser

В SeikoParser.php описываем поля артикул цена

здесь insert посточно
save_parsed_row_to_temp($row_data)

nodejs как создавать собранные js css поминимуму

Скачиваем и инсталируем nodejs.com/en/download
Git-bash консоль
apt install nodejs
apt install npm

переходим в папку проекта cd /copnsul2018 в ней верстка папка src
npm install
создастся папка node_modules там будет (galp)

если ошибка не работает

Из консоли Git в Windows в папке темы:
npm --add-python-to-path='true' --debug install --global windows-build-tools
npm install --global node-gyp

После выполнения нужно удалить package-lock.json и ещё раз выполнить npm installЕсли всё установится удачно, нужно запустить
gulp watch
После этого, можно править файлы в папке src и изменения автоматически скомпилируются в нужные файлы.

Есть нюанс. Если сохранить какой-нибудь файл (js или sass) с ошибкой в синтаксисе, gulp watch может вылететь и его нужно запустить заново. Это недочёт в конфигурации gulp, позже нужно будет это поправить.

npm install gulp-cli -g

взлом битрикса

перенос лицензии с нового сайта в закрытый уже сайт

****************************
P.S.: данные меняются в /bitrix/modules/main/include.php значение $GLOBALS[___594810041(105)]= OLDSITEEXPIREDATE; меняется на $GLOBALS[___594810041(105)]= time()+86400*1; Реально работает! Тест 2,5 месяца