За последние 24 часа нас посетили 22684 программиста и 1271 робот. Сейчас ищут 776 программистов ...

Реализация синхронизации 1С c Yii2.

Тема в разделе "Yii", создана пользователем roswww, 16 окт 2019.

  1. roswww

    roswww Активный пользователь

    С нами с:
    15 окт 2016
    Сообщения:
    154
    Симпатии:
    4
    Адрес:
    Cтаврополь
    Доброго времени ,
    Как лучше реализовать синхронизацию 1C c Yii2 -на гуглил такую инструкцию,-https://github.com/carono/yii2-1c-exchange#3
    она подойдёт или есть более оптимальное решения?
     
  2. kazadai90

    kazadai90 Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    103
    Симпатии:
    19
    Реализовывал 2 способами: 1) через выгрузку csv файла. 1С отгружал раз в сутки csv файл. Веб-система парсила его (проверяя по артикулу товара и дате выгрузки) и соответственно обновляла товары в БД или же ничего не трогала. 2) В 1С указывается адрес на которой по расписанию (можно и вручную) отправляются данные, например exchange.php. И скрипт exchange.php работает с присланными ему данными. Решение, ссылку на которую вы разместили в принципе пойдет
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    @roswww, оно работает?
     
  4. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Я работаю вот так:
    Создал хелпер, через ком коннектор обращаюсь к 1C
    PHP:
    1. <?php
    2.  
    3. namespace yii\helpers;
    4. use COM;
    5.  
    6. class Get1CHelper {
    7.  
    8.     public static function get1C($nomenclature, $day, $number){
    9.  
    10.         $_1CHost = "";
    11.         $databaseName = "";
    12.         $user = "";
    13.         $pass = "";
    14.         $currentDate = date("Ymd")."000000";
    15.         $v82COMObject = new COM("v82.COMConnector") or die("Couldn't create the COM Component");
    16.         $v82COMConnection = $v82COMObject->Connect("Srvr='".$_1CHost."';Ref='".$databaseName."';Usr='".$user."';Pwd='".$pass."';");              
    17.         $request = $v82COMConnection->ОбщийМодуль->ВыборкаПоЗаданию($number, $currentDate, iconv('UTF-8', 'windows-1251', $nomenclature), iconv('UTF-8', 'windows-1251', $day));              
    18.         $result = iconv('windows-1251', 'UTF-8', $request);
    19.         if(mb_strlen($result) > 0){
    20.             return $result;
    21.         }
    22.         else{
    23.             return false;
    24.         }
    25.         $request = NULL;
    26.         $v82COMConnection = NULL;
    27.         $v82COMObject = NULL;
    28.     }
    29. }
    Обязательная кодировка файла Кириллица, у меня 1251. Можно спокойно передавать данные, красота =)
     
  5. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    737
    Адрес:
    Татарстан
    так это если они на одном серваке крутятся. да еще и под виндой
     
  6. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    нет, сервера 1с и php разные. да, под виндой =)
    PHP:
    1. $_1CHost = "appserv-1";
    --- Добавлено ---
    просто там в условиях платформа 8.3.9.2033 (и выше)
    ком коннектор делался для 8.2
     
  7. roswww

    roswww Активный пользователь

    С нами с:
    15 окт 2016
    Сообщения:
    154
    Симпатии:
    4
    Адрес:
    Cтаврополь
    Пока только ищю оптимальное решение,разбираемся что буду делать я ,а что программист 1с
    --- Добавлено ---
    у меня debian у него винда настраивать можно только как я залью на продакшен,или уже как то можно начанать ?
     
  8. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    737
    Адрес:
    Татарстан
    У него судя по всему в одной сетке серваки. Если у тебя yii не на винде - прощай com
    Потому просто пишите свой обработчик и не парьтесь
     
  9. roswww

    roswww Активный пользователь

    С нами с:
    15 окт 2016
    Сообщения:
    154
    Симпатии:
    4
    Адрес:
    Cтаврополь
    Это 1С точно обязателен?
    Я задаю этот вопрос потому что те кто просит реализовать задачу на мой взгляд не совсем подкованные.
    А мне скорее всего прядётся вести этот сайт после того как сделаю.

    Всегда делал так,-

    * У меня настроен LEMP на локальной машине лежит точно такое же приложение, как и на продакшине, таже самая версия рнр, нгинс.
    если я добавляю новые функции, скрипты, файлы img, текс,- и оно всё работает у меня на 127.0.0.1,-
    то я заливаю через filezilla или nautilus на хостинг.*

    В чём прикол от 1С, и какой способ лучше?
     
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Ну тут от заказчика. Если у него весь документооборот через 1с, то конечно ему удобнее, чтоб он мог импортировать товары из 1с на сайт, и заказы с сайта в 1с.

    Причём тут файлы и скрипты - не понял.
    --- Добавлено ---
    1с - это не про то, как ваш сайт попадает на хостинг, а про то, как в него попадают товары.
     
  11. roswww

    roswww Активный пользователь

    С нами с:
    15 окт 2016
    Сообщения:
    154
    Симпатии:
    4
    Адрес:
    Cтаврополь
    От меня нужны эти картинки и функционал.
    Как я их понял
    после клика на картинку, корзину ,внесения предоплаты в разговор вступает менеджер, сопровождает полное заключение сделки.
    Это оптовый магазин.
     
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    @roswww, ну как-то к тебе же должны товары попасть?
     
  13. roswww

    roswww Активный пользователь

    С нами с:
    15 окт 2016
    Сообщения:
    154
    Симпатии:
    4
    Адрес:
    Cтаврополь
    Да точно должны.
    документооборот настроен через 1С на розничный сайт через винду, занимается другой человек, это получается либо думать как настроить синхронизацию от него к дэбе, либо ставить винду второй оськой, правильно мыслю.
     
  14. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Ну я делал синхронизацию с 1с только через выгрузку, и там мне его ставить себе не приходилось. Так что надо смотреть по доке.
     
  15. roswww

    roswww Активный пользователь

    С нами с:
    15 окт 2016
    Сообщения:
    154
    Симпатии:
    4
    Адрес:
    Cтаврополь
    Да придётся куда без доков.
    Ну ещё один ленивый вопрос где можно взять такой чат с менеджером? как у них https://geekbrains.ru/ или похоже ,рою репы пока не нашёл.