|   |   | 
| 
 | УТ11, подскажите с Данные принимаются от узла, для которого зарегистрированы изменения кон | ☑ | ||
|---|---|---|---|---|
| 0
    
        Холст 13.11.18✎ 13:37 | 
        1. В ПБ загружен и выгружен обмен из ЦБ, ошибок не возникло, в Конфигураторе ПБ конфигурация обновлена и больше не просит обновить, в ЦБ при загрузке выходит названная ошибка 
 Ошибка чтения файла сообщения обмена: {Обработка.КонвертацияОбъектовРаспределенныхИнформационныхБаз.МодульОбъекта(197)}: Ошибка при вызове метода контекста (ПрочитатьИзменения): Данные принимаются от узла, для которого зарегистрированы изменения конфигурации. Необходимо произвести перенос изменений конфигурации в узел. 2. по рекомендациям http://catalog.mista.ru/public/65456 провёл первый способ в ПБ, то есть отвязал ПБ от ЦБ, загрузил конфигурацию и привязал снова, выгрузил в ЦБ и та же ошибка при загрузке в ЦБ 3. открыл XML в ЦБ <v8de:Digest1>6a70a37b3258ee9d759c6d3c496abe86</v8de:Digest1> <v8de:Digest2 [v2="0f6e26b75bc66a05cdcfe4c397d75f62" Extensions="0000000000000000000000000000000000000000"]>d41d8cd98f00b204e9800998ecf8427e</v8de:Digest2> в ПБ <v8de:Digest1>00000000000000000000000000000000</v8de:Digest1> <v8de:Digest2 [v2="e24e0c39fcae7c07fb4079a25b228918" Extensions="0000000000000000000000000000000000000000"]>d41d8cd98f00b204e9800998ecf8427e</v8de:Digest2> Таким образом, Digest2 параметр совпадает, тем не менее, ЦБ не принимает. Как решить, может что упустил ? 3. Попробовал Способ 2, загрузил в ПБ исправленный файл с дайджестами ровно как в выгрузке из ПБ, ПБ отказывается загружать такой обмен, говорит Искажены изменения конфигурации! Может тут что-то не так сделал ? 4. Гипотезы что сделать ещё: 4.1 Есть ли смысл в XML от ЦБ в ПБ удалять ветки Metadata ? Может от этого в ПБ загрузится нормально ? 4.2 Может по пункту 3. не нужно переносить из файла ПБ в файл ЦБ параметр v2 ? 4.3 Может в Выгрузке из ПБ в ЦБ что-то исправить, чтобы ЦБ "признала правильной" загрузку ? Только что исправить, если Digest2 и так совпадает ? Конфигурацию в ЦБ саму с собой сравнивал, нет различий, обмены остановлены, база ПБ файловая локальная Насчет сброша кеша, где это стоит сделать если стоит и как ? | |||
| 1
    
        Фрэнки 13.11.18✎ 13:54 | 
        чем выгружаешь и по какому формату     | |||
| 2
    
        Холст 13.11.18✎ 13:58 | 
        (1) выгрузка обычным встроенным обменом в УТ11.4,  формат XML ...     | |||
| 3
    
        Фрэнки 13.11.18✎ 13:59 | 
        не вдаваясь в подробности уидов и т.д. Нарушена сама последовательность, кто центральный, кто периферийный.
 Если у тебя есть в Центральном изменения конфига для ПБ, то их таки нужно выгрузить и принять в периферийке, а затем уже отправлять обратное сообщение. А у тебя над ПБ делаются некие манипуляции, но выгрузку из ЦБ не делаешь и не принимаешь. Может и можно руками подшаманить, но зачем, если есть нормальный способ сделать все последовательно | |||
| 4
    
        Фрэнки 13.11.18✎ 14:00 | 
        получил в ЦБ сообщение с отказом принимать нечто.
 сформировал выгрузку в ПБ принял эту выгрузку в ПБ сформировал пакет для ЦБ - принял и увидел как все прошло | |||
| 5
    
        Холст 13.11.18✎ 14:05 | 
        (3) в ПБ штатно загружал, принял обновление в ПБ, но ЦБ не принимает, только потом стал извращаться со спецметодами
 (4) именно так проводил, ЦБ не принимает, в http://catalog.mista.ru/public/65456 это разжевано | |||
| 6
    
        Фрэнки 13.11.18✎ 14:08 | 
        там разжевано для сообщения другого вида     | |||
| 7
    
        Холст 13.11.18✎ 14:40 | 
        Какую строку нужно добавить в XML файла из ПБ в ЦБ, чтобы дать понять ЦБ, что конфигурация в ПБ принята и ЦБ "успокоилась" ?     | |||
| 8
    
        Serg_1960 13.11.18✎ 15:34 | 
        (0) Демоническое обновление, попробуй очистить кэш конфигурации на ЦБ.
 Для перестраховки (вместо очистки кэша) можно выгрузить конфу ЦБ и загрузить её в новую(!) пустую базу. После этого выгрузить конфигурацию из новой базы и использовать её для загрузки в ЦБ(!) и в ПБ(!). После этого провести взаимный обмен как обычно. | |||
| 9
    
        Холст 13.11.18✎ 18:41 | 
        (8) очистка кеша не помогла     | |||
| 10
    
        Фрэнки 13.11.18✎ 19:06 | 
        (9) а что ты сделал после очистки?     | |||
| 11
    
        Холст 13.11.18✎ 19:25 | 
        (10) повторно выгрузить из ЦБ в ПБ, верно ?     | |||
| 12
    
        Фрэнки 13.11.18✎ 19:26 | 
        (11) конфигурация попала в выгрузку? Что сказала ПБ на это?     | |||
| 13
    
        Холст 14.11.18✎ 02:04 | 
        (12) конфигурация попала, ПБ приняла и обновления в конфигураторе ПБ не потребовала     | |||
| 14
    
        Фрэнки 14.11.18✎ 07:56 | 
        Тогда я бы попробовал просто сбросить все зарегестриванные в ЦБ для выбранного узла изменения. Хуже не будет, а ошибка должна пропасть. Изменения из ЦБ данных прошли, т.к. ПБ их приняла без сообщений     | |||
| 15
    
        Фрэнки 14.11.18✎ 08:01 | 
        Синтаксис:
 УдалитьРегистрациюИзменений(<Узлы>, <Данные>) Параметры: <Узлы> (обязательный) Тип: ПланОбменаСсылка.<Имя плана обмена>; Массив. Одиночное значение типа ПланОбменаСсылка.<Имя плана обмена> или массив таких значений, показывающие для каких узлов удаляются записи регистрации изменений. | |||
| 16
    
        Serg_1960 14.11.18✎ 10:17 | 
        Удалять регистрацию изменений - бесполезный совет - "регистрация изменений данных" <> "регистрация изменений конфигурации".     | |||
| 17
    
        Холст 14.11.18✎ 12:07 | 
        (16) как "сказать" ЦБ, чтобы она перестала считать ПБ не обновившей у себя конфигурацию ? Либо в XML должна быть соответствующая секция, либо в самой ЦБ можно как-то изменить признак для конкретной ПБ ?  с учетом что ЦБ серверная, может проще изменить нужное значение в нужной табличке как крайний вариант либо что-то в ХМЛ из ПБ в ЦБ подправить ?     | |||
| 18
    
        Фрэнки 14.11.18✎ 12:19 | 
        (17) ну на самый крайний случай, я и такое пробовал в безвыходной ситуации (помогало) : измени что-то из структуры метаданных. Например, не важную какую константу или добавь еще одну константу - просто, что конфигуратор решил, что есть реструктуризация метаданных. Тогда он при выгрузке перезатреть эту всю инфу заново и возможно все пройдет уже успешно.     | |||
| 19
    
        Холст 14.11.18✎ 15:16 | 
        ап !! как "сказать" ЦБ, чтобы она перестала считать ПБ не обновившей у себя конфигурацию ?     | |||
| 20
    
        Serg_1960 14.11.18✎ 17:34 | 
        См. (0):
 ЦБ отправляет обновление (Digest1 = "6a70a37b3258ee9d759c6d3c496abe86") для ПБ с конфигурацией "0f6e26b75bc66a05cdcfe4c397d75f62" (значение Digest2). ПБ обрабатывает обновление, но возвращает значение Digest2 = "e24e0c39fcae7c07fb4079a25b228918" - конфигурации не идентичные. Если ЦБ получит "нужное" значение от ПБ, то ЦБ перестанет третировать ПБ обновлением и в очередном сообщении обмена от ЦБ Digest1 будет заполнен нулями, а Digest2 - значением ожидаемой конфигурации ПБ. Те-же самые значения ожидаются и от ПБ. Это всё теория, это всё - как должно быть. А на практике пока что у Вас демоническое обновление и два варианта: а) ЦБ отправляет в ПБ неверное значение "внутреннего идентификатора" конфигурации базы; б) ПБ отправляет в ЦБ неверное значение "внутреннего идентификатора" конфигурации базы. | |||
| 21
    
        Serg_1960 14.11.18✎ 17:45 | 
        Т.е, если говорить проще, то вероятность возникновения демонического обновления есть как на стороне стороне ЦБ, так и на стороне ПБ. Замечу при этом: я говорю о конфигурациях информационных баз, а не тех конфигураций, которые Вы выгружаете/загружаете.
 Имхо, в особо тяжелом случае, я бы повторил бы обновление конфигурации в новой, пустой базе с предыдущей версией конфигурации из архива рабочей базы и, используя обновленную конфигурацию как эталон, - залил бы её и в ЦБ, и в ПБ. Надеюсь не сложно сказал. | |||
| 22
    
        Холст 14.11.18✎ 17:59 | 
        (20) почему вы ориентируетесь на "предпараметр" v2, а не на реальный параметр >d41d8cd98f00b204e9800998ecf8427e< ? 
 Пока надумал две гипотезы: 1. в файле от ПБ удалить нафик препараметр v2 (не знаю как правильно в терминах XML это называть) и скормить это ЦБ, то есть в ПБ <v8de:Digest1>00000000000000000000000000000000</v8de:Digest1> <v8de:Digest2 [v2="e24e0c39fcae7c07fb4079a25b228918" Extensions="0000000000000000000000000000000000000000"]>d41d8cd98f00b204e9800998ecf8427e</v8de:Digest2> заменить на: <v8de:Digest1>00000000000000000000000000000000</v8de:Digest1> <v8de:Digest2>d41d8cd98f00b204e9800998ecf8427e</v8de:Digest2> 2. заменить препараметр v2 в ПБ на аналогичный в ЦБ по рекомендации (20) | |||
| 23
    
        Serg_1960 14.11.18✎ 21:03 | 
        (22) Вам слово "Extensions" ни на что не намекает? Пока в платформе не появились расширения, формат Digest2 соответствовал формату Digest1, они имели одинаковый формат. Когда (если) получите ошибку "Данные принимаются от узла с другим набором расширений, меняющих структуру данных" - вспомните про дополнение-расширение к Digest2.
 PS: неправда, я Вам не рекомендовал заменять параметры - это бесполезно. Я только предположил, как это должно быть при "штатной" обработке сообщений обмена с передачей изменений конфигурации. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |