Имя: Пароль:
1C
1С v8
РИБ, обновления конфигурации не переносятся, но обмен успешно идет
Ø (Фрэнки 02.03.2021 13:53)
0 kipkoalex
 
01.03.21
21:49
Доброго времени суток.
Столкнулся с очень странным поведением РИБ.
Заметил, что обработка проведения в одном из документов в центральной базе и в периферийной отличаются (в центральной "рег.Продукция= стр.Пачка.Номенклатура;", в периферийной - "рег.Продукция= стр.Номенклатура;"), хотя обмен успешно идет (но конфиурации, получается, не идентичные).
Что делал:
1. Выгружал конфигурацию периферийной, делал "Сравнение, объединение" на основной - отличий не найдено.
2. Делал в центральной изменения в другом документе, обновлял периферийную - обновления другого документа применяются, обмен идёт без проблем, изменения в обработку проведения "проблемного" документа не поступают
3. Добавлял новый документ в конфигурацию центральной, обновлял периферийную - новый документ в периферийной присутствует, обмен идёт без проблем, изменения в обработку проведения "проблемного" документа не поступают
4. Выгружал копию рабочей базы (*.bak, обе базы - SQL) на другой компьютер, делал "Сравнение, объединение" с конфигурационным файлом периферйной - отличий не найдено.
5. Снимал признак РИБ у периферийной базы, делал "Загрузить конфигурацию из файла" - обмен идёт без проблем, изменения в обработку проведения "проблемного" документа не поступают.
Единственное что я не делал - это собственно не вносил изменения в обработку проведения "проблемного" документа, т.к. тогда "парадокс" может пропасть, а я боюсь что такие вещи могут сейчас происходить и с другими объектами в конфигурации.
Прошу помощи у знающих людей - что это может быть, и что ещё стоит попробовать.
Обмен сейчас настроен через электронную почту по причине временной неработоспособности FTP сервера.
1 kipkoalex
 
01.03.21
21:59
Забыл уточнить - конфигурация «управление торговым предприятием для Украины 1.2», версия платформы - 8.3.8.1652
2 Фрэнки
 
01.03.21
22:00
А если проблемную базу из бакапа развернуть на новое место, вот на совсем новое и перепровести проблемный документ : изменится результат проведения?
3 Ёпрст
 
гуру
01.03.21
22:58
(0) расшифруйте вот это :

>>>>Заметил, что обработка проведения в одном из документов в центральной базе и в периферийной отличаются (в центральной "рег.Продукция= >>>стр.Пачка.Номенклатура;", в периферийной - "рег.Продукция= стр.Номенклатура;"), хотя обмен успешно идет (но конфиурации, получается, не >>>идентичные).

Это код модуля проведения разный или сами данные в ИБ ?
4 kipkoalex
 
01.03.21
23:08
(3) именно код модуля объекта документа
5 kipkoalex
 
01.03.21
23:18
(2) развернул bak-файл на домашнем компьютере - конфигурация соответствует периферийной. Делаю "Сравнение, объединение" с конфигурацией центральной базы - соответствуют.
6 kipkoalex
 
01.03.21
23:18
(5) *развернул bak-файл копии периферийной базы РИБ.
7 Ёпрст
 
гуру
02.03.21
01:03
(4) не верю. Если сделал загрузить измененную в ПБ, отвязанной от центра, то там конфа полностью заменяется целиком и станет равной центру один в один.
8 Ёпрст
 
гуру
02.03.21
01:04
Выгрузи конфу из центра в cf, отвяжи ПБ от главного узла, сделай загрузить измененную, сохрани, установи главный узел. Усё
9 kipkoalex
 
02.03.21
10:07
(7) вот что меня очень сильно удивило, так это то, что этот метод не помог. Писал об этом в пункте 5.
10 Serg_1960
 
02.03.21
10:38
(7) Sorry, но это общераспространённое заблуждение :( Загрузка из CF позволяет заменить конфигурацию поставщика и основную. Изменение же конфигурация БД происходит по "обычной" методике сравнения и объединения и не даёт 100% гарантию ликвидации ошибок демонического обновления.
11 Serg_1960
 
02.03.21
10:42
Имхо: нужно внести любое изменение именно в то место конфигурации, где выявлено расхождение (в тот-же самый модуль, в ту-же самую процедуру/функцию). После устранения расхождения изменение можно "откатить".
12 Фрэнки
 
02.03.21
10:44
(10) нет. Конфа БД перезаписывается из текущей.
13 Serg_1960
 
02.03.21
10:58
(12) Нет, не "перезаписывается" - сравнивается (например, сравнением версий) и объединяется (например, заменой измененных) объектов метаданных (модули/функции/процедуры в т.ч.). Не важно как именно изменялась основная конфигурация (обновление/объединение/загрузка) - а конфигурация БД обновляется по своей единой методике сравнения и объединения.
14 Фрэнки
 
02.03.21
11:01
(13) не придумывай ерунды
15 kipkoalex
 
02.03.21
11:02
(11) да, я более-менее уверен, что если я даже тупо перепишу "проблемную" строчку обработки проведения как мне нужно то всё в периферийной станет хорошо, вот только у меня нет уверенности, что подобная проблема не закралась ещё в каком-то месте конфигурации. И выявить эту проблему я даже не знаю как, ведь "Сравнение и объединение" конфигураций показывает, что они идентичные...
16 Фрэнки
 
02.03.21
11:02
Применить текущую конфигурацию? Ответил "да" и все - никакого там сравнения и прочей ереси. Перезапись. Дальше реструктуризация таблиц
17 Фрэнки
 
02.03.21
11:02
(15) кэши чистил?
18 Serg_1960
 
02.03.21
11:05
(15) Попробуйте выгрузить конфигурацию БД в файл и сравнить её с основной - сравнение в таком случае происходит несколько по другой методике.
19 Фрэнки
 
02.03.21
11:06
Что-то сбойнуло и кэш сам не сбросился. Теперь, при получении изменения другими способами, конфигуратор видит, что существующий хэш уже совпадает с получаемым и не видит причины к перезаписи кэша. А он там болтается устаревший.

Я задавал выше вопрос о перемещении базы на новое место, чтоб оторвать ее от прежнего кэша, если не удалять его вручную физически - сделал?
20 kipkoalex
 
02.03.21
11:06
(17) Нет, попробую вечером, когда база будет не так нагружена
21 Фрэнки
 
02.03.21
11:07
(20) Так на копии из архива подними и проверь. Не трогай боевую раньше времени. Убедись просто - это кэш или что-то иное.
22 Ёпрст
 
гуру
02.03.21
11:08
(13) Конфа полностью заменяется без всяких сравнений. Проверить жешь элементарно
23 Ёпрст
 
гуру
02.03.21
11:09
Поэтому..многие при загрузить измененную,в момент реструктуризации долго удивляются..куда енто данные проипались, ведь я же документ одинаково назвал..
24 Serg_1960
 
02.03.21
11:19
(22) Я говорю не про конфигурацию поставщика и основную, а про конфигурацию БД.
25 Ёпрст
 
гуру
02.03.21
11:21
(24) она полностью заменяется, без всяких сравнений. У нас вообще конфа поставщика вырезана сто лет в обед
26 Ёпрст
 
гуру
02.03.21
11:22
Возьми cf от зупа и сделай загрузить измененную в БП  и ты всё поймешь сам.
27 Serg_1960
 
02.03.21
11:36
(25) Алё, гараж! При чём тут конфигурация поставщика. Может быть вы говорите о том, как в подчиненном узле происходит обновление конфигурации БД (изменения принимаются без их анализа). А автор говорил, что "отвязывал" и загружал конфигурацию - это уже автономная БД и правила обновления конфигурации БД - другие.
28 kipkoalex
 
02.03.21
11:38
(18) Пробовал. И центральную конфигурацию выгружал-сравнивал с периферийной, и наоборот, и каждую из этих двух сравнивал с копией на домашнем компе - не находит отличий, хотя в коде они есть
29 kipkoalex
 
02.03.21
11:39
(27) Да, у нас конфигурация сильно измененная (не на поддержке), за 4 года на моей памяти таких проблем с периферийной базой не было.
30 Ёпрст
 
гуру
02.03.21
11:40
(27) дык читай своё (24)
31 kipkoalex
 
02.03.21
11:41
(21) Попробовал почистить серверный кэш на домашнем компе - делаю "Сравнение, объединение" с выгрузкой центральной и периферийной базы - отличий не было. Кэш на серваках, где крутятся рабочие базы не трогал. Это имелось ввиду попробовать? Может все таки может быть дело в кэше на сервере центральной базы, и в моменте выгрузки что-то сбоит?
32 Ёпрст
 
гуру
02.03.21
11:42
При загрузить измененную, никаких "правила обновления" нет и не было. Тупо конфа ИБ заменяется целиком и всё.
33 Serg_1960
 
02.03.21
11:45
(30) Сами прочите своё "Конфа полностью заменяется без всяких сравнений." - о какой конфигурации Вы речь вели? Их там три :) Две из них меня совсем не интересуют. В РИБ-базе их ещё больше :) Но меня интересует только одно: как сделать конфигурации БД идентичными.
34 kipkoalex
 
02.03.21
11:46
(21) (32) да - и "Загрузить конфигурацию из файла" файла cf центральной базы делал после очистки кэша на домашнем компе, всё равно код процедуры проведения выглядит как он сейчас есть в периферийной.
35 Ёпрст
 
гуру
02.03.21
11:55
(34) не верю.
)
36 Ёпрст
 
гуру
02.03.21
11:59
база на sql ? если да, то сделай для перефирийки truncate table dbo.ConfigSave ;truncate table dbo.ConfigCAS;truncate table dbo.ConfigCASSave, отвяжи от центра и сделай  загрузить измененную с cf от центра обнови, затем назначь главный узел
37 Фрэнки
 
02.03.21
12:00
(33) При получении изменений в РИБ - нет там ни сравнений, ни объединений. Получил? Ошибки сверены по хешам? Нет ошибок - записывает. Есть ошибка - не записывает. Все.
38 Фрэнки
 
02.03.21
12:08
Из РИБ (при получении данных) записываются объекты целиком в Текущую. На завершении обмена выдается предупреждение, что текущая БД изменена.
Надо входить в конфигуратор и применить полученные изменения к конфигурации БД.

Т.е. если из главной базы реально произошла выгрузка после изменения какого-то объекта метаданных, в пакете изменений будет лежать объект целиком (шестнадцатеричный код).
И этот объект перезаписывает себя в Текущей.

Бывает ситуация, когда кажется, что измененный объект должен быть в обмене, но он не выгружается почему-то (регистрация изменений слетела как-то)
Тогда приходится отвязывать периферийную от главного узла и грузить конфигу целиком из цф-файла.
39 Serg_1960
 
02.03.21
12:12
(37) Я говорил и говорю про конфигурацию БД центральной базы, о принципам обновления/изменения конфигурации автономной базы. Ок? Когда речь идёт о "Загрузить конфигурацию из файла" - можно забыть про РИБ. Так понятно?
40 kipkoalex
 
02.03.21
12:18
(36) Да, SQL.
При выполнении запроса в Management Studio выдает ошибку:
"Сообщение 4701, уровень 16, состояние 1, строка 2
Не удалось найти объект "ConfigCAS", так как он не существует, или отсутствуют разрешения."
Подскажи пожалуйста что сделать, я в этих вопросах не силен.
41 Serg_1960
 
02.03.21
12:24
(37) :[ контрольный выстрел :]
Загружаю конфигурацию из файла CF... Вопрос: "Выполнена полная загрузка конфигурации. Обновить конфигурацию базы данных?" - "обновить", а не "загрузить"! Впрочем, как говорил Карлсон, - это мелочи жизни. После паузы... если есть изменения в объектах метаданных... та-дам! - окно "Реорганизация информации" с надписью: "Изменения в структуре информации конфигурации" и далее в таблице "Объект изменен..." Monsieur, que se passe-t-il? Sur quoi il s'agissait? Значит всё-таки не "грузится", а сравнивается и объединяется (если есть таблица изменений) ?

В подчинённом узле РИБ, имхо, всё тоже самое, но: без вопросов пользователю, принимаются все изменения. Изменения, сэр :)
42 Serg_1960
 
02.03.21
12:25
PS: обычно демоническое обновление прячется в кэшах, но в сложных случаях, оно уже проникло и сидит в самой конфигурации. Имхо, разумеется.
43 kipkoalex
 
02.03.21
12:26
(36) У меня из похожих таблиц есть только dbo.Config, dbo.ConfigSave, dbo.DBSchema
44 Фрэнки
 
02.03.21
12:29
(42) ошибочное твое мнение
45 kipkoalex
 
02.03.21
12:33
(36) сделал truncate table dbo.ConfigSave (на копии периферийной на домашнем компьютере) - не помогло, всё равно при "Сравнении, объединении" показывает что нет различий.
Я думаю дело всё таки в выгрузке cf-ки из основной базы, т.к. я сейчас на чистую конфигурацию загрузил ("Загрузить конфигурацию из файла") выгрузку из основной - код не совпадает (то, что я вижу в конфигураторе основной базы и то, что я вижу в конфигураторе новой базы, которая была загружена из файла).
Сейчас попробую развернуть свежую копию основной базы на домашний комп, оттуда выгружу cf, если не поможет то сделаю truncate копии основной и ещё раз выгружу.
46 Фрэнки
 
02.03.21
13:07
(45) прикольно... А если сравнивать выгруженную из основной базы с основной базой? Получается, что срабатывает некая подложка, из которой вытаскивается модуль объекта, несовпадающий с его состоянием в Текущей конфигурации Центральной БД. Соотв. оно же ( несовпадающее ) и в выгрузку изменений пишется, если вообще туда это изменение пишется.

Т.е. проблема не в состоянии переферийной базы, а в состоянии центральной :-)
47 kipkoalex
 
02.03.21
13:29
(46) Интересно ещё то, что при создании новой базы на домашнем компе из bak-файла копии центральной я опять таки в коде вижу тоже самое, что и в коде рабочей периферийной.
Выгружаю cf-ник из копии рабочей на домашнем компе, делаю "Сравнение, объединение" с рабочей базой (глазами в конфигураторе вижу различия в коде обработки проведения документа) - различий не найдено.
Причём решить проблему именно с этой обработкой проведения это дело 5ти минут - внести изменения в модуль, обновить обе конфигурации. Меня больше волнует вопрос а что же вообще происходит, и есть ли подобные различия в других местах конфигураций...
48 Serg_1960
 
02.03.21
13:37
(47) В центральной базе: чистим локальные кэши конфигурации. Если клиент-сервер - то и на сервере тоже.
Далее: Конфигурация - Сохранить конфигурацию в файл.
Далее: Конфигурация - Конфигурация базы данных - Сохранить конфигурацию БД в файл.
Далее: Конфигурация - Загрузить конфигурацию из файла.
Будем исходить из того, что конфигурации стали идентичными и их можно "Сравнить, объединить с конфигурацией из файла"...
49 Фрэнки
 
02.03.21
13:39
(47) так это как бы объясняет, почему периферийная так принимает... Что ей дают, то и принимает.

Может это будет немного странно выглядеть в качестве рекомендации, но попробую ее все же выдать :-)
Платформа самой 1С все-таки достаточно старая. А на таких, условно старых платформах, заводил в корень конфигурации изменяемую, но нигде не нужную константу (еще пробовал значение версии конфигурации портить).
Например, константа с типом строка в несколько символов. Менял каждый раз количество символов в длине этой константы, когда хотел выгрузить через РИБ всю конфигурацию (как я ее видел в тестовой). Конфигуратор сообщал при сохранении этого изменения, что регистрационная инфа изменена и шлепал в изменения ВСЁ. Размер обменного файла становился примерно равным размеру цф-файла, если других изменений в базе не было.
Периферийка этот обменный файл заливала целиком, также как и "загрузить из файла".

На этом практическом опыте основаны мои утверждения, что в некоторых постах ветки заявлено недостоверное поведение платформы, когда якобы идут сравнения и объединения, но на практике  они не идут.
50 Фрэнки
 
02.03.21
13:40
И да, при использовании РИБ категорически не приемлемы действия "сравнение и объединение" - нет в РИБ этого и не было никогда.
51 Ёпрст
 
гуру
02.03.21
13:45
(43) тогда только configsave
54 Фрэнки
 
02.03.21
13:53
Ну что ж... ветка уходит под замок на радостной ноте некоторых ее участников