KoderLine
Обслуживание и внедрение
Наш Facebook Наш Instagram Наш YouTube
+7 (495) 374 55 29
KoderLine
KoderLine
Настройка обмена данными через универсальный ...

Настройка обмена данными через универсальный формат между 1С:Управление торговли 8.3 и 1С:Автосервис 8.3

0
996
11.02.2019 Евгений Мазай

Содержание:

1.       Постановка задачи о двухстороннем обмене

2.       Модули менеджера для УТ и Автосервиса  

 

1.    Постановка задачи о двухстороннем обмене

    

            У клиента бизнес связан с ремонтом автомобилей и продажей автозапчастей. На момент нашей с ним работы были куплены два программных продукта 1С:Управление торговлей, 11 и 1С:Автосервис 8.3. На тот момент стояла задача «разделить» ремонт и торговлю. Это означало, что отдел торговли занимается продажей запчастей, а автосервис выполняет только ремонт. И по факту автосервис использует свой программный продукт, а торговля - свой. На начальном этапе разговор шел об одностороннем обмене. При этом все понимали, что данные о запчастях общие для двух программных продуктов. Значит, нужны данные о запасах склада и ценах (чисто информационно) в автосервисе. В процессе реализации задачи стало понятно, что и запасные части, используемые в документе «Заказ покупателя» в автосервисе, должны переноситься в заказ клиента в Управление торговли. Это полноценная продажа для Управления торговли. И после отработки данного документа в Управлении торговлей статус состояния заказа также должен переносится в автосервис. Тем самым мы получим факт подтверждения наличия запасных частей и возможности выполнить ремонт. Выходит, нужен полноценный двухсторонний обмен. Вот такая постановка задачи по обмену.


            Стандартных обменов между конфигурациями 1С:Управление торговлей11 (УТ 11) и 1С:Автосервис (Автосервис) нет. Обмен должен быть выполнен с использованием Библиотеки стандартных подсистем (БСП). Подсистема «Обмен данными» объединяет функциональность, связанную с обменом информацией между различными информационными базами: обмен данными через универсальный формат (ОУФ), и обмен данными по правилам обмена (УОП, т.е. правила обмена создаются при помощи конфигурации «Конвертация данных», 2.1). Из-за своей универсальности, гибкости и больших возможностей в настройках был выбран обмен данными УОП. 


2.    Модули менеджера для УТ и Автосервиса

 

            На момент реализации обмена использовалась УТ 11.2.3.182, а в ней БСП 2.3.2.72 и более свежая конфигурация Автосервиса 1.6.14.93 и БСП 2.4.5.53. Каждая из конфигураций имеет свою БСП 2 их релизы 2.3 и 2.4. Для работы подсистемы обмена данными необходимо создать подписки на события в каждой из конфигураций. Для каждого плана обмена создается свой набор подписок на события. В общем случае для одного плана обмена может быть создано до шести подписок. А так как БСП 2 разные, то и в процессе внедрения в конфигурацию возникли особенности внедрения каждой из них. Рекомендация следующая. При настройке модуля менеджера созданного плана обмена - воспользоваться демо-базой каждой из БСП 2. В моем случае понадобились демо-базы БСП 2.3 и БСП 2.4. Кроме того, использовать рекомендации по очистке модуля менеджера плана обмена из описания внедрения данной БСП. Вот такие подарки, если используются в конфигурациях разные БСП. Использовать подписки на события только если используются соответствующие объекты конфигурации.


            Для УТ модуль менеджера получил вот такой:


#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

//

Процедура ОпределитьНастройки(Настройки, ИдентификаторНастройки = "") Экспорт

//

Функция НастройкаОтборовНаУзле(ВерсияКорреспондента, ИмяФормы, ИдентификаторНастройки = "") Экспорт

//

Функция НастройкаОтборовНаУзлеБазыКорреспондента(ВерсияКорреспондента, ИмяФормы, ИдентификаторНастройки = "") Экспорт

//

Функция ЗначенияПоУмолчаниюНаУзле(ВерсияКорреспондента, ИмяФормы, ИдентификаторНастройки = "") Экспорт

//

Функция ЗначенияПоУмолчаниюНаУзлеБазыКорреспондента(ВерсияКорреспондента, ИмяФормы, ИдентификаторНастройки = "") Экспорт

//

Функция ОписаниеОграниченийПередачиДанных(НастройкаОтборовНаУзле, ВерсияКорреспондента, ИдентификаторНастройки = "") Экспорт

//

Функция ОписаниеОграниченийПередачиДанныхБазыКорреспондента(НастройкаОтборовНаУзле, ВерсияКорреспондента, ИдентификаторНастройки = "") Экспорт

//

Функция ОписаниеЗначенийПоУмолчанию(ЗначенияПоУмолчаниюНаУзле, ВерсияКорреспондента, ИдентификаторНастройки = "") Экспорт

//

Функция ОписаниеЗначенийПоУмолчаниюБазыКорреспондента(ЗначенияПоУмолчаниюНаУзле, ВерсияКорреспондента, ИдентификаторНастройки = "") Экспорт

//

Функция ИмяФайлаНастроекДляПриемника() Экспорт

//

Функция ИспользуемыеТранспортыСообщенийОбмена() Экспорт

//

Функция ИмяФормыСозданияНачальногоОбраза() Экспорт

//

Функция ИспользоватьПомощникСозданияОбменаДанными() Экспорт

//

Функция КорреспондентВМоделиСервиса() Экспорт

//

Функция КраткаяИнформацияПоОбмену(ИдентификаторНастройки = "") Экспорт

//

Функция ПодробнаяИнформацияПоОбмену(ИдентификаторНастройки = "") Экспорт

//

Функция ПланОбменаИспользуетсяВМоделиСервиса() Экспорт

//

Функция ИмяКонфигурацииИсточника() Экспорт

 

#Область ОбработчикиСобытий

 

//

Процедура ПриПодключенииККорреспонденту(ВерсияКорреспондента) Экспорт

//

Процедура ПриОтправкеДанныхОтправителя(Отправитель, Игнорировать) Экспорт

//

Процедура ПриПолученииДанныхОтправителя(Отправитель, Игнорировать) Экспорт

//

Функция ОбщиеДанныеУзлов(ВерсияКорреспондента, ИмяФормы) Экспорт

 

Функция ПояснениеДляНастройкиПараметровУчета() Экспорт

 

Функция ПояснениеДляНастройкиПараметровУчетаБазыКорреспондента(ВерсияКорреспондента) Экспорт

//

Процедура ОбработчикПроверкиПараметровУчета(Отказ, Получатель, Сообщение) Экспорт

 

#Область ПереопределяемаяНастройкаДополненияВыгрузки

 

//

Процедура НастроитьИнтерактивнуюВыгрузку(Получатель, Параметры) Экспорт

//

Функция ПредставлениеОтбораИнтерактивнойВыгрузки(Получатель, Параметры) Экспорт

 

#КонецОбласти

 

#Область СлужебныеПроцедурыИФункции

 

 

#КонецОбласти

               

Для УТ модуль менеджера - получил вот такой:


#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

 

#Область ПрограммныйИнтерфейс

//

Процедура ПриПолученииНастроек(Настройки) Экспорт

//

Процедура ПриПолученииВариантовНастроекОбмена(ВариантыНастроекОбмена, ПараметрыКонтекста) Экспорт

//

Процедура ПриПолученииОписанияВариантаНастройки(ОписаниеВарианта, ИдентификаторНастройки, ПараметрыКонтекста) Экспорт

//

Функция НастройкаОтборовНаУзлеБазыКорреспондента(ИдентификаторНастройки)

 

Функция НастройкаОтборовНаУзле(ИдентификаторНастройки)

//

Функция ЗначенияПоУмолчаниюНаУзлеБазыКорреспондента(ИдентификаторНастройки)

//

Функция ЗначенияПоУмолчаниюНаУзле(ИдентификаторНастройки)

 

Функция ОбщиеДанныеУзлов()

 

Функция ПояснениеДляНастройкиПараметровУчета(ИдентификаторНастройки)

//

Функция КраткаяИнформацияПоОбмену(ИдентификаторНастройки = "") Экспорт

//

Функция ИспользуемыеТранспортыСообщенийОбмена() Экспорт

//

Функция ПодробнаяИнформацияПоОбмену(ИдентификаторНастройки = "") Экспорт

//

Процедура ОпределитьНастройки(Настройки, ИдентификаторНастройки) Экспорт

//

Функция ОписаниеОграниченийПередачиДанных(НастройкаОтборовНаУзле, ВерсияКорреспондента, ИдентификаторНастройки) Экспорт

//

Функция ОписаниеЗначенийПоУмолчанию(ЗначенияПоУмолчаниюНаУзле, ВерсияКорреспондента, ИдентификаторНастройки) Экспорт

//

Функция ОписаниеЗначенийПоУмолчаниюБазыКорреспондента(ЗначенияПоУмолчаниюНаУзле, ВерсияКорреспондента, ИдентификаторНастройки) Экспорт

//

Функция ИмяПланаОбменаДляПереходаНаНовыйОбмен() Экспорт

//

Функция ОписаниеОграниченийПередачиДанныхБазыКорреспондента(НастройкаОтборовНаУзле, ВерсияКорреспондента, ИдентификаторНастройки) Экспорт

 

Функция ИнициализироватьСценарийРаботыПомощникаИнтерактивногоОбмена(УзелИнформационнойБазы) Экспорт

               

#КонецОбласти

 

#Область ПереопределяемаяНастройка

 

//

Процедура НастроитьИнтерактивнуюВыгрузку(Получатель, Параметры) Экспорт

//

Функция ПредставлениеОтбораИнтерактивнойВыгрузки(Получатель, Параметры) Экспорт

#КонецОбласти

 

 

#КонецЕсли

 

            Как видно по названию функций и названиям процедур, это совершенно другая реализация.

           

            Были созданы правила для переноса данных из УТ 11 в Автосервис и, соответственно, из Автосервиса в УТ 11. Со стороны УТ данные из регистра сведений «Цены номенклатуры» переносились в соответствующий регистр сведений Автосервиса. Особенностью реализации явилось то, что переносились остатки регистра накопления «Товары на складах» в созданный регистр сведений «Остатки номенклатуры УТ». Для реализации переноса остатков товаров на складе в Правилах выгрузки данных для регистра сведений «Остатки номенклатуры УТ» сделан запрос на дату выгрузки.

           

            Настройка такого обмена ничем не отличается от настроек стандартных обменов.



Рисунок 1


                На данный момент обмен работает более 3-х месяцев. Для выполнения данной работы необходимо знать библиотеку стандартных подсистем, уметь настраивать правила обмена данными с помощью конфигурации «Конвертация данных» 2.1 и понимать, как работают стандартные обмены между конфигурациями.

 

Специалист компании ООО «Кодерлайн» 

Евгений Мазай.

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
#1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Платформа #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #ADO #APACHE #API #com-объекты #Excel #GoogleDrive #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #WEB #WEB-сервисы 1С #Word #XML #Администрирование 1С #Безопасность сервера #Бесшовная интеграция #БИТ.Финанc #Битрикс24 #Блокировки в 1С #БСП #БУ #Бурение скважин #Бюджетирование #Внедрение #Внедрение ERP #Закрытие месяца #Запросы 1С #Интеграция 1С #Как сделать в 1С #Конвертация данных #Корпоративное сопровождение #Лизинг #Лицензии 1С #Моделирование #МСФО #Налоги #Обмен между базами #Обновления #Оптимизация #Отпуск #Отчетность #Отчеты в 1С #Оценка задач #Перенос данных #Планирование #Полезные обработки #Правила обмена #Проводки 1С #Программирование в 1С #Программные права #Продажи #Производство #Расширение конфигурации #РСБУ #СКД #Сравнение конфигураций #Тестирование 1С #Техническое задание #Торговое оборудование #Транспортная логистика #Управление проектами #Финансовый учет #Ценообразование #Экзамен 1С #Яндекс.Касса Email или телефон
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.