Имя: Пароль:
1C
 
А как из 1С запустить на Битрикс выполнение CRON?
,
0 Eugeneer
 
09.10.22
17:42
Написал собственную выгрузку из 1С, которая отправляет CSV на сайт.

В разделе Импорт настроил этот файл. CRON  установил, но не устраивает что он запустится по своему времени.

Вопрос - как из 1С после заливки файла вызвать выполнение импорта со стороны сайта.

Пользователь сам потом настроит задание в 1С, которое будет выгрузкой и загрузкой для сайта.
1 Смотрящий
 
09.10.22
22:08
как из 1С после заливки файла вызвать выполнение импорта со стороны сайта - никак, без танцев
обработка полученного файла реализуется со стороны сайта
2 Klesk
 
10.10.22
00:12
создать на сайте скрипт, и вызывать его, например методом POST
3 Eugeneer
 
10.10.22
01:05
(1) все верно. но на сайте это все очевидный скрипт.
А значит у него есть команда. Если есть команда, то как то программно ее можно вызывать.
Вот про это и спрашиваю.
4 Eugeneer
 
10.10.22
01:06
Оболочкой для выполнения задач на cron является файл
/bitrix/php_interface/include/catalog_import/cron_frame.php (путь указан от корня сайта).
5 Kassern
 
10.10.22
08:50
(0) есть 2 самых простых способа. Первый в (2), а второй - запустить крон на сайте изначально, чтобы каждые n секунд проверял папку на наличие файлов и загружал их, перемещая в различные папки
6 Kassern
 
10.10.22
08:52
Вы же пытаетесь через гланды задачу решить. Это как запустить рег. Задание 1с через сайт, чтобы файл прогрузить, вместо поднятия веб сервиса к примеру
7 Eugeneer
 
10.10.22
11:34
(5) В настройках крона стоит периодичность в часах
8 Kassern
 
10.10.22
11:37
Крон же это такое же рег задание, которое запускает скрипт.
Запустите этот скрипт сами через http соединение 1с
9 Eugeneer
 
10.10.22
12:57
Ок буду ковырять где этот скрипт.... Кстати то что мне нужно - на сайте тормозит даже если руками запустить...

Видимо вообще нужно искать другие варианты напрямую с базой.
10 Eugeneer
 
10.10.22
12:57
по факту нужно обновлять остатки. Позиций много. Штатный обмен просто шлак. выгрузка в CSV быстрая. но на сайте загрузка тупит в 15 раз больше.
11 Kassern
 
10.10.22
12:59
(9) Плохой вариант писать на прямую в базу. У вас может быть записана 1 строчка в основную таблицу, а это в свою очередь может вызывать 100500 событий при дефолтном обновлении, которые вы не выполните, а после словите последствия.
12 Kassern
 
10.10.22
13:02
Пишите лучше скрипт для сайта, который бы обновлял остатки оперативно. Либо сделайте очередь, чтобы сайт не загнуть. Простой пример, как работает яндекс-маркет:
1) Сайт стучится в 1с и время от времени обновляет остатки по всему ассортименту
2) Сайт стучится в 1с при добавлении товара в корзину, чтобы актуализировать остатки по позициям.
В итоге всегда более менее актуальные остатки на яндексе.
Если 1ска не отвечает на запросы сайта, то товары просто скрываются на витрине. Сайт периодически проверяет состояние, как только 1ска стала доступной, то снова выводит товары.
13 Kassern
 
10.10.22
13:03
Я в свое время множество обменов делал с сайтами. Был и такой вариант:
1) Разворачивается план обмена со стороны 1с.
2) Раз в сутки грузится полный список остатков на сайт
3) В течение дня грузятся изменения остатков на сайт каждые 5 минут условно
14 Eugeneer
 
10.10.22
13:50
(13) ты видел типовой модуль Битрикс? Он не содержит никакого контроля изменений от слова совсем.
15 Eugeneer
 
10.10.22
13:52
Я сегодня тесты делал - специально сайт и база 1С заведены.

6000 позиций. обмен 10 минут.

Выгрузка в CSV 2 секунды и файл уже на сайте. Вот загрузка CSV там тупит 30 секунд. Разница с обменом в 20 раз. но есть проблема - что эта загрузка вешает сайт.
16 Eugeneer
 
10.10.22
13:55
И еще что не сказал. Большая часть контор работает под заказ. Т..е вообще нет складов.
А остатки все внешние источники. У меня десяток клиентов 20-50 прайсов в день с остатками разных поставщиков. десятчи тысяч позиций.
Естественно остатки поставщиков меняются и они отправляют новые данные. С многими по АПИ есть работа.

Все это изменения. Причем еще модуль Битрикс это все фигачит в регистры, чтобы потом вытянуть - соединить, очистить... Жесть неймоверная. Еще и сам обмен тормоза.

А остатки напрямую в базе данных очень даже вещь нужная.
17 Kassern
 
10.10.22
14:10
(16) правильно, зачем эти регистры какие-то)) сразу в базу записать и пофиг на всё. Удачи вам в этом направлении, данные то вы быстро запишите, а вот воспользоваться корректно вряд ли сможете
18 Kassern
 
10.10.22
14:12
(14) модуль Битрикс видел, я про регистрацию изменений писал про 1с. Битрикса контроль особый и не нужен, достаточно со стороны 1с сделать, если она управляет сайтом. Если же сайт главный, то пишите веб сервисы по типу Яндекса
19 Eugeneer
 
10.10.22
17:50
(17) в смысле корректно? База Битрикса это примитив. там остатки не регистры. обыкновенные поля. вообще просто примитив.
20 Eugeneer
 
10.10.22
17:51
(18) да она так управляет. что пока что то произойдет то такой фигни можен наслучиться.
Обмен на нескольких тысячах позиций идет 10 минут. Пока что то выгрузистя на сайт, уже мамонт родит.
21 Eugeneer
 
10.10.22
17:53
Там одно слово что управление сайтом.....

Стоит подписка на движения регистра, которая вообще все пордряд регистрирует. даже что не является изменением остатка. И в цикле по 1 штуке.
Потом во время обмена еще фигова куча соединений. И все это просто чтобы выгрузить остаток.

Пока там обмен произойдет на сайте вот сто процентов могут купить то чего нет. это уж точно.
22 Kassern
 
10.10.22
17:54
(19) Первичка где у вас заводится? Вот пришел товар на склад, его на сайте заводят, а потом в 1с выгружают, или наоборот, вся первичка в 1с по движению товара, кроме заказов с сайта?
23 Eugeneer
 
10.10.22
17:55
Никакого реалтайма быстрого фактически не существует. ЧТо на стороне 1С нагромоздили монстра, что движок Битрикса нормально не работает. тормозища.

У меня веб сервис и то сотни тысяч строк за пару секунд жует. успевает перечитать, создать, выдать.
24 Kassern
 
10.10.22
17:57
(21) "Потом во время обмена еще фигова куча соединений. И все это просто чтобы выгрузить остаток." - Причем тут время выгрузки остатков? У вас вся проблема в загрузке остатков для сайта. Если вы тупо в БД поправите количество в одной табличке, то имхо это проблему с остатками не решит, а создаст другие проблемы при работе с сайтом.
25 Kassern
 
10.10.22
17:58
Например резервы на сайте должны быть, статусы у товаров могут быть, по которым другая бизнес-логика строится, вы это все дело должны учитывать, если хотите в базу залезть.
26 Eugeneer
 
10.10.22
17:58
(22) с какого перепуга на сайт приход товара делают)) ... там максимум заказы могут быть. И то которые не факт что пока в 1С попадут по факту что то будет. Особенно с теми тормозами обмена что туда выгружаются остатки.
27 Kassern
 
10.10.22
17:59
(26) Я множество реализаций видел работы с сайтом. Видел где и Сайт является главным, а 1с лишь для сборки и упаковки заказов. В основном на оборот работает. Где 1с главная, а сайт лишь для работы с заказами.
28 Eugeneer
 
10.10.22
18:00
(25) держать сайт как основу какой то истинной информации.. ну это такое себе... Единственным фактом что может быть это попадание и обработка заказов в 1С.

и то не факт. Потому что теже остатки многие конторы грузят от поставщиков. Т.е. своих нет. А это значит что пока еще проверят товар у поставщика - так вообще..... Большие разрывы.
29 Eugeneer
 
10.10.22
18:01
(27) и я видел. Видел то где все на прямых запросах и АПИшках. в реальном времени. Огромное количество заявок. все моментально обрабатывается. даже людей нет. заказы заказываются и размещаются сразу у поставщиков, появляются ответы. все на полном автомате.

Но это далеко не Битрикс. Такие компании Битрикс не держат.
30 Eugeneer
 
10.10.22
18:02
Битрикс сколько смотр. 15 лет. и внутри ковыряюсь. Нифига не меняется. Как было старье 15 лет назад так тоже самое все внутри.
31 Eugeneer
 
10.10.22
18:03
Только версии меняют (уже 20 версия). А толку ноль.
32 Eugeneer
 
10.10.22
18:05
Блин даже сейчас просто если ставить Битрикс с нуля. Ну там просто жесть. Стандартный шаблон, который имеем с установки, уебищное авно не адаптивное. которое 15 лет никто не трогал.
33 Kassern
 
10.10.22
18:33
(32) всё же просто, не нравится коробочное решение, берите подходящий фреймворк и пилите своё решение
34 Kassern
 
10.10.22
18:34
Не нравятся фреймворки - пилите свой движок на популярных технологиях. И т. д.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.