Имя: Пароль:
1C
 
План обмена с конфой на ОФ в конфу на УФ
,
0 1ctube
 
15.01.22
15:32
Доброго времени суток. Интересует вопрос: нужно выгружать инфу(документ вместе с движениями по регистру накопления) с конфы на ОФ(источник) в конфу с УФ которая написана на БСП(Приёмник) . Создал правила в КД 2.1, загрузил из источника в приёмник документ с движениями через обработку универсальную выгрузка и загрузка в приемнике. Всё ОК, появились движения в нужном регистре накопления.
Теперь вопрос: созданные правила в КД подойдут для создания плана обмена? Так как нужно что бы в дальнейшем выгружалась не вся информация а только новая или та которая была изменена(например в источнике отменили проведение дока, движения пропали, значит нужно это отразить в приёмнике). Спасибо
1 ДенисЧ
 
15.01.22
15:34
Правила обмена и тип форм (ОФ, УФ) вообще никак не связаны.
2 1ctube
 
15.01.22
15:35
(1) Это хорошо. А тогда правила КД будут работать для плана обмена?
3 1ctube
 
15.01.22
15:36
(2) или нужно по другому их делать. Хотя через универсальную выгрузку и загрузку всё робит
4 DrShad
 
15.01.22
15:40
(2) правила еще меньше связаны с планом обмена, чем тип форм
5 Мимохожий Однако
 
15.01.22
15:43
(2) План обмена нужен для регистрации изменений. А правила КД для обмена. И не важно ОФ или УФ.
6 Фрэнки
 
15.01.22
15:50
// (например в источнике отменили проведение дока, движения пропали, значит нужно это отразить в приёмнике) //

Очень рискованная задача.
Она не трудная в том смысле, как это сделать через планы обмена, но с заказчиками могут быть недоразумения.

А всё-таки было бы интересно узнать, каким образом собираетесь удалять существующие наборы записей регистров
7 DrShad
 
15.01.22
15:50
но БСП на конфу на ОФ я бы натянул таки
8 1ctube
 
15.01.22
16:00
(6) конфа на ОФ не типовая а конфа на УФ типовая. (для сдачи отчётности)

"А всё-таки было бы интересно узнать, каким образом собираетесь удалять существующие наборы записей регистров"

Не понял вопроса... Разве план обмена не зарегистрирует изменения о том что в источнике  у дока отменили проведение и следовательно пропали движения
9 1ctube
 
15.01.22
16:01
(8) сам регистр накопления включён в состав плана обмена
10 Фрэнки
 
15.01.22
16:07
(9) т.е. надежда на то, что план обмена все сделает за вас. Понятно.
Ну может быть и так, если версия обмена будет удачной и оно действительно сделает. Я бы этот момент протестировал отдельно при необохдимости практического внедрения, а не в теории
11 Ёпрст
 
15.01.22
18:35
(3) если передавать будешь изменения не через универсальную выгрузку, а типовой обменданнымиxml, которая в конфу встроена. То ее придется подправить. Она по-умолчанию не пишет движения дока, считается, что документ прилетевший в приемник, должен там проводиться. Даже, если ты правилами и выгружаешь движения дока.
12 Asmody
 
15.01.22
22:49
[считается, что документ прилетевший в приемник, должен там проводиться] - у меня всегда этот вопрос вызывает дичайшие внутренние сомнения.
С одной стороны, у Приемника должна быть своя логика, и нечто прилетевшее не должно её нарушать.
С другой стороны, Источник может делать какие-то "альтернативные" движения. Это да.
Но вопрос: "а что будет, если в Приемнике перепроведут документ?" всё ставит на свои места.
13 Фрэнки
 
15.01.22
23:26
(12) не могу утверждать, когда именно делают именно так, но заметил, что набор движений передаваемый от Источника Приемнику модифицируют и когда сам документ записывается с проведением, идет состояние "ОбменДанными = Истина" на которое в большинстве случаев установлен Возврат из обработки проведения.
Именно это блокирует появление движений у документа в большинстве планов обмена, но если движения есть, то потому что их записывают обрабатываемые при обмене и внутри обмена процедуры, но не проведение и не запись документа.

Мое сомнение только в том, что я не замечаю, как у созданных ранее наборов записей происходит удаление при обмене.
Точнее говоря, то что я видел - это не удаление, а именно перезапись таких же наборов записей, только без строк.

Т.е. проблема в том, что документ при снятии с проведения теряет движения. И для удаления набора записей просто не существует этого набора, а тогда и в Обмен ничего не идет.
Совсем ничего.
И если ранее в регистрах Приемника уже сохранен набор записей с регистратором или без регистратора, то снятие регистратора с проведения в Источнике не сделает с этим набором ничего.
Надо не просто его в Приемник записать, но и иницировать ту же самую обработку удаления движений, которую выполняет конфигурация или платформа при обычной перезаписи документа в состоянии "Проведен = нет"
14 Ёпрст
 
15.01.22
23:33
(12) от задачи же зависит. Если грузят, например, из ут в бп, то да, можно не пихать движения в выгрузку, пусть в бп оно само проводится. А если грузят в цент с разных фирм, в которых есть разные алгоритмы проведкния доков, то туда грузим с движениями и там док никогда не проводим, если пытаются провести - то болт. У нас так. Разные обмены, разные правила.
15 1ctube
 
16.01.22
08:23
(11) Как её подправить? Можешь скинуть ссылку? В приёмнике документы не будут перепроводиться
16 Ёпрст
 
16.01.22
10:30
(15) найти и исправить в ОбменДаннымиXML
на так:

                        Если НужноЗаписатьОбъект Тогда
                        
                            //// документы которые просто нужно записать - так и записываем
                            //Если РежимЗаписи = РежимЗаписиДокумента.Запись Тогда
                            //    
                            //    ЗаписатьОбъектВИБ(Объект, ТипОбъекта);
                            //    
                            //ИначеЕсли РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения
                            //    ИЛИ РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
                            //    
                            //    // проведение убираем всегда...
                            //    ОтменитьПроведениеОбъектаВИБ(Объект, ТипОбъекта);                            
                            //    
                            //КонецЕсли;
                            // документы которые просто нужно записать - так и записываем
                            Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения Тогда
                                // проведение убираем всегда...
                                ОтменитьПроведениеОбъектаВИБ(Объект, ТипОбъекта);                            
                            Иначе
                                ЗаписатьОбъектВИБ(Объект, ТипОбъекта);
                            КонецЕсли;
                            
                        КонецЕсли;
17 1ctube
 
17.01.22
07:10
(16) Спс, попробую!
18 1ctube
 
17.01.22
07:18
Тут ещё проблема в том что не поулчается настроить базу приемник (она на БСП с УФ). Для источника настроил, по нажатию на "Выполнить обмен" выгружает измененные объекты. А вот для приёмника затык. Захожу в "Синхронизацию данных" добавляю новую синхронизацию. Далее настраиваю правила получения и отправки, и в подменю "Параметры синхронизации данных" есть 2 пункта "Загрузить правила конвертации объектов" и "Загрузить правила регистрации объектов".  Где их взять ? У меня только правила созданные в КД 2.1. Можете подсказать или ссылку? В приёмнике в конфигураторе создал такой же план обмена как и в источнике
19 Фрэнки
 
17.01.22
09:44
(18) пробовал из КД 2.1 загрузить? Там кроме конвертации и правила для регистрации объектов тоже есть.
20 Serg_1960
 
17.01.22
09:58
(18) "Актуализация правил обмена в КД 2.1" - http://www.helperp.ru/articles/91-aktualizatsiya-pravil-obmena-v-kd-2-1
21 toypaul
 
гуру
17.01.22
10:38
Аналогичный обмен сейчас в работе (реализован). Правда на ОФ у нас УПП. Там есть БСП а значит все несколько проще.

Правила регистрации настраиваются там же в КД. В принципе они не нужны если стоит авторегистрация изменений (вроде не нужны).
Их можно сохранить отдельно, можно одним пакетом сохранить - правила, выгрузки, правила регистрации и правила корреспондента. Такой единый пакет загружается обычно в конфу на УФ
22 DrShad
 
17.01.22
11:00
можно вообще без правил регистрации
23 DrShad
 
17.01.22
11:01
а правила конвертации нужно создать в КД где источник база на БСП, а приемник на ОФ
24 fisher
 
17.01.22
11:06
(0) Минимальными усилиями удавалось реализовать через внедрение в конфу на БСП обработок обмена из конфы на ОФ. Где ОФ как инициатор обмена стучится по COM своей штатной реализацией обмена в конфу на БСП.
25 Serg_1960
 
17.01.22
11:10
(23) Sorry, "а приемник на ОФ" - как говорили выше, это не имеет никакого значения. Добавлю: и даже в УПП есть БСП (регистр сведений "Версии подсистем" - "СтандартныеПодсистемы" - 1.2.4.1)
26 fisher
 
17.01.22
11:15
(24) + План обмена на стороне УФ при этом оформлял по правилам БСП. Удобно, так как тогда работают штатные механизмы БСП регистрации, управления и мониторинга изменений на стороне УФ (в т.ч. правила регистрации).
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс