#0
by brato4karik
Подскажите как бы мне так обновиться что бы после обновления центра не делать выгрузку в почку базы. или сделать но что бы документы не перенеслись. До этого я обновлял так. Обновлял центр, делал сохранение конфы(*.cf) на почке применял самописную обработку ("опривязку базы") она выставляла код базы владельца в неопределенно и тога можно было накатить выгруженную конфу. В результате мы получали 2 идентичные базы. Все было 2 обновления подряд хорошо, до сегодняшнего:( щас при выгрузке сообщает что базы не равны и произведите выгрузку из центральной базы. (обновлялся с 1,6,25,6 до 1,6,25,9)
#2
by mikecool
не понимаю - в чем проблемы? проведи нормально обмен с почкой, загрузи в корень ответ
#3
by brato4karik
ааа не понимаю до конца , как это сделать и где??, как настроить план обмена что бы не выгружались данные базы а только объекты конфигурации
#5
by brato4karik
ну я вижу в конфигураторе в плене обмена(состав) там есть регистрация (либо да либо нет) вопрос в том если я выставлю все в "нет" в почку попадут изменненые объекты конфигурации а данные по этим объектам нет, правильно я понимаю?
#7
by Живой Ископаемый
Синтаксис: УдалитьРегистрациюИзменений(<Узлы>, <Данные>) Параметры: Тип: ПланОбменаСсылка.<Имя плана обмена>; Массив. Одиночное значение типа ПланОбменаСсылка.<Имя плана обмена> или массив таких значений, показывающие для каких узлов удаляются записи регистрации изменений. Тип: Метаданные, Неопределено; УдалениеОбъекта; Число; <Данные>. Значением данного параметра может быть объект метаданных, объект, представляющий данные, хранимые в базе данных, такой как документ, элемент справочника, счет бухгалтерского учета, менеджер записи константы, набор записей регистра и т. п., ссылка на объект базы данных, а также Неопределено. Если указан объект метаданных, то записи регистрации изменений будут удалены для всех элементов данных, относящихся к указанному объекту метаданных. Объект метаданных должен входить в состав планов обмена всех узлов, указанных в первом параметре. Если указан УдалениеОбъекта, то удаление записи регистрации изменений выполняется для объекта базы данных, на который "указывает" ссылка, содержащаяся в объекте УдалениеОбъекта. Если указан объект представляющий данные, хранимые в базе данных, или ссылка, то записи регистрации изменений будут удалены только для указанных данных. Объект метаданных, соответствующий данным должен входить в состав всех планов обмена всех узлов, указанных в первом параметре. Если указано Неопределено или не указан, то в качестве первого параметра может быть указан только одиночный узел. И в этом случае записи регистрации изменений будут удалены для всех объектов, метаданные которых входят в состав плана обмена, к которому относится узел, указанный в качестве первого параметра. Если в качестве первого параметра указан одиночный узел, то в параметре может быть указан номер сообщения. В этом случае метод УдалитьРегистрациюИзменений удаляет из всех таблиц регистрации изменений все записи относящиеся к указанному узлу, у которых номер сообщения меньше или равен значению второго параметра. Значение по умолчанию: Неопределено Описание: Удаляет записи регистрации изменений одного или группы элементов данных для одного или нескольких узлов планов обмена. Доступность: Сервер, толстый клиент, внешнее соединение. Пример:
#9
by rs_trade
к чему такие заморочки. Есть обработка стандартная в составе КД2 РегистрацияИзмененийДляОбмена. Ей и пользуйся
#11
by brato4karik
отлично, сделаю я сейчас выгрузку из центра в почку, базы синхронизируются. применю я этот код(как во внешней обработке?, допустим да в ней), что произойдет?
#12
by Живой Ископаемый
У тебя удалится регистрация изменения конткретно этого объекта - в данном случае элемента спраивочника Валюты с кодом 810 - то есть даже если он изменился, он не уйдет в перефирию... Тебе же нужно сделать что - удалитть регистрацию всех данных кроме обновления конфы.
#13
by Живой Ископаемый
одна строчка кода - которая удалит регистрацию изменеий всех объектов - это ПланыОбмена.УдалитьРегистрациюИзменений(Узел); //тут одичноный узел, и без второго параметра... "Если в качестве первого параметра указан одиночный узел, то в параметре может быть указан номер сообщения. В этом случае метод УдалитьРегистрациюИзменений удаляет из всех таблиц регистрации изменений все записи относящиеся к указанному узлу, у которых номер сообщения меньше или равен значению второго параметра. " единственное что - удалится ли при этом регистрация изменения конфы - думаю нет.. но даже если удалится - еще раз ее как-то изменишь, чтобы изменения конфы зарегились
#14
by brato4karik
ну да, есть база А(она почка) в ней ведуться доки, выгружаються в центр(база В) там они могут переделываться или же соддаваться др, база А только выгружала база В только принимала. Я базу В обновил, система ясное дело теперь не может принять ниче от базы А пока она не станет одинаковой с базой В. Вот теперь вопрос как мне этот код правильно применить что бы сделать одну выгрузку в базу А что бы она ее прохавала и могла как и до этого отпралять выгрузки в В а та их читать.
#15
by Живой Ископаемый
короче, алгоритм должен быть примерно такой: а) Делаешь обмен - то есть выгружаешь доки из А в В. После этого пользователи в А не работают и документы не изменяют и новых не вносят - до конца алгоритма. б) Очищаешь регистрацию всех изменеи й в базе В для Узла А - строчка код . После этого в базе В до конца алгоритма юзеры не вносят изменения в) ставишь в настройкие обмена базы В с базой А галку "выгружать" г) производишь обмен в базе В - то есть загружаешь доки полученные пунктом а) и ВЫГРУЖАЕШЬ в базу Б квитанцию о том, что все пришло! д) В базе Б загружаешь эту квитанцию ж) Обновляешь центр - базу В з) Делаешь обмен в базе В - уходят изменения конфы в базу А, никакие данные не уходят бикоз пункт в) и) Загружаешь изменения конфы в базу А к) Думаешь как тебе вообще изменить работу чтобы не было такого гемороя при каждом обновлении Возможно где-то что-то можно скратить На том шаге что ты есть сейчас - то есть с уже обновленной базой, тебе нужно в режиме предприятия в базе В удалить регистрацию изменений и поставить в настройке галку "выгружать" - чтобы изменения конфы ушли в "почку"
#16
by Живой Ископаемый
Можно конечно вообще все сделать по-другому... Периферию отвязать от РБД, обновить конфу в ней вручную, потом обартно вернуть узел в подчиеннное состояние - в РБД
#17
by brato4karik
я так и сделал в самом начале отвязвл базу, накатил на обе базы обновления, привязал базу, выгрузил из А в В, а "В" сказала что не могу принять, не зарегестрированы изменения. вот и все дела:(, хотя до этого такая схема проходила
#18
by Живой Ископаемый
а... тогда нужно было удалить регистрацию изменений конфы... может быть той же самой строчокой кода - тут не знаю наверняка, нужно пробовать
#19
by Живой Ископаемый
Почему-то не нахожу нигде инфы - удаляет ли строчка из также и измение конфы... По идее должна, но нужно пробовать
#20
by brato4karik
тогда я так понимаю надо будет на каждой базе выполнить удаление регистраций изменений где "B02" код базы в плане обмена, предварительно отвязв ее а потом привязать обратно к центру. и на центре Узел = ПланыОбмена.Полный.НайтиПоКоду("B01"); ПланыОбмена.УдалитьРегистрациюИзменений(Узел);
#21
by Живой Ископаемый
в базе регистрируются изменения не для этого узла, а для центра(в случае перфирии)/всех остальных(случае центра)... Поэтому во всех переифриях : а в центре:
#22
by Живой Ископаемый
кстати, раз у тебя перфири не получали подтверждения от центра что изменения окументов загружены - у тебя файлы обменов должны были постоянно расти и никогда не уменьшаться.... Как ты жил с этим?
#23
by brato4karik
да я понимаю пока не достигли катастрофических размеров, но чувствую что надо будет с этим бороться, если повесить этот код в регламентрное задание ну скажем раз в неделю, то уйдем от проблеммы?
#24
by Живой Ископаемый
2 какой проблемы - эскалации размеров файлов обмена? просто купи эту книгу: и почитай ГЛАВА 15. СОЗДАНИЕ РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ Планы обмена Универсальный механизм обмена данными Распределенные информационные базы Использование транзакций при организации обмена Методика включения в сообщение обмена дополнительной информации <code> Организация одностороннего обмена </code> Примеры реализации автоматического обмена данными
#26
by brato4karik
Вот щас ругается так Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Данные принимаются от узла, для которого зарегистрированы изменения конфигурации.
#27
by Живой Ископаемый
да, удалять регистрацию... Но лучше не регламентным заданием - а в какой-то момент при обмене.. Или например сам файл загружать но данные из него - нет.. В общем все есть в
#29
by brato4karik
но на почку я применил обработку и нифига, сами базы идентичные сравнивал сравнение конфигураций.
#30
by Живой Ископаемый
блин, дядька, ты вообще не понимаешь РИБ... это не упрек, это предостережение... сейчас наделаешь чего-то и кто потом разгребать? Удалить регистрацию нужно в центре - потому что именно в центре ты обновился... И для узла перефирии вся конфа помечена как изменная. - ну как это можно до сих пор не понять? о чем мы до сих пор тут говорили?
#32
by Живой Ископаемый
конфы могут быть хоть трижды одинаковые - но в таблицах РИБ есть запись - что конфа изменена для этого узла.
#33
by brato4karik
да я понимаю это, я удалил регистрацию получаеться сейчас на обоих базах, не должно щас быть что для них такая ситуация что ни в какой базе нет изменений и все хорошо
#34
by Живой Ископаемый
хм.. выходит не удаляет регистрацию изменеия конфы... и тогда твой путь - длиный -
#35
by brato4karik
вот вот, не удаляет я конечно не проффи но сделать это нужно оч:(( сорри что мозг рушу
#36
by brato4karik
могу ли я щас очистить регистрации на обоих базах и выполнить полный обмен?? тогда утвердяться изменения конфы а доки не перенесуться?? правильно я понял??
#40
by Живой Ископаемый
а ты убедился что изменения (документов) действительно удалились? В типовых вроде можно посмотреть какими-то встроенными средствами :)
#41
by brato4karik
неее как раз хотел это спросить, мол как посмотреть реально ли удалились изменения
#42
by brato4karik
копирую базы навсяк крайний, вот еще вопрос до кучи файлы логов чегото разрослись, можно их бахнуть?
#43
by Живой Ископаемый
Опять же - СП... смотришь чтобы выборка изменений у тебя была пустой На infostarte, котрый нынче на обеде обработок которые показывают это - вагон Синтаксис: ВыбратьИзменения(<Узел>, <НомерСообщения>, <ФильтрВыборки>) Параметры: Тип: ПланОбменаСсылка. Узел, для передачи в который отбираются изменения. Тип: Число. Номер сообщения обмена данными, в который будут помещены выбранные изменения. Тип: Неопределено; Объекты метаданных; СсылкаНаОбъект, НаборЗаписей, Массив. Неопределено - фильтр пуст, выбираются все изменения по узлу; Объекты метаданных - выбираются изменения в основной таблице, связанной с данным объектом метаданных; СсылкаНаОбъект - фактически, может быть выбрана только одна запись об изменении данного объекта, либо ни одной, если объект не менялся; НаборЗаписей - набор записей регистра, может быть не выбран, для фильтрации изменений используется лишь отбор набора записей; Массив - все элементы массива имеют один из перечисленных выше типов, кроме Неопределено. Условия фильтрации соединяются по ИЛИ. Значение по умолчанию: Неопределено Возвращаемое значение: Тип: ВыборкаДанных. Описание: Формирует выборку измененные данные для передачи их в тот или иной узел плана обмена. При этом в процессе выборки изменений в записи регистрации изменений проставляется номер сообщения обмена данными, в котором должны передаваться изменения. Номер сообщения в записи регистрации проставляется для того, чтобы при подтверждении приема сообщения, в котором передавались изменения соответствующие записи регистрации изменений были удалены и в дальнейшем изменения больше не передавались. Доступность: Сервер, толстый клиент, внешнее соединение. Пример:
#47
by brato4karik
уууххх ты а как мне его терь понять, куча всего в XML как его читать то:):), текста правда на страничку всего я думаю что это заголовки разделов правда, но все таки хочеться знать точно куда глядеть
#48
by brato4karik
нашел вот такие строчки <КоличествоЭлементовВТранзакцииНаВыгрузкуДанных>0</КоличествоЭлементовВТранзакцииНаВыгрузкуДанных> <КоличествоЭлементовВТранзакцииНаЗагрузкуДанных>0</КоличествоЭлементовВТранзакцииНаЗагрузкуДанных>
#52
by Живой Ископаемый
вернее сделай вот так: Выб = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, и в отладчике - если туда заходит - посмотри... После того как ты удалил изменения, выборка должна быть пустой - зачем тебе еще ХМЛ записывать?
#53
by brato4karik
ну просто в файлике удобней а в отладчике щас не хочется, база удаленная коннект медленный
#58
by brato4karik
ну да тоже между тегов вроде нули стоят, ну уже познядняк, обмен пошел:), мин через 15 увидим результат:)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Обновление сильно правленной конфигурации. Help!
- Обновление конфигурации. Обязательно выгонять пользователей?
- Обновление БП. Не видится обновление
- ЗУП, штатное расписание, должности, категории, разряды
- Обновление 8.2 Ошибка "Не выполнено обновление информационной базы"
- Обновление конфигурации РИБ УТ 10.3
- Кто-нибудь пробовал настроить автоматическое обновление тонкого клиента в 8.3?
- Обновление УТ 11.0 РИБ
- Невозможно запланировать обновление типовой 1с БП 3.0 .Обновление по расписанию.
- Обновление после отключения от РИБ Бух 3.0
- Обновление конфигурации использующий РИБ
- Обновление платформы на узлах РИБ.
В этой группе 1С
- Регистр "Товары организаций"
- Вывести наименование по коду из MS SQL
- Присвоение нового номера при создании документа когда?
- Бух 2.0 - Платежное поручение
- OFF: Инет есть, а скорости нет = Нет Бай Нет?
- Манифест конфигурации информационной базы 1С:Предприятия 8
- Создание элемента справочника в 1С 8.2
- Прямой запрос по OLE из 1С8 в 1С77
- Отпуск по уходу за ребенком до 3-х лет (двойня) УПП
- 8.2 Изменить цвет фона текущей строки в динамическом списке с произвольным запросом
- В запросе сравнить время документов с указанным
- Бэкап средствами SQL
- Linux. Падает ragent при подключении консолью администрирования
- ЗУП: В табеле выходной не отменяет ночные часы
- Зачеркнутый текст - в корректировке счета фактуры выданной
- Реализация. Зачет аванса по нескольким документам.
- Как проверить есть ли строки в ТЧ документа?
- v7: как запустить без смены кодовой страницы под Win Serv 2008 R2
- Ошибка получения объекта COM: Интерфейс не поддерживается
- Не работает режим отладки для фоновых заданий