gifts2017

Устранение косяков с обменом в РИБ

Опубликовал Алексей (alexcne) в раздел Администрирование - Журнал регистрации

Внимание! Обнаружен подводный камень в организации обмена в распределенной базе 1С:Предприятие 8. Для устранения последствий - эта обработка.

Внимание! Обнаружен подводный камень величиной с хорошую скалу в организации обмена в распределенной базе 1С:Предприятие 8. Если у вас клиент-серверный вариант базы, и обмен между узлами выполняется по расписанию, то вы можете налететь на этот камень на полном ходу. Дело в том, что, создавая копию базы (например, для отладки) в клиент-серверном варианте, мало кто заботится о том, чтобы регламентные задания в копии базы были выключены. Если их принудительно не заблокировать, то получится следующее: ваша копия будет делать обмены по тому же расписанию, что и основная база. К чему это приводит, нетрудно догадаться - пакеты обмена будут "теряться", то есть попадать не по назначению. И объекты, которые в этот день должны были попасть в основную базу, попадут в копию базы.

Чтобы устранить последствия, нужно следующее: моя обработка, (не)много терпения, навыки работы с журналом регистрации.

Порядок работы с обработкой:

1) Скачиваем обработку

2) Заходим в 1С на ДРУГИХ УЗЛАХ БАЗЫ (если копия базы стоит в центральном узле - на всех периферийных), открываем журнал регистрации, вычисляем тот период, когда с обменом был косяк (к примеру, мы знаем, что копию базы поставили 13.07, а спохватились только 20.07, и обмен идет раз в сутки, ночью, тогда нужно поставить период с 12.07 по 20.07), далее через меню "Файл"-"Сохранить как" сохраняем в файл журнал регистрации. Он нам понадобиться в обработке.

3) Стандартными средствами делаем обмен в распределенной базе.

4) Открываем обработку. Подставляем вычисленный период, задаем файл, в который сохранили кусок журнала регистрации, выбираем узел, С КОТОРЫМ выполняется обмен (в нашем примере - центральный узел).

5) Нажимаем на кнопку "Выполнить" и ждем. В процессе обработка зарегистрирует для выбранного узла плана обмена все объекты, которые были изменены (добавлены, проведены и т.д. и т.п.) в заданный период, исходя из данных журнала регистрации.

6) Снова выполняем обмен. Теперь в обмен попадут и все объекты, которые были пропущены из-за косяка.

Скачать файлы

Наименование Файл Версия Размер
Анализ по журналу регистрации 69
.1248489785 8,73Kb
25.09.09
69
.1248489785 8,73Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Дмитрий Шерстобитов (DitriX) 25.07.09 21:03
Это не косяк... Это так себе, недочет, который элементарно исправляется условием Если этотузелглавный и т.д.

А вот ОГРОМНАЯ лажа, с которой столкнулся недавно, это ВРЕМЯ...
Ух как я долго доходил до этого :)

Ситуация следующая - запрещены проведения задним и передним числом и отрицательные остатки. Но какого то ... все равно они вылазили.
База стоит распределенная по 20 городам и с правилами для каждого города.
И вот вот ситуация - в основной базе строят отчет и видят отрицательные остатки... У всех паника, программиста пинают :)

Пример(очень грубый) у меня стоит дата на основной базе 10.01, и я делаю перемещение товаров на магазин. У магазина стоит 5.01 и он МОЖЕТ продать, так как в 1С стоит проверка по обороту за все время, а не на конкретную дату документа. И теперь он нам присылает обмен, мы формируем например за 7 число, и видим отрицательные остатки :)

Короче, долго лазил в 1С, так и не смог изменить их механизм, так как во многом он себя оправдывал.
Выход нашел только один - сделал при запуске системы проверку на наличие в регистре "товары на ..." на дату, и если дата компьютера меньше, то просто блокирую все панели, пока не изменят дату...

Если кто сталкивался и знает более гумманое решение прошу отправить меня к нему по линку или отписать...

Много букв, но для тех кто ранее не сталкивался с распределенными базами, это сэкономит много времени (ну или я такой тугой:)
Леонов Александр; +1 Ответить
2. Сергей (Che) Коцюра (CheBurator) 26.07.09 23:51
а с какого будуна если сейчас 10.01, в магазине стоит 5.01...???
3. Доржи Цыденов (support) 27.07.09 03:28
4. Дмитрий Шерстобитов (DitriX) 29.07.09 03:59
(2) а вот у них биос сбивается(батарейка села) и у них вечно 01.01.2004 :)
короче таких всего 1%, но то что они есть, говорит о том, что блин даже за временем надо следить ....
5. Alex_Sun (Alex_Sun) 29.07.09 05:53
Надо включить их в домен или при запуске делать комманду net time.

Мега косяк в урбд другой.
у меня распределенка типа дерево. У центра 2 узла у одного из узлов есть еще 1ин подчиненый узел. Так вот. Если сделать при такой схеме динамическое обновление во-первых центральная база у разных пользователей прекращает операции по блокировкам. И есть 30- 60% вероятность что один из узлов отвяжется. При обмене будет писать ошибку - что конфигурации центра и переферии неодинаковые. Вот это реальный косяк.
6. artmicro (artmicro) 29.07.09 10:40
#5 Ну как бы а что Вы хотели. Динамическое объединение зло. Даже официальные лица 1С на всех форумах и встречях говорят не юзать динамическое обновление :) а тем более если у Вас УРБД и не линейной структуры.
7. - - (Rebelx) 29.07.09 14:45
(6) можно ссылку хотя бы на одно такое сообщение от сотрудника 1С?
8. - - (Rebelx) 29.07.09 14:52
(0) лучше последствия предугадывать чем исправлять.

просто помести подобные строки в начало процедур регламентных заданий:

Если нрег(АЛН_ПолныеПрава.ПолучитьСтрокуСоединенияИнформационнойБазы()) <> нрег(АЛН_Инструментарий.СлужебныеКонстанты_Получить("АЛН_ОбменДанными.СтрокаСоединенияИнформационнойБазы")) тогда
ВызватьИсключение("Расположение информационной базы изменилось.");
КонецЕсли;
9. - - (Rebelx) 29.07.09 14:53
тогда при создании копии, никакой обмен сам не запустится
10. Алексей Захаров (almas) 29.07.09 20:59
Rebelx дело говорит. 1с-цы овцы недобитые. Во многом по обменам дебилизмус за эталон продают. Защиты никакой не предусмотрели и ни в одном описалове нет упоминаний.
11. Роман Тарасевич (tarroman) 03.08.09 10:47
(0) Согласен с Reblex (8), поскольку забыть отключить фоновые задания может каждый.

А так обработка полезная (если уже прозевал фоновые обмены, то надо ведь исправлять :)
12. Игорь Грибинник (slavich) 06.04.12 12:43
Вопросы очень актуальные по поводу обменов. Например именно такая ситуация была и у меня, очень долго разбирался.