1с как из подчиненного узла сделать главный
15/09/11 - Добавлена версия для работы с 8.2 в режиме обычного приложения.
В принципе ее можно было легко получить и конвертацией.
P.S. Если нужно просто сделать базу не распределенной - есть более простой способ,
запуск в пакетном режиме
". \1cv8.exe" DESIGNER /ResetMasterNode /IBName=mybase /NAdmin /PPass
Специальные предложения
: Ошибка при вызове метода контекста (УстановитьГлавныйУзел): Недопустимое значение параметра (параметр номер '1')
ПланыОбмена.УстановитьГлавныйУзел(ГлавныйУзел);
Я хотела сделать базу главнойФорма.Форма(48)>
(5) Чтобы база стала главной - надо снимать признак главного узла, а не устанавливать. Если у базы нет главной - тогда она главная.
В том то и дело. Если я ставлю на главный узел и нажимаю "Установить главный узел" ничего не происходит
(8) Надо нажимать не "Установить признак главного узла", а "Снять признак главного узла". "Установить" применяется чтобы снова сделать базу подчиненной.
(12) Кнопка выполнить не нужна. Для выполнения действий предназначены соответствующие кнопки. Аватар обновил.
(13) Обновил обработку. Если узел выбран - будет очистка только по выбранному узлу, если узел пустой - очистка по выбранному плану обмена.
Бух 2,0. Продвинутые юзеры удалили центральную базу.
Что осталось - отвязал от УРИБ , опять настроил с нуля. полет нормальный.
Спасибо автору --- удобная штука
использовалась для быстрого развертывания копированием базы и настройки обмена
(не через стандартную процедуру выгрузки базы)
очень удобно и экономит массу времени
(23) dimisa,
Можно поподробнее про копирование? Физическая копия базы а затем привязка к планам? А что, разве у базы нет ID ?
Отлично попробуем. Уже весь форум просмотрел это наиболее полная орбработка для манипуляциями с периферийными узлами. Автору спасибо.
это мне поможет
ситуация такая
нужно из центральной базы сделать подчиненную и запустить между ними обмен
допустим на филиале разворачиваю самый свежий бекап основной базы
как из основной базы сделать дополнительную ?
(35)Вопрос сумбурный несколько. А что Вы собственно хотите?
Сделать так чтоб 2 и более офиса работали как-бы в разных базах и в тоже время видели доки созданные другим офисом.
Почитайте описание - иногда помогает.
Может я в чем не разобрался - прошу помощи. Надо быстро сделать подчиненный узел.
Последовательность выполненных действий в УТ 10.3.13.2:
1. Открыл демо базу - там есть два узла Центральный офис (помечен зеленой точкой как главный) и Магазин.
2. Сделал для Магазина базу стандартным образом - узел Магазин помечен зеленой точкой, Центральный - красный.
3. Сделал копию Центральной базы, запустил эту обработку. Выбрал план обмена Полный, Узел - Магазин.
4. Нажимаю кнопку Очистить регистрацию изменений, Установить главный узел.
Проверяю - Магазин стал красный, и Центральный офис - остался с зеленой точкой (типа он главный).
Мне то надо наоборот.
5. Нажимаю Снять признак главного узла. Все возвращается обратно, как было сразу после копирования.
6. Выбираю Центральный узел - Снять признак главного - ничего не происходит.
7. Нажимаю Установить главный узел - получаю ошибку
: Ошибка при вызове метода контекста (УстановитьГлавныйУзел)
ПланыОбмена.УстановитьГлавныйУзел(ГлавныйУзел);
по причине:
Недопустимое значение параметра (параметр номер '1')
Что я делаю не так и какая последовательность действий для быстрого создания подчиненного узла?
Попробовал вручную изменить наименование узлов - поменял местами наименование и номер у главного и магазина - вроде все заработало. Надеюсь правильно все сделал?
(41) Всплыла фраза из рекламы :"А Вы его кушать пробовали. ".
Минусанул бы Вас ,Jogeedae, да както жалко. и не денег.
mykolap , через полгодика ждем для 8.3 -))
(43) Такой развернутый ответ с конкретикой мне нравится больше.
в 2009 наверное альтернативы небыло, или это решение мне лично понравилось.
в-четвертых : Спасибо, зарядили позитивом на день - пойду поработаю.
Всем спасибо, ХОРОШЕГО НАСТРОЕНИЯ и УДАЧИ.
Маленький вопрос. У меня есть центральная база и куча периферийных, в центральной мне надо внести небольшие изменения без передачи изменений в периферийные. Мне надо запустить обработку и выбрать "снять признак главного узла", а после внесения изменений "установить главный узел"? Слетят ли планы обмена, нужно ли будет их заново создавать?
Включение возможности редактировать конфигурацию имеет смысл именно для подчиненного чтобы в него загрузить конфигурацию идентичную главному.
Ничего при этом не слетает, просто нужно отключить от главной базы, залить конфигурацию, обратно привязать.
Всегда это проделывал успешно (десятки раз проделывал).
Механизм РИБ — механизм распределенных информационных баз - это когда у вас есть главная база и подчиненная(ые). Главная база может быть только одна, подчиненных может быть много. Каждая подчиненная база может иметь свои подчиненные базы, для которых она будет главной.
Вот посмотрим на картинку из первой ссылки по запросу в Яндексе:
РИБ используется для обмена данными. Причем не только теми данными, с которыми работает пользователь, но и данными изменения конфигурации. То есть РИБ позволяет передавать изменения конфигурации. Но изменить конфигурацию можно только в главной базе!
Визуализируем:
У нас большая компания и много филиалов. Есть доработанная УНФ, которую мы гордо называем УБФ(Управление Большой Фирмой). Но мы решили, что хватит терпеть то, что все филиалы имеют доступ к документам всех филиалов и каждому филиалу решили сделать отдельную базу, которую синхронизировать с нашей основной базой для передачи данных. Что ж, можно. Сделали.
И внезапно мы решили изменить картинку, которая появляется при входе в базу, захотели поместить туда логотип нашей фирмы, а почему бы и нет?
Как запилить картинку во все базы всех филиалов? Ну при текущем варианте, что у всех филиалов отдельная база, только руками. Руками специалистов, которые умеют заходить в конфигуратор и знают что нужно там нажать.
А вот если бы мы сделали подчиненные базы для филиалов, то есть использовали РИБ, то и данными бы обменивались, как при обычной синхронизации, и картинка бы сама добавилась во все "базы-дочки". Однако, в конфигуратор зайти бы все-таки пришлось, но только чтобы нажать кнопочку "Обновить конфигурацию базы данных", вот картинка:
Как создать подчиненную базу, на пальцах:
я буду использовать Управление торговлей, редакция 11 (11.4.13.275), но способ, в целом, одинаковый во всех типовых конфигурациях.
1) Сначала проделаем шаги, как при настройке обычной синхронизации:
2) . поставим галочку, нажмем.
4) тут ознакомимся с описанием. Я выберу обычную настройку, но если бы мы следовали примеру выше, то нужно было бы выбрать "с фильтром" и там одним кликом выбрать нужный филиал.
6) Указываем префикс - он будет подставляться к номерам документов, чтобы можно было отличить документы дочки и основной базы.
7) в общем случае, тут ничего не надо нажимать, кроме "Записать и закрыть".
8) А вот теперь создаем нашу новую подчиненную базу:
9) указываем место, куда ее покладем.
10) Зайдем в нашу новую подчиненную базу и закончим настройки синхронизации(синхронизация уже создалась, так как использовали РИБ, но нужно указать каталог для обмена выбрав "Настройки подключения")
(обратите внимание на верхний левый угол окна программы, там название базы, он отличается от предыдущих, так как это "дочка")
Кстати, в новой базе все пользователи будут выключены, пароли сброшены, нужно включить руками:
В общем-то ВСЕ.
Подчиненная база создана!
Теперь, когда наши программисты что-нибудь улучшат, эти улучшения прилетят в подчиненные базы сами.
Вот что-то изменили в основной базе:
нам нужно перенести изменения в базы-дочки.
Для этого запускаем главную базу в режиме 1С:Предприятие, то есть в пользовательском интерфейсе, заходим в настройки синхронизации, жмем выделенную кнопку:
После того, как синхронизация закончится, заходим в базу дочку и так же жмем "Синхронизировать", база загрузит данные и напишет:
После нажатия на Далее база закроется и начнет устанавливать обновления.
Когда обновы установятся, база начнет запускаться и сообщит нам следующее:
Это означает, что не обновлена конфигурация базы данных. Та самая маленькая кнопка в конфигураторе и это именно та причина, почему придется ОДИН раз зайти в конфигуратор. Что ж, зайдем в конфигуратор базы-дочки и нажмем эту кнопку, заодно вообще посмотрим что-да-как там, мы ж там еще не были.
Откроем конфигурацию и вот что увидим
Нажмем на "Обновить конфигурацию базы данных".
Увидим список изменений, которые прилетели с обновлениями:
И вот эти обновления появились в подчиненной базе.
Теперь необходимо запустить базу в пользовательском режиме, чтобы выполнились обработчики обновления.
Несколько правил:
1) Все узлы, кроме одного, должны иметь по одному главному узлу и один узел не будет иметь главного узла - это корневой узел.
2) Конфигурация может быть изменена только в узле, не имеющем главного узла (то есть в корневом).
3) Изменения конфигурации будут передаваться от главного к подчиненным узлам.
4) Разрешение коллизий так же будет производиться исходя из отношений "главный - подчиненный" - если изменения сделаны одновременно и в главном и в подчиненном узлах, то приняты будут изменения главного узла.
5) Сделать подчиненный узел в распределенной базе можно разными способами, но создание начального образа является рекомендуемым.
А теперь то, ради чего все писалось.
Как подчиненную базу сделать обычной(нормальной, отдельной, как хотите).
Я опишу только тот способ, которым пользуюсь. Это моя шпаргалка. Но он не единственный.
1) Заходим в свойства ярлыка запуска окна 1С:Предприятие:
2) В поле "Объект" дописываем:
DESIGNER /F"Путь до базы" /N"Имя Пользователя в базе" /P"Пароль пользователя" /ResetMasterNode
В итоге у меня получится:
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /F"C:\Users\79119\Desktop\РИБ" /N"" /P"" /ResetMasterNode
В этом материале подробная инструкция по настройке обмена РИБ для 1С:Предприятие 8 и проблемы, с которыми столкнулся автор.
1. Создание узлов
Создаем новые узлы (главный и подчиненный): в пользовательском режиме "Операции / Планы обмена/Полный"
Выберем план обмена "Полный"
Создаем две записи:
- первую запись назовем "ЦБ" (главный узел), код укажем "ЦБ",
- вторую запись назовем "Подчиненный узел", код укажем "ПУ".
Значек с зеленным кружком - "ЦБ" (главный узел)
2. Настройка префиксов
Для каждой базы, в настройках параметров учета (в УПП "Сервис / Параметры учета") на закладке "Обмен данными", устанавливаем префиксы. Это делается для того чтобы не возникало конфликтов в номерах и кодах документов и справочников, созданных в двух базах.
Для автообмена, устанавливаем галочку "Использовать механизм автоматического обмена. "
Закладка "Обмен данными"
3. Добавляем настройку обмена данными между узлами
Открываем: "Сервис \Распределенная информационная база (РИБ)\Настроить узлы РИБ"
Нажимаем "Добавить", откроется окно "Настройка обмена данными"
Настройка обмена данными
Нажимаем на значок "Выполнить обмен по текущей настройке"
Выполнить обмен по текущей настройке
Теперь о "подводных камнях"
1. Обмен данными может выполняться в автоматическом режиме и может быть инициализирован в следующих случаях:
* При запуске программы. Обмен будет выполняться при запуске программы,
* При завершении работы с программой. Обмен будет выполняться перед завершением пользователем работы с программой,
* При появлении каталога. Обмен будет выполнен только в том случае, если каталог указанный пользователем был невиден, а в настоящий момент стал виден. Настройка может быть использована для выполнения автоматического обмена при подключении к локальной сети или flash карты. Программа периодически будет проверять видимость указанного в настройках каталога и отмечать его текущее состояние,
* При появлении файла. Рекомендуется использовать данные режим, когда нужно выполнить обмен, если появляется входящий файл обмена данными. В этом случае, достаточно указать полный путь к входящему файлу обмена данными. Программа периодически анализирует наличие файла, и как только он появится, будет выполнен обмен, а после обмена этот файл будет принудительно УДАЛЕН (это делается для того, что бы процедура обмена не выполнялась постоянно),
* Периодический обмен данными. Обмен будет выполняться согласно настройкам периодического обмена данными. Если информационная база работает в файл-серверном режиме, то периодический обмен выполняется только у пользователя, который указан в параметрах учетной политики как "Пользователь для регламентных заданий в файловом режиме". В Клиент-серверном варианте обмен выполняется на сервере 1C:Предприятия.
У меня Клиент-серверный вариант - для работы регламентного автообмена пришлось перегружать сервер
2. Кодировка Windows.
Обмен прерывался ошибкой - так как не происходит сжатие файла. Это из-за ошибки кириллицы в командной строке при сжатии.
Лечится исправлением кодировок в реестре.
Например, для Windows Server 2008 -
Код
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1251.nls"
"1254"="c_1251.nls"
"1255"="c_1251.nls"
3. Создавая копию базы (например, для доработки) в клиент-серверном варианте, НЕОБХОДИМО, чтобы РЕГЛАМЕНТНЫЕ ЗАДАНИЯ КОПИИ базы были ВЫКЛЮЧЕНЫ.
Блокировка регламентных заданий для копии ВКЛ
1. Создаешь внешнюю обработку или отчет в ней форме пишешь
Код 1C v 8.х
2. Сохраняешь обработку.
3. Закрываешь конфигуратор
4. Запускаешь пользовательский режим.
5. Запускаешь обработку.
Еще Вариант кода:
Код 1C v 8.х
Похожие FAQ
Еще в этой же категории
Конвертация данных 3.0. Настройка правил конвертации в формате Enterprise Data. Пример использования 65
Задача Передать информацию о контрагентах из УП в БП . Данные передаются в одностороннем порядке, идентификация производится по уникальному идентификатору.Настройка правил конвертации выполняется с помощью специальной конфигурации Конвертация Автоматическая выгрузка загрузка данных используя регламентное задание 12
Для обмена данными между программами необходимо сделать следующее: 1. При помощи Конвертации Данных создать правила выгрузки данных 2. Нужно чтобы в конфигурации была обработка УниверсальныйОбменДаннымиXML , желательно последней версии! (При помо Планы обмена и их использование 12
Для того чтобы существовала возможность обмена какими-либо данными с кем-либо, необходимо некоторым образом идентифицировать тех, с кем мы будем обмениваться, и для каждого из них описать перечень обмена Обе эти задачи позволяет решать прикладной об Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML" 10
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием обработки " Универсальный обме Импорт - экспорт данных через XML. Обработка обмена документами 7
Восстановление документов 1С из архива в рабочую базу (XML обмен) Не редко требуется восстановить данные испорченного документа 1С из архива базы после не умышленных, а зачастую ошибочных, действий удачливого пользователя. Самым простым способом я Посмотреть все в категории Конвертация данных, Обмен, Перенос
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
Ну и ничего не произошло. База как была подчиненной, так и осталась.
Кстати забыл сказать привинтил обратно базу к главной при помощи вышеописанной обработки. Спасибо E_Migachev
Доброе время суток. Хочу поделиться с вами своим горьким опытом по обмену между узлами.
Дело было так:
Была база(Как потом выяснилось - главная), в базе была ошибка, вылетала при переходе на новый релиз (где-то в зарплате, какая - то дата не определялась), правдами и не правдами - я её додумался как обойти(в конфигураторе - все же программист 1с), потом таки обновил. Через некоторое время - мне звонят и говорят "Наша подчиненная база не запускается вообще. Разберись с этим".
Захожу к ним по удаленке, смотрю - точно не запускается, та же ошибка что и в главной базе.
Итого:
1.есть главный узел - с новым релизом и новыми документами;
2.есть подчиненный узел - тоже с новыми документами и старым релизом.
Подчиненная запускается и сразу просит обновиться(Окно обновлений открывается модально - никуда не залезешь, Ctr + O - тоже не работает.)
Решение: Как оказалось все на много проще чем я думал. Есть такая полезная штука ка "Запуск 1с из командной строки". К стати если кто знает где есть более полная инфа по запуску 1с из командной строки - поделитесь пож., а то в инете только некоторые параметры.
Итак лечение подчиненной базы -
Запустить конфигуратор с параметром командной строки /ResetMasterNode (для базовых версий не используется).
Надеюсь еще кому-нибудь эта инфа поможет.
Все зависит от того - насколько важные данные ты собираешься поменять и передадутся ли эти данные к ним в центральную базу! В принципе ничего страшного, если ты реально осознаешь что делаешь!
Скажите, если я отключу главный узел, затем изменю пару документов и потом восстановлю его, то база может запороться? Я хочу убедиться что за такие методы люди сверху по шапке не настучат.
Отключение от главного узла требуется в случае, если было принято решение использовать подчиненный узел как самостоятельную информационную базу. Описанные рекомендации применимы, в том числе, к автономным рабочим местам (АРМ) для приложений в модели сервиса.
Процедуру отключения информационной базы подчиненного узла можно разделить на несколько этапов:
1. Отключение режима распределенной информационной базы.
Выполнить отключение информационной базы можно с помощью параметра запуска конфигуратора /ResetMasterNode.
2. Подтверждение отключения связи с главным узлом.
Данный этап осуществляется при входе в базу через режим «Конфигуратор».
3. Действия над служебными данными.
В этом шаге описаны действия по обходу ошибки, связанной с тем, что после отключения от главного узла не очищается ряд настроек, что в дальнейшем может создавать трудности при работе с информационной базой.
Через меню «Все функции» - «Константы» выполнить установку служебных констант:
Настройка подчиненного узла РИБ завершена - флаг должен быть снят.
Это автономное рабочее место - флаг должен быть снят.
Также через меню «Все функции» - «Планы обмена» необходимо удалить запись плана обмена, соответствующую главному узлу распределенной информационной базы.
Далее в режиме «1С:Предприятие» необходимо выполнить вход в подчиненный узел и отказаться от предложения на восстановление связи с главным узлом.
Логунова Яна,
Консультант Компании «АНТ-ХИЛЛ»
Тел. (473) 202-20-10
При цитировании статей или заметок ссылка на сайт автора обязательна
Накопились вопросы и нужна помощь?
С удовольствием на них ответим и поможем все настроить! Обращайтесь по тел.
Читайте также: