Имя: Пароль:
1C
1С v8
РИБ. Регистрация изменений для объектов (ручное)
,
0 new_hope
 
12.02.20
17:17
Подскажите, научите - вернее, направьте на путь правильный:

Есть РИБ база. Главный узел, в котором почти всем объектам конфигурации запрещена АвтоРегистрация изменений (кроме некоторые, которые по логике должны быть одинаковыми в Главной и Периферийных базах).
В Перифреийной базе - наоборот - почти все объекты с авторегистрацией. (Вся информация из периферии должна попадать в главный узел).

Сейчас возникла задача - !некоторые! документы (на усмотрение пользователя) - должны мигрировать из Главного узла в Периферийный, то-есть на определенном этапе нужно делать Регистрацию изменений (в "ручном режиме", скажем так).

Вот теперь у меня вопрос - Документ, который нужно зарегистрировать для "переноса" в Периферийную базу, у которого есть куча реквизитов (и табличных частей с реквизитами, и движений всевозможных регистров этим документом) - реквизиты - ссылочного типа... движения.. Все эти "сылки", "движения" регистров - у этих всех объектов также запрещена АвтоРегистрация. И всех этих данных может не существовать в Периферийной базе !!!

Так вот: Если я зарегистрирую изменения для документа - мне нужно по логике регистрировать изменения для всех этих реквизитов (даже если я их не изменял)??? Задача - В узле приемнике - получить этот документ со всеми реквизитами и движениями этого документа. Какой должен быть мой путь, что-бы в Периферийной базе получить все, без "Объект не найден" - вместо реквизитов, и все движения этого документ?
1 pechkin
 
12.02.20
17:30
либо каждый раз регистрировать все реквизиты вместе с документом.
либо после загрузки определять чего не хвататет и посылать сигнал  в другой узел о необъодимости выгрузки (какой нибудь доп регистр сведений)
2 new_hope
 
12.02.20
17:36
(1) То-есть при регистрации документа - нужно дополнительно "пройтись" по всем реквизитам ссылочного типа этого-же документа, которых может не существовать в Периферийном узле, и также зарегистрировать их? То-же нужно делать с движениями документа? Верно я понял?
3 pechkin
 
12.02.20
17:41
да
4 Cyberhawk
 
12.02.20
17:43
А использовать типовой подход - все выгружается заранее по принципу "вдруг понадбится" почему не используешь?
5 ЧессМастер
 
12.02.20
17:47
(2) Ты можешь не грузить те объекты которых нет в Периферийном узле и тогда после загрузки получишь сообщения "Объект не найден".

Но зачем пробегаться по реквизитам ? Поставь авторегистрацию на справочники и все.

Нужно передать документ - регистрируешь его вручную. А справочники пусть будут всегда.
6 new_hope
 
12.02.20
17:51
(5) Так нельзя, по логике работы - нельзя сделать. Авторегистрация - не вариант вообще.

Интересно - может существует механизм, который - скормить ему ссылку - а он зарегистрирует все объекты которые "внутри" этой ссылки ? :-)
7 Cyberhawk
 
12.02.20
17:52
Твоя задача по-простому в наскок не факт что решается.
Ибо по ссылкам может вытянуться полбазы.
8 new_hope
 
12.02.20
17:54
(7) Я это уже и сам понимаю, но я четко знаю, где нужно остановиться. Главное, что я уже сейчас понял все.

Кстати - движения документа также нужно в ручном режиме регистрировать?
9 ЧессМастер
 
12.02.20
17:54
(6) "может существует механизм, который - скормить ему ссылку - а он зарегистрирует все объекты которые "внутри" этой ссылки"

Это делается легко с использованием Метаданных.
10 ЧессМастер
 
12.02.20
17:56
(8) "движения документа также нужно в ручном режиме регистрировать"

Конечно.
Иначе ты получишь в Периферийной базе документ без движений.
11 Immortal
 
12.02.20
18:10
(8) кури обработку ВыгрузкаЗагрузкаДанныхXML
12 new_hope
 
20.02.20
12:07
(11) Да... именно сейчас и начал ее смотреть!
Ее можно использовать (переделав) для регистрации объектов на обмен, вместо выгрузки в ХМЛ.. Не дурной путь я выдумал?
13 Михаил Михайлович
 
20.02.20
12:17
(12) дурной
14 new_hope
 
20.02.20
12:50
(13) А как тогда? Как зарегистрировать все объекты на обмен (необходимые), и не упустить ничего?
Какой есть еще вариант?
15 catena
 
20.02.20
12:53
(14)Взять документ, обойти метаданные, обойти метаданные ссылочных реквизитов.
16 pechkin
 
20.02.20
12:55
(6) такая процедура пишется за полчаса
17 new_hope
 
20.02.20
14:14
(15)(16) вся проблема в том, что я описал выше - НЕ все можно переносить из базы в базу (не все объекты ссылочных типов, которые являются реквизитами документов). По всем объектам стоит запрет авторегистрации... Только объекты и реквизиты на выбор во всем дереве документов и иго подчинений.

Сейчас пользуются ручным переносом документов, используя обработку ВыгрузкаЗагрузкаДанныхXML, которая отлично справляется... где пользователю запрещено самому расставлять "галочки" что переносить - галочки "при необходимости". Движения да - нужно переносить абсолютно все.
18 catena
 
21.02.20
07:02
(17)Чтобы получить без "Объект не найден", вам придется либо регистрировать все ссылочные реквизиты всех ссылочных реквизитов, либо собраться с силами и определиться, что делать с теми ссылками, которые связаны с выгружаемым документом, но запрещены к переносу.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс