Простейшая загрузка на сайт данных о ценах и остатках номенклатуры

31.08.19

Интеграция - Сайты и интернет-магазины

Пример загрузки с 1С + готовый скрипт на сайт с небольшой инструкцией.

Скачать исходный код

Наименование Файл Версия Размер
Простейшая загрузка на сайт данных о ценах и остатках номенклатуры:
.rar 10,59Kb
1
.rar 10,59Kb 1 Скачать

Доброго здоровья! Решил поделиться простейшим примером (неоптимальным, не очень-то и правильным, но зато работающим) выгрузки 1С на сайт, вместе с готовым скриптом.

Регистрируетесь на хостинге. Если он вам даст прямой доступ к базе данных mysql - будет проще. Если нет - сделаете туннель через putty. Затем в личном кабинете берете данные для доступа к базе (в моем случае адрес - доменное имя, в вашем может быть и localhost, если подключение через туннель).

В обработке выбираете вид выгружаемой цены. В итоге получится результат "Наименование номенклатуры / кол. штук / цена руб."

Можно в модуле обработки поставить нужные данные, подключить ее через пользовательский режим и выполнять ее регламентным заданием. 

Скрипт взят отсюда https://kylaksizov.ru/51-zhivoy-poisk-ajax-php.html

Для работы необходим https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.17-win32.msi

Конструктивная критика приветствуется, собственно в том числе и ради нее делаю публикацию)

Тестировалось на Рознице 2.2.12.30 и на платформе 8.3.13.1865. Думаю работать будет на огромном количестве конфигураций и версий платформ. Работает не очень-то быстро, но я не знаток mysql, да и в 1С я не так давно.


 

&НаКлиенте
Функция ПодключитьсяКРабочемуСайту()  
    
    Connection = Новый COMОбъект("ADODB.Connection");    
    
    Если Connection.State = 0 // 0 - adStateClosed
        Тогда
        SRV =  Объект.АдресСервераMysql; //адрес сервера MySQL
        DB = Объект.ИмяБазыMysql; //имя базы MySQL
        UID = Объект.ИмяПользователяMysql; //имя пользователя MySQL
        PWD = Объект.ПарольПользователяMysql; //пароль пользователя MySQL        
        PORT = "3306";//порт сервера MySQL, например 3306
        cstr = "DRIVER={MySQL ODBC 8.0 Unicode Driver};
        |SERVER=" + SRV + ";UID=" + UID + ";
        |PASSWORD=" + PWD + ";DATABASE=" + DB + ";PORT=" + PORT + ";";
        Попытка
            Connection.Open (cstr);    
        Исключение
            Connection = Неопределено;
            Сообщить(ОписаниеОшибки());
        КонецПопытки;        
    КонецЕсли;
    
    Возврат Connection;
    
КонецФункции // ПодключитьсяКСайту()

&НаКлиенте
Процедура УдалитьВсе()
    
    Connection = ПодключитьсяКРабочемуСайту();
    Попытка
        Connection.Execute("TRUNCATE TABLE `search`");        
    Исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;
    Connection.Close();
    
КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьЗагрузку()
    
    МассивНаСайт = СформироватьОтправляемыеДанные();
    
    Connection = ПодключитьсяКРабочемуСайту();
    
    Для Каждого ЭлементМассива из МассивНаСайт Цикл
        Попытка
            Connection.Execute("INSERT INTO `search` SET `name`  ="+""""+ЭлементМассива+"""");    
        Исключение
            Продолжить;;
        КонецПопытки;         
    КонецЦикла;
    
    Connection.Close();  
    
КонецПроцедуры

&НаСервере
Функция СформироватьОтправляемыеДанные()
    
    МассивНаСайт = Новый Массив;
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ РАЗЛИЧНЫЕ  
    |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Количество,
    |    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    |    ТоварыНаСкладахОстатки.Номенклатура.Представление КАК НоменклатураПредставление
    |ИЗ
    |    РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
    |        ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |ГДЕ
    |    ТоварыНаСкладахОстатки.КоличествоОстаток > 0
    |    И ЦеныНоменклатурыСрезПоследних.Цена > 0
    |
    |УПОРЯДОЧИТЬ ПО
    |    Номенклатура
    |АВТОУПОРЯДОЧИВАНИЕ";
    
    Запрос.УстановитьПараметр("ВидЦены", Объект.ВидЦены);
    
    Результат = Запрос.Выполнить();
    
    Выборка = Результат.Выбрать();
    
    Пока Выборка.Следующий() Цикл
        СтрокаНаСайт = Выборка.НоменклатураПредставление + " / " + Выборка.Количество +  "  шт. / " +Выборка.Цена + " руб.";
        МассивНаСайт.Добавить(СтрокаНаСайт);
    КонецЦикла;
    
    Возврат МассивНаСайт;
    
КонецФункции

&НаКлиенте
Процедура ОтправитьНаСайт(Команда)
        
    УдалитьВсе();
    
    ВыполнитьЗагрузку();
    
КонецПроцедуры

Спасибо за внимание! ))

Обработка mysql загрузка

См. также

Оплата товара "Долями" в 1С:Розница 2.3 (для работы с сервисом dolyame.ru)

Сайты и интернет-магазины Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку.

18000 руб.

19.12.2023    2204    18    6    

17

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16236    14    18    

14

Интеграция 1С и Битрикс 24 — модуль синхронизации для обмена задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    18404    10    15    

16

Парсинг сайтов и интернет магазинов: универсальный парсер товаров и цен, выгрузка данных каталога сайта

Оптовая торговля Розничная торговля Сайты и интернет-магазины Программист Платформа 1С v8.3 Управляемые формы 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

С начала момента разработки мы спарсили более 300 сайтов и записали эти товары в 1С. В итоге на свет появился универсальный парсер, который поможет Вам спарсить интернет-магазин, товары, цены и данные каталога, и при этом не написать ни строчки кода.

9600 руб.

19.10.2018    52670    220    101    

112

SALE! 20%

Интеграция API b2b.4tochki.ru (Форточки)

Прайсы Оптовая торговля Сайты и интернет-магазины Программист Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 11 Транспорт, автопарки, такси Управленческий учет Платные (руб)

Внешняя обработка адаптирована для УТ 11, предназначена для наполнения вашей базы данных товарами и сопутствующей информацией, предоставляемой b2b.4tochki.ru, обновления остатков и цен.

8160 6528 руб.

31.01.2020    30607    11    7    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ip0593 20 31.08.19 10:15 Сейчас в теме
ну и в самом файле search.php не забудьте прописать данные для подключения базы. сравнение у таблицы search должно быть выставлено cp1251_general_ci. файлы на хостинге закидывайте также, как они в архиве, вместе с папкой js
Оставьте свое сообщение