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

31.08.19

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Простейшая загрузка на сайт данных о ценах и остатках номенклатуры:
.rar 10,59Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.

Доброго здоровья! Решил поделиться простейшим примером (неоптимальным, не очень-то и правильным, но зато работающим) выгрузки 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С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку. Поддерживает работу от разных юридических лиц. Работа: в составе РИБ, отдельно от РИБ, тонкий, толстый клиент, web-клиент (через интернет-браузер).

22440 руб.

19.12.2023    5325    39    11    

35

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

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

36000 руб.

03.08.2020    17886    19    22    

17

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

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

7200 руб.

04.05.2021    20017    13    17    

17

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

В настоящее время система СБП очень часто стала использоваться в повседневной жизни. Одна из систем интеграции СБП через СБЕР. Данная конфигурация является инструментом интеграции СБП в Альфа Авто. Данная система не просто формирует статический QR, а динамический, а значит, в системе будет привязка и на покупателя, и на документ.

7200 руб.

25.10.2022    6375    32    4    

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