Имя: Пароль:
1C
1С v8
Синхронизация подразделений ЗУП и БП
0 lg2marvel
 
25.03.19
15:09
Добрый день.
Есть обмен данными между ЗУП и ПУД, правила практически типовые, изменены лишь правила поиска и ПВД для Отражения зарплаты в бухучете (модуль ниже)
В регистре сведений СоответствияОбъектовИнформационныхБаз установил соответствия с какого подразделения на какое должно выгружаться по гуидам
Проверил обмен всех подразделений
Создаю Отражения зарплаты в бухучете, заполняю, делаю обмен - одно подразделение выгружается на совершенно другое (в табличной части)

Проверил еще раз РС СоответствияОбъектовИнформационныхБаз - все верно: в ЗУПе в качестве ГГУИДа приемника ГУИД из БП и наоборот

ПВД отражения:

Если Параметры.НеВыгружатьПерсональныеДанныеФизическихЛиц Тогда
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
    
    ВидыОперацийИсключения = Новый Массив;
    ВидыОперацийИсключения.Добавить(Перечисления.ВидыОперацийПоЗарплате.ВыплатыБывшимСотрудникам);
    ВидыОперацийИсключения.Добавить(Перечисления.ВидыОперацийПоЗарплате.ДоходыКонтрагентов);
    ВидыОперацийИсключения.Добавить(Перечисления.ВидыОперацийПоЗарплате.ПрочиеРасчетыСПерсоналом);
    Запрос.УстановитьПараметр("ВидыОперацийИсключения", ВидыОперацийИсключения);
    
    ВидыОперацийИсключенияНДФЛ = Новый Массив;
    ВидыОперацийИсключенияНДФЛ.Добавить(Перечисления.ВидыОперацийПоЗарплате.НДФЛРасчетыСБывшимиСотрудниками);
    ВидыОперацийИсключенияНДФЛ.Добавить(Перечисления.ВидыОперацийПоЗарплате.НДФЛДоходыКонтрагентов);
    Запрос.УстановитьПараметр("ВидыОперацийИсключенияНДФЛ", ВидыОперацийИсключенияНДФЛ);
    
    ВидыОперацийИсключенияУдержания = Новый Массив;
    ВидыОперацийИсключенияУдержания.Добавить(Перечисления.ВидыОперацийПоЗарплате.УдержаниеНеизрасходованныхПодотчетныхСумм);
    ВидыОперацийИсключенияУдержания.Добавить(Перечисления.ВидыОперацийПоЗарплате.УдержаниеПоПрочимОперациямСРаботниками);
    ВидыОперацийИсключенияУдержания.Добавить(Перечисления.ВидыОперацийПоЗарплате.ВозмещениеУщерба);
    ВидыОперацийИсключенияУдержания.Добавить(Перечисления.ВидыОперацийПоЗарплате.НачисленоПроцентовПоЗайму);
    ВидыОперацийИсключенияУдержания.Добавить(Перечисления.ВидыОперацийПоЗарплате.ПогашениеЗаймов);
    ВидыОперацийИсключенияУдержания.Добавить(Перечисления.ВидыОперацийПоЗарплате.ПроцентыПоЗайму);
    Запрос.УстановитьПараметр("ВидыОперацийИсключенияУдержания", ВидыОперацийИсключенияУдержания);
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    НачисленнаяЗарплатаИВзносы.Подразделение КАК Подразделение,
    |    НачисленнаяЗарплатаИВзносы.ВидОперации КАК ВидОперации,
    |    НачисленнаяЗарплатаИВзносы.СтатьяФинансирования КАК СтатьяФинансирования,
    |    НачисленнаяЗарплатаИВзносы.СпособОтраженияЗарплатыВБухучете КАК СпособОтраженияЗарплатыВБухучете,
    |    НачисленнаяЗарплатаИВзносы.ОблагаетсяЕНВД КАК ОблагаетсяЕНВД,
    |    НачисленнаяЗарплатаИВзносы.ВидНачисленияОплатыТрудаДляНУ КАК ВидНачисленияОплатыТрудаДляНУ,
    |    НачисленнаяЗарплатаИВзносы.ПериодПринятияРасходов КАК ПериодПринятияРасходов,
    |    СУММА(НачисленнаяЗарплатаИВзносы.Сумма) КАК Сумма,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРСтраховая) КАК ПФРСтраховая,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРНакопительная) КАК ПФРНакопительная,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ФСС) КАК ФСС,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ФФОМС) КАК ФФОМС,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ТФОМС) КАК ТФОМС,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРНаДоплатуЛетчикам) КАК ПФРНаДоплатуЛетчикам,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРНаДоплатуШахтерам) КАК ПФРНаДоплатуШахтерам,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаПодземныхИВредныхРаботах) КАК ПФРЗаЗанятыхНаПодземныхИВредныхРаботах,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаТяжелыхИПрочихРаботах) КАК ПФРЗаЗанятыхНаТяжелыхИПрочихРаботах,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ФССНесчастныеСлучаи) КАК ФССНесчастныеСлучаи,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРПоСуммарномуТарифу) КАК ПФРПоСуммарномуТарифу,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРСПревышения) КАК ПФРСПревышения,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРДоПредельнойВеличины) КАК ПФРДоПредельнойВеличины,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаПодземныхИВредныхРаботахБезСпецОценки) КАК ПФРЗаЗанятыхНаПодземныхИВредныхРаботахБезСпецОценки,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаПодземныхИВредныхРаботахСпецОценка) КАК ПФРЗаЗанятыхНаПодземныхИВредныхРаботахСпецОценка,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаТяжелыхИПрочихРаботахБезСпецОценки) КАК ПФРЗаЗанятыхНаТяжелыхИПрочихРаботахБезСпецОценки,
    |    СУММА(НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаТяжелыхИПрочихРаботахСпецОценка) КАК ПФРЗаЗанятыхНаТяжелыхИПрочихРаботахСпецОценка,
    |    ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) КАК ФизическоеЛицо
    |ИЗ
    |    Документ.ОтражениеЗарплатыВБухучете.НачисленнаяЗарплатаИВзносы КАК НачисленнаяЗарплатаИВзносы
    |ГДЕ
    |    НачисленнаяЗарплатаИВзносы.Ссылка = &Ссылка
    |    И НЕ НачисленнаяЗарплатаИВзносы.ВидОперации В (&ВидыОперацийИсключения)
    |
    |СГРУППИРОВАТЬ ПО
    |    НачисленнаяЗарплатаИВзносы.Подразделение,
    |    НачисленнаяЗарплатаИВзносы.ВидОперации,
    |    НачисленнаяЗарплатаИВзносы.СтатьяФинансирования,
    |    НачисленнаяЗарплатаИВзносы.СпособОтраженияЗарплатыВБухучете,
    |    НачисленнаяЗарплатаИВзносы.ОблагаетсяЕНВД,
    |    НачисленнаяЗарплатаИВзносы.ВидНачисленияОплатыТрудаДляНУ,
    |    НачисленнаяЗарплатаИВзносы.ПериодПринятияРасходов
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    НачисленнаяЗарплатаИВзносы.Подразделение,
    |    НачисленнаяЗарплатаИВзносы.ВидОперации,
    |    НачисленнаяЗарплатаИВзносы.СтатьяФинансирования,
    |    НачисленнаяЗарплатаИВзносы.СпособОтраженияЗарплатыВБухучете,
    |    НачисленнаяЗарплатаИВзносы.ОблагаетсяЕНВД,
    |    НачисленнаяЗарплатаИВзносы.ВидНачисленияОплатыТрудаДляНУ,
    |    НачисленнаяЗарплатаИВзносы.ПериодПринятияРасходов,
    |    НачисленнаяЗарплатаИВзносы.Сумма,
    |    НачисленнаяЗарплатаИВзносы.ПФРСтраховая,
    |    НачисленнаяЗарплатаИВзносы.ПФРНакопительная,
    |    НачисленнаяЗарплатаИВзносы.ФСС,
    |    НачисленнаяЗарплатаИВзносы.ФФОМС,
    |    НачисленнаяЗарплатаИВзносы.ТФОМС,
    |    НачисленнаяЗарплатаИВзносы.ПФРНаДоплатуЛетчикам,
    |    НачисленнаяЗарплатаИВзносы.ПФРНаДоплатуШахтерам,
    |    НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаПодземныхИВредныхРаботах,
    |    НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаТяжелыхИПрочихРаботах,
    |    НачисленнаяЗарплатаИВзносы.ФССНесчастныеСлучаи,
    |    НачисленнаяЗарплатаИВзносы.ПФРПоСуммарномуТарифу,
    |    НачисленнаяЗарплатаИВзносы.ПФРСПревышения,
    |    НачисленнаяЗарплатаИВзносы.ПФРДоПредельнойВеличины,
    |    НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаПодземныхИВредныхРаботахБезСпецОценки,
    |    НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаПодземныхИВредныхРаботахСпецОценка,
    |    НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаТяжелыхИПрочихРаботахБезСпецОценки,
    |    НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаТяжелыхИПрочихРаботахСпецОценка,
    |    НачисленнаяЗарплатаИВзносы.ФизическоеЛицо
    |ИЗ
    |    Документ.ОтражениеЗарплатыВБухучете.НачисленнаяЗарплатаИВзносы КАК НачисленнаяЗарплатаИВзносы
    |ГДЕ
    |    НачисленнаяЗарплатаИВзносы.Ссылка = &Ссылка
    |    И НачисленнаяЗарплатаИВзносы.ВидОперации В(&ВидыОперацийИсключения)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    НачисленныйНДФЛ.ВидОперации КАК ВидОперации,
    |    НачисленныйНДФЛ.СтатьяФинансирования КАК СтатьяФинансирования,
    |    НачисленныйНДФЛ.КодПоОКАТО КАК КодПоОКАТО,
    |    НачисленныйНДФЛ.КодПоОКТМО КАК КодПоОКТМО,
    |    НачисленныйНДФЛ.КПП КАК КПП,
    |    НачисленныйНДФЛ.КодНалоговогоОргана КАК КодНалоговогоОргана,
    |    СУММА(НачисленныйНДФЛ.Сумма) КАК Сумма,
    |    ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) КАК ФизическоеЛицо
    |ИЗ
    |    Документ.ОтражениеЗарплатыВБухучете.НачисленныйНДФЛ КАК НачисленныйНДФЛ
    |ГДЕ
    |    НачисленныйНДФЛ.Ссылка = &Ссылка
    |    И НЕ НачисленныйНДФЛ.ВидОперации В (&ВидыОперацийИсключенияНДФЛ)
    |
    |СГРУППИРОВАТЬ ПО
    |    НачисленныйНДФЛ.ВидОперации,
    |    НачисленныйНДФЛ.СтатьяФинансирования,
    |    НачисленныйНДФЛ.КодПоОКАТО,
    |    НачисленныйНДФЛ.КодПоОКТМО,
    |    НачисленныйНДФЛ.КПП,
    |    НачисленныйНДФЛ.КодНалоговогоОргана
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    НачисленныйНДФЛ.ВидОперации,
    |    НачисленныйНДФЛ.СтатьяФинансирования,
    |    НачисленныйНДФЛ.КодПоОКАТО,
    |    НачисленныйНДФЛ.КодПоОКТМО,
    |    НачисленныйНДФЛ.КПП,
    |    НачисленныйНДФЛ.КодНалоговогоОргана,
    |    НачисленныйНДФЛ.Сумма,
    |    НачисленныйНДФЛ.ФизическоеЛицо
    |ИЗ
    |    Документ.ОтражениеЗарплатыВБухучете.НачисленныйНДФЛ КАК НачисленныйНДФЛ
    |ГДЕ
    |    НачисленныйНДФЛ.Ссылка = &Ссылка
    |    И НачисленныйНДФЛ.ВидОперации В(&ВидыОперацийИсключенияНДФЛ)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) КАК ФизическоеЛицо,
    |    УдержаннаяЗарплата.Подразделение,
    |    УдержаннаяЗарплата.ВидОперации,
    |    УдержаннаяЗарплата.СтатьяФинансирования,
    |    СУММА(УдержаннаяЗарплата.Сумма) КАК Сумма,
    |    УдержаннаяЗарплата.Контрагент,
    |   УдержаннаяЗарплата.ИсполнительныйЛист
    |ИЗ
    |    Документ.ОтражениеЗарплатыВБухучете.УдержаннаяЗарплата КАК УдержаннаяЗарплата
    |ГДЕ
    |    УдержаннаяЗарплата.Ссылка = &Ссылка
    |    И НЕ УдержаннаяЗарплата.ВидОперации В (&ВидыОперацийИсключенияУдержания)
    |
    |СГРУППИРОВАТЬ ПО
    |    УдержаннаяЗарплата.Подразделение,
    |    УдержаннаяЗарплата.ВидОперации,
    |    УдержаннаяЗарплата.СтатьяФинансирования,
    |    УдержаннаяЗарплата.Контрагент,
    |    УдержаннаяЗарплата.ИсполнительныйЛист,
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    УдержаннаяЗарплата.ФизическоеЛицо,
    |    УдержаннаяЗарплата.Подразделение,
    |    УдержаннаяЗарплата.ВидОперации,
    |    УдержаннаяЗарплата.СтатьяФинансирования,
    |    УдержаннаяЗарплата.Сумма,
    |    УдержаннаяЗарплата.Контрагент,
    |   УдержаннаяЗарплата.ИсполнительныйЛист
    |ИЗ
    |    Документ.ОтражениеЗарплатыВБухучете.УдержаннаяЗарплата КАК УдержаннаяЗарплата
    |ГДЕ
    |    УдержаннаяЗарплата.Ссылка = &Ссылка
    |    И УдержаннаяЗарплата.ВидОперации В(&ВидыОперацийИсключенияУдержания)";
    
    Результаты = Запрос.ВыполнитьПакет();
    
    ОписаниеОбъекта = Новый Структура;
    ОписаниеОбъекта.Вставить("Ссылка");
    ОписаниеОбъекта.Вставить("Номер");
    ОписаниеОбъекта.Вставить("Дата");
    ОписаниеОбъекта.Вставить("Организация");
    ОписаниеОбъекта.Вставить("ПериодРегистрации");
    ОписаниеОбъекта.Вставить("Ответственный");
    ОписаниеОбъекта.Вставить("Комментарий");
    ОписаниеОбъекта.Вставить("Проведен");
    ОписаниеОбъекта.Вставить("ПометкаУдаления");
    
    ЗаполнитьЗначенияСвойств(ОписаниеОбъекта, Объект);
    
    НачисленнаяЗарплатаИВзносы = Результаты[0].Выгрузить();
    НачисленныйНДФЛ = Результаты[1].Выгрузить();
    
    ОписаниеОбъекта.Вставить("НачисленнаяЗарплатаИВзносы", Результаты[0].Выгрузить());
    ОписаниеОбъекта.Вставить("НачисленныйНДФЛ", Результаты[1].Выгрузить());
    ОписаниеОбъекта.Вставить("УдержаннаяЗарплата", Результаты[2].Выгрузить());
    
    ТабФизическиеЛица = ОписаниеОбъекта.НачисленнаяЗарплатаИВзносы.Скопировать(,"ФизическоеЛицо");
    ТабФизическиеЛица.Свернуть("ФизическоеЛицо");
    
    ТабФизическиеЛицаНДФЛ = ОписаниеОбъекта.НачисленныйНДФЛ.Скопировать(,"ФизическоеЛицо");
    ТабФизическиеЛицаНДФЛ.Свернуть("ФизическоеЛицо");
    
    ТабФизическиеЛицаУдержания = ОписаниеОбъекта.УдержаннаяЗарплата.Скопировать(,"ФизическоеЛицо");
    ТабФизическиеЛицаУдержания.Свернуть("ФизическоеЛицо");
    
    Для каждого СтрокаТЗ Из ТабФизическиеЛицаНДФЛ Цикл
        ЗаполнитьЗначенияСвойств(ТабФизическиеЛица.Добавить(), СтрокаТЗ);
    КонецЦикла;
    
    Для каждого СтрокаТЗ Из ТабФизическиеЛицаУдержания Цикл
        ЗаполнитьЗначенияСвойств(ТабФизическиеЛица.Добавить(), СтрокаТЗ);
    КонецЦикла;
    
    ОписаниеОбъекта.Вставить("ФизическиеЛица", ТабФизическиеЛица);
    ОписаниеОбъекта.Вставить("КраткийСоставДокумента", "");
    
    Объект = ОписаниеОбъекта;
    
КонецЕсли


Где еще копать?
1 lg2marvel
 
25.03.19
15:21
Обмен делается из БП, если делать обмен из ЗУП - выдает ошибку:

{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(17403)}: Ошибка при отправке данных: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(4043)}: Ошибка в базе-корреспонденте: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10158)}: Ошибка при записи документа: Отражение зарплаты в бухучете 00П2-000006 от 31.03.2019. Описание ошибки: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(1807)}: Ошибка записи объекта
    ТипОбъекта             =  Отражение зарплаты в бухучете
    Объект                 =  Отражение зарплаты в бухучете 00П2-000006 от 31.03.2019
    ОписаниеОшибки         =  Ошибка при вызове метода контекста (Записать)
        Объект.Записать();
по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода СверткаПодразделенийЗУППередЗаписью ().
    ПозицияМодуля          =  Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(1785)
    КСообщенияОбОшибках    =  26
                        ВызватьИсключение СтрокаСообщения;
        ВызватьИсключение(НСтр("ru = 'Ошибка при отправке данных'") + ": " + ОписаниеОшибки());
2 lg2marvel
 
25.03.19
15:34
ПКО подразделений:
Перед выгрузкой: НеЗамещатьОбъектПриЗагрузке = Истина;



Поля поиска:

Если НомерВариантаПоиска = 1 Тогда
    Если ЗначениеЗаполнено(СвойстваПоиска["Родитель"]) Тогда
        СтрокаИменСвойствПоиска = "Владелец,Наименование,Родитель";
    Иначе
        СтрокаИменСвойствПоиска = "Владелец,Наименование";
    КонецЕсли;
Иначе
    Если ЗначениеЗаполнено(СвойстваПоиска["Родитель"]) Тогда
        // в первой попытке поиск выполняли с учетом родителя
        СтрокаИменСвойствПоиска = "Владелец,Наименование";
    Иначе
        // в первой попытке поиск выполняли без учета родителя
        ПрекратитьПоиск = Истина;
    КонецЕсли;
КонецЕсли;


После загрузки:
Если ПараметрыОбъекта <> Неопределено Тогда
    
    Если Найти(ВРег(Метаданные.Имя), "КОРП") <> 0 Тогда
        Объект.ГоловнаяОрганизация = ПараметрыОбъекта["ГоловнаяОрганизация"];
        Объект.ОбособленноеПодразделение = ПараметрыОбъекта["ОбособленноеПодразделение"];
    КонецЕсли;
    
КонецЕсли;
3 lg2marvel
 
25.03.19
15:41
Может как-то сумбурно описал проблему, попробую на пальцах:
Есть подразделение ААА в ЗУП и ААА в БП.
Когда зарегистрировал на узле ЗУП ААА к выгрузке оно выгружается на ААА.
Создаю документ отражение зп в бухучете со строкой с подразделением ААА в БП документ выгружается с подразделением БББ
4 Фрэнки
 
25.03.19
15:43
и чем выложенные простыни должны нас здесь развлечь? или озадачить?
5 lg2marvel
 
25.03.19
15:46
(4) Может вы увидите того что я не заметил
6 lg2marvel
 
25.03.19
16:55
Что может давать такую ошибку?

Ошибка в базе-корреспонденте: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10158)}: Ошибка при записи документа: Отражение зарплаты в бухучете 00П2-000006 от 31.03.2019. Описание ошибки: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(1807)}: Ошибка записи объекта
    ТипОбъекта             =  Отражение зарплаты в бухучете
    Объект                 =  Отражение зарплаты в бухучете 00П2-000006 от 31.03.2019
    ОписаниеОшибки         =  Ошибка при вызове метода контекста (Записать)
        Объект.Записать();
по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода СверткаПодразделенийЗУППередЗаписью ().
    ПозицияМодуля          =  Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(1785)
    КСообщенияОбОшибках    =  26
                        ВызватьИсключение СтрокаСообщения;
7 hhhh
 
25.03.19
17:12
(6) может вы в толстом клиенте запустили? А надо в тонком.
8 lg2marvel
 
25.03.19
17:24
(7) тонкий клиент
9 lg2marvel
 
25.03.19
17:36
(0) (2) (3) нашел причину. Хочу вернуть все к штатным средствам обмена. Для этого нужно найти почему получается (6)
10 DrZombi
 
гуру
27.03.19
12:36
(0) Как вариант, исключите подразделение из обмена, от слова совсем.
Либо структура в ЗУП и БП, должна быть 1 к 1 :)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой