Переход по навигационной ссылке Приемника (по типовому механизму КД)
Интеграция - Перенос данных 1C
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Алгоритм работы:
1. На основании выбранного плана обмена получаем строку подключения, предварительно необходимо настроить (см. картинки)
2. На основании выбранной ссылке получаем GUID Приемника и его тип из Регистра сведений "СоответствияОбъектовИнформационныхБаз"
2.1. Записи в регистра сведений "СоответствияОбъектовИнформационныхБаз" добавляются автоматически посредством регламентного обмена.
3. Получаем навигационную ссылку и вызываем соответствующий метод.
Ограничения:
1. Только управляемые формы.
2. Наличие регламентного обмена между конфигурациями
При желании можно сделать внешнюю обработку для любого справочника/документа, останется вопрос только с выбором узла.
Тем самым фактически размоется грань между приложениями, так как позволит безшовно переходить от одной 1С в другую.
При развитии идеи не будет необходимости переносить лишние реквизиты, а форму элемента можно вообще не делать, а открывать в другой 1С, оставив только форму списка.
Проверено:
Платформа: 8.3.10.2580
Конфигурации: Типовые конфигурации соответствующие требованиям:
- Используется механизм Конвертацию данных 2.0 с регистром сведений "Соответствия объектов информационных баз"
- Обе конфигурации запускаются в режиме управляемого приложения
Код:
&НаСервереБезКонтекста
Функция ПолучитьНавигационнуюСсылкуПриемника(УникальныйИдентификаторИсточника,УзелИнформационнойБазы)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СоответствияОбъектовИнформационныхБаз.УникальныйИдентификаторПриемника КАК ГУИД_Приемника,
| НастройкиТранспортаОбмена.COMИмяСервера1СПредприятия,
| НастройкиТранспортаОбмена.COMИмяИнформационнойБазыНаСервере1СПредприятия,
| СоответствияОбъектовИнформационныхБаз.ТипПриемника
|ИЗ
| РегистрСведений.СоответствияОбъектовИнформационныхБаз КАК СоответствияОбъектовИнформационныхБаз
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиТранспортаОбмена КАК НастройкиТранспортаОбмена
| ПО СоответствияОбъектовИнформационныхБаз.УзелИнформационнойБазы = НастройкиТранспортаОбмена.Узел
|ГДЕ
| СоответствияОбъектовИнформационныхБаз.УникальныйИдентификаторИсточника = &УникальныйИдентификаторИсточника
| И СоответствияОбъектовИнформационныхБаз.УзелИнформационнойБазы = &УзелИнформационнойБазы";
Запрос.УстановитьПараметр("УзелИнформационнойБазы", УзелИнформационнойБазы);
Запрос.УстановитьПараметр("УникальныйИдентификаторИсточника", УникальныйИдентификаторИсточника);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
Возврат "e1c://server/"+Выборка.COMИмяСервера1СПредприятия+"/"+Выборка.COMИмяИнформационнойБазыНаСервере1СПредприятия+"#e1cib/data/"+
СтрЗаменить(Выборка.ТипПриемника,"Ссылка.",".")+"?ref="+
Сред(Выборка.ГУИД_Приемника,20,4)+ Сред(Выборка.ГУИД_Приемника,25,12)+Сред(Выборка.ГУИД_Приемника,15,4)+ Сред(Выборка.ГУИД_Приемника,10,4)+ Лев(Выборка.ГУИД_Приемника,8);
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура ПерейтиПоНавигационнойСсылкеПриемника(Команда)
НавигационнаяСсылкаПриемника = ПолучитьНавигационнуюСсылкуПриемника(Объект.СправочникСсылка,Объект.ПланОбменаСсылка);
Если ЗначениеЗаполнено(НавигационнаяСсылкаПриемника) Тогда
ПерейтиПоНавигационнойСсылке(НавигационнаяСсылкаПриемника);
КонецЕсли;
КонецПроцедуры
Вступайте в нашу телеграмм-группу Инфостарт