Имя: Пароль:
1C
1С v8
Обмен данными. ЗУП(3.1.14.555)->БП(3.0.95.24)
,
0 LeoKeyn
 
04.08.21
14:29
Добрый день. Я новичок в конвертациях, подскажите, пожалуйста, более сведущие коллеги, как решить следующую проблему:
В обмене (указан в теме) типовом не перегружаются физические лица. Регистрация объектов идет как нужно, но именно в выгрузку они не попадают.
Причем если перезаписать существующий прием на работу(физ лица регистрируются при записи приема на работу - дописка конфигурации зуп) с сотрудником, уже существующем в БП, то он попадает в файл обмена. Если это же проделать с новым физ лицом, то его в файле нет(хотя на обмен он регистрируется).
Раньше все работало нормально, сломался обмен после обновления(вел раньше и обновлял не я, ко мне пришли уже с проблемой)

Заранее большое спасибо всем кто сможет помочь.
1 hhhh
 
04.08.21
15:49
(0) ну перезапишите все приемы, в чем проблема?
2 LeoKeyn
 
04.08.21
16:02
(1) В смысле перезапишите, не понял. Какие примеры?
3 LeoKeyn
 
04.08.21
16:02
(1) приемы*
4 LeoKeyn
 
05.08.21
10:11
ап
5 LeoKeyn
 
09.08.21
16:39
Помогите)
6 garantNo4x
 
09.08.21
16:50
не давно была такая тема
7 garantNo4x
 
09.08.21
16:50
недавно
8 LeoKeyn
 
09.08.21
17:36
(7) кинь ссылку, если можешь
9 LeoKeyn
 
09.08.21
17:37
Объекты регистрируются к обмену, но выгружаются только существующие, новые не хотят...
10 Garykom
 
гуру
09.08.21
17:38
(0) в документах нету - зачем?
11 LeoKeyn
 
09.08.21
17:39
(10) не понял вопроса
12 unenu
 
10.08.21
09:58
попробуйте:
Открыть форму "Состав отправляемых данных"
далее
"Еще" > "Настройка"
далее сбросить флаг "Использовать при регистрации изменений объекта ограничения миграции данных"
13 LeoKeyn
 
13.08.21
11:14
(12) Увы не помогло(((
14 LeoKeyn
 
13.08.21
11:15
(12) Объект регистрируется в составе, он именно не уходит в файл обмена
15 LeoKeyn
 
13.08.21
11:21
<ДанныеПоОбмену ВерсияОтправителя="3.1.14.555" УдалитьРегистрациюИзменений="true" НомерВходящегоСообщения="2567" НомерИсходящегоСообщения="1974" ОтКого="ЗК" Кому="БП" ПланОбмена="ОбменЗарплата3Бухгалтерия3"/>

<УдалениеОбъекта УникальныйИдентификатор="924cf338-ef8c-11eb-8d59-00090ffe0001" ТипИсточника="СправочникСсылка.ФизическиеЛица" ТипПриемника="СправочникСсылка.ФизическиеЛица"/>

Это в файле обмена на месте, где должны быть данные по физ лицу. Если поискать по ГУИД, то это как раз то самое физ лицо, которое у меня должно перейти в БП. Почему он хочет его удалить?
16 LeoKeyn
 
13.08.21
11:24
<ДанныеПоОбмену ВерсияОтправителя="3.1.14.555" УдалитьРегистрациюИзменений="true" НомерВходящегоСообщения="2567" НомерИсходящегоСообщения="1975" ОтКого="ЗК" Кому="БП" ПланОбмена="ОбменЗарплата3Бухгалтерия3"/>

<УдалениеОбъекта УникальныйИдентификатор="924cf338-ef8c-11eb-8d59-00090ffe0001" ТипИсточника="СправочникСсылка.ФизическиеЛица" ТипПриемника="СправочникСсылка.ФизическиеЛица"/>

<УдалениеОбъекта УникальныйИдентификатор="9e72dbe2-f515-11eb-95c0-1c1b0d3cc92a" ТипИсточника="СправочникСсылка.ФизическиеЛица" ТипПриемника="СправочникСсылка.ФизическиеЛица"/>

попробовал создать еще одно физ лицо, он пытается у меня их удалить вместо того, чтобы передать. Почему понять не могу?
17 LeoKeyn
 
13.08.21
11:29
Процедура ОбменЗарплата3Бухгалтерия3ПередЗаписью(Источник, Отказ) Экспорт
    
    Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПриемНаРаботу") Тогда
        
        ФизическоеЛицо = ?(НЕ ЗначениеЗаполнено(Источник.ФизическоеЛицо), ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.Сотрудник, "ФизическоеЛицо"), Источник.ФизическоеЛицо);
        
        Если НЕ ЗначениеЗаполнено(ФизическоеЛицо) Тогда
            Возврат;
        КонецЕсли;
        
        РегистрацияНаВсехУзлах(ФизическоеЛицо);
        
        Если ЗарплатаКадры.ОтключитьБизнесЛогикуПриЗаписи(Источник) Тогда
            Возврат;
        КонецЕсли;
    
    КонецЕсли;
    
КонецПроцедуры

Процедура РегистрацияНаВсехУзлах(РегистрируемаяСсылка)
    
    Если НЕ РегистрируемаяСсылка.Пустая() Тогда
        
        Узлы = ОбменДаннымиСобытия.ВсеУзлыПланаОбмена("ОбменЗарплата3Бухгалтерия3");
        
        ПланыОбмена.ЗарегистрироватьИзменения(Узлы, РегистрируемаяСсылка);
        
    КонецЕсли;
    
КонецПроцедуры

Добавлю код регистрации объектов(добавленный). Может в нем что то не так
18 Serg_1960
 
13.08.21
13:05
(17) Вы уверены что у вас типовая конфигурация без изменений? У меня большие сомнения по этому поводу :(
19 Serg_1960
 
13.08.21
13:14
*(18) "Раньше все работало нормально, сломался обмен после обновления" - вероятно, обновляя конфигурацию, Вы затёрли ранее существующие изменения конфигурации.
20 LeoKeyn
 
17.08.21
09:48
(19) Вероятно. Но обмен точно типовой и правила, я даже, для уверенности, выгрузил правила из стандартной поставки и загрузил сюда. Регистрация идет, но как будто, объекты регистрируются на удаление, а не на выгрузку, но исходя из кода (17)  так быть не должно
21 Garykom
 
гуру
17.08.21
09:57
(20) Неперенос физлиц, должностей и подразделений это не баг а фича
Если поставить настройку с детализацией по сотрудникам а не сводно то все прекрасно будет переноситься, как только любой из справочников попадет в любой из переносимых документов
22 hhhh
 
17.08.21
10:06
(21) ну он же не хочет перезаписывать документы о приеме.
23 Garykom
 
гуру
17.08.21
10:08
(22) так и не надо
суть что в состав отправляемых попадают только те что в доках используются
24 LeoKeyn
 
17.08.21
10:20
(21) Так настройка и стоит
25 LeoKeyn
 
17.08.21
10:22
(22) в том то и дело, что при записи документа о приеме, физ лицо должно уходить в обмен. Оно регистрируется, но в файл попадает на удаление (16)
26 LeoKeyn
 
17.08.21
10:23
(25) Причем только новосозданные физ лица, старые перегружаются нормально
27 Мимохожий Однако
 
17.08.21
10:25
(20) Вернись (на копии) к базе до обновления и проверь работает обмен или нет. Заодно сравни объекты до обновления, которые участвуют в синхронизации.
28 Мимохожий Однако
 
17.08.21
10:25
(25) Включай отладчик
29 LeoKeyn
 
17.08.21
10:43
(27) нет копии
30 LeoKeyn
 
17.08.21
10:43
(28) через отладчик не понять, поэтому и полез на форумы)
31 LeoKeyn
 
17.08.21
12:57
Процедура ОбменЗарплата3Бухгалтерия3ПередЗаписью(Источник, Отказ) Экспорт
    
    Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПриемНаРаботу") Тогда
        
        ФизическоеЛицо = ?(НЕ ЗначениеЗаполнено(Источник.ФизическоеЛицо), ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.Сотрудник, "ФизическоеЛицо"), Источник.ФизическоеЛицо);
        
        Если НЕ ЗначениеЗаполнено(ФизическоеЛицо) Тогда
            Возврат;
        КонецЕсли;
        
        РегистрацияНаВсехУзлах(ФизическоеЛицо);
        
        Если ЗарплатаКадры.ОтключитьБизнесЛогикуПриЗаписи(Источник) Тогда
            Возврат;
        КонецЕсли;
    
    КонецЕсли;
    
КонецПроцедуры

Процедура РегистрацияНаВсехУзлах(РегистрируемаяСсылка)
    
    Если НЕ РегистрируемаяСсылка.Пустая() Тогда
        
        Узлы = ОбменДаннымиСобытия.ВсеУзлыПланаОбмена("ОбменЗарплата3Бухгалтерия3");
        
        
        //ПланыОбмена.ЗарегистрироватьИзменения(Узлы, РегистрируемаяСсылка);
        Для Каждого Узел Из Узлы Цикл
            ОбменДаннымиСобытия.ЗарегистрироватьИзмененияДанных(Узел, РегистрируемаяСсылка, Ложь);
        КонецЦикла;
        

    КонецЕсли;
    
КонецПроцедуры


Решение! Вдруг кому поможет)
32 DrZombi
 
гуру
17.08.21
13:01
(0) Укажи, что Физ-лица надо грузить по любому, а не только когда они участвуют в банковских выписках или регистрах :)


//Правило из файла RegistrationRules.xml
            <Правило Отключить="false" Валидное="true">
                <Код>000000027</Код>
                <Наименование>Физические лица</Наименование>
                <ОбъектНастройки>СправочникСсылка.ФизическиеЛица</ОбъектНастройки>
                <ОбъектМетаданныхИмя>Справочник.ФизическиеЛица</ОбъектМетаданныхИмя>
                <ОбъектМетаданныхТип>Справочник</ОбъектМетаданныхТип>
                <ОтборПоСвойствамПланаОбмена/>
                <ОтборПоСвойствамОбъекта/>
                <ПередОбработкой> //+ - Убрано "ОтборПоСвойствамПланаОбмена", с ним не выгружаются Физ.Лица при записи Карточки;
                                  //+ - Поменял местами порядок правил, сперва выставил Справочник "ФизическиеЛица"
                                  //+ - Убрал "РежимВыгрузкиПриНеобходимости"
Если Объект.ЭтоГруппа Тогда
    Отказ = Истина;
КонецЕсли</ПередОбработкой>
            </Правило>
33 DrZombi
 
гуру
17.08.21
13:01
(30) (28) Вы еще посоветуйте свой обмен написать :)
34 DrZombi
 
гуру
17.08.21
13:03
(0) Правило сам найдешь. из (32)
Рекомендую вам оставлять для себя "Хлебные крошки" (комментарии)
Иначе правила у 1С бывают надо дописывать (обновлять) :)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.