В данной публикации выложены несколько обработок-полуфабрикатов для механизмов, которые часто в разных вариациях используются в наших проектах.
- Обработка для обмена с разными системами на базе плана обмена "Обмен с сайтами".
- Обработка для проверки чего-либо с отчетом на СКД, с последующей пост-обработкой.
- Механизм для создания универсальной настройки (отбор на СКД запихнули в табличную часть).
- Разное
Обработка для обмена
План обмена "Обмен с сайтом" отлично подходит для интеграции 1С с разными сторонними системами. В типовой УТ11 он регистрирует изменения остатков и цен товаров, что как раз и нужно. Плюс к этому, у него есть удобный реквизит типа "Хранилище", что позволяет хранить любые настройки для интеграции. Мы задействовали этот план обмена для настройки интеграции с:
- интернет-магазином AdvantShop;
- фронт-кассовой системой Frontol;
- CRM-системой RetailCRM;
- системой мобильных карт лояльности CardPR;
Предлагаемая обработка-полуфабрикат содержит механизмы:
- Выгрузка изменений по товарам, плюс полная выгрузка;
- Форма редактирования настроек, сохранение в реквизите узла обмена; автоматически сохраняются все реквизиты обработки, включая табличные части
- Запуск обмена по регламентному заданию;
В качестве примера в обработке реализована выгрузка товаров в формате csv, включая:
- Фильтр товаров на СКД;
- Выгрузка остатков, цен, свойств;
А также загрузка заказа клиента из XML.
Обработка для проверки
С помощью данного механизма мы, например, сделали обработку для загрузки новых товаров из Excel. Перед загрузкой необходимо проверить, если товар уже существует - в предлагаемой загрузке не изменились ли свойства. Соответственно, если что-то не так, обработка сначала выводит отчет, который просматривает пользователь, и утверждает внесение изменений.
Еще эта форма вывода сообщений в виде отчета мне нравится гораздо больше, потому что из нее можно сразу перейти в объект, и посмотреть, что с ним не так, почему обработка его "обругала". Поэтому этот механизм удобно использовать для различных перепроведений, заполнений и т.д.
Универсальная настройка (отбор на СКД запихнули в табличную часть)
Допустим, при выгрузке во внешнюю систему вам необходимо выгрузить какой-то параметр товаров. Но в одном случае этот параметр определяется реквизитом номенклатуры, а в другом случае - например, видом номенклатуры. В настройках соответственно должны быть таблицы значений отдельно, где значения параметра указаны для разных значений реквизита номенклатуры, и отдельно таблица с соответствием параметра и вида номенклатуры. А хотелось бы иметь механизм, чтобы пользователь мог сам указать значение параметра, и сам же неким универсальным способом выборку номенклатуры, которая должна при выгрузке давать это значение параметра.
В предлагаемом решении для этого используется некая эмуляция таблицы, в одной колонке которой - значение параметра, а в другой - настройки отбора компоновщика настроек СКД, которые формируют требуемую выборку номенклатуры. На данный момент это не элегантное и, возможно, тормозное решение. Позже придумаю что-то более технологичное, или может добрые люди подскажут ;)
Разное
Программное создание свойств
Регистрация объектов в плане обмена по списку из файла
Эта обработка полезна для повторной выгрузки объектов из базы в базу-приемник.
Протестировано на платформе 8.3.13.1690, на конфигурации УТ 11.4.7.128.