Принятие изменений конфигурации периферийной базы из Центральной базы

29.05.23

Интеграция - Обмен между базами 1C

Обновление конфигурации из внешней базы. Пример работы с Новый АдминистрированиеСервера(), АдминистрированиеКластер и т.п.

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

Наименование Файл Версия Размер
Принятие изменений конфигурации перифирийной базы из Центральной базы:
.epf 15,42Kb
0
.epf 15,42Kb Скачать

Обработку нужно открывать во внешней по отношению к обновляемой базе. Например в Центральной базе при принятии изменений конфигурации перифирийной базы.

Обработка блокирует работу в другой базе, удаляет все сеансы, запускает обновление (пакетный запуск, с ключом "/UpdateDBCfg"), снимает блокировку.

ВАЖНО! Обработка предназначена для работы с удаленной базой (не в той, в которой запускают обработку)! Не пытайтесь запускать её в текущей базе. Текущая база будет заблокирована, все сеансы включая текущий удалены. В результате обновление не запуститься (так как удалили сеанс), а база останется заблокированной. Если же текущий сеанс не удалять, то он помешает базе обновиться.

Если база заблокирована, то её можно разблокировать по кнопке "Разблокировать работу с базой магазина" не указывая код доступа.

Обработка написана на обычных формах, но если кто то заинтересуется статьей, то могу переписать на УФ

Обработка имеет два способа работы с базой магазина:

1. Через Новый COMОбъект("V83.COMConnector")

Взял с минимальными изменениями из этой статьи. Там всё описано:

//infostart.ru/public/1733458/

2. Через Новый АдминистрированиеСервера

Анонс метода:

//infostart.ru/journal/news/mir-1s/v-novoy-versii-1s-predpriyatiya-anonsirovali-razvitie-klasterov-serverov_892774/

Для работы с этой вкладки на сервере удаленной базы должен быть расшарен порт 1545 и установлен Сервер Администрирования (//infostart.ru/1c/articles/810752/).

 

Выкладываю саму процедуру работы через Новый АдминистрированиеСервера

Процедура СоединитьсяССерверомМагазина(СтруктураДействий) Экспорт
    
    БлокироватьСеансыВБазе = ПрочитатьДействие(СтруктураДействий, "БлокироватьСеансыВБазе");
    РазблокироватьСеансыВБазе = ПрочитатьДействие(СтруктураДействий, "РазблокироватьСеансыВБазе");
    ТолькоНайтиБазы = ПрочитатьДействие(СтруктураДействий, "ТолькоНайтиБазы");
    ВыгнатьВсехИзБазы = ПрочитатьДействие(СтруктураДействий, "ВыгнатьВсехИзБазы");
    
    Агент = Новый АдминистрированиеСервера(ИмяСервера, 1545);     
    //Агент.ВыполнитьАутентификацию();
    Clusters = Агент.ПолучитьКластеры();
    
    Для Каждого Кластер из Clusters Цикл  
        
        Кластер.ВыполнитьАутентификацию();
                
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Подключились к рабочему процессу кластера " + СокрЛП(Кластер.ИмяКомпьютера));
        МассивИнформационныхБаз = Кластер.ПолучитьИнформационныеБазы();
        
        НашлиБазу = Ложь;
        
        Для каждого InfoBase Из МассивИнформационныхБаз Цикл   
            Если ТолькоНайтиБазы = Истина Или ИмяБазы = "" Тогда
                
                ОбщегоНазначенияКлиентСервер.СообщитьПользователю("База: " + СокрЛП(InfoBase.Name));
                
                Если ИмяБазы = "" Тогда
                    
                    НашлиБазу = Истина;
                    ИмяБазы = СокрЛП(InfoBase.Name);
                ИначеЕсли Врег(InfoBase.Name) = ВРЕГ(ИмяБазы) Тогда
                    
                    НашлиБазу = Истина;
                    ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Нашли базу: " + СокрЛП(InfoBase.Name));
                    
                КонецЕсли;  
            Иначе      
                Если Врег(InfoBase.Name) = ВРЕГ(ИмяБазы) Тогда  
                    НашлиБазу = Истина;  
                    InfoBase.ВыполнитьАутентификацию(ИмяПользователя, ПарольПользователя);     
                    ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Залогинились в базе: " + СокрЛП(InfoBase.Name));
                    
                    Если БлокироватьСеансыВБазе = Истина Или РазблокироватьСеансыВБазе = Истина Тогда   
                        
                        InfoBase.БлокировкаРегламентныхЗаданий = БлокироватьСеансыВБазе;
                        InfoBase.ВключенаБлокировкаНачалаСеансов = БлокироватьСеансыВБазе;
                        
                        Если БлокироватьСеансыВБазе = Истина Тогда
                            InfoBase.КодРазрешенияНачалаСеансов = КодДоступа;
                            InfoBase.СообщениеБлокировки = "Работа с базой временно недоступна! Идет обновление конфигурации.";   
                            InfoBase.Записать();
                            ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заблокировали базу: " + СокрЛП(InfoBase.Name) + " код доступа: " + СокрЛП(КодДоступа));
                        Иначе  
                            InfoBase.СообщениеБлокировки = "";
                            InfoBase.Записать();
                            ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Разблокировали базу: " + СокрЛП(InfoBase.Name));
                        КонецЕсли;  
                    КонецЕсли;
                    
                    Если ВыгнатьВсехИзБазы = Истина Тогда
                        
                        Сообщение = "Начато обновление Конфигурации";
                        
                        МассивСеансов = InfoBase.ПолучитьСеансы();
                        
                        Для каждого Cеанс Из МассивСеансов Цикл
                            
                            ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Завершаем сеанс приложения " + СокрЛП(Cеанс.ИмяПриложения) + " Пользователь " + СокрЛП(Cеанс.ИмяПользователя) + " подключенного с " + СокрЛП(Cеанс.ИмяКомпьютера));
                            Cеанс.ЗавершитьСеанс(Сообщение);    
                            
                        КонецЦикла;
                        
                        МассивСоединений = InfoBase.ПолучитьСоединения();
                        
                        Для каждого Соединение Из МассивСоединений Цикл
                            
                            Если НРЕГ(СокрЛП(Соединение.ИмяПриложения)) = "srvrconsole"
                                Или НРЕГ(СокрЛП(Соединение.ИмяПриложения)) = "jobscheduler"
                                //Или НРЕГ(СокрЛП(Соединение.ИмяПриложения)) = "ras"
                                Тогда
                                
                                // Это служебные сеансы, их не дает отключать
                                Продолжить;
                                
                            КонецЕсли;
                            
                            Попытка
                                ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Отключаем соединие " + СокрЛП(Соединение.ИмяПриложения) + " ВремяУстановкиСоединения: " + СокрЛП(Соединение.ВремяУстановкиСоединения) + " ИмяКомпьютера: " + СокрЛП(Соединение.ИмяКомпьютера));
                                Соединение.Отключить();    
                            Исключение
                                ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ОписаниеОшибки());
                            КонецПопытки;       
                            
                        КонецЦикла;
                        
                    КонецЕсли;
                    
                КонецЕсли;  
                
            КонецЕсли;
        КонецЦикла;
        Если НашлиБазу = Ложь И Не ИмяБазы = "" Тогда
            
            ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не нашли базу " + СокрЛП(ИмяБазы) + " на кластере " + СокрЛП(Кластер.ИмяКомпьютера));
            
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры // СоединитьсяССерверомМагазина    

Процедура ОбновлениеКонфигурации(ИмяБазы, ПутьКФайлуЛога) Экспорт
    Попытка
        
        Кавычка = """";       
        КодВозврата = Неопределено;
        
        ПутьКБазе = "Srvr=""" + СокрЛП(ИмяСервера) + """;Ref=""" + СокрЛП(ИмяБазы) + """";
                
        СтрокаКоманды  = Кавычка + КаталогПрограммы() + "1cv8.exe" + Кавычка + " DESIGNER"
        + " /IBConnectionString " + ПутьКБазе
        + " /N "                  + Кавычка + ИмяПользователя + Кавычка
        + " /P "                  + Кавычка + ПарольПользователя + Кавычка
        + " /UpdateDBCfg "
        + " /UC "           + Кавычка + КодДоступа + Кавычка
        + " /Out "                + Кавычка + ПутьКФайлуЛога + Кавычка + " -NoTruncate"
        + " /DisableStartupMessages /DisableStartupDialogs ";  
          
    
    ЗапуститьПриложение(СтрокаКоманды
        ,
        ,
        Истина,
        КодВозврата);
        
        Сообщить("Обновление запущено");
    Исключение
        Сообщить(ОписаниеОшибки());             
        
    КонецПопытки;
    
КонецПроцедуры

 

Тестировалось на 8.3.20.2184.

АдминистрированиеСервера АдминистрированиеКластер АдминистрированиеИнформационнаяБаза Обновление конфигурации COMConnector UpdateDBCfg

См. также

SALE! 10%

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2

Обмен между базами 1C Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Обработка позволяет перенести из УПП в ERP / 1С:УТ 11 / КА 2 всю возможную информацию. Переносятся документы, а также начальные остатки и справочная информация. Типовая обработка от фирмы 1С не позволяет сохранить документы за период работы. Кроме того, наши алгоритмы выгрузки начальных остатков тоже имеют больше функционала и тщательно проверялись на реальных проектах перехода с УПП на ERP. При приобретении обработки вы будете 1 месяц получать ее обновления, далее можно приобрести подписку на обновления. Конфигурации 1С постоянно меняются, выходят новые релизы. Имея подписку на обновления, вы всегда можете быть уверены, что правила конвертации данных будут работать на ваших базах 1С.

50722 45650 руб.

04.08.2015    158053    300    266    

343

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Перенос данных осуществляется из 1С:ERP 2 / 1С:КА 2 / 1С:УТ 11 в 1С:БП 3.0. Правила обмена оперативно обновляются при выходе новых релизов программы 1С, так что вы всегда будете иметь самую актуальную версию обработки.

38500 34650 руб.

15.04.2019    67745    175    136    

107

SALE! 10%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    133551    713    291    

383

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила тестировались на конфигурациях УПП 1.3 (1.3.220.x) и БП 3.0 (3.0.147.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    19557    129    38    

85

SALE! 10%

Перенос данных из ERP 2 / КА 2 в ЗУП 3

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Обработка позволяет не только перенести все документы, справочную информацию и начальные остатки из ERP 2 или КА 2 в ЗУП 3, но и организовать регулярный перенос данных между программами 1С:ERP 2 / КА 2 и 1С:ЗУП 3. Вы можете выбрать период отбора данных и установить фильтр по организациям, чтобы выгружать только необходимую информацию. Более того, перенос оперативно обновляется при выходе новых релизов программы 1С, так что вы всегда будете иметь самую актуальную версию обработки.

48278 43450 руб.

03.12.2020    33720    79    57    

76

SALE! 10%

Перенос данных из УПП 1.3 / КА 1.1 в БП 3.0

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из УПП 1.3 в БП 3.0 (или из КА 1.1 в БП 3.0). Переносятся документы, начальные остатки и вся справочная информация. Есть фильтр по организации и множество других параметров выгрузки. Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов. Перенос данных возможен в 1С: Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую. Переход с "1С: Управление производственным предприятием 1.3" / "1С:Комплексная автоматизация 1.1" на "1С:Бухгалтерия предприятия 3.0" с помощью наших правил конвертации будет максимально комфортным!

43889 39500 руб.

25.02.2015    167985    286    240    

370

SALE! 10%

Перенос данных из БП 3.0 в УТ 11 / КА 2 / ERP 2

Обмен между базами 1C Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Переносятся документы за выбранный период, нормативно-справочная информация и остатки по счетам бухгалтерского учета из программы "1С:БП 3.0" в "1С:УТ 11" или "1С:КА. 2" или "1С:ERP Управление предприятием, ред. 2". Остатки переносятся по денежным средствам, взаиморасчетам, товарам (собственным и переданным на комиссию), материалам на складах и вложениям во внеоборотные активы. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков.

50722 45650 руб.

31.10.2014    230309    121    326    

293

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. За основу были взяты стандартные правила переноса остатков и справочной информации. Правила тестировались на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.15.x).

28000 руб.

23.07.2020    45309    193    63    

150
Оставьте свое сообщение