|
ERP и обмены | ☑ | ||
---|---|---|---|---|
0
ДенисЧ
12.08.21
✎
11:49
|
Подскажите, кто в теме...
Есть ERP 2.4.13 Есть задача - синхронизировать между двумя такими некие данные. В старых конфах всё просто - создал план обмена и настройки. И всё бегает. А тут - не найду, куда вообще указывать план. Нашёл на старте обмен по правилам КД2 - там тоже только правила и ни слова о плане обмена... Как правильно поступать (бежать не предлагать) ? |
|||
1
ДенисЧ
12.08.21
✎
11:59
|
||||
2
d4rkmesa
12.08.21
✎
12:50
|
(1) Немного не то. Там процесс не так уж сильно отличается от старых конф: создаешь план обмена, если существующие не подходят, включаешь его в состав типа параметров команд синхронизации, добавляешь в макет правила обмена, допустим, на КД2, а затем через сценарии синхронизации настраиваешь сам обмен.
Здесь, к примеру, описан процесс: https://infostart.ru/1c/articles/1316278/ Правда, там ERP-УПП, но смысл тот же. |
|||
3
ДенисЧ
12.08.21
✎
12:52
|
(2) Так по ссылке на ИТС именно это и написано )))
|
|||
4
d4rkmesa
12.08.21
✎
13:07
|
(3) Там несколько скупо. На Инфостарте лучше процесс описан, с картинками. =)
|
|||
5
vicof
12.08.21
✎
13:09
|
||||
6
seevkik
12.08.21
✎
13:13
|
(0) Обмен по универсальному формату не подходит?
Покури Enterprise Data |
|||
7
ДенисЧ
12.08.21
✎
13:22
|
(6) Мне вообще правила не нужны. Мне нужно только выгрузить изменение и загрузить в практически аналогичную.
Ынтырпрайз тут будет "Солнцепёком" по комарам. |
|||
8
PLUT
12.08.21
✎
13:34
|
(7) сериализация
я из копии в прод переношу изменения с помощью выгрузить/загрузить объекты (документы/справочники) с движениями по регистрам (если это необходимо) сериализация процедура (по кнопочке сохранить в файл....) ИмяФайла = КаталогСохранения + "\" + ПредставлениеДокумента() + ".json"; Текст = Новый ТекстовыйДокумент; Текст.УстановитьТекст(ДокументВТекстJSON()); Текст.Записать(ИмяФайла); Сообщить("Файл записан: " + ИмяФайла); ИмяФайла = КаталогСохранения + "\Движения " + ПредставлениеДокумента() + ".json"; Текст = Новый ТекстовыйДокумент; Текст.УстановитьТекст(ДвиженияДокументаВТекстJSON()); Текст.Записать(ИмяФайла); Сообщить("Файл записан: " + ИмяФайла); КонецПроцедуры &НаСервере Функция ДокументВТекстJSON() ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(, Символы.Таб)); СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, Документ.ПолучитьОбъект(), НазначениеТипаXML.Явное); Возврат ЗаписьJSON.Закрыть(); КонецФункции &НаСервере Функция ДвиженияДокументаВТекстJSON() ДокОбъект = Документ.ПолучитьОбъект(); НаборыЗаписей = Новый Соответствие(); Для Каждого Движение из ДокОбъект.Движения Цикл Движение.Прочитать(); Если Движение.Количество() = 0 Тогда Продолжить; КонецЕсли; НаборыЗаписей.Вставить(Движение.Метаданные().Имя, Движение.Выгрузить()); КонецЦикла; ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(, Символы.Таб)); СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, НаборыЗаписей, НазначениеТипаXML.Явное); Возврат ЗаписьJSON.Закрыть(); КонецФункции ну и чтение из файла: ОбъектИзФайла = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON); ОбъектИзФайла.ОбменДанными.Загрузка = Истина; ОбъектИзФайла.Записать(); //Движуха ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ТекстJSON); НаборыДвижений = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON); Если НаборыДвижений.Количество() = 0 Тогда Возврат; КонецЕсли; //Регистры ОУ ОбъектПоСсылке = СсылкаНаОбъект.ПолучитьОбъект(); Для Каждого НаборДвижений Из НаборыДвижений Цикл Если ОбъектПоСсылке.Движения.Найти(НаборДвижений.Ключ) <> Неопределено Тогда Если НаборДвижений.Ключ = "Международный" Тогда НаборЗаписей = РегистрыБухгалтерии[НаборДвижений.Ключ].СоздатьНаборЗаписей(); ИначеЕсли НаборДвижений.Ключ = "Хозрасчетный" Тогда НаборЗаписей = РегистрыБухгалтерии[НаборДвижений.Ключ].СоздатьНаборЗаписей(); Иначе Если Метаданные.РегистрыНакопления.Найти(НаборДвижений.Ключ) = Неопределено Тогда НаборЗаписей = РегистрыСведений[НаборДвижений.Ключ].СоздатьНаборЗаписей(); Иначе НаборЗаписей = РегистрыНакопления[НаборДвижений.Ключ].СоздатьНаборЗаписей(); КонецЕсли; КонецЕсли; НаборЗаписей.Отбор.Регистратор.Значение = СсылкаНаОбъект; НаборЗаписей.Прочитать(); НаборЗаписей.Очистить(); Для Каждого СтрокаТЗ из НаборДвижений.Значение Цикл НоваяЗапись = НаборЗаписей.Добавить(); ЗаполнитьЗначенияСвойств(НоваяЗапись, СтрокаТЗ); КонецЦикла; НаборЗаписей.ОбменДанными.Загрузка = Истина; НаборЗаписей.Записать(); КонецЕсли; КонецЦикла; |
|||
9
ДенисЧ
12.08.21
✎
13:36
|
(8) Какие мы умные )))
Только не там, где нужно. Где у тебя слово "план обмена"? Как твою процедуру одной кнопкой запланировать? Как растиражировать обмен на 10 узлов? |
|||
10
PLUT
12.08.21
✎
13:41
|
(9) читай внимательно (0) :)))
"между двумя такими некие данные" я тебе идею предложил - сериализация. дальше сам думай ) ну и эта, синхронизация нужна на постянной основе или разово, в одну сторону или в обе? в (0) об этом ни слова |
|||
11
ДенисЧ
12.08.21
✎
13:45
|
(10) Раз уж пошло... Читаем (0)
"синхронизировать " "план обмена" Я как бы не первый раз в жизни 1с вижу и термины немного знаю |
|||
12
PLUT
12.08.21
✎
13:45
|
+(8) да, там небольшая (_!_)пка есть, нужна рекурсивная выгрузка ссылочных объектов, иначе в приемнике может быть "Объект не найден" при загрузке
но при исправлении косяков на копии и переносе в прод норм |
|||
13
PLUT
12.08.21
✎
13:50
|
(11) в ERP 2.4.13 все функции - планы обмена - Распределенная информационная база (с полной синхронизацией данных)
|
|||
14
ДенисЧ
12.08.21
✎
14:04
|
(13) Ещё одно умствование...
Где написано а) что конфигурации полностью идентичные и б) мне нужен РИБ? Чтобы ты не фантазировал больше - нужен обмен планом счетов между всеми базами холдинга. Сначала ерп, потом к ним пойдут БП и ЗУП. И УХ... Давай ещё предложения по риб и сериализации ))) |
|||
15
Serg_1960
12.08.21
✎
14:06
|
(0) С чего начать спрашиваешь? Как обычно в современных конфигурациях - Администрирование - Настройки синхронизации данных - установить флаг "Синхронизация данных" и префикс ИБ. Далее открыть помощник настройки синхронизации - Синхронизация данных - Настроить синхронизацию данных - пункт "Через универсальный формат"... не забыть настроить параметры синхронизации данных, правила выгрузки данных... короче: добраться до формы интерактивной синхронизации данных для сопоставить элементов в справочниках этих баз...
PS: ERP ниразу в глаза не видел :)) |
|||
16
PLUT
12.08.21
✎
15:07
|
(14) у меня был опыт синхронизации между УТ11 и УТ10.3 по определенному виду документов/справочников. Да, пришлось немного кода написать, добавить в каждую базу свой план обмена и регистрацию изменений и правила обмена в КД2. за 2 дня управился
вообще пох на твои проблемы зачеркнуто обмены :)) буду твои темы стороной обходить :) |
|||
17
vicof
12.08.21
✎
15:26
|
(0) принципиально (5) не читаешь?)
|
|||
18
ДенисЧ
12.08.21
✎
15:29
|
(17) Я принципиально прочёл (1) и этого достаточно.
|
|||
19
gae
12.08.21
✎
21:22
|
(18) Так в (1) в тексте также потом и отправляют в (5), то бишь в основной мануал по БСП.
|
|||
20
rozer76
13.08.21
✎
09:49
|
(0) по правилам КД2 https://youtu.be/pKcI2nMjWoU
|
|||
21
rozer76
13.08.21
✎
09:54
|
(20) по этому мануалу пилил под регулярный обмен между ут11 и самопиской на УФ. В самописку пришлось внедрить БСП.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |