Провели обновление нетиповой конфы. В 2 этапа. На первом загрузили объединением конфигурацию поставщика (выгрузили ее через поддержку), после этого накатили обновление. Вся конфа встала на замок. При этом я не могу настроить синхронизацию. При первичной выгрузке выходит ошибка правил ПКО. В отладчике я увидел, что это связано с тем, что в правилах конвертации остались правила от старой конфы, где было 2 добавленных справочника. Как мне это исправить?
Конфигурация Зарплата и управление персоналом, редакция 3.1 (3.1.12.113)
Платформа 8.3.16.1063
Настраиваю обмен между ЗУП и БУХ
Короче ларчик открывался достаточно просто. В моей базе не использовались типовые правила конвертации и регистрации. После изменения этой настройки синхронизация перестала вылетать с ошибкой.
Но данные все еще не грузятся. У меня задана граница январь 2020. Я создал отражение зарплаты в бухучете от января, но этот документ не переносится. При этом события отправки и получения данных сообщают, что все ок - 1 объект выгружен и 1 загружен
PS: здесь тоже было просто, у меня стояла дата запрета загрузки от 1 января и судя по всему это значит что не выгружаются не только документы страше 1 января, но вообще все январские
(2) я ведь накатил типовую конфу? Где мне сейчас брать эти правила обмена? И потом, если речь идет про план ОбменЗарплата3Бухгалтерия3, то там в правилах нет тех справочников на которые ругается система.
на сколько знаю:
В новых конфигурациях правило обмена обновляются вместе с конфигурацией
В старых Правила обмена находятся в папке установленного обновления
Нужно понимать какие у вас конфигурации
(7)Ошибка при отправке данных: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(4514)}: Ошибка получения значения свойства объекта (по имени свойства источника)
ПКО = ВидыКонтактнойИнформации (Справочник: Виды контактной информации)
ПКС = 11 (РедактированиеТолькоВДиалоге --> РедактированиеТолькоВДиалоге)
Объект = Мобильный телефон (Вид контактной информации)
СвойствоПриемника = РедактированиеТолькоВДиалоге (Булево)
ОписаниеОшибки = Поле объекта не обнаружено (РедактированиеТолькоВДиалоге)
ПозицияМодуля = Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(11150)
КСообщенияОбОшибках = 13
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(17636)}: ВызватьИсключение(НСтр("ru = 'Ошибка при отправке данных'") + ": " + ОписаниеОшибки());
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(17196)}: ВыполнитьВыгрузкуЗарегистрированныхДанных(ЗаписьСообщения, СтрокаСообщенияОбОшибке, ТаблицаПравилВыгрузкиИспользуемые);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2227)}: ВыполнитьВыгрузку();
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(7124)}: ОбработкаОбменаДаннымиXML.ВыполнитьВыгрузкуДанных();
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6897)}: ЗаписатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена.ИмяФайлаСообщенияОбмена());
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(381)}: ВыполнитьОбменДаннымиЧерезФайловыйРесурс(СтруктураНастроекОбмена, ТолькоПараметры);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(3888)}: ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы(Отказ, УзелИнформационнойБазы,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(34)}: ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
{(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4879)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(969)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(959)}: ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
Что еще странно, в отладке я натыкаюсь на другую ошибку, "Значение не является значением объектного типа (ПКО)". Это поиск ПКО по неопределено, что связано с удаленными справочниками
1) Конфигурацию базы данных обновили? Просто если обновленная конфигурация (без сторонних справочников), ругается на них, то значит с БД возможно проблема. Подробнее тут можно глянуть https://youtu.be/MJcJOyrX-uE 2) Если никак не получается сделать синхронизацию, то как вариант, можно либо править код, с учетом этих справочников.
3) Либо через КД создать новые. То есть, вы берете обновленную пустую конфигурацию (без сторонних справочников) оригинал. Берете вашу текущую конфигурацию (со сторонними справочниками). Настраиваете в КД правила обмена. Но это треш.
Правила, которые сейчас лежат в базе корректные. Я ума не приложу откуда вылазят эти ошибки. Т.е. в текущих правилах нет тех ПКО и ПКС на которые ругается конфигурация.
1. Удалить все настройки синхронизации из обеих баз;
2. Полностью очистить кэш, удалив руками папки 1с в AppData;
3. Заново настроить синхронизацию данных начиная с конфигурации БП.
И будет Вам счастье)
Камнями не кидайте, если не подойдут рекомендации)
(17) Спасибо, я рад любым советам, потому как уже целый день с этим вожусь. К сожалению ваши рекомендации это первое, что я сделал и они не помогли.
Я в принципе даже понимаю ошибку, но не знаю как ее исправить.
Система пытается включить в сообщение обмена справочники, которые были в нетиповой версии, до обновления, и которых нет сейчас в конфигурации. Но я не знаю откуда настройки синхронизации берут эти данные о наличии справочников, чтобы это исправить..
(20) Я создаю новую настройку (не могу ее закончить из-за ошибок), так что сейчас пока ничего. Но этих проклятых справочников нет даже в списке объектов конфигурации в настройках регистрации обмена.
Недавно встречал такую же ошибку при обмене между розницей и БП 3.0
Суть в том, что на стороне БП 3.0 в справочнике ВидыКонтактнойИнформации удален реквизит "РедактированиеТолькоВДиалоге", который используется в правилах обмена.
Самый простой способ, как исправить ошибку не редактируя конфигурацию - создать расширение и добавить в справочник ВидыКонтактнойИнформации новый реквизит "РедактированиеТолькоВДиалоге" с типом булево, сделать нужно на той базе, где возникает ошибка. Ошибка появляться не будет (проверено).
Или же просто найти последние правила обмена (должны храниться в самой БП), в них должны отсутствовать ПКС этого реквизита, для проверки можно их распаковать и через Ctrl+F попытаться найти упоминание удаленного реквизита.
(23) Вот здесь (скриншот) как я понимаю правила обмена между ЗП и БУХ. Ошибка возникает даже при первичной выгрузке, т.е. структура метаданных бухи не должна влиять на это. Более того в бухгалтерии все эти реквизиты и справочники остались, они там все есть. В ЗУПе их действительно нет да и быть не должно.
Правила из ЗУП я загрузил в конвертацию там нет упоминаний о тех справочниках, на которые ругается синхронизация. Можно конечно добавить все справочники (еще и документы) на которые ругается синхронизация, но это жуткий костыль. Я бы хотел понять откуда синхронизация берет правила обмена, потому как в макете этих правил нет.
В этой публикации https://infostart.ru/public/697808/ есть упоминание, что правила можно загрузить в режиме предприятия. Может вы знаете куда при этом они загружаются, ну ведь явно не в конфигурацию.
Проверьте Справочник ВидыКонтактнойИнформации. Сравните его с типовым. Например, сформировав Универсальный отчет или через консоль запросов. Проверьте, как установлены свойства. Одно из свойств не установлено. Его нужно установить - обработкой - Групповое изменение реквизитов объектов или программно.
(24) У меня и так типовая база. Проблема не только в этом справочнике. Синхронизация ругается на отсутствие добавленных лично мною справочников, которых сейчас нет, потому как я загрузил типовую конфигурацию.
Т.е. ПКО этих справочников остались где то в базе, но их точно нет в макете плана обмена. Я думаю, что решение будет в том, чтобы найти эти правила и исправить их.
Еще вариант - как посмотреть установки реквизитов в справочнике: Еще - Изменить форму, добавить реквизиты, отметить галочками. И далее уже сравнивать с типовой базой.
Короче ларчик открывался достаточно просто. В моей базе не использовались типовые правила конвертации и регистрации. После изменения этой настройки синхронизация перестала вылетать с ошибкой.
Но данные все еще не грузятся. У меня задана граница январь 2020. Я создал отражение зарплаты в бухучете от января, но этот документ не переносится. При этом события отправки и получения данных сообщают, что все ок - 1 объект выгружен и 1 загружен
PS: здесь тоже было просто, у меня стояла дата запрета загрузки от 1 января и судя по всему это значит что не выгружаются не только документы страше 1 января, но вообще все январские