Простая интеграция сайта и 1С

Последнее время натыкался на несколько различных статей об интеграции сайта и 1С. В комментариях часто начинались споры о различных подходах, и я решил поделится способом который однажды довелось реализовать мне. Разумеется, описанный ниже способ не претендует на универсальность и единственность, но, думаю, будет полезен тем, кто только собирается писать свой вариант.
Тяпки, грабли и лопаты
Не очень большой магазин (номенклатура порядка 5000 товаров).
Обыкновенная, файловая 1С 8 УТ. Конфигурация стоит на полной поддержке, и снимать с поддержки нельзя.
База лежит на одной из десктопных машин, которая в свою очередь используется для работы одним из сотрудников.
Достаточно выгружать минимум информации: название, описание, фото, несколько видов цен.
Ломать уже устоявшуюся экосистему было так же крайне не желательно.
Под сайт выделен обыкновенный виртуальный хостинг, а значит нужно учесть ограниченность ресурсов такового.
Выгрузка может происходить не часто, достаточно 1 раза в 3 часа.
Впоследствии, стало необходимо добавить выгрузку прайс-листа в xls.
Скромный бюджет для реализации проекта.
Машина, выполняющая роль «сервера» была и без того не быстрой, а наличие постоянных подключений к базе 1С, только усугубляло ситуацию. Но, заказчика это устраивало, а значит, кучи денег на покупку отдельного сервера и перевооружение остального парка не было.
В связи с ограничениями бюджета, вариант с Битриксом и его типовой интеграцией отпал сразу. Да и интерес был скорее спортивный, реализовать всё самостоятельно. Было решено использовать уже использовавшийся ранее каркас для каталога товаров. Каркас был сделан на CodeIgniter, поэтому добавить небольшой модуль труда не составляло. Решено.
Лет’с старт
Первым делом стал вопрос о периодичности выгрузки информации, а руки так и потянулись к регламентным заданиям… но, стоп. Во-первых, конфигурацию с поддержки снимать нельзя, а значит, и вносить правки в саму конфигурацию мы не можем, а во-вторых, все копии 1С запускаются только при необходимости, а значит, будет ли в нужный момент запущена 1С или нет — неизвестно. Да, можно было бы обязать заказчика, при запуске «сервера» всегда запускать 1С и всегда держать её запущенной, но ведь это создаст лишние неудобства заказчику, а значит решение не самое удобное. Увы, регламентные задания сегодня нам не смогут помочь. Очевидно, что нам понадобится помощь стороннего приложения, для запуска процедуры выгрузки в определённый момент. Тут мы вспоминаем про то, что 1С позволяет запускать себя из командной строки, более того, мы можем сразу же выполнить нужную нам внешнюю обработку и при необходимости, есть даже возможность передать ей какой-нибудь параметр.
Вот основные ключи, которые будут использоваться:
"Путь к 1С" enterprise /F"Путь к базе" /N"Логин" /P"Пароль" /Execute"Внешняя обработка" /C"Параметр" /DisableStartupMessages
Теперь осталось настроить запуск этой конструкции по расписанию. Планировщик Windows? Настраиваем, проверяем… работает!
Но есть один серьёзный недочёт. Когда планировщик запускает по расписанию 1С, то, разумеется, она открывается сверху над всеми приложениями и если в это время работает кто-то за компьютером, то это, во-первых, будет его отвлекать, а во-вторых, он может и закрыть это новое окно. Не порядок… Что же делать? Начинаем копать в сторону запуска под другой учётной записью. Спасибо гуглу, достаточно быстро находим возможность пакетного запуска под другим пользователем. Создаём нового пользователя Windows, разрешаем в политиках безопасности пакетный запуск, перенастраиваем планировщик, проверяем… вуаля! Всё сработало, при этом мы не увидели никаких раздражающих окон! Отлично, значит, такой вариант нам подходит… теперь переходим к собственно выгрузке самих данных.
Выгрузка
Первым делом, конечно, я стал смотреть в сторону CommerceML, но ознакомившись с документацией, стало ясно, что для нашей, достаточно элементарной выгрузки городить весь этот огород — слишком долго, а бюджет не резиновый. Значит, будем искать альтернативный способ. Почему бы просто не выгружать текстовую информацию в xml, а картинки выгружать в отдельную директорию? Решено, так и делаем. Получаем достаточно простую структуру xml-файла: внутри сначала идут записи для групп, а потом сами номенклатурные единицы.
Так выглядят группы:
код /*Код-элемента из 1С*/ наименование /* Собственно, наименование группы*/ код родителя /* Если не пусто, значит группа является вложенной*/
код /* Код-элемента из 1С */ код родителя /* Код группы, к которой принадлежит товар */ наименование Описание Артикул Тип цены Цена <Сurrency>валютаСurrency> Остатки шт/кг/литры
img_dae5eacd-7d88-11de-8856-0024213f1c89.jpg /* Все изображения содержат в названии уникальный идентификатор элемента в базе 1С */
Не хитрым запросом получаем информацию по всем товарным группам и товарам, далее формируем xml-ку. Также делаем отдельную выборку и вытаскиваем информацию для прайс-листа, а затем сохраняем полученную информацию в xls.
После этого переходим к выгрузке изображений. В связи с ограничениями хостинг-площадки, обрабатывать изображения на стороне хостинга показалось не самым рациональным, поэтому было решено делать обработку изображений + создание превью на этапе формирования выгрузки. 1С — это конечно комбайн, но вот возможности обработать пачку фотографий я не нашёл. Но ведь у нас есть ImageMagick? Отличный, кроссплатформенный набор всего необходимого нам для обработки изображений… качаем, распаковываем… осталось лишь написать bat’ник, который произведёт необходимые манипуляции:
cd c:\ set thePATH= Здесь указываем путь к изображениям FOR /R "%thePATH%" %%a IN (*.jpg) DO ImageMagick-6.7.0-10\convert.exe %%a -resize ШИРИНАxВЫСОТА^> -quality 70 %%a FOR /R "%thePATH%" %%a IN (*.jpg) DO ImageMagick-6.7.0-10\convert.exe %%a -resize ШИРИНАxВЫСОТА^> -gravity center -extent ШИРИНАxВЫСОТА -quality 70 %thePATH%mini\%%~nxa
Запускаем из нашей обработки этот bat’ник и получаем результат.
Вся информация выгружена, осталось всё аккуратно упаковать в zip и загрузить по фтп на сервер, с чем отлично справляется 1С штатными средствами.
На первый взгляд всё, но… Неужели мы каждый раз будем вытаскивать всю номенклатуру, со всеми картинками и всю эту махину грузить на сервер? Нет уж, это картина не для слабонервных… И что же делать? Делать флаги и отмечать, какая номенклатурная единица изменилась? Нет, мы же не можем править конфигурацию… Но ведь есть же планы обмена? Кто нам запрещал использовать их? Никто! Создаём план обмена, настраиваем. Дальше модифицируем нашу выгрузку, теперь во время выгрузки создаём новое сообщение в плане обмена, выгружаем только изменённые с момента последнего сообщения единицы… Отлично!
Серверная часть
Тут всё ещё прозрачнее. Вешаем запуск скрипта по крону. В скрипте смотрим в нужную директорию, ищем по маске нужный архив. Если таковой имеется, то распаковываем, парсим xml, пишем информацию в БД. Картинки у нас внутри ещё одним архивом, его тоже распаковываем, прямо поверх директории с уже имеющимися картинками. Если такая картинка уже есть, переписываем её новой. xls-файл копируем с заменой в нужную директорию. Пишем в базу информацию, о том, что произвели такое-то обновление, тогда-то, с таким-то номером, а затем чистим за собой временные файлы. Всё.
Соломка от сбоев
Если в процессе выгрузки информации, обработке изображений, архивировании, загрузке на удалённый фтп произойдут ошибки, то мы можем потерять часть обновлений, и в итоге информация на сайте и в базе 1С будет рассинхронизирована. Ниже я описал основные острые углы, для которых понадобилось подстелить соломки:
1. Итак, что же будет, если например, в момент загрузки по фтп, оборвётся связь?
Если мы уже записали сообщение в план обмена, то получается, что 1С, считает, что успешно выгрузила эти изменения и теперь уже собирает новые, но на сайт-то они не попали! Правильно, поэтому заканчиваем запись в план обмена только после успешного завершения всех этапов выгрузки, включая загрузку файлов по фтп! А если же в процессе выгрузки происходит исключительная ситуация, то мы прерываем запись сообщения в плане обмена и пишем ошибку в error-log.
2. А что, если наш скрипт на сервере начнёт обрабатывать ещё не догруженный архив?
Мы сначала даём ему одно имя (например, export.zip_), а лишь по завершении переименовываем его и даём имя, которое будет искать скрипт на сервере.
3. А что если на сервере будет сбой и скрипт не успеет обработать наш архив, 1С затрёт его новым?
Нет, для этого каждый архив содержит в названии номер сообщения из плана обмена (например, export_1.zip). Скрипт на сервере в свою очередь при обнаружении нескольких архивов обрабатывает их в порядке возрастания номеров.
4. А логи не переполнятся?
Т.к. при выгрузке в лог пишется подробно информация о результатах каждого действия, то логи достаточно быстро растут, поэтому не забываем при каждой выгрузке контролировать их размер и при необходимости удалять старые.
5. А что если 1С не успеет произвести выгрузку, а в это время стартует процесс для новой выгрузки?
В настройках планировщика настраиваем так, чтобы новое задание не выполнялось, если предыдущее не завершено.
P.S.
Итак, таким вот нехитрым способом за достаточно короткий срок была реализована выгрузка номенклатуры/цен/остатков на сайт. Разумеется, данный вариант имеет ряд недостатков и не претендует на лавры единственно-верного, но при этом нам удалось полностью вписаться в ограничения установленные экосистемой заказчика. Вся эта конструкция работает на слабых машинах, не требует постоянно запущенной копии 1С, работает на самом обыкновенном виртуальном-хостинге, абсолютно не отвлекает сотрудников на себя и главное, позволяет беспрепятственно обслуживать 1С. Подстеленной соломки оказалось достаточно, и за уже почти год, к счастью, ни одного нашего вмешательства в работу системы не потребовалось.
Интеграция сайта с 1С: как подключить и связать веб-ресурс с ПО — инструкция подключения и синхронизации


Интеграция сайта с «1С: Бухгалтерия» и «1C: Предприятие» — один из ключевых моментов эффективной работы. Сейчас у любой организации имеется собственный портал, однако лишь небольшой процент стремится использовать весь коммерческий потенциал этого инструмента. В большинстве случаев его воспринимают исключительно как визитку. На деле же, совместив интернет-ресурс с системой, вы можете существенно расширить число контактов и взаимодействий с целевой аудиторией и, как следствие, повысить продажи. Ниже разбираем особенности и нюансы интеграционной процедуры, делимся полезными хитростями и секретами.
Данные из 1С на сайт: как сочетать
- в формате текст-файлов — CSV;
- CommerceML;
- XML;
- в виде промежуточных баз;
- SOAP/REST;
- в форме NoSQL-решений.
Проанализируем их более детально.
CSV таблицы
Табличный формат, где содержатся текстовые данные с символами-делителями (точками, запятыми и т. д.), разграничивающими материалы на строчки и столбики. Позволяет быстро импортировать информацию в БД — контактные сведения покупателей, адреса центров и филиалов и т. п. Все файлы аккумулируются и хранятся в определенном месте. Оттуда ресурс в штатном режиме скачивает и переносит их в соответствующие таблички отдельных баз.
Важно: стороны должны договориться о том, какие конкретно столбцы CSV будут соответствовать графам БД, как именно они будут обработаны.
CommerceML
Стандартный базовый подвид XML. Данные обмениваются в жесткой сцепке «Сайт-ERP». По принципу работы напоминает предыдущий вариант — информация из файловых реквизитов трамбуется в общую базу и обратно. Считается наиболее популярным и распространенным. Активно эксплуатируется онлайн-витринами. Предусматривает схемы заданного формата, в частности:
- товарные каталоги;
- коммерческие заявки по заказам;
- документацию.
Сегодняшние сайты и обновленные версии 1С, как правило, дополнены встроенными обменными модулями. Работа с информацией подстраивается под задачи ресурса, при этом не все удается решить в штате. Генеральная миссия принятых решений — уменьшение объема кода от разработчиков.
JSON
Сайт создает запрос относительно состояния заказа на основании идентификационных параметров. В ответ от программы получает XML-файл, содержащий необходимый массив сведений. Затем он обрабатывается и передается юзеру — выводится на экран компьютера или ноутбука в табличном виде.
К плюсам интеграции относят возможность формулирования ответов на актуальные вопросы в режиме реального времени. Иными словами, вы сразу же получаете искомую информацию, не проводя долгих часов в ожидании.
MySQL/MS/SQL
Работа с веб-порталами в 1С предполагает системную разнородность. Когда она достигает критических значений, возникает необходимость интегрироваться посредством промежуточных звеньев, хранящих исключительно данные для обмена, что представляются релевантными. Подобная реализация помогает сэкономить ресурсные мощности ERP, где выгрузка невозможна без колоссальных правок.
SOAP/REST
Обычно применяются для внешних сервисов доставки, оплаты, расчетов по каким-то взносам и платежам. Информация формируется в соответствии с формализованным API, а затем направляется конкретному адресату с целью получения ответа. Подходит, когда требуется быстрая и незамедлительная обработка запросов.
NoSQL-решения
Особенно хорошо сочетаются с инструментами категории CouchDB и подобными. Не предполагают структурного деления данных на четкие классы, а потому, если предстоит замена модели, можно ограничиться впиской соответствующего код-пароля в приложении. Ключевое отличие состоит в увеличенной мощности. Расширение достигнуто посредством сложения серверов в единую сеть, в которой каждый из них должен обрабатывать строго обозначенную часть материалов.
Важно: интегрировать ПО разрешается любым из перечисленных способов. Итоговый выбор определяется сложностью структурной организации внутренних сведений, особенностями протокольного обрабатывания, а также характером задач, ставящихся перед разработчиками. Ну, и, разумеется, нельзя забывать о закладываемом бюджете.
Интегратор 1С: как подключить к сайту
Как правило, вся работа сводится к решению четырех задач:
- заполнению брифа;
- созданию протокола передачи данных;
- разработке программного продукта;
- внедрение системы в рабочий процесс.
Каждый пункт — отдельная стадия работы над проектом. Так, например, второй призван продемонстрировать, что следует выполнять сразу после прототипирования и дизайна.
На практике выясняется, что разработчик может взять на себя не только интеграцию, но и настраивание ERP, или же порекомендовать специалистов, занимающихся оказанием этих услуг. Обычно все упирается в корпоративные каноны — не многие организации готовы давать доступ к своим внутренним материалам сторонним сотрудникам. Рядовая ситуация — когда веб-сервисы или приложения живут отдельно от ERP-систем.
Здесь все дело в том, что второй стороне порой требуется гораздо больше времени на подготовку площадки. Необходимо не просто внести свежие актуальные сведения, а преобразовать их, согласовать с заданными протоколами, а также проработать выборки из общей базы. В отдельных случаях — организовать трансформации. Решение всех перечисленных выше проблем ложится на плечи «обработчиков». Специалисты по ERP же обязаны проверять реализацию и выгрузку данных, контролировать соблюдение утвержденных протоколов.
Бывает, что в момент протокольного исполнения на стороне ERP-система внезапно происходит обновление — тогда интеграция с сайтом нецелесообразна. Разумнее сначала обновить сервис, а уже затем заниматься интеграционными процессами.
Бриф и протоколирование
Невозможно понять и оценить фронт предстоящих работ без брифования. Еще на этапе продаж требуется попросить клиента заполнить развернутую анкету, в которой будут содержаться ключевые вопросы по интеграции. Например, те, что касаются основных требований и вводных по выгрузке товаров. Без этого практически невозможно определить стоимость и сроки исполнения заказа.
Протокол
На этой стадии вы прописываете действия, которые предстоит совершить заказчику. В протокольной интеграции проясняются ключевые проблемные места, определяется, что является первичным.
Чего удается достичь с помощью инструмента-протокола?
- четких гарантий, что все сервисы будут исправно функционировать;
- однозначной постановки целей для разработчиков;
- оперативной диагностики проблем и их быстрой ликвидации.
Без этого документа корректное интегрирование невозможно.
Создание
Как правило, процесс разворачивается на стороне клиента и студии, осуществляется параллельно.
Однако, поскольку речь идет об интеграции, требуется организовать отлаженную коммуникацию между всеми участниками. Диалог и обратная связь помогут своевременно обнаружить проблемы и недоработки, найти решения. Если технические сбои идут непрерывным потоком, есть смысл утвердить регулярные встречи, которые упростят контроль результатов.
Что касается работоспособности системы, то здесь все следует сверять с протоколом. Если говорить простым языком: берете блок, тестируете, проверяете каждую из сущностей и отмечаете красными флажками те, что успели проанализировать. Аномалии сразу фиксируете, одновременно ставя задачи по их устранению.
Эксплуатация, связь 1С с сайтом и подключение
Здесь начинается все самое увлекательное и интригующее:
- деплоймент;
- сбор команды с обеих сторон (как правило, переговоры занимают от одного до двух дней);
- методичная прогонка обменов;
- составление типовых проблем;
- преобразование их в задачи, требующие решения;
- создание итеративного круга из реализаций и проверок.
Когда все актуальные вопросы будут исчерпаны, проект готов к запуску.
Что примечательно, описанный выше порядок действий требуется повторять на протяжении нескольких месяцев — до тех пор, пока все не доведется до автоматизма, не начнет работать без сбоев и ошибок. Точных сроков нет, все зависит от сложности и специфики конкретной системы. Чтобы ускорить процесс, рекомендуем садиться и гонять импорты вживую — так больше шансов выявить и зафиксировать проблемы.
Готовые решения для всех направлений
Ускорьте работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.
Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.
Обязательная маркировка товаров — это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя
Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

Повысьте точность учета имущества организации, уровень контроля сохранности и перемещения каждой единицы. Мобильный учет снизит вероятность краж и естественных потерь.
Повысьте эффективность деятельности производственного предприятия за счет внедрения мобильной автоматизации для учёта товарно-материальных ценностей.
Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.
Исключи ошибки сопоставления и считывания акцизных марок алкогольной продукции при помощи мобильных инструментов учёта.

Получение статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов.
Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..
Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.
Синхронизация 1С с сайтом: выгрузка с помощью CommerceML
Теперь предлагаем отвлечься от теории и перейти к практике. Вот как выглядит реализация приведенного выше алгоритма на примере встроенного CommerceML-сервиса:
- Программа отправляет запрос формата: «http:////1c_exchaange.php?type=catalogg&moode=checkauthh.».
- В ответ приходят три строки (Success, данные и значение Cookie), разделенные специальными символами.
- В сообщении участвуют две строчки от CMS: параметра «Zipp» и «filee_limit=».
- Далее 1С выгружает на портал контент CommerceML-формата — они и обеспечивают обмен.
- Информация передается в форме: «http:/// /1c_exchaange.php?type=catalogg&moode=immport&filename=» — это заключительный этап.
Заметим, это подобный способ не имеет широких возможностей, что делает настройку выгрузки применимой лишь к стандартизированным ситуациям. Однако работает все безотказно, давая минимальное число сбоев.
Плюсы при настройке
Автоматизированная передача информации между веб-ресурсом и программой окажется полезной для любой фирмы. Интеграционная поддержка 1С — стандартная услуга, а потому предоставляется в крайне сжатые сроки. Что примечательно, специфика бизнес-проекта не имеет принципиального значения, поскольку список преимуществ невероятно широк:
- Вы получаете возможность полно и подробно рассказывать о реализуемом продукте. Кроме того, есть опция создания каталогов с быстрым поиском, подключением фильтров, сортировкой, а также сравнением по заданным критериям.
- Вы демонстрируете исключительно актуальный перечень позиций. Как только свежая номенклатурная таблица загружается в 1С, она автоматически переносится на сайт при последующем обновлении. Саму скорость появления дополнительных позиций вы определяете самостоятельно в момент, когда настраиваете параметры интеграции.
- Вы поддерживаете собственную репутацию. Когда цены на сайте и в чеке различаются, покупатели начинают негодовать. Корректно настроенный обмен данным позволит избежать отрицательных настроений, сохранить ваш образ надежного и проверенного поставщика.
- Вам не нужно вручную формировать заказы и создавать отдельные документы в 1С — программа все сделает самостоятельно. Это очень удобная опция, помогающая разгрузить сотрудников, освободить их от дублирования информации, которая уже была предоставлена клиентами.
- Вы оперативно информируете покупателей об изменении состояния оформленного ими заказа. Возможность следить за всем в режиме реального времени особенно высоко ценится сегодня.
- Вы упрощаете формирование отчетности и документации. Счета, чеки, квитанции и прочие сопроводительные бумаги автоматически подгружаются в 1С.
Упомянутые преимущества становятся особенно очевидными в тот момент, когда суточное количество заказов увеличивается. Однако специалисты советуют своевременно заботиться о настройке, чтобы не допустить сбоев и простоев в будущем.
Как связать сайт с 1С: полная интеграция с выгрузкой товаров, услуг, цен, остатков
Генеральное отличие в механике настроек заключается в объеме передаваемых сведений. Он может быть двусторонним или односторонним, предусматривать разное количество страниц, а также несколько форматов транслируемых сведений.
На основании чего выбирается способ? К основным факторам относят:
- возможности системы администрирования;
- конфигурационные опции.
Каждый из вариантов имеется свои достоинства и недостатки. Как показывает практика, чаще всего выбор делается путем подсчета предстоящих затрат.
Виды интеграций конфигураций 1С
Итоговый метод подбирается профессиональным разработчиком, который обязан учесть все специфические детали и нюансы. Нередко окончательный результат зависит от квалификации и профессиональных знаний исполнителя, а также мощностных возможностей используемых серверов. Масштаб баз данных, количество и уровень занятости работников также выступают важными составляющими всего процесса.
Наиболее распространенный вариант — обмен в формате CommerceML, предполагающий применение встроенных во многие конфигурации опций 1С. Делает возможным настраивание интеграции по различным схемам. Полная автоматизация процесса исключена.
Разработка веб-сервиса становится мощной платформой для системы управления сайтом. Как таковая интеграция не требуется, при этом портал продолжает функционировать. Базой в данном случае выступает ПО 1С Предприятие. Ключевой недостаток описываемого способа — низкая скорость работы.
Что касается использования web-расширений, то они предполагают подключение специальных web forms. Но здесь есть и свои минусы, например, незащищенность информационных сведений.
Кроме того, существует вариант настройки по готовым библиотекам. Однако его реализация невозможна без привлечения квалифицированных специалистов с определенным опытом.
Одна из самых простых и оптимальных разновидностей — конфигурация «1С:Конвертация данных». Обеспечивает обмен посредством xml. Работает достаточно эффективно, однако высока вероятность частых технических сбоев и ошибок после обновлений. Из недостатков — не очень мощная производительность системы.
Огромный выбор вариантов и условий для запуска проектов облегчает поиск — вы всегда сможете отыскать способ, который удовлетворит все актуальные запросы. Достаточно подать заявку, и команда ООО «Клеверенс софт» поможет определиться с окончательным видом, подходящим под вашу систему.
Итоги
Разработка собственного формата передачи данных требует немало времени и сил, а также денежных вливаний вне зависимости от того, какой способ комбинирования вы в итоге выберете. Главное — грамотно сочетать стандартные базовые возможности программного продукта с индивидуальными наработками. Такой подход позволит обеспечить качественное соединение сайта с 1С, что даст бизнесу новый набор оптимизированных инструментов для организации эффективной работы.
Количество показов: 6318
Статьи по схожей тематике

Кассовый аппарат на рынке и ярмарках: нужны ли ККТ для уличной торговли

ЭКЛЗ: что это такое в кассовом аппарате, как и зачем используется защищенная электронная контрольная лента

Онлайн-касса для интернет-магазина: какую ККМ лучше выбрать, регистрация кассового оборудования

Чек коррекции: когда используется, как выглядит и как сделать его на онлайн-кассе — инструкция

Ошибка ФН 235 на кассе АТОЛ: что это такое, и как ее исправить на ККМ

1С: подключение — инструкция по настройке электронного документооборота, как правильно подключить клиента

Проверка ТТН ЕГАИС: как правильно проверить накладную по идентификационному номеру

Установка 1С: как правильно установить платформу на компьютер, пошаговая инструкция по настройке
Подписаться на новости
117105, г. Москва, Варшавское шоссе, д. 37А
Отдел продаж: +7 (495) 662 98-03
sales@cleverence.ru
Пн-пт: с 07-00 до 19-00
Интеграция сайта с 1С:Управление нашей фирмой (УНФ)

Программу 1С:Управление нашей фирмой (УНФ) можно легко интегрировать с сайтами (интернет-магазинами), поддерживающими обмен данными по стандарту CommerceML 2.05 или открытый протокол обмена с сайтом .
Интеграция подразумевает выгрузку на сайт товаров и загрузку обратно заказов покупателей. Настройка выполняется «из коробки» с популярными системами управления сайтами (CMS): 1С-Битрикс, UMI.CMS, InSales, HostCMS, Rugento, Diafan.CMS. Для «самописных» сайтов или работающих на других движках необходимо будет разработать выгрузку в указанных форматах, или использовать обмен через Web-сервисы (см. далее).
Интеграция УНФ с сайтом позволяет:
- работать по всем заказам (сделанным на сайте, оформленным по телефону или в магазине) централизованно;
- поддерживать актуальность информации по товарам, представленной на сайте;
- исключить дополнительные затраты на дублирование информации и настройку коммуникации между сайтом и учетной системой;
- исключить дополнительные затраты на персонал для управления интернет-магазином.
Общая схема взаимодействия с сайтом
- Выгрузка на сайт информации о товарах, остатках и ценах
- Регистрация на сайте заказов покупателей
- Загрузка зарегистрированных заказов и их обработка в приложении УНФ
- Передача изменений и статусов заказов (оплачен, отгружен и т.д.) на сайт
Варианты обмена
1. Обмен через Интернет по протоколу HTTP
При таком варианте настройка и инициализация обмена производятся в УНФ. При этом, интеграция возможна с интернет-магазинами, поддерживающими обмен по стандарту CommerceML 2.05 и открытый протокол обмена с сайтом.
Интеграция функционально делится на два блока:
- Выгрузка на сайт товарных предложений. Обеспечивает публикацию на сайте каталога номенклатурных позиций и информации о наличии товаров и ценах.
- Обмен информацией о заказах. Позволяет загружать с сайта в УНФ данные о заказах покупателей и производить дальнейшую синхронизацию состава и статусов заказов.
Запуск обмена может выполняться, как интерактивно (вручную), так и автоматически, по установленному расписанию. При этом, из приложения УНФ возможен, как полный объем выгрузки, так и только выгрузка последних изменений.
2. Обмен через web-сервис
При использовании данного варианта, обмен настраивается и производится на стороне сайта. В его основе лежит использование web-сервиса, позволяющего получать данные информационной базы.
Такой вариант является дополнительной возможностью, позволяющей интегрировать с приложением УНФ сайты, которые не поддерживают обмен по протоколу обмена с сайтами.
Настройка обмена
Общие настройки
Для начала использования функционала интеграции с сайтами необходимо перейти в раздел Компания — Интеграция с др. программами — Обмен с сайтом и установить опцию Обмен с сайтом. После этого станет доступна ссылка Настройка обмена с сайтом, при нажатии на которую открывается форма Узлы обмена с сайтами.



Рассмотрим порядок настройки обмена при использовании первого варианта (Обмен через интернет по протоколу HTTP).
Создание нового обмена
В форме Узлы обмена с сайтами, нажмите кнопку Создать, откроется Помощник по созданию обмена данными с web-сайтом.
Пройдем необходимые шаги настройки вместе.
1. Настройка режима обмена данными
На первом шаге помощника следует отметить пункты Выгружать товары и (или) Обмениваться заказами.

После выбора режима обмена данными нажмите Далее.
2. Установка настроек для подключения к web-сайту
На втором шаге помощника необходимо отметить пункт Обмен через интернет и указать адрес для подключения к сайту, имя и пароль пользователя. После этого можно проверить настройку соединения, нажав на кнопку Проверить соединение.

3. Настройка выгрузки номенклатуры
На третьем шаге помощника необходимо задать настройки для выгрузки номенклатуры (данная настройка отображается, если на первом шаге установлен флажок Выгружать товары).
На этом шаге помощника нужно указать виды цен и группы номенклатуры, которые будут выгружаться на сайт.
Флажок Выгружать остатки по складам отвечает за передачу на сайт информации об остатках товаров в разрезе складов.
Если установить флажок Выгружать изображения номенклатуры, вместе с номенклатурой будут выгружены присоединенные изображения товаров.
Кроме этого, можно задать дополнительные отборы. Например, можно установить отбор по полю Остаток больше 0 и на сайт будут выгружаться только те товары, которые есть на остатках.

4. Настройки для обмена заказами покупателей
На четвертом шаге нужно указать настройки для обмена заказами (настройка отображается, если на первом шаге установлен флажок Обмениваться заказами).

Дата начала выгрузки заказов определит дату, с которой заказы, которые уже есть в базе будут выгружаться на сайт.
При загрузке заказов покупателей с сайта, новые контрагенты идентифицируются в соответствии с установленным Способом загрузки контрагентов.
Контрагентов можно искать:
- по Наименованию
- по ИНН + КПП
При этом, если контрагент не найден, он создается.
Если нет необходимости создавать новых контрагентов при загрузке заказов с сайта, в качестве значения поля Способ загрузки контрагентов можно указать Не создавать и в появившемся поле выбрать контрагента, который будет подставляться во все загруженные заказы. При этом контактная информация покупателя будет записываться в заказ.
В поле Состояние необходимо указать состояние, которое будет присвоено всем новым заказам, загруженным с сайта.
Если в базе ведется несколько организаций, не забудьте уточнить Организацию для подстановки в заказы.
Кроме этого, в полях Группа для новой номенклатуры и Группа для новых контрагентов можно указать группы, в которые будут загружены ненайденная номенклатура и контрагенты.
5. Настройка расписания для автоматического обмена
На последнем шаге можно установить флажок использования автоматического обмена и задать расписание в открывшейся форме. Если автоматический обмен не требуется, никаких настроек делать не нужно.

После нажатия на кнопку Готово будет создан новый узел обмена с сайтом. При этом, если установлен флажок Выполнить обмен с web-сайтом при нажатии на кнопку “Готово”, будет автоматически запущен сеанс обмена с сайтом. Также Вы можете запустить его вручную.

Настройки при использовании варианта обмена через web-сервис
При использовании обмена через web-сервис, настройки со стороны приложения УНФ сводятся к получению адреса опубликованного web-сервиса.
Внимание! Механизм взаимодействия с web-сервисом должен быть реализован на стороне сайта.
Для получения адреса web-сервиса необходимо на втором шаге помощника установить значение переключателя Обмен через web-сервис и скопировать содержимое поля Адрес для подключения к web-сервису.
Как подключить 1с к сайту
Сейчас перед многими компаниями стоит вопрос грамотно настроенной синхронизации 1С с интернет-магазином или b2b порталом организации. И вариантов решения данной задачи достаточно много.
Дмитрий Душков
7 апреля 2013
Сейчас перед многими компаниями стоит вопрос грамотно настроенной синхронизации 1С с интернет-магазином или b2b порталом организации. И вариантов решения данной задачи достаточно много. Обычно для интеграции с веб-системой на стороне 1С используют стандартный обмен с web-сайтом в формате CommerceML. Данное решение является стабильным и проверенным на многих проектах. В данном вопросе мне есть чем поделиться, т.к. не так давно я специально проводил анализ систем интеграции для нужд нашего собственного продукта, поэтому предлагаю вашему вниманию обзор и сравнение формата обмена CommerceML и других способов интеграции:
Обмен с сайтам по формату CommerceML
В типовых конфигурациях 1С:Предприятие существует 2 типа обмена, основанного на формате CommerceML:
- Обмен по схеме Поставщик-Покупатель Обмен по схеме Поставщик-Покупатель можно использовать для обмена с сайтом, если база 1С будет выступать в качестве Поставщика, а сайт в качестве Покупателя. Но обмен по этой схеме возможно использовать лишь в ручном режиме, загрузка и выгрузка производится вручную. Также вручную необходимо обрабатывать загруженные заказы и формировать на них ответы.
- Обмен с web-сайтом 1С-Битрикс Обмен с web-сайтом 1С-Битрикс после настройки выполняется в автоматическом режиме, но заказы необходимо проводить в 1С вручную. Заказ выгружаемый по такой схеме не контролируется на наличие остатка на складе. И при проведении заказа может оказаться, что заказанный товар уже зарезервирован другим заказом.
Больше не нужно искать и обзванивать каждое диджитал-агентство
Создайте конкурс на workspace.ru – получите предложения от участников CMS Magazine по цене и срокам. Это бесплатно и займет 5 минут. В каталоге 15 617 диджитал-агентств, готовых вам помочь – выберите и сэкономьте до 30%.
Создать конкурс →
web-расширение
В ассортименте программных продуктов 1С есть компонента web-расширение для платформы 1С:Предприятие. Данное решение основано на технологии Web Forms, которая интегрирует веб-форму, элемент управления и источник данных. Для доступа к данным элементы управления используют технологию ADO.NET, а пользовательский интерфейс работает на ASP.NET
Основной недостаток этой технологии — ограниченный дизайн компонентов веб-форм, сайт должен использовать ASP.NET, необходимость дополнительного лицензирования и фактически прямой доступ в базу данных.
Использовать подключаемую DLL
Подключаемых dll для обмена на рынке нет, нужно писать самому. Есть только примеры. Для автоматического обмена по протоколу sftp из встроенного языка можно использовать существующие утилиты вроде WinSCP.exe. Однако, более надежно написать для этих целей внешнюю компоненту. Тем более, что есть готовые библиотеки для С++.
Использовать COM интерфейс
Использование COM интерфейса предполагает наличие у сайта com-объекта, к которому можно подключиться
Связь по COM-интерфейсу поддерживается многими приложениями в среде Windows, однако, для обмена с web-сайтом это довольно экзотическое решение. Для реализации такого решения также требуется наличие программиста владеющего технологиями COM.
Использовать web-сервисы 1С
Для web-сервисов необходимо открывать порт со стороны 1С, что представляет потенциальную угрозу проникновения в базу из Интернет.
Наиболее удобно для обмена 1С с сайтом использовать встроенную в платформу 1С:Предприятие технологии web-сервисов. Но использование этого решения отталкивает компании из-за необходимости открывать доступ к 1С из Интернет.
Перейти на 1С 8.3 (Возможно)
В версии 8.3 1С:Предприятие реализована поддержка SSL, сертификатов в web-сервисах и объектах встроенного языка использующих FTP и HTTP-соединение. В данном случае в web-сервисах уже обеспечивается необходимый уровень безопасности доступа к данным. Для данной платформы пока еще не реализованы типовые конфигурации, что ограничивает ее распространение.
Универсальный обмен XML
Универсальный механизм обмена XML гибко настраивается без вмешательства программиста с помощью конфигурации «Конвертация данных». Но не позволяет осуществлять обмен в автоматическом режиме. А также, в данном варианте обмена не отслеживаются изменения объектов. Поэтому приходится выгружать все объекты, даже если они не изменялись. В лучшем случае для документов можно установить интервал выгрузки.
Самописный обмен
1С выгружает файлы формата txt, xml или csv, которые передаются на сайт по протоколам http или ftp. Сайт обрабатывает полученные файлы.
Самописный обмен позволяет достаточно гибко описать все правила и алгоритмы обмена, однако он хорошо работает при обмене небольшими объемами данных, при больших объемах начинаются проблемы с производительностью.
Веб-сервер на стороне 1С
Встроенная в платформу 1С:Предприятие технология web-сервисов позволяет создать конфигурацию с полноценной CMS-системой генерирующей по запросу html-код. Таким образом кардинально решается вопрос обмена с сайтом, его по сути дела нет, так как сайт работает на базе 1С. Данное решение потенциально обладает низкой производительностью производительностью.
Комбинированный
Каждый из описанных выше вариантов имеет свои преимущества и недостатки. Какой из них выбрать в конечном итоге зависит от множества факторов. И в каждом случае решается индивидуально. По нашему опыту наиболее оптимальным является решение, использующее сразу несколько вариантов обмена для разных ситуаций. По собственному опыту могу сказать, что когда встал выбор какой тип обмена использовать в масштабном проекте по созданию готовой b2b системы с универсальной интеграцией в большинство конфигураций 1С, на основе глубокого анализа нами был выбран формат CommerceML с доработанным функционалом. Именно он сочетает в себе гибкость настройки универсального обмена XML, высокую автоматизацию и повышенную производительность. В итоге в указанной выше системе интернет-дистрибуции мы использовали оптимизированный CommerceML формат для обмена сайта с базами 1С:Предприятие. При этом есть возможность гибкой настройки объектов обмена без программирования, путем добавления объектов в пакет XDTO. Большие объемы данных система передает по протоколу sftp, что заметно повышает отказоустойчивость и гарантирует безопасность.
Таблица сравнения обменов
Сравнение выполнено по следующим параметрам: производительность, отказоустойчивость, безопасность, эргономика.
Преимущества
Есть в стандартной поставке 1С.
Приемлемый уровень безопасности, нет доступа в базу 1С из интернет.
При работе по схеме Поставщик-Покупатель необходимо вручную инициировать обмен.
Избыточность данных протокола снижает производительность.
Данные не зашифрованы.
Большие объемы данных могут вызвать отказ в работе.
Нет стандартных средств автоматического мониторинга процесса обмена.
Прямой доступ в базу 1с позволяет упростить процесс отладки.
Включено в некоторые стандартные поставки.
Под каждого пользователя надо покупать лицензию 1С.
Производительность сильно зависит от скорости доступа к базе 1С.
Прямой доступ в базу, потенциальная угроза доступа к данным в 1с из интернет.
Падение сервера 1С вызовет падение сайта.
Производительность зависит только от объема данных
Приемлемый уровень безопасности , доступа в базу 1С из интернет нет.
Трафик шифруется при обмене по протоколу sftp.
По сравнению с другими вариантами наиболее высокая отказоустойчивость при передаче больших объемов данных.
Трудоёмкое написание библиотеки.
Подойдет только для реализации транспорта данных.
Приемлемый уровень безопасности , доступа в базу 1С из интернет нет.
Производительность сильно зависит от скорости доступа к базе 1С.
Возможны сбои при частых таймаутах.
Трудоёмкое написание COM интерфейса.
Прямой доступ в базу 1с позволяет упростить процесс отладки.
Производительность сильно зависит от скорости доступа к базе 1С
Открыты порты доступа в базу, есть потенциальные угрозы
Возможны сбои при сбоях в базе 1С
Высокая степень безопасности, поддержка протоколов шифрования
Есть средства для повышения уровня отказоустойчивости.
Необходима миграция с текущей платформы 1С.
Универсальный обмен XML
Приемлемый уровень безопасности, доступа в базу 1С из интернет нет.
Инициация обмена по умолчанию осуществляется оператором.
Обработка больших файлов правил сильно снижает производительность.
Данные передаются в открытом виде
При больших объемах данных возможны сбои.
Возможны варианты оптимизации
Безопасность зависит от реализации решения
Долгий процесс отладки обмена
Веб-сервер на стороне 1С
Нет промышленных внедрений.
Решение на уровне прототипа.
Производительность ниже, чем у обычных веб-серверов
Низкий уровень безопасности, открыт порт доступа в базу данных 1С.
Сайт не работает при сбоях с базой 1С.
От редакции
Настоящие эксперты в области веб-разработки делают не только красиво, но и функционально. Хотите найти веб-студию, способную обеспечить не только аккуратный, приятный дизайн, но и последующее удобство при использовании интернет-магазина? Тогда обязательно изучите независимый рейтинг разработчиков интернет-магазинов! Он позволяет получить представление сразу о всех лучших веб-студиях, специализирующихся именно на этом типе сайтов, причем сразу по 4 ценовым категориям.

Владимир Завертайлов
Генеральный директор в Сибирикс
Хороший обзорчик, спасибо )
Вот от меня стандартные вопросы, которые сразу помогают понять, с чем мы имеем дело, прямо на разговоре.
Чтобы понять, какой тип интеграции подходит именно вам, давайте уточним у вашего технического специалиста ряд вопросов:
- Была ли изменена конфигурация 1С? Есть ли у вас программист, который вносит в нее доработки?
- Каталог в вашей 1С и на сайте будет 1:1 такой же, или есть отличая по структуре, номенклатуре или карточкам товаров?
- Характеристики товаров в 1С у вас хранятся в описании или внесены характеристиками? Нужен ли на сайте фильтр по характеристикам?
- Какие сущности должны передаваться с сайта (заказы, контрагенты, счета, товары и т.п.) и на сайт (обновление статусов, заявки, заказ-наряд, счета, остатки. ). Какие поля должны быть у каждой из сущностей?

Дмитрий Афанасьев
Руководитель в Диафан
Действительно, вопрос интеграции сайта и 1С перед веб-разработчиками встает все чаще, об этом я могу судить по количеству обращений к нам в веб-студию в последнее время.
Однако на практике мечты клиента об идеальной грамотной синхронизации сайта с 1С разбиваются о достаточно узкую квалификацию специалистов по разработке веб-сайтов, но гораздо ранее о прайс разработчика.
Поэтому варианты «Разработать подключаемую DLL» или «Использовать COM интерфейс» можно рассматривать так же, как транспортным компаниям говорить о возможности телепортации груза, вместо традиционной перевозки.
Обмен информацией по XML, CSV и прочие «ручные» варианты заказчиками, как правило, не рассматриваются в пользу автоматических обменов.
Обмен с сайтом по формату CommerceML действительно является самым популярным. Однако справедливости ради надо сказать, что обмен по этому формату возможен не только с сайтом, разработанным на 1С-Битрикс, но и еще как минимум на пяти платформах, которые указаны на странице http://v8.1c.ru/edi/edi_app/130/ как совместимые.
Чаще всего заказчики выбирают и, я уверен, в дальнейшем будут выбирать уже готовые решения (полу)автоматической интеграции на базе CommerceML. И по сути, этот выбор будет происходить на этапе выбора платформы для создания сайта (CMS), имеющей синхронизацию с 1С.

Захар Наханов
Технический директор в AREALIDEA
Несмотря на обилие методов синхронизации между 1С и сайтом перечисленных в статье, на практике в 99% случаев встречается два основных способа обмена данными.
Первый — стандартный обмен из коробки CommerceML, поставляется со многими системами управления сайтами. Способ подходит для тех клиентов, чью бизнес-логику 1С и сайта можно вписать в этот формат. Он является наиболее идеальным вариантом, так как на текущий момент стандарт хорошо проработан и его внедрение не требует существенных затрат, а настройкой может заниматься не специалист.
Второй вариант — разработка своего формата обмена между 1С и интернет-проектом. Им может быть формат XML или CSV.
В зависимости от задачи применяются различные решения для оптимизации обмена:
- основные данные грузятся сразу и только один раз, а в дальнейшем приходят только измененные,
- выгрузка данных через небольшие интервалы времени (в этом случае они не успевают накопиться в большом объеме),
- логирование и e-mail уведомления в случае сбоев или ошибок выгрузок.
Разработчикам следует помнить, что обмен лучше проводить по зашифрованному каналу, а также о том, что 1С-Битрикс постоянно дорабатывает процедуру выгрузок и необходимо следить за текущими обновлениями, так как то, что полгода назад можно было сделать лишь с помощью кастомизированной выгрузки, сегодня уже может быть доступно в стандартном решении.

Азат Низамеев
Технический директор в Reaspekt
Раньше обмен данных с 1С был для нас одной из самых сложных задач. Мы пробовали несколько вариантов:
- Обмен с сайтами по формату CommerceML,
- Универсальный обмен XML,
- Самописный обмен.
И в результате, многим клиентам приходилось отказывать. Сейчас используем функционал 1С-Битрикс (по формату CommerceML).
Практически все задачи им покрываются. До недавних пор существенной проблемой было состыковать структуру базы 1С и web-сайта.
К счастью, разработчики 1С-Битрикс дорабатывают расширения для 1С, и теперь появилась возможность прямо в 1С настраивать выгружаемые разделы.
Ищете исполнителя для реализации проекта?
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.