Соответствие объектов информационных баз 1с как отключить
В блоке БСП, есть регистр сведений, хранящий информацию о связях между объектами баз, участвующими в обмене.
Случаются ситуации, когда возникают неверные связи. Они влекут за собой ошибки при обмене - к примеру - " (132:a459000e0c4e596e11e41917c6dc8625)"
А связано это с тем, что в базе источнике, в этом регистре, есть связь с объектом базы приемника, и поэтому он выгружается по ссылке.
И в случае отсутствия соответствующей записи в базе приемника, случаются проблемы.
Данная обработка упрощает поиск и удаление неверных записей.
Как работать (Будем называть базу источник - БИ, базу приемник БП):
1. В БИ открываем обработку и выбираем узел обмена. ТЧ заполняется всеми записями по данному узлу.
2. Выгрузка данных ТЧ, для анализа в БП возможен двумя способами:
а) В файл (указываем в шапке обработки) - команда "Выгрузить в файл"
б) В строку (пользуемся в том случае, если работа с файловой системой невозможна - безопасный режим, например) - команда "Выгрузить таблицы в строку"
3. Открываем обработку в БП, выбираем узел
4. Указываем путь к файлу, либо вставляем в поле "Текст строки", значение из БИ.
5. Выполняем соответствующую команду "Загрузить из файла" или "Загрузить таблицу из строки".
6. Выполняем команду "Удалить неверные записи", в этот момент происходит анализ таблиц регистров баз.
В случае, если для текущей записи из БП (текущей базе) не обнаружено соответствие из БИ, запись удаляется.
7. Проверяем результат выполнения, выполняем команду "Сохранить изменения" - производится перезапись данных регистра.
Далее, возвращаемся к пункту 2 и делаем все операции для БИ (базы источника).
В итоге в обеих базах мы получим полностью соответствующие друг другу регистры "Соответствия объектов информационных баз".
ДОПОЛНЕНИЕ
Появилась потребность не только вычищать РС от ненужных записей, но и научиться быстро сопоставлять объекты разных БД.
Из структуры регистра, понятно что добавив к определенному объекту сведения (ГУИД) объекта из другой базы, можно избежать проблем сопоставлении объектов на лету.
Алгоритм работы с эти блоком очень похож на ранее описанный для очистки записей.
1. В БИ запускаем обработку, переходим на закладку "Сопоставление объектов".
2. Выбираем узел, выбираем тип данных которые хотим сопоставить, нажимаем "Заполнить данными БД" и получаем таблицу со всеми записями.
3. Выгружаем таблицу в файл или строку.
4. В БП открываем обработку, переходим на соответствующую закладку, выбираем узел, тип данных и загружаем таблицу.
5. В процессе загрузки таблицы, обработка проверяет наличие записей в регистре сведений по УИДу приемника.
6. В итоге, получаем таблицу данных из БИ для каждой записи которой, нужно выбрать соответствие из текущей базы. Лишние строки можно удалить.
6. Завершив сопоставление, необходимо добавить записи в регистр сведений, выполнив команду "Сохранить соответствия".
Основной функционал и дополнительный, доступен в обработке под номером 2.
Здравствуйте! с 1С дружу или нет, но не долго, требовалось сделать в типовых конфигурациях:
ИЗ Управление торговлей, редакция 11 (11.4.2.132) В
Бухгалтерия предприятия, редакция 3.0 (3.0.54.20)
перегрузку, всего того что редактировалось, корректировалось, добавлялось. Ну в общем обычная синхронизация баз.
При первом создании при синхронизации с дополнительными параметрами было то самое заветное окно для настройки соответствий объектов! Настроил, синхронизировал, и вот что обнаружил что данные дублируются. Решил проверить все это дело, что было занесено, что нет в регистр соответствие объектов информационных баз и к моему не удивлению я там ничего не обнаружил, настройку синхронизации повторял несколько раз, руки и пальцы уже в мозолях, нет настроек соответствие объектов не в УТ не в БП.
Дальше я пошел иным путем открыл в УТ Регистр соответствие объектов информационных баз и начал вносить туда в ручную,
создаю новое соответствие и передо мной возникло чудное окно! С параметрами: (сопоставляю контрагента)
Уникальный идентификатор приемника: сюда я внес УИД контрагента в базе приемник т.е БП
Уникальный идентификатор источника: тут нужно выбирать из справочника базы контрагента, выбрал.
Тип приемника: Тут я долго нагуглить не мог что нужно вносить, но мне подсказали что то, вроде, как то вот так (СправочникСсылка.Организации)
Тип источника: то же самое (СправочникСсылка.Организации)
Узел информационной базы: у меня два узла, я точно знаю какой рабочий, но на всякий случай пробовал оба. Но в первый раз ставил тот что точно знаю что это.
Уникальный идентификатор источника строкой: УИД контрагента в базе источника
Объект выгружен по ссылке: Галочка установленна я ее не трогал.
Сохраняю все это дело! Отлично одно сопоставление есть! Не долго думав над тем, а правильно ли я заполнил параметры ( Тип приемника: Тип источника: ) решил что все же с параметрам я на мудрил и нужно не (СправочникСсылка.Организации) а (СправочникСсылка.Контрагенты).
Открываю значит сопоставление, делаю исправления, сохраняю, а мне вот такая ошибка:
Несоответствие типов (параметр номер '1')
Полный текст ошибки
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
: Ошибка при вызове метода контекста (Добавить)
ОбменДанными.Получатели.Добавить(Отбор.УзелИнформационнойБазы.Значение);
по причине:
Несоответствие типов (параметр номер '1')
При чем, даже если я, просто открою сопоставление и решу его сохранить, ни чего не меняя то ошибка будет та же, а также если я решу просто его удалить то ошибка будет та же.
Подскажите это БАГ 1С ? Ведь конфигурация типовая, ошибки валятся на ровном месте.
Также помогите все же победить данную проблему, необходимо настроить соответствие данных!
Спасибо! Надеюсь не много написал, если нужна какая-то еще информация буду рад ответить!
Здравствуйте! с 1С дружу или нет, но не долго, требовалось сделать в типовых конфигурациях:
ИЗ Управление торговлей, редакция 11 (11.4.2.132) В
Бухгалтерия предприятия, редакция 3.0 (3.0.54.20)
перегрузку, всего того что редактировалось, корректировалось, добавлялось. Ну в общем обычная синхронизация баз.
При первом создании при синхронизации с дополнительными параметрами было то самое заветное окно для настройки соответствий объектов! Настроил, синхронизировал, и вот что обнаружил что данные дублируются. Решил проверить все это дело, что было занесено, что нет в регистр соответствие объектов информационных баз и к моему не удивлению я там ничего не обнаружил, настройку синхронизации повторял несколько раз, руки и пальцы уже в мозолях, нет настроек соответствие объектов не в УТ не в БП.
Дальше я пошел иным путем открыл в УТ Регистр соответствие объектов информационных баз и начал вносить туда в ручную,
создаю новое соответствие и передо мной возникло чудное окно! С параметрами: (сопоставляю контрагента)
Уникальный идентификатор приемника: сюда я внес УИД контрагента в базе приемник т.е БП
Уникальный идентификатор источника: тут нужно выбирать из справочника базы контрагента, выбрал.
Тип приемника: Тут я долго нагуглить не мог что нужно вносить, но мне подсказали что то, вроде, как то вот так (СправочникСсылка.Организации)
Тип источника: то же самое (СправочникСсылка.Организации)
Узел информационной базы: у меня два узла, я точно знаю какой рабочий, но на всякий случай пробовал оба. Но в первый раз ставил тот что точно знаю что это.
Уникальный идентификатор источника строкой: УИД контрагента в базе источника
Объект выгружен по ссылке: Галочка установленна я ее не трогал.
Сохраняю все это дело! Отлично одно сопоставление есть! Не долго думав над тем, а правильно ли я заполнил параметры ( Тип приемника: Тип источника: ) решил что все же с параметрам я на мудрил и нужно не (СправочникСсылка.Организации) а (СправочникСсылка.Контрагенты).
Открываю значит сопоставление, делаю исправления, сохраняю, а мне вот такая ошибка:
Несоответствие типов (параметр номер '1')
Полный текст ошибки
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
: Ошибка при вызове метода контекста (Добавить)
ОбменДанными.Получатели.Добавить(Отбор.УзелИнформационнойБазы.Значение);
по причине:
Несоответствие типов (параметр номер '1')
При чем, даже если я, просто открою сопоставление и решу его сохранить, ни чего не меняя то ошибка будет та же, а также если я решу просто его удалить то ошибка будет та же.
Подскажите это БАГ 1С ? Ведь конфигурация типовая, ошибки валятся на ровном месте.
Также помогите все же победить данную проблему, необходимо настроить соответствие данных!
Спасибо! Надеюсь не много написал, если нужна какая-то еще информация буду рад ответить!
1. Конфигурация узла распределенной ИБ не соответствует ожидаемой.
Самой распространенной ошибкой при использовании распределенных баз в 1с:Предприятие 8.x является ошибка "Конфигурация узла распределенной ИБ не соответствует ожидаемой". Связана она с рассинхронизацией конфигурации главного и подчиненного узла, возникать может по нескольким причинам, самая распространенная из них это динамическое обновление конфигурации. Рассмотрим основные пути решения данной проблемы, укажу способы по простоте их использования, сначала самые простые (но иногда не менее эффективные), потом более сложные:
Чистка кэша .
- При работе в режиме предприятия 1с кэширует метаданные для ускорения работы программы и при динамическом обновлении конфигурации использует их до момента перезапуска сеанса пользователя. При это могут возникать ситуации, когда после перезапуска программа не обновила метаданные из измененной, а продолжает использовать старые. В такой ситуации помогает очистка кэша, при новом запуске программа обновит метаданные. Очистить кэш можно множеством способов, приведу несколько из них:
- На мой взгляд самый простой из них это удаление базы из списка информационных баз и добавление заново под другим именем. При добавлении базы как новой в список информационных баз программа создаст новый каталог на диски для хранения кэшей к этой базе.
- Можно очистить базу удалив папки с кэшем. Папки храняться в зависимости от версии windows:
\Local Settings\Application Data\1C\1Cv82
Можно воспользоваться готовым bat-файлом для удаление файлов кэша, как это описано в этой статье "Чистка кэша 1с".
Не денамическое обновление корневого узла.
- Данный метод обноружил случайно, на просторах интернета такого способа не нашел, но помогает он очень часто и в отличии от следующих способов помогает решить проблему намного быстрее и проще. Заключается он в том, что мы еще раз меняем что либо в корне конфигурации (я чаще всего меняю синоним конфигурации, например добаляя пробел в конце синонима) и делаем при этом не динамическое обновление. После этого производим еще раз обмен из главного узла с подчиненными. В большенстве случаев, хотя и не всегда к сожалению, данный метод позволяет решить ошибку рассинхронизации конфигураций. Этот способ не всегда является эффективным, но в отличии от следующих способов позволяет быстро решить данную проблему, особенно при большом количестве узлов распределенных баз.
Перенос конфигурации в распределенный узел .
Самый распространенный способ решения данной проблемы, он почти в 100% случаев помогает решить данную проблему, опять таки замечу, что почти в 100%, т.к. у меня возникали случаи, когда переносом конфигурации из главного узла в подчиненный проблема не решалась. Данный метод заключается в переносе конфигурации из главной базы в распределенную.
Последовательность действий:
- выгружаем из центральной базы конфигурацию в cf-файл;
- отвязываем переферийную базу от главного узла, вызвав команду:
- заменяем конфигурацию переферийной базы на выгруженный в первом шаге cf-файл, для этого пользуемся меню "Загрузить конфигурацию из файла".
- Привязываем переферийную базу обратно к главному узлу РИБ, вызвав команду:
где в качестве параметра передаем главный узел распределенной базы.
Для выполнение этих действий удобнее всего воспользоваться обработкой, которую можно скачать здесь (подходит для всех конфигураций на не управляемых формах, т.к. Розница 1.0 или УТ 10.3, огромное множество аналогичных можно найти на просторах инфостарта).
Подмена хэша конфигурации в файле обмена.
- Данный метод был взят из статьи Популярные ошибки РИБ. Метод на мой взгляд довольно таки сложный и длительный, поэтому я его указываю как самый последний из вариантов решения данной проблемы, его стоит использовать только лишь в том случае, если не один из выше перечисленных способов не позволил решить проблему. Его суть заключается в том, что мы заменяем хеш конфигурации в файле обмена на правильный и тем самым обманывая программу производим обмен.
Последовательность действий:
- выполняем действия из предыдущей методики;
- выгружаем из переферийной базы файл обмена, но не загружаем его в главную базу;
- выгружаем из главной базы файл обмена, но не загружаем его в переферийную базу;
- в файле обмена из главной базы заменяем блок, содержащий информацию об изменениях конфигурации и хэши (Digest1 и Digest2), на блок хэшей из файла переферийной базы (пример см. ниже).
- производим загрузку файла из 4-го пункта в переферийную базу;
- обязательно перезаписываем файл обмена из переферийной базы (2-й пункт) этот файл не должен быть загружен при обмене в главную базу.
- для проверки делаем несколько последовательных обменов.
Если при обмене используется сжатие данных, то либо отключаем сжатие, либо сначала распаковываем файл, меняем, потом запаковываем обратно и отправляем.
Блок файла обмена из главной базы:
нужно заменить на блок файла обмена из переферийной базы (обратите внимание Digest1 у файла из переферийной базы всегда равен "00000000000000000000000000000000". )
3. Ошибка преобразования данных XML.
Предназначена для заполнения соответсвия элементов справочников в разных базах 1С при стандартном обмене (синхронизация), например если в двух базах сделали похожий элемент справочника и надо чтобы он при обмене из одной базы выгружался в нужный элемент приемник, или несколько элементов в одной базе соответствуют одному элементу в другой базе.
Есть типовая похожая обработка "Сопоставление объектов информационных баз", которая имеет мало возможностей.
1. На закладке настройки:
- выбрать "Вид справочника" из списка
- выбрать нужный "План обмена"
2. На закладке "Основная"
- В таблице "Источники" нажать "Заполнить"
заполнится список всех элементов справочника текущей базы 1С в таблицу "Источники".
На закладке настройки заполнится "Приемник Вид справочника", оставить или изменить на нужный.
- В Таблице "Приемники" нажать "Заполнить"
заполнится список всех элементов справочника базы 1С приемника в таблицу "Приемники".
Имя базы 1С, имя сервера, логин и пароль берутся из сохранённых в 1С настроек синхронизации, по которым обработка подключится к другой базе 1С и прочитает данные.
- "Найти приемник" - кнопка для поиска соответсвующего приемника в таблице "Приемники", а также раскрашиваются зелёным цветом соответствующие элементы
- "Найти источник" - кнопка для поиска соответсвующего источника в таблице "Источники", а также раскрашиваются зелёным цветом соответствующие элементы
- чтобы установить соответствие - выделите элемент в таблицах "Источники" и "Приемники" и нажмите "Установить соответствие"
- чтобы удалить соответствие - выделите элемент в таблице "Источники" и нажмите "Удалить соответствие"
В таблицах есть невидимые колонки "Источник ГУИД", "Приемник ГУИД" и др., видимость можно включить через "Ещё - Изменить форму"
Сделал чтобы сделать соотвествия справочников ПодразделенияОрганизация в базах БП и ЗУП.
В результате работы изменяется регистр сведений: "СоответствияОбъектовИнформационныхБаз" и при синхронизации данных в другую базу учитываются эти настройки соответствия.
Тестировал в:
1С:Предприятие 8.3 (8.3.15.1565)
Зарплата и управление персоналом, редакция 3.1 (3.1.12.142)
Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.75.58)
Планы:
сделать кнопку для сохранения изменений в базу приёмник.
Язык: Русский
Лицензия: Сохранять имя автора и сайт.
Версия от 16.03.2020
- Добавлены поля: Имя сервера, Имя базы, Логин, пароль для подключения через COM-соединение,
если не заполнено то берутся из сохранённых в 1С настроек синхронизации
Читайте также:
- После установки программ dr web из коробочных продуктов их можно использовать даже без регистрации однако
- Как в 1с распечатать непроведенный документ в 1с
- В каком из перечисленных типов файлов excel нет поддержки макросов
- Упражнение 5 добавьте ing play dance swim make sleep paint watch sit stand read write
- Каких программ нет на iphone