API (от англ. Application Programming Interface) представляет собой описание способов взаимодействия одной компьютерной программы с другими. Другими словами, это программный интерфейс для взаимодействия с другими приложениями, обладающий особым набором правил и позволяющий программисту добиться интерактивной передачи данных между 1С и другой внешней системой, например, сайтом или интернет-магазином.
С подобной задачей к нам обратился руководитель строительной компании: необходимо было наладить оперативное получение данных по товарам с сайта крупного поставщика в 1С:БП 3.0. Изучив необходимую информацию по получению данных от поставщика, было предложено решение выполнить доработку 1С для оперативного получения данных с помощью API. Суть решения вкратце была такой: в 1С:БП 3.0 с сайта поставщика автоматически загружается файл формата .YML, далее производится анализ полученной информации, и по установленным правилам нужные данные «приезжают» в 1С. В частности, загружаются данные по номенклатуре - карточка номенклатуры с дополнительными свойствами, актуальные остатки и цены)
Реализация решения
Для удобства пользователей было создано специальное рабочее место в разделе «Администрирование» для единого управления настройками загрузки.
Рабочее место имеет множество настроек, но главная его особенность в том, что алгоритм имеет модульную архитектуру. Проще говоря, можно включать/выключать те или иные опции и регулировать правила загрузки данных. Это очень удобно и позволяет гибко управлять загрузкой нужных данных. Например, если снять галку с опции «Обновлять остатки», то данные по остаткам товаров от поставщика перестанут обновляться. В некоторых случаях это может быть полезным для сокращения времени на анализ ситуации, либо если по прошествии времени пользователь передумает загружать какие-либо данные. При такой архитектуре решения не будет необходимости обращаться к программисту за доработкой, достаточно будет включить или отключить тот или иной функционал. Интерфейс с нужными опциями в 1С разработан с учетом всех пожеланий пользователей и выглядит так:
Краткое описание механизмов работы
Для загрузки номенклатуры от поставщика были учтены все особенности ведения учета в 1С:БП 3.0 и предусмотрены специальные константы, которыми пользователь может управлять по мере необходимости.
А при загрузке цен от поставщика согласно разработанным правилам можно сразу получать цену продажи с учетом процента наценки. Ввод новых цен осуществляется с помощью документов «Установка цен номенклатуры», список которых можно оперативно открыть по соответствующей кнопке и посмотреть загруженные данные.
На вышеприведенном примере видно, что Кассетный кондиционер Ecoclima приобрели у поставщика за 65 000 руб., после установки наценки 15% получили в 1С цену продажи 74 750 руб.
В карточке номенклатуры сразу отображается итоговая цена продажи.
В разделе по загрузке остатков можно настроить загрузку остатков с сайта поставщика
При выполнении этой обработки документы для оприходования товаров каждый раз обновляются (то есть не заводятся новые, а редактируются существующие). При этом происходит контроль даты документа: чтобы документ не попал в закрытый период, его дата периодически автоматически сдвигается.
Пример загруженного остатка:
Пример анализа остатка поставщика с помощью типового отчета «Остатки товаров».
Также есть дополнительная настройка для фильтрации по загружаемым категориям товаров. Для начала можно загрузить все категории от поставщика, нажатием на соответствующую кнопку. Затем удалить не нужные категории из табличной части. Те категории товаров, что останутся в таблице и будут загружаться в базу 1С:БП 3.0.
Режим загрузки дополнительных свойств. За обмен дополнительными свойствами отвечает одна дополнительная галочка. Если она нажата, то будут загружаться дополнительные свойства товаров, а также, при необходимости, они будут обновляться.
Пример загружаемых свойств.
Также, благодаря тому, что дополнительные свойства грузятся в типовую таблицу «Дополнительные свойства», ими можно оперировать при настройке списка номенклатуры. К примеру, можно выстроить какой-либо отбор, настроить цветовое оформление в зависимости от каких-либо условий. Пример:
Также можно изменить состав реквизитов формы через кнопку «еще» - «изменить форму» и вывести дополнительные реквизиты, если есть необходимость, либо же их скрыть, в любой момент времени.
И каждый сотрудник может настроить список номенклатуры под себя, вывести необходимый состав дополнительных реквизитов на форму, проводить отборы, оформлять, сортировать, производить поиск и т.д., не призывая на помощь программиста, используя типовой функционал системы платформы 1С 8.3 и программы 1С:БП 3.0, что является большим преимуществом! Возможность оперативной загрузки дополнительных реквизитов реализована и через кнопку в списке номенклатуры.
Данная обработка может работать по расписанию и загружать данные в автоматическом режиме, без участия пользователя. Пример настройки расписания.
В результате реализации этого решения на предприятии Заказчика была автоматизирована работа по получению данных о товарах с сайта поставщика у 5 пользователей этого бизнес-процесса, что обеспечило более стабильную и эффективную работу с основным поставщиком.
Что сделано2. Реализовали возможность настройки списка номенклатуры под себя: вывести необходимый состав дополнительных реквизитов на форму, проводить отборы, оформлять, сортировать, производить поиск и т.д., не призывая на помощь программиста.
3. Автоматизировали работу по получению данных о товарах с сайта поставщика. Решения, которые мы внедрили
Данная версия выпускается с программной защитой.