Как прикрутить нетиповой обмен в БП3

1. A.Sytchev 22.01.17 19:09 Сейчас в теме
Привет, коллеги. Имеется нетиповая БП 3, в ней ведется учет по нескольким организациям. Необходимо организовать обмен в несколько типовых БП 3, по организации. Правила в КД2 замутил, универсальным выгрузкой в xml протестировал. А дальше затык. В старых конфигурациях была возможность прикрутить свои правила к плану обмена, настроить расписание и обмен готов. А как в БП3 такое сделать? Насколько я понимаю никак? Может есть какое-то полуготовое решение, чтобы не писать с нуля обработку по запуску универсального обмена по регламенту? Спасибо, заранее.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. vovan_victory 63 23.01.17 13:31 Сейчас в теме
(1)
А как в БП3 такое сделать?

Можно сделать внешнюю обработку которая будет получать изменения из плана обмена, подгружать Ваши правила в универсальный обмен в формате xml и выгружать данные полученные из плана обмена. Внешнюю обработку можно запускать автоматом по расписанию(это типовой функционал)
A.Sytchev; +1 Ответить
23. tusv 211 31.08.18 15:50 Сейчас в теме
(1) Согласен с (14) Потому пользуюсь обработкой КонвертацияОбъектовИнформационныхБаз, которая как раз и заточена на обмены по правилам КД2. Она записывает номер отправленного и принятого сообщения. Но есть нюансы в написании правил В ПКО передается объект. Потому сразу пишу например
Запрос = Запросы.ВидыОбразованияФизлиц;
Если ТипЗнч(Источник) = Тип("СправочникОбъект.ФизическиеЛица") Тогда
	Запрос.УстановитьПараметр("Источник",Источник.Ссылка);
Иначе
	Запрос.УстановитьПараметр("Источник",Источник);
КонецЕсли;
2. MaxS 2854 23.01.17 03:35 Сейчас в теме
http://its.1c.ru/db/bspdoc#content:440:1
А можно было и не менять ничего. Настроить типовой обмен через универсальный формат обмена (Другая программа) и доработать правила, которые подключить внешней обработкой.
A.Sytchev; +1 Ответить
3. A.Sytchev 23.01.17 12:43 Сейчас в теме
(2) Подскажите, пожалуйста. А правила переноса генерируются автоматически как в КД 2? Мне по сути в идентичные конфигурации данные нужно перекидывать.
4. MaxS 2854 23.01.17 13:08 Сейчас в теме
(3) Нет, в КД3 такого нет. Даже если взять типовые правила КД3 из БП 3.0, то там есть масса документов который только выгружаются или только загружаются, придётся соответственно дорабатывать загрузку или выгрузку. КД2 в этом отношении лучше.
5. A.Sytchev 23.01.17 13:18 Сейчас в теме
(4) Получается банальная задача сделать выгрузку изменений по расписанию по правилам обмена может быть решена либо:
- с использованием КД3, но нужно практически с нуля дорабатывать как выгрузку, так и загрузку,
- путем написания внешней обработки, которая будет запускаться по регламенту, выбирать изменения, запускать обработку универсального обмена xml, выгружать данные в приемник и т.д.

Я все правильно понял?
9. MaxS 2854 23.01.17 13:48 Сейчас в теме
(5) Да.
Но можно глянуть какие виды документов ходят в обе стороны в КД3 у БП 3. Может быть Вам этого будет достаточно.
Там данные по некоторым документам (что выгружается что загружается): http://infostart.ru/public/444523/#td
7. vovan_victory 63 23.01.17 13:39 Сейчас в теме
Что то типа этого
ФайлПравил   = ПолучитьМакет("Правила");
	ФайлПравил.Записать(ИмяТемпФайла);
	
	ОбработкаУОД = Обработки.УниверсальныйОбменДаннымиXML.Создать();
	ОбработкаУОД.ИмяФайлаПравилОбмена =  ИмяТемпФайла;
	ОбработкаУОД.ЗагрузитьПравилаОбмена();
	ОбработкаУОД.НепосредственноеЧтениеВИБПриемнике = Истина;
	ОбработкаУОД.АутентификацияWindowsИнформационнойБазыДляПодключения = Истина;
	ОбработкаУОД.ВерсияПлатформыИнформационнойБазыДляПодключения = "V82";
	ОбработкаУОД.ТипИнформационнойБазыДляПодключения = Ложь;
	ОбработкаУОД.ИмяСервераИнформационнойБазыДляПодключения   = "192.168.1.1";
	ОбработкаУОД.ИмяИнформационнойБазыНаСервереДляПодключения = "_30_copy";
	
	СтруктураПодключения = Новый Структура();
	СтруктураПодключения.Вставить("ФайловыйРежим", ОбработкаУОД.ТипИнформационнойБазыДляПодключения);
	СтруктураПодключения.Вставить("АутентификацияWindows", ОбработкаУОД.АутентификацияWindowsИнформационнойБазыДляПодключения);
	СтруктураПодключения.Вставить("КаталогИБ", ОбработкаУОД.КаталогИнформационнойБазыДляПодключения);
	СтруктураПодключения.Вставить("ИмяСервера", ОбработкаУОД.ИмяСервераИнформационнойБазыДляПодключения);
	СтруктураПодключения.Вставить("ИмяИБНаСервере", ОбработкаУОД.ИмяИнформационнойБазыНаСервереДляПодключения);
	СтруктураПодключения.Вставить("Пользователь", ОбработкаУОД.ПользовательИнформационнойБазыДляПодключения);
	СтруктураПодключения.Вставить("Пароль", ОбработкаУОД.ПарольИнформационнойБазыДляПодключения);
	СтруктураПодключения.Вставить("ВерсияПлатформы", ОбработкаУОД.ВерсияПлатформыИнформационнойБазыДляПодключения);
	
	ОбъектПодключения = ПодключитсяКИнформационнойБазе(СтруктураПодключения);
	
	Если ТипЗнч(ОбъектПодключения) = Тип("Строка") Тогда 
		Если НЕ Найти(ОбъектПодключения,"Различаются версии клиента и сервера") = 0 Тогда 
			ОтправитьВыгрузкуПочтой = Истина;
			
			ОбработкаУОД.НепосредственноеЧтениеВИБПриемнике  = Ложь;
			ОбработкаУОД.ТипИнформационнойБазыДляПодключения = Истина;
			
			ФайлВыгрузки = ПолучитьИмяВременногоФайла("xml");
            ОбработкаУОД.ИмяФайлаОбмена = ФайлВыгрузки;
		Иначе
			СообщитьПользователю(ОбъектПодключения);
		КонецЕсли;
	КонецЕсли;
	
	ИмяПоляотбора = СтрЗаменить(ИмяСсылкиНаОбъект,".","_");
	ТипПоля = Сред(ИмяСсылкиНаОбъект,1,ПозицияТочки-1) + "Ссылка"+ Сред(ИмяСсылкиНаОбъект,ПозицияТочки,СтрДлина(ИмяСсылкиНаОбъект));
	
	ПостроительДляОтбора = Новый ПостроительОтчета();
	ПостроительДляОтбора.ДоступныеПоля.Добавить(ИмяПоляотбора,ИмяПоляотбора,Новый ОписаниеТипов(ТипПоля));
	ПостроительДляОтбора.ДоступныеПоля[ИмяПоляотбора].Отбор = Истина;
	ПостроительДляОтбора.Отбор.Добавить(ИмяПоляотбора);
	ПостроительДляОтбора.Отбор[ИмяПоляотбора].Использование = Истина;
	ПостроительДляОтбора.Отбор[ИмяПоляотбора].Значение		= СсылкаНаОбъект;
	
	//Заполнение ТаблицаПравилВыгрузки
	Для Каждого Стр Из 	ОбработкаУОД.ТаблицаПравилВыгрузки.Строки Цикл 
		Для Каждого ЭлементГруппы Из Стр.Строки Цикл 
			ЭлементГруппы.Включить = ЭлементГруппы.ИмяОбъектаДляЗапроса = ИмяСсылкиНаОбъект;
			Если ЭлементГруппы.Включить Тогда 
				ЭлементГруппы.ИспользоватьОтбор    = ИСТИНА;
				ЭлементГруппы.Родитель.Включить	   = ИСТИНА; 	
				ЭлементГруппы.НастройкиПостроителя = ПостроительДляОтбора.ПолучитьНастройки();
			КонецЕсли;
		КонецЦикла;
	КонецЦикла;
	
	
	НоваяСтрокаПараметров = ОбработкаУОД.ТаблицаНастройкиПараметров.Найти("Организации");
	НоваяСтрокаПараметров.Значение = Организация;
	
	Попытка
		ОбработкаУОД.ВыполнитьВыгрузку();
	Исключение
		
	КонецПопытки;
Показать
A.Sytchev; +1 Ответить
12. A.Sytchev 23.01.17 15:29 Сейчас в теме
(7) Спасибо, скорее всего так и сделаю
14. MaxS 2854 23.01.17 17:36 Сейчас в теме
У обработки в (7) есть минус - при автоматическом обмене непонятно - прошел ли он, успешно или нет. Для этого как минимум нужно писать что-то в журнал. И в этом коде не увидел связь с планом обмена, но это поправимо.

Хотел бы предупредить на будущее. Когда БП 3.0 будет совместима с платформой 8.3.9 и выше, доработка КД3 должна упростится. Например, добавляем только отсутствующие части правил для документов. При обновлении конфигурации от 1С правила КД3 обновляются, а доработки правил КД3 в расширении остаются и продолжают в 99% случаях нормально работать.
И обновлять связанные конфигурации можно не синхронно, обмен не сломается!
А для КД2 нужно поддерживать идентичность конфигураций, при обновлении обновлять правила если обмен поломается.
Не настаиваю на чём-то и не пытаюсь изменить принятое решение, я лишь информирую и просвещаю. ;)
15. vovan_victory 63 23.01.17 18:46 Сейчас в теме
(14)согласен со всеми плюсами и минусами, но для большинства ( имхо) ДК 3 еще темный лес. По этому и продолжают смотреть всторону КД 2. Да и если честно, то на не типовых конфах(где добавлены новые объекты), все же легче сделать xml правило ,чем описывать объект в Xdto пакете(имхо). В общем как и везде...Свои полюсы и свои минусы....
16. rvlg 1 30.08.18 16:06 Сейчас в теме
Возникла ситуация как у автора, 1 буха не типовая релиз свежий 3.0.64.29 , и типовая крайнего релиза, но это не важно, ещё отличие они КОРП.
Так вот нужен обмен. КД3 насколько я понимаю не подходит вообще, ведь через универсальный формат нельзя передать ОперациюБух.
В связи с тем что прошло больше 1.5 года с написания темы есть ли какие новые идеи и мысли.
Правила написаны, в ручном режиме обмениваються.
Нехватает автоматической регистрации и подтверждения загрузки, в остальном можно пользоваться вариантом из (7).

Есть что нового по этому вопросу?
17. vovan_victory 63 30.08.18 20:37 Сейчас в теме
(16)
Нехватает автоматической регистрации и подтверждения загрузки, в остальном можно пользоваться вариантом из (7)

Если есть рабочие правила, то можно попробовать так(в общем то как в (8)):
Прикрепленные файлы:
22. MaxS 2854 31.08.18 15:28 Сейчас в теме
(16) ОперациюБух в КД3 делал давно, успешно работает. Без изменения схемы формата.
8. yegorovnv 23.01.17 13:41 Сейчас в теме
Сейчас очень хорошо можно сделать и красиво. Для начала пишем в КД2 обмен между конфигурациями, тестируем его вручную. Далее заходим в Синхронизацию данных, выбираем другая программа, настраиваем процедуру обмена, далее прикладываем свой план обмена и список объектов, которые подлежат синхронизации, и все! Не сразу, но получится. Второй раз будете делать уже за 1 час :)
10. MaxS 2854 23.01.17 13:56 Сейчас в теме
(8) На БП 3.0.46 покажете скриншот куда поместить правила обмена КД2 ? ;)
11. A.Sytchev 23.01.17 15:29 Сейчас в теме
(10) Вот я и думал сделать как в пишет (8) только не нашел))
13. vovan_victory 63 23.01.17 15:48 Сейчас в теме
(11) на сколько я помню, в универсальном обмене(не в формате xml) можно указать xml правила только для регистрации объектов, а что касается правил обмена в КД 3, то правила в формате xml вообще не применимы в КД 3. Так (в КД3) можно сделать правила в виде обработки как рекомендовано в (2)
18. vovan_victory 63 31.08.18 08:41 Сейчас в теме
(11),(10) , а это не пробовали? Так должно прокатить. Я делал так: выгружал правила, загружал в конвертацию, правил, сохранял с таким же именем как в зипе, запаковывал обратно.
Прикрепленные файлы:
19. MaxS 2854 31.08.18 13:04 Сейчас в теме
(18) Это какая версия БП 3.0 ?
20. vovan_victory 63 31.08.18 13:25 Сейчас в теме
(19)Это Розница (базовая), редакция 2.2 (2.2.6.33) , но, по моему, разницы ни какой какая конфигурация. Все типовые на основании одного БСП сделаны.
А в чем сомнения? Вы не нашли чего то в настройках?
21. MaxS 2854 31.08.18 15:26 Сейчас в теме
(20) Топик про БП, я выше просил показать где это есть в последних БП 3.0. Дело в том, что там почти всё всё выпилили.
Подобные настройки остались для обмена с Розницей и УНФ.
24. vovan_victory 63 03.09.18 09:45 Сейчас в теме
(21)А с чего такие выводы(на счет повырезали?)На скрине июньский релиз. Все как было, так и осталось...
Прикрепленные файлы:
25. MaxS 2854 03.09.18 10:12 Сейчас в теме
(24) Во первых на скрине правила _регистрации_, а правил обмена там уже нет в виде отдельного xml файла.
Во вторых, в конфигураторе в последней БП 3.0 около 8-ми планов обмена с именем "Удалить". Это планы обмена были на КД2.
В универсальном формате обмена соответственно прибавилось количество вариантов - с УТ 11, УНФ 1.6, ERP 2 и другими.
26. vovan_victory 63 03.09.18 10:51 Сейчас в теме
(25)Мдааа.. и в правду все порезали. Думал грузануть архивом, не прокатило. Говорит в архиве должен быть один файл. Значит не судьба.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот