Проблемы с распределенной БД

1. SantiouS 23.03.20 21:42 Сейчас в теме
Есть основная БД, ее распределенный узел, а также копия основной БД(для тестов).
Случайно в изменили конфигурацию тестовой БД и выполнили обмен с реальным узлом распределенной БД.
В итоге получилось что конфигурация распределенной и основной бд расходится, а также номера сообщений не сходятся. Как откатить конфигурацию номера сообщений что бы обменяться с реальной бд?

UP: Если я отмечу зарегистрирую изменения в документе, что бы он попал в план обмена, то при перегрузке этого документа документы, на которые хранится ссылка в описанном мною документе тоже перенесутся или в итоге я получу "Объект не обнаружен". Тот же вопрос и о регистрах сведений, накоплений... Если не перенесется, то как мне тогда перегрузить документ и все данные связанные с ним?
По теме из базы знаний
Найденные решения
2. soft_wind 23.03.20 22:56 Сейчас в теме
так есть же какие-то стандартные команды отвязки узла и привязки его по новой
ПланыОбмена.УстановитьГлавныйУзел(Узел.Ссылка);
см. СП устанавливает/снимает гл.узел,

технология кажется такая была
1.снимаете ГУ
2.накатываете конфигурацию из главной базы
3.назначаете ГУ
SantiouS; +1 Ответить
4. dhurricane 24.03.20 09:19 Сейчас в теме
(3)
Набрать ссылок на измененные данные и прорегать все?
Да. Попробуйте по журналу регистрации с отбором по событиям группы "Данные" посмотреть в подчиненном узле, какие данные обрабатывались, и все их зарегистрировать к обмену. Включая документы, справочники, регистры и т.д., т.е. все, до чего дотянетесь.

Если у меня в документе будет ссылка на др. документы, то др. документы тоже зарегистрируются?
Нет. И движения документов тоже сами по себе не зарегистрируются.

Знаю ещё типовую 1с обработку "Регистрация изменений для обмена данными".
Именно ей рекомендую пользоваться. Она как правило включена в типовые конфигурации.
SantiouS; +1 Ответить
12. dhurricane 24.03.20 10:16 Сейчас в теме
11. SantiouS 24.03.20 10:15 Сейчас в теме
(10)

При этом загрузка осуществляется в режиме "ОбменДанными.Загрузка". Это значит, что н


Понял. В кратце если есть условный документ "Реализация", который осуществляет движения по "зависимому" регистру накопления "Регистр1" и "независимому" регистру накопления "Регистр2", то мне нужно в базе узла зарегестрировать сам документ "Реализация", после чего по регистратору зарегестрировать "Регистр1", а после уже по измерениям "Регистр2".
Таким образом, например, при использовании обработки "Регистрация изменений для обмена данными" мне нужно отборами отобрать регистрирующиеся элементы из трёх мест. Я верно понимаю?
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. soft_wind 23.03.20 22:56 Сейчас в теме
так есть же какие-то стандартные команды отвязки узла и привязки его по новой
ПланыОбмена.УстановитьГлавныйУзел(Узел.Ссылка);
см. СП устанавливает/снимает гл.узел,

технология кажется такая была
1.снимаете ГУ
2.накатываете конфигурацию из главной базы
3.назначаете ГУ
SantiouS; +1 Ответить
3. SantiouS 23.03.20 23:11 Сейчас в теме
(2) Я в тестовой БД сделал конфу как в основной БД и обновил распределенный узел, так сказать восстановил конфигурацию.
Потом обработками поменял номера входящих/исходящих сообщений - все стало перегружаться.

Проблема в том что была "подтверждена" перегрузка некоторого объема данных и они больше не передаются в главный узел.
Как мне зарегестрировать данные снова что бы передать их в главный узел?

Знаю есть метод: ПланыОбмена.ЗарегистрироватьИзменения(), но вот как мне им воспользоваться. Набрать ссылок на измененные данные и прорегать все?
Если у меня в документе будет ссылка на др. документы, то др. документы тоже зарегистрируются?
Например, у меня есть кассовый документ к которому закреплены документы чеков. Если я зарегистрирую кассовый документ, то чеки тоже перегрузятся или в итоге в основном узле я получу "Объект неопределен"?

Знаю ещё типовую 1с обработку "Регистрация изменений для обмена данными". Наверное с помощью нее все выбирать и регистрировать?
4. dhurricane 24.03.20 09:19 Сейчас в теме
(3)
Набрать ссылок на измененные данные и прорегать все?
Да. Попробуйте по журналу регистрации с отбором по событиям группы "Данные" посмотреть в подчиненном узле, какие данные обрабатывались, и все их зарегистрировать к обмену. Включая документы, справочники, регистры и т.д., т.е. все, до чего дотянетесь.

Если у меня в документе будет ссылка на др. документы, то др. документы тоже зарегистрируются?
Нет. И движения документов тоже сами по себе не зарегистрируются.

Знаю ещё типовую 1с обработку "Регистрация изменений для обмена данными".
Именно ей рекомендую пользоваться. Она как правило включена в типовые конфигурации.
SantiouS; +1 Ответить
5. SantiouS 24.03.20 09:27 Сейчас в теме
(4) В обработке "Регистрация изменений для обмена данными" нет возможности "набрать" ссылок.
Есть возможность взять тип документа и отборами выбрать массив документов.
Мне в каждый предполагаемый тип входить и отбором выставлять настройки?
6. dhurricane 24.03.20 09:38 Сейчас в теме
(5) Видимо так. К сожалению, мне не известны альтернативы, может кто-то другой подскажет.
7. SantiouS 24.03.20 09:47 Сейчас в теме
(6) Если например у меня "Реализация" сделала запись в РН "ТоварыНаСкладах" и я ее уже перегружал в основную БД, а теперь снова регистрацией захвачу ее же, то в основной БД она за дублируется?
8. dhurricane 24.03.20 09:53 Сейчас в теме
9. SantiouS 24.03.20 10:03 Сейчас в теме
(8) А как оно определить перезаписывать или нет, если, например, документ делает движения по независимому регистру и я снова выберу его "перегружать"?
Перезапишет в случае, если данные "Измерений" совпадут, как я понимаю. Немного путаюсь, простите...
10. dhurricane 24.03.20 10:08 Сейчас в теме
(9) Мы же говорим про документ, не про регистр. При загрузке документа будет осуществлен поиск в базе по ссылке (уникальному идентификатору). Если документ в базе-приемнике по ссылке будет найден, он будет перезаписан, если нет, то создан новый.

При этом загрузка осуществляется в режиме "ОбменДанными.Загрузка". Это значит, что никакие сопровождающие данные, никакие движения не обновляются. Только сам документ.

Если нужно обновить и его движения, значит нужно регистрировать и наборы записей регистров. Аналогично и для независимых регистров сведений, с той разницей, что отбор для регистрации осуществляется не по регистратору, а по значениям измерений.
11. SantiouS 24.03.20 10:15 Сейчас в теме
(10)

При этом загрузка осуществляется в режиме "ОбменДанными.Загрузка". Это значит, что н


Понял. В кратце если есть условный документ "Реализация", который осуществляет движения по "зависимому" регистру накопления "Регистр1" и "независимому" регистру накопления "Регистр2", то мне нужно в базе узла зарегестрировать сам документ "Реализация", после чего по регистратору зарегестрировать "Регистр1", а после уже по измерениям "Регистр2".
Таким образом, например, при использовании обработки "Регистрация изменений для обмена данными" мне нужно отборами отобрать регистрирующиеся элементы из трёх мест. Я верно понимаю?
12. dhurricane 24.03.20 10:16 Сейчас в теме
13. SantiouS 24.03.20 12:50 Сейчас в теме
(12) Все сделал, но не без косяков. Есть документ "Касса" в котором есть ТЧ с документами "ЧекиККМ", "ПриходныеКассовыеОрдера" и т.д.
Вообщем первый раз зарегистрировал сам документ "Касса" и только "ЧекиККМ" - перегрузил в основную БД. В результате получил док, но в месте "ПриходныеКассовыеОрдера" получил "ОбъектНеНайден". Решил регистрацией изменений выбрать еще "ПриходныеКассовыеОрдера" и перегрузил их - перегрузилось, но данные в самом документе естественно не обновились.
Потом попытался снова перегрузить просто документ "Касса" - не помогло - все равно ссылки в документе "битые".
Не критично, но интересно, можно мою ошибку при перегрузке теперь как то исправить?
14. dhurricane 24.03.20 13:29 Сейчас в теме
(13)
Решил регистрацией изменений выбрать еще "ПриходныеКассовыеОрдера" и перегрузил их - перегрузилось, но данные в самом документе естественно не обновились.
Нет, это не естественно. Должны были появиться. Стало быть либо не загрузились, либо Вы не то выгрузили.
15. SantiouS 24.03.20 13:40 Сейчас в теме
(14) Снова выгрузил - все хорошо. Моя ошибка.
Не подскажете как это работает? Получается у меня есть док "Касса" с ссылкой на документ "ХХХ", которого нет в БД.
Потом я выгружаю с распределенной БД этот док. ХХХ и при сохранении в основную БД у него, как я думаю, становиться другая ссылка, а в ПКО останется старая ссылка, либо при сохранении с файла обмена документа проверяются все таблицы на наличие данной ссылки, и если она есть то и ссылка в самом документе заменяется на новую соответствующую документу "ХХХ".
Не понятно как оно "связалось"
16. dhurricane 24.03.20 14:04 Сейчас в теме
(15) Документ "Касса" со ссылками как загрузился, так и остается. Когда Вы его открываете, платформа по указанным ссылкам на приходные ордера формирует запрос к БД для получения даты и номера, чтобы сформировать представление документа. Но приходных ордеров в базе по данным ссылкам нет, поэтому в качестве представления выводится надпись "<Объект не найден [Ссылка]>. Так происходит всякий раз, как вы открываете документ "Касса". Ссылки на приходные ордера так и остаются в нем, просто представление ссылок такое.

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

После того, как загрузка произведена, Вы вновь открываете документ "Касса". Как я писал в первом абзаце, ссылки из него никуда не деваются, документ не меняется. Платформа вновь по указанным ссылкам пытается запросом получить даты и номера приходных ордеров. Но теперь ей это удается, т.к. документы загружены. Следовательно формируется и отображается пользователю корректное представление документов, а не "битая ссылка".

Если Вы каким-либо образом опять удалите приходные ордера в базе, при том без контроля ссылочной целостности, Вы вновь увидите "битые ссылки". Сам документ "Касса" не меняется, но по указанным в нем ссылкам на приходные ордера вновь платформа не сможет получить номер и дату, а значит и сформировать правильное представление документов.
17. SantiouS 24.03.20 14:12 Сейчас в теме
(16)
ров в базе по данным ссылкам нет, поэтому в качестве представления выводится надпись ". Так происходит всякий раз, как вы открываете документ "Касса", и ссылки на приходные ордера так и остаются в нем, просто представление ссылок такое.

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


Получается ссылка на документ "Касса" в головном узле распределенной базы и в подчинённых узлах будет идентична?
Я мыслил в сторону того, что создается новый документ - заполняется данными из файла выгрузки и записывается, в результате чего получая совершенно другую случайную ссылку.
Если ссылки одинаковые, то все понятно. Спасибо за объяснение.
Я вот почитал пару статей о том "что такое ссылка" и понимаю ее как уникальный идентификатор GUID, который является отдельным столбцом БД и назначается по сути платформенно при записи, ведь в принципе никогда не нужно при записи заполнять GUID. Клоню к тому что мне не понятно как с xlsx файла загрузился документ в основную БД с сохранением ссылки на него. Помогите осознать пожалуйста. Очень хочется разобраться)
18. dhurricane 24.03.20 14:28 Сейчас в теме
(17)
Получается ссылка на документ "Касса" в головном узле распределенной базы и в подчинённых узлах будет идентична?
Да.

Я вот почитал пару статей о том "что такое ссылка" и понимаю ее как уникальный идентификатор GUID, который является отдельным столбцом БД и назначается по сути платформенно при записи, ведь в принципе никогда не нужно при записи заполнять GUID.
Все верно. Заполнять самому как правило не нужно, но порой такая необходимость возникает (в частности при синхронизации данных), и платформа для этого предоставляет инструменты.

Клоню к тому что мне не понятно как с xlsx файла загрузился документ в основную БД с сохранением ссылки на него.
Не понял. Мне казалось, мы говорим про РИБ. Откуда Excel? :-)
19. SantiouS 24.03.20 14:33 Сейчас в теме
(18)
Не понял. Мне казалось, мы говорим про РИБ. Откуда Excel? :-)


Простите, - xml. Выгружается файлик, а в другом месте загружается :)

Получается при сохранении документа по сути можно указать GUID аналогичный GUID из загруженной БД. Очень интересно. Не подскажете направление функций и процедур, которыми это можно делать. Хотелось бы изучить.

И ещё, все же есть вероятность что в основной бд уже создали документ и платформа дала ему аналогичный GUID, как пришел в файле, в таком случае данные нещадно затрутся? Я понимаю что вероятность, наверное, крайне мала, но все же.
20. dhurricane 24.03.20 14:38 Сейчас в теме
(19)
Получается при сохранении документа по сути можно указать GUID аналогичный GUID из загруженной БД. Очень интересно. Не подскажете направление функций и процедур, которыми это можно делать. Хотелось бы изучить.
УстановитьСсылкуНового() - метод ссылочных объектов, позволяющий указать задать нужную ссылку новому объекту.

Простите, - xml. Выгружается файлик, а в другом месте загружается
Вот в этом файле можно найти ссылки в виде уникальных идентификаторов.

И ещё, все же есть вероятность что в основной бд уже создали документ и платформа дала ему аналогичный GUID, как пришел в файле, в таком случае данные нещадно затрутся?
Да, если речь про документы одного типа.
SantiouS; +1 Ответить
21. SantiouS 24.03.20 15:23 Сейчас в теме
(20) Понял, спасибо большое. Очень рад что на форуме есть такие крутые 1с-ники. Может Вы себя таким и не считаете, но знайте что я думаю именно так :) Спасибо !)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот