- от автора admin
Содержание
- Опубликовать базу 1с на веб сервере iis — Настраиваем веб-доступ для 1С:Предприятия в файловом режиме
- Основной принцип и преимущества веб-клиента 1С
- Настройка и публикация веб-сервера
- Удаленный рабочий стол (RDP)
- Тонкий клиент
- WEB-клиент
- Настройка информационной базы
- Тяпки, грабли и лопаты
- Лет’с старт
- Выгрузка
- Серверная часть
- Соломка от сбоев
- P.S.
Опубликовать базу 1с на веб сервере iis — Настраиваем веб-доступ для 1С:Предприятия в файловом режиме
Утонченные разработчики, которые по исчерпывающим ТЗ создают нетленные творения в светлых комнатах с тихой музыкой и приглушенным светом: Есть еще куча задач, которые к собственно разработке отношения не имеют, но являются обязательной частью работы любого внедренца или программиста 1С. Понятно, что с добавлением новых пользователей или расстановкой флажков при настройке прав — все более-менее справляются: Вводная информация по запуску 1С под веб-клиентом Самый первый, вводный видео-урок. Рассмотрим особенности и отличительные моменты веб-клиента. Какие веб-серверы можно использовать и какие конфигурации можно запустить под веб-клиентом. Публикация базы на веб-сервере В этом видео рассматривается, какие действия с информационной базой нужно произвести, чтобы она была доступна для пользователя через браузер. Рассказывается, что представляет собой публикация базы на веб-сервере. Установка веб-сервера IIS на Windows Server Он входит в поставку Windows Server. В этом видео рассказывается, как установить IIS и выполнить на нем публикацию информационной базы под Windows Server Подключаемся к опубликованной базе при помощи Internet Explorer. Настройки публикации в диспетчере служб IIS В этом видео при помощи Диспетчера служб IIS рассматриваем, что происходит на веб-сервере при публикации базы — какие настройки установлены, и что расположено в каталоге публикации. Особенности публикации файловых информационных баз В этом видео рассматриваем, какие ошибки с правами доступа могут возникать при публикации файловых информационных баз. Подключение к опубликованной на веб-сервере базе при помощи тонкого клиента В этом видео рассматриваем, как подключиться к информационной базе, опубликованной на веб-сервере, не только при помощи браузера, но и под тонким клиентом. Такую базу можно добавить в список баз в окне запуска. Установка веб-сервера IIS на Windows Server R2. Настройка работы с битным расширением В этом видео рассматривается процесс установки веб-сервера IIS под ОС Windows Server R2. Рассказывается, какие настройки необходимо сделать, чтобы обеспечить работу битного расширения под битную ОС. Публикация информационной базы на веб-сервере под Windows Server R2 В этом видео рассказывается, как выполнить публикацию информационной базы под ОС Windows Server R2, что публикация должна выполняться в конфигураторе от имени администратора. Сброс настроек при публикации из конфигуратора В этом видео показывается, как конфигуратор при публикации базы на веб-сервере сбрасывает ранее выполненные настройки и как их поправить вручную. Установка веб-сервера Apache 2. В этом видео рассказывается, как установить этот веб-сервер и выполнить его настройку для публикации информационных баз. Безопасность передачи аутентификационных данных при работе по протоколу HTTP В этом видео показывается, что при работе по протоколу HTTP по открытым каналам связи злоумышленник может получить имя пользователя и пароль к информационной базе. Настройка веб-сервера Apache для подключения к информационной базе по защищенному протоколу HTTPS В этом видео демонстрируется, как настроить работу веб-сервера Apache по защищенному протоколу HTTPS. Утилита Webinst для публикации информационных баз на веб-сервере из командной строки Публикацию информационных баз на веб-сервере можно осуществлять не только из конфигуратора, но и при помощи специальной консольной утилиты. В этом видео рассматриваются возможности этой утилиты. Механизм расширений в 8. После перезапуска сервера иногда заходит, при этом на ios выдает ошибку toUpperCase not function. В списке ошибок платформы по описанию нашел похожую: В веб-клиенте при вызове обработчика события, добавленного с помощью оператора ДобавитьОбработчик, происходит ошибка вида jfa. При помощи консольной утилиты можно опубликовать базу на веб-сервере. Публикатор нельзя настроить доступ к базе через интернет. Именно этим он отличается от Линка. Удаленный пользователь работает с базой 1С через это имя. Если же на компьютере установлен веб-сервер, на котором опубликована база, и этот веб-сервер доступен через интернет, то с такой базой можно будет работать при помощи браузера. Вобщем-то сделал все как по уроку, но когда захожу через браузер на свой веб-сервер где опубликована база, ругается на мной выданный самоподписанный сертификат. Его сертификат безопасности выпущен для домена domain. Возможно, проблема связана с настройками сервера или действиями злоумышленников, которые пытаются перехватить соединение. При этом я захожу дальше и работаю с базой, но я так понимаю, что подключение уже незащищено SSL. На сайте поддержки Google Chrome есть еще несколько вариантов, как можно исправить подобную ошибку: Столкнулся со следующей ошибкой Ошибка HTTP Модуль IsapiModule Уведомление ExecuteRequestHandler Обработчик 1C Web-service Extension Код ошибки 0xc1. Видимо у вас разрядная операционная система, и вы забыли в настройках веб сервера разрешить исполнение разрядных приложений? Подскажите в каком курсе можно получить развернутую информацию по администрированию веб сервисов? Столкнулись с такой проблеммой: При этом еще есть авторизация на веб сервере, то есть при подключении пользователь два раза авторизуется — на веб сервере и в 1С. Не получается подключиться к веб сервисам, которые прописаны в данной ИБ. Ваш email не будет опубликован. Администрирование 1С , Бесплатное , Новости. Здравствуйте, сделано как в уроке, через web клиент не входит, висит заставка. Добрый день, а через публикатор 1С возможно настроить доступ к базе через интернет? Безопасность передачи аутентификационных данных при работе по протоколу HTTP. У нас пока нет курса по администрированию веб-сервисов. Написать ответ Cancel reply Ваш email не будет опубликован. Первые материалы курса подготовки к Аттестации на 1С: Специалист-консультант по производству и ремонтам в 1С: Повышение цен на два курса по 1С: Подготовка к Аттестации по производству в 1С: ERP за рублей. Специалист-консультант по производственному учету в 1С: ERP — решение задачи Аттестация за 2 часа! Первый поток курса по Управленческому учету в 1С: Информация для участников первого потока курса по упр. Курс по управленческому учету в ERP 2. Самая важная неделя в курсе по управленческому учету в 1С: Старт курса по управленческому учету в 1С: Интернет-магазин курсов по 1С Перейти в наш интернет-магазин: Информация на сайте не является публичной офертой.
Как сделать коробку для вещей
Конфигурация 1с 8.2 управление
Развертывание IIS для 1С 8.2 (8.3) в режиме веб-клиента.
В общей долевой собственности можно
Сайт хк цска
Подъемные выплаты военнослужащимпо контракту 2017
Бои без правил александр харитонов
Описание книги приключения
Неэкономические методы регулирования международной торговли
Магнитола пионер инструкция на русском языке
Можно ли подключить обычную клавиатуру к ноутбуку
Как убрать герметик с рук
Пошаговая инструкция настройки web-сервисов для 1Сv8.3 и IIS 8.5
Bosch art 26 sl инструкция
Приказом ростехнадзора 125от 29.03 2016 г
Экономика организации рб
Джаз молл магнитогорск расписание киносеансов
Публикация конфигурации на веб-сервере apache (в картинках)
Какую начинку можно сделать для кексов
Патриарх кирилл новости сегодня видео
Схема для пресса для мужчин
Поздравления с днем рождения племяшке
Крупные корпорации, использующие программные продукты 1С в своих отдаленных филиалах, часто сталкиваются с проблемой отсутствия возможности установки 1С на отдельно взятых рабочих местах сотрудников. Иногда причиной этому могут стать устаревшие компьютеры, иногда отдаленность, иногда отсутствие IT-персонала. Разработчики 1С решили эту проблему в версии платформы 8.2, интегрировав в нее специальный веб-клиент. Организация работы в таком виде клиента позволит существенно сэкономить на модернизации компьютеров и содержании штата администраторов 1С.
Основной принцип и преимущества веб-клиента 1С
Внешне веб-клиент ничем не отличается от тонкого клиента, за исключением того, что интерфейс 1С открывается в браузере. Для запуска веб клиентов 1С необходима публикация веб-сервера и наличие Интернета на рабочих местах. За связь базы данных и пользовательского интерфейса веб-клиента отвечает веб-сервер и технологии DHTML и HTTPRequest. В момент работы данные передаются через HTTP на веб-сервер, компилируются, а непосредственно исполнение происходит на стороне клиента, в среде интернет-браузера.
Рис.1 Основной принцип и преимущества веб-клиента 1С
Достаточная популярность режима веб клиента 1С объясняется перечнем преимуществ:
- Отсутствие необходимости устанавливать клиентскую часть 1С на рабочих местах;
- Обеспечение доступа к базе из любой точки мира с доступом в Интернет;
- Поддержка любых браузеров и, соответственно, любых операционных систем и всех гаджетов с доступом во всемирную сеть;
- Техническая простота, так как от пользователя требуется просто запустить браузер и правильно набрать адрес;
- Специальный режим обмена данными с веб-сервером при низкой скорости Интернета.
Кроме плюсов, режим веб-клиента имеет и определенные недостатки:
- Уязвимость веб-сервера, который становиться доступным в любой точке мира;
- Определенные ограничения по обмену данными и эксплуатации файловой системы;
- Доступность только для конфигураций, использующих управляемый тип приложения и тонкий клиент;
- Недоступность локальных лицензий.
Если вы твердо решили, что Web клиент 1С отлично подходит для пользователей, то вам придется настроить и опубликовать веб-сервер. В качестве примера рассмотрим настройку стандартного IIS, встроенного в Windows.
Бесплатная
консультация
экспертаНаталья Севорина Консультант-аналитик 1С Спасибо за Ваше обращение! Специалист 1С свяжется с вами в течение 15 минут.
Настройка и публикация веб-сервера
Если на ваш компьютер установлена операционная система семейства Windows, то вы можете обойтись без сторонних программ. В этом вам поможет встроенный IIS сервер, для настройки которого достаточно начальных знаний системы. Следует отметить, что установка сервера на слабом компьютере затруднит запуск веб клиентов 1С и производительность всей системы окажется под угрозой. Поэтому рекомендуется настраивать IIS только на тех конфигурациях, где операционная система функционирует без задержек и есть большой запас ресурсов.
Чтобы начать настройку сервера зайдите в «Панель управления» -> «Программы и компоненты» -> «Включение или отключение компонентов». Найдите в дереве ветвь «Службы IIS/Службы интернета» и проставьте следующие галки:
- В разделе «Общие функции HTTP»:
- «Просмотр каталога»;
- «Документ по умолчанию»;
- «Статическое содержимое»;
- «Ошибки HTTP».
- «Проверка работоспособности и диагностика»:
- «Ведение журнала HTTP»;
- «Монитор запросов».
- «Компоненты разработки приложений»:
- «ASP»;
- «ASP.NET»;
- «Расширение ISAPI»;
- «Расширяемость .NET»;
- Фильтры ISAPI».
- «Средства управления»:
- «Консоль управления IIS».
Рис.2 Настройка и публикация веб-сервера
Для публикации настроенного сервера необходимо установить модули расширения веб-сервера 1С. Для этого в процессе установки 1С необходимо отметить соответствующий пункт в окне изменения способа установки и установить компоненты. Затем запускайте 1С в режиме конфигуратора с административными правами и нажимайте в меню «Администрирование» -> «Публикация на веб сервере…». Платформа 1С самостоятельно обнаружит настроенный веб-сервер, и вам останется только задать имя базы и ее место расположения.
Рис.3 Публикация на веб сервере
После того как вы нажмете кнопку «Опубликовать», сервер должен перезапуститься. Теперь можно проверить выполнение работы, произведя запуск веб клиента 1С, прописав в браузере строку: «http:ИмяСервера/ИмяБазы». Необходимо предусмотреть, чтобы все пользователи имели доступ к месту расположения БД на чтение и запись. В ином случае настройка веб-клиента 1С на рабочих местах не даст результата.
Веб клиент 1С является удобным инструментом для пользователей, производительность рабочих мест которых оставляет желать лучшего. Благодаря простой настройке, минимальным отличиям в интерфейсе приложения и перечню разнообразных преимуществ, веб клиент завоевал определенную популярность в компаниях различного калибра.
Удаленный доступ к базе 1С 8.3– технология, давно и плотно вошедшая в повседневную работу специалистов-пользователей 1С:Предприятие 8. Сегодня работать в программе 1С онлайн можно не только со стационарного ПК, но и из любой точки мира с экрана мобильного устройства, телефона или планшета, а работать с программой можно в таких режимах, как удаленный рабочий стол (RDP), через браузер или же тонкий клиент.
Рассмотрим, как осуществляется подключение к 1С через интернет и как онлайн доступ к информационной базе.
Удаленный рабочий стол (RDP)
Если организация заботится о безопасности своих данных, то хранить их лучше не на локальном компьютере, а на сервере. Сервером в нашем случае является компьютер, предоставляющий пользователям доступ к 1С, то есть сама программа и база 1С находятся на сервере, там же, по сути, осуществляются все работы.
Пользователи подключаются к удаленному серверу через RDP/remote desktop protocol с любого устройства, имеющего доступ в интернет. Рассматриваемый режим поддерживает все функциональные возможности программ 1С, в том числе и Конфигуратор.
Однако для работы в данном режиме необходимо, чтобы на компьютере пользователя была установлена одна из следующих операционных систем: Windows XP/Windows Vista/Windows7/Windows 2003/2008 Server/Windows Server 2008 R2, а версия программы для запуска удаленного рабочего стола (mstsc.exe) должна быть не ниже 6.1.
Если нужный нам ярлык уже установлен на компьютер, просто запускаем его, вводим логин-пароль и начинаем работу.
Если ярлык не установлен, это нужно сделать самостоятельно, для чего выполнить следующие действия:
- Найти в меню Пуск запуск программы «Удаленный рабочий стол» (Remote Desktop/Remote App). Имя запускаемого файла – mstsc.exe;
- Программа попросит указать параметры вашей учетной записи;
- Найти ярлык 1С Предприятие и начать удаленную работу.
Тонкий клиент
Это одно из клиентских приложений системы 1С:Предприятие 8. В операционной системе Windows этот файл имеет название 1cv8c.exe. Установка дистрибутива дает возможность пользоваться всем функционалом 1С. Тонким клиент называется, поскольку имеет ограниченный набор функциональности, в частности, только передача данных и их изменение. Все действия с базой данных выполняются на сервере, для чего используется веб-сервер, настроенный для работы с 1С. Клиент взаимодействует с веб-сервером по протоколу HTTP или HTTPS. Веб-сервер, в свою очередь, взаимодействует с программой.
Следует обратить внимание на то, что доступ через тонкий клиент возможен только для тех информационных баз, которые поддерживают работу в режиме управляемых форм. Приведем пример:
- Бухгалтерия предприятия, редакция 3.0 и выше;
- Зарплата и управление персоналом, редакция 3.0 и выше;
- Управление торговлей 11.1 и выше;
- Управление небольшой фирмой, редакция 1.4 и выше.
Работа в программе 1С в режиме тонкого клиента имеет ряд преимуществ:
- Мобильность – через тонкий клиент пользователь может работать с информационной базой из любой точке мира при наличии выхода в интернет;
- Минимальная нагрузка на канал связи – так как тонкий клиент использует сетевой канал исключительно для передачи данных, он не перегружает канал связи, то есть работать через него можно там, где нет веб-подключения с хорошей пропускной способностью;
- Простые системные требования – для работы полноценной версии нужны более мощные компьютеры с большой оперативной памятью. Тонкий клиент гораздо менее требователен к ресурсам персонального компьютера, им можно пользоваться даже на системах с маленькой мощностью;
- Оптимизация рабочего процесса – благодаря возможности удаленного доступа у компании появляется ресурс для экономии времени и ресурсов.
WEB-клиент
WEB-клиент, как и тонкий, обеспечивает функционирование 1С на удаленном ПК, но у WEB-клиента имеются отличия от предыдущего:
- Тонкий клиент надо устанавливать через 1cv8c.exe, а WEB-клиент нет, поскольку у него нет исполняемого файла;
- Веб-клиент требует только браузер и подключение к интернету. Работать в программе можно из любой точки мира. Качество работы зависит только от скорости соединения. Вся нагрузка ложится на веб-сервер;
- WEB-клиент поддерживает не все возможности платформы;
- Тонкий клиент управляем операционной системой, а WEB-клиент интернет-браузером, поэтому может дополнительно работать c операционной системой Apple iOS;
- Тонкий клиент и WEB-клиент подключаются к WEB-серверу, который далее осуществляет их взаимодействие с информационной базой.
Настройка информационной базы
При подключении к удаленной базе при помощи Тонкого клиента и WEB-клиента ее необходимо настроить.
Рис.2 Настройка удаленной базы
В данном окне нажимаем кнопку «Добавить», и переходим к следующему пункту меню.
Здесь выбираем «Добавление в список существующей информационной базы». Нажимаем «Далее».
Рис.3 Добавление в список существующей информационной базы
В данном окне выбираем «На веб-сервере». А также прописываем веб-адрес информационной базы. Нажимаем «Далее».
Рис.4 Прописываем веб-адрес информационной базы
Выбираем параметры и режим запуска. В нашем случае нажимаем «Выбирать автоматически».
Далее кнопка «Готово». Информационная база добавлена.
Рис.6 Информационная база добавлена
Возможность удаленной работы с программами 1С через интернет является приоритетным направлением развития технологий фирмы 1С. Ее развитие и совершенствование обусловлено общемировыми тенденциями и непосредственно запросами самих пользователей 1С.
Организовать работу в программе через тонкий клиент (онлайн) возможно через сервис 1С:Фреш. Стоимость 1С:Фреш регламентируется тарифами. Период минимального подключения начинается с 3-х месяцев, при этом есть возможность воспользоваться бесплатным периодом в течение 30 дней и протестировать работу в сервисе. Начать работу в 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-файла: внутри сначала идут записи для групп, а потом сами номенклатурные единицы.
Так выглядят группы:
<group> <Code>код</Code> /*Код-элемента из 1С*/ <Name>наименование</Name> /* Собственно, наименование группы*/ <ParentCode>код родителя</ParentCode> /* Если не пусто, значит группа является вложенной*/ </group>
А так товары:
<item> <Code>код</Code> /* Код-элемента из 1С */ <ParentCode>код родителя</ParentCode> /* Код группы, к которой принадлежит товар */ <Name>наименование</Name> <Descr>Описание</Descr> <Article>Артикул</Article> <TypePrice>Тип цены</TypePrice> <Price>Цена</Price> <Сurrency>валюта</Сurrency> <Remains>Остатки</Remains> <Unit>шт/кг/литры</Unit> <Img>img_dae5eacd-7d88-11de-8856-0024213f1c89.jpg</Img> /* Все изображения содержат в названии уникальный идентификатор элемента в базе 1С */ </item>
Не хитрым запросом получаем информацию по всем товарным группам и товарам, далее формируем 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С – это автоматически создаваемый программой буфер, в котором хранится наиболее часто запрашиваемая…
- 1С найти по идентификатору
В файлах PDF много информации. Бóльшая часть используется для одинаковой визуализации документа на разных платформах.…
- 1С FTP удалить
Описание ошибки: При обмене через ftp-соединение возникает ошибка и обмен не выполняется: Ошибка при копировании…
- 1С разблокировать документ
Учетные записи. Защита базы или как поставить пароль на 1С.Зачем нужны учетные записи 1СДействительно, многие…
- Как в 1С зуп отстранить от работы
Как в программе "1С:Зарплата и управление персоналом 8" редакции 3 зарегистрировать отстранение сотрудника от работы…