Автообновление конфигурации после обмена

02.09.21

База данных - Архивирование (backup)

Рабочий механизм автоматического обновления конфигурации "периферийной" базы после получения пакета обмена. Перед обновлением выполняется резервное копирование базы данных.

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

Наименование Файл Версия Размер
Автообновление конфигурации после обмена:
.epf 9,61Kb
2
.epf 1.0 9,61Kb 2 Скачать

Тестировалось на релизах 8.3.10 (32 бита) и 8.3.16 (64 бита). Файловый и клиент-серверный варианты. Толстый клиент, регламентное задание.

Требования: сеанс 1С, в котором выполняется данный функционал, должен быть запущен от имени локального администратора. В случае использования в регламентном задании - от имени админа должна быть запущена служба 1С. При работе с файловым вариантом базы дополнительно потребуется запуск на компьютере, с непосредственным расположением базы данных. Пользователь 1С должен обладать административными правами.

Некоторые специфические данные возможно придется указать непосредственно в самой обработке (например имя кластера или время срабатывания). 

Обработку, точнее ее процедуру "ВыполнитьОбработку" можно вызывать, например после обмена. Либо как процедуру в регламентном задании. А можно выдернуть нужное и оформить в виде "батника", скрипта или любом другом. 

ДЛЯ ИСПОЛЬЗОВАНИЯ ТРЕБУЕТСЯ ПЕРЕОПРЕДЕЛИТЬ НАЗНАЧЕНИЕ ПЕРЕМЕННЫХ, ОПИСАННЫХ В БЛОКЕ "ЗДЕСЬ ЗАДАЮТСЯ ПАРАМЕТРЫ".

 

Процедура ВыполнитьОбработку() Экспорт
//---------------ЗДЕСЬ ЗАДАЮТСЯ ПАРАМЕТРЫ-----------------------------------------------
	//ТУТ МЕНЯЕМ ПАРАМЕТРЫ ДЛЯ РАБОТЫ В КЛИЕНТ-СЕРВЕРНОМ ВАРИАНТЕ, если необходимо
	ИмяКластера = "Локальный кластер";
	АдминистраторКластера = "";
	ПарольАдминистратораКластера = "";
	
	//каталог для записи выгрузки БД и логов
	КаталогДляБекапа = "C:\TEMP\";
	
	Роль = Метаданные.Роли.Администратор;   //тут заменить на свою роль
	
	//время для запуска
	ТекущийЧас = Час(ТекущаяДата());
	
	//Если ТекущийЧас >= 8 И ТекущийЧас <= 21 Тогда
	//	возврат;
	//КонецЕсли;
	
//---------------ЗДЕСЬ	НИЧЕГО НЕ   МЕНЯТЬ-----------------------------------------------
	Если НЕ КонфигурацияИзменена() Тогда
		Возврат;
	КонецЕсли;
	
	//определим тип платформы 1с
	СистемнаяИнформация = Новый СистемнаяИнформация;
	лпТипПлатформы = СокрЛП(СистемнаяИнформация.ТипПлатформы);
	
	//определим разрядность ОС
	WshShell = Новый COMОбъект("WScript.Shell");
	Разрядность = ?(Найти(WshShell.Environment("SYSTEM").item("PROCESSOR_ARCHITECTURE"), "64") > 0, 64, 32);			
	
	//определение пути запуска powershell
	Если Разрядность = 64 И лпТипПлатформы = "Windows x86" Тогда
		PS = "C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe";
	Иначе
		PS = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe";
	Конецесли;
	
	//файл выгрузки
	ФайлВыгрузки = КаталогДляБекапа + "Base.dt";
	
	//файл логов
	ФайлЛогов = КаталогДляБекапа + "Log_Execute_ANR_"+Формат(ТекущаяДата(),"ДФ=ддММгггг")+".txt";
	
	//файл скрипта
	ФайлСкрипта = КаталогВременныхФайлов()+"Автообновление.ps1";
	
	//ПРОВЕРКА НА ПОВТОРНЫЙ ЗАПУСК
	Файл = Новый Файл(ФайлЛогов);
	Если Файл.Существует() Тогда
		возврат;
	Иначе
		Текст = Новый ТекстовыйДокумент;
		Текст.ДобавитьСтроку("Команда запуска скрипта: "+PS+" -ExecutionPolicy RemoteSigned -File " + ФайлСкрипта);
		Текст.Записать(ФайлЛогов,"windows-1251");
	КонецЕсли;
	
	
	//определение файла запуска 1с
	ИсполняемыйФайл = КаталогПрограммы()+"1cv8s.exe";
	
	//создание пользователя для выполнения операций
	Если ПользователиИнформационнойБазы.НайтиПоИмени("СервисныйПользователь_АвтообновлениеКонфигурации") = Неопределено Тогда
		НовыйПользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
		НовыйПользователь.Имя = "СервисныйПользователь_АвтообновлениеКонфигурации";
		НовыйПользователь.ПолноеИмя = "СервисныйПользователь_АвтообновлениеКонфигурации";
		НовыйПользователь.АутентификацияСтандартная = Истина;
		НовыйПользователь.Пароль = "iddqd";
		НовыйПользователь.Роли.Добавить(Роль);
		НовыйПользователь.ПоказыватьВСпискеВыбора = Ложь;
		НовыйПользователь.Записать();
	КонецЕсли;
	
	
	//объект для записи скрипта
	Текст = Новый ТекстовыйДокумент;

	//определение типа БД
	СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
	
	
	//создание файла-скрипта
	Если Найти(СтрокаСоединения,"Srvr=") = 0 Тогда	//это файловая база
		
		//переменные
		КаталогИБ = УНФ.ОпциональныйБэкСлеш_(НСтр(СтрокаСоединения, "File"));
		
		ПараметрыБекап = " DESIGNER /F""" + КаталогИБ + """ /NСервисныйПользователь_АвтообновлениеКонфигурации /Piddqd /DumpIB """ + ФайлВыгрузки + """ /Out """ + КаталогДляБекапа + "Log_Dump_ANR.txt""";
		
		ПараметрыАпдейт = " DESIGNER /F""" + КаталогИБ + """ /NСервисныйПользователь_АвтообновлениеКонфигурации /Piddqd /UpdateDBCfg /Out """ + КаталогДляБекапа + "Log_Update_ANR.txt""";
		
		
		//запись в файл
		Текст.ДобавитьСтроку("$ИсполняемыйФайл = """ + ИсполняемыйФайл + """");
		Текст.ДобавитьСтроку("$КаталогИБ = """ + КаталогИБ + """");
		Текст.ДобавитьСтроку("$ПараметрыБекап = '" + ПараметрыБекап + "'");
		Текст.ДобавитьСтроку("$ПараметрыАпдейт = '" + ПараметрыАпдейт + "'");
		Текст.ДобавитьСтроку("$ФайлВыгрузки = '" + ФайлВыгрузки + "'");
		Текст.ДобавитьСтроку("$ФайлЛогов = '" + ФайлЛогов + "'");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Скрипт запущен""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Отключаем сетевые соединения""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("net files | where {$_.Contains($КаталогИБ)} | foreach {$_.Split( ' ' )[0]} | foreach {net file $_ /close}");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Отключили сетевые соединения""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Завершаем процессы 1cv8""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("Get-WmiObject -Class Win32_Process -Filter ""Name like '1cv8%'"" | Foreach-Object {$_.Terminate()}");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Завершили процессы 1cv8""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Выполняем бекап базы""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("$procid = (Start-Process $ИсполняемыйФайл -ArgumentList $ПараметрыБекап -Passthru).id");
		Текст.ДобавитьСтроку("$countchild = 1");
		Текст.ДобавитьСтроку("while ($countchild -ne 0)");
		Текст.ДобавитьСтроку("	{");
		Текст.ДобавитьСтроку("	$pr = Get-WmiObject Win32_Process -Filter ""ParentProcessId='$procid' or ProcessId='$procid'"" | measure");
		Текст.ДобавитьСтроку("	$countchild = $pr.Count");
		Текст.ДобавитьСтроку("	Start-Sleep 10");
		Текст.ДобавитьСтроку("	}");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Выполнили бекап базы""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("Start-Sleep 10");
		Текст.ДобавитьСтроку("$isfile = Test-Path $ФайлВыгрузки");
		Текст.ДобавитьСтроку("if ($isfile -eq ""True"")");
		Текст.ДобавитьСтроку("	{");
		Текст.ДобавитьСтроку("	(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Выполняем обновление конфигурации""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("	Start-Process $ИсполняемыйФайл -ArgumentList $ПараметрыАпдейт");
		Текст.ДобавитьСтроку("	(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Выполнили обновление конфигурации""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("	}");
		Текст.ДобавитьСтроку("else");
		Текст.ДобавитьСтроку("	{");
		Текст.ДобавитьСтроку("	(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Файл бекапа не найден. Обновление не выполнено""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("	}");
		
		Текст.Записать(ФайлСкрипта);
		
	Иначе         //клиент-серверный вариант
		
		//регистрация COM из "правильной" папки
		Если Разрядность = 64 И лпТипПлатформы = "Windows x86" Тогда
			ПутьРегистратора = "C:\Windows\SysWOW64\regsvr32.exe";
		Иначе
			ПутьРегистратора = "C:\Windows\System32\regsvr32.exe";
		Конецесли;
		
		WshShell.Run(ПутьРегистратора + " /s """+КаталогПрограммы()+"comcntr.dll""");
		
		Попытка
			Коннектор = Новый COMОбъект("v83.COMConnector");
		Исключение
			//нет объекта - нет пруфа
			возврат;
		КонецПопытки;
		
		Коннектор = Неопределено;
		
		//переменные
		ИмяСервера = Сред(СтрокаСоединения, 7, Найти(СтрокаСоединения, ";")-8);
		
		ИмяБазы = Сред(СтрокаСоединения, Найти(СтрокаСоединения, "Ref=")+5, СтрДлина(СтрокаСоединения)-СтрДлина(ИмяСервера)-15);
		
		ПараметрыБекап = " DESIGNER /S""" + ИмяСервера + "\" + ИмяБазы + """ /NСервисныйПользователь_АвтообновлениеКонфигурации /Piddqd /DumpIB """ + ФайлВыгрузки + """ /UC iddqd /Out """ + КаталогДляБекапа + "Log_Dump_ANR.txt""";
		
		ПараметрыАпдейт = " DESIGNER /S""" + ИмяСервера + "\" + ИмяБазы + """ /NСервисныйПользователь_АвтообновлениеКонфигурации /Piddqd /UpdateDBCfg /UC iddqd /Out """ + КаталогДляБекапа + "Log_Update_ANR.txt""";
		
		
		//запись в файл
		Текст.ДобавитьСтроку("$ИсполняемыйФайл = """ + ИсполняемыйФайл + """");
		Текст.ДобавитьСтроку("$ИмяСервера = """+ИмяСервера+"""");
		Текст.ДобавитьСтроку("$ИмяКластера = """+ИмяКластера+"""");
		Текст.ДобавитьСтроку("$АдминистраторКластера = """+АдминистраторКластера+"""");
		Текст.ДобавитьСтроку("$ПарольАдминистратораКластера = """+ПарольАдминистратораКластера+"""");
		Текст.ДобавитьСтроку("$ИмяБазы = """+ИмяБазы+"""");
		Текст.ДобавитьСтроку("$АдминистраторИБ = 'СервисныйПользователь_АвтообновлениеКонфигурации'");
		Текст.ДобавитьСтроку("$ПарольАдминистратораИБ = 'iddqd'");
		Текст.ДобавитьСтроку("$ПараметрыБекап = '" + ПараметрыБекап + "'");
		Текст.ДобавитьСтроку("$ПараметрыАпдейт = '" + ПараметрыАпдейт + "'");
		Текст.ДобавитьСтроку("$ФайлВыгрузки = '" + ФайлВыгрузки + "'");
		Текст.ДобавитьСтроку("$ФайлЛогов = '" + ФайлЛогов + "'");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Скрипт запущен""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("$Коннектор = New-Object -COMObject ""V83.COMConnector""");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Создание СОМ-соединения с сервером""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("$Агент = $Коннектор.ConnectAgent($ИмяСервера)");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Подключение к серверу""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("$Кластеры = $Агент.GetClusters()");
		Текст.ДобавитьСтроку("foreach ($Кластер in $Кластеры) {if ($ИмяКластера.ToUpper() -eq $Кластер.ClusterName.ToUpper()) {break}}");
		Текст.ДобавитьСтроку("$Агент.Authenticate($Кластер, $АдминистраторКластера, $ПарольАдминистратораКластера)");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Аутентификация в кластере""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("$Процессы = $Агент.GetWorkingProcesses($Кластер)");
		Текст.ДобавитьСтроку("Foreach ($Процесс in $Процессы)");
		Текст.ДобавитьСтроку("	{");
		Текст.ДобавитьСтроку("	$Порт = $Процесс.MainPort");
		Текст.ДобавитьСтроку("	$РабПроц = $Коннектор.ConnectWorkingProcess($ИмяСервера + "":"" + $Порт)");
		Текст.ДобавитьСтроку("	$РабПроц.AddAuthentication($АдминистраторИБ, $ПарольАдминистратораИБ)");
		Текст.ДобавитьСтроку("	$Базы = $РабПроц.GetInfoBases()");
		Текст.ДобавитьСтроку("	$БазаНайдена = $false");
		Текст.ДобавитьСтроку("	Foreach ($База in $Базы) {if ($База.Name.ToUpper() -eq $ИмяБазы.ToUpper()) {$БазаНайдена = $true; break}}");
		Текст.ДобавитьСтроку("	if ($БазаНайдена -eq $false) {continue}");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Нашли базу""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("	$База.SessionsDenied = $True");
		Текст.ДобавитьСтроку("	$ЗапускРегЗаданий = $База.ScheduledJobsDenied");
		Текст.ДобавитьСтроку("	$База.ScheduledJobsDenied = $True");
		Текст.ДобавитьСтроку("	$База.PermissionCode = ""iddqd""");
		Текст.ДобавитьСтроку("	$РабПроц.UpdateInfoBase($База)");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Установили блокировки на базу""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Отключаем соединения с базой""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("	$СоединенияБазы = $РабПроц.GetInfoBaseConnections($База) | Foreach {if ($_.AppID -ne ""COMConsole"") {$РабПроц.Disconnect($_)}}");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Отключили соединения с базой""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("	}");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Выполняем бекап базы""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("$procid = (Start-Process $ИсполняемыйФайл -ArgumentList $ПараметрыБекап -Passthru).id");
		Текст.ДобавитьСтроку("$countchild = 1");
		Текст.ДобавитьСтроку("while ($countchild -ne 0)");
		Текст.ДобавитьСтроку("	{");
		Текст.ДобавитьСтроку("	$pr = Get-WmiObject Win32_Process -Filter ""ParentProcessId='$procid' or ProcessId='$procid'"" | measure");
		Текст.ДобавитьСтроку("	$countchild = $pr.Count");
		Текст.ДобавитьСтроку("	Start-Sleep 10");
		Текст.ДобавитьСтроку("	}");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Выполнили бекап базы""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("Start-Sleep 10");
		Текст.ДобавитьСтроку("$isfile = Test-Path $ФайлВыгрузки");
		Текст.ДобавитьСтроку("if ($isfile -eq ""True"")");
		Текст.ДобавитьСтроку("	{");
		Текст.ДобавитьСтроку("	(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Выполняем обновление конфигурации""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("	Start-Process $ИсполняемыйФайл -ArgumentList $ПараметрыАпдейт");
		Текст.ДобавитьСтроку("	(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Выполнили обновление конфигурации""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("	}");
		Текст.ДобавитьСтроку("else");
		Текст.ДобавитьСтроку("	{");
		Текст.ДобавитьСтроку("	(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Файл бекапа не найден. Обновление не выполнено""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("	}");
		Текст.ДобавитьСтроку("$Процессы = $Агент.GetWorkingProcesses($Кластер)");
		Текст.ДобавитьСтроку("Foreach ($Процесс in $Процессы)");
		Текст.ДобавитьСтроку("	{");
		Текст.ДобавитьСтроку("	$Порт = $Процесс.MainPort");
		Текст.ДобавитьСтроку("	$РабПроц = $Коннектор.ConnectWorkingProcess($ИмяСервера + "":"" + $Порт)");
		Текст.ДобавитьСтроку("	$РабПроц.AddAuthentication($АдминистраторИБ, $ПарольАдминистратораИБ)");
		Текст.ДобавитьСтроку("	$Базы = $РабПроц.GetInfoBases()");
		Текст.ДобавитьСтроку("	$БазаНайдена = $false");
		Текст.ДобавитьСтроку("	Foreach ($База in $Базы) {if ($База.Name.ToUpper() -eq $ИмяБазы.ToUpper()) {$БазаНайдена = $true; break}}");
		Текст.ДобавитьСтроку("	if ($БазаНайдена -eq $false) {continue}");
		Текст.ДобавитьСтроку("");
		Текст.ДобавитьСтроку("	$База.SessionsDenied = $False");
		Текст.ДобавитьСтроку("	$База.ScheduledJobsDenied = $ЗапускРегЗаданий");
		Текст.ДобавитьСтроку("	$База.PermissionCode = """"");
		Текст.ДобавитьСтроку("	$РабПроц.UpdateInfoBase($База)");
		Текст.ДобавитьСтроку("(Get-Date -UFormat ""%d.%m.%Y %T"").ToString() + ""   Сняли блокировки с базы""| Add-Content $ФайлЛогов");
		Текст.ДобавитьСтроку("	}");
		
		Текст.Записать(ФайлСкрипта);
		
	КонецЕсли;
	
	Текст = Неопределено;
	
	WshShell.Run(PS+" -ExecutionPolicy RemoteSigned -File " + ФайлСкрипта,0,Ложь);
	
КонецПроцедуры

 

Обмен РБД конфигурация обновление powershell

См. также

Онлайн-интенсив "DevOps для 1С". с 5 февраля по 19 марта 2024 г.

Инструментарий разработчика DevOps и автоматизация разработки DevOps для 1С Платные (руб)

Данный онлайн-курс (интенсив) предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С. 

25000 руб.

20.06.2023    11457    3    2    

142

SALE! 15%

[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    131596    685    290    

379

SALE! 10%

Перенос данных из УПП 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.215.x) и БП 3.0 (3.0.144.x). Правила подходят для версии ПРОФ и КОРП.

28000 25200 руб.

15.12.2021    18194    114    36    

69

SALE! 10%

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

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

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

38500 34650 руб.

15.04.2019    66105    164    131    

96

SALE! 10%

Перенос данных из УТ 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.85.x) и УТ 11.5 (11.5.15.x).

28000 25200 руб.

23.07.2020    43287    185    63    

138

Перенос данных из Камин 3.0, 4.0, 5.0 в ЗУП 3.х

Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12000 руб.

25.09.2016    75161    253    244    

221

SALE! 10%

МС:Автообмен - автоматическая настройка и запуск обменов между базами 1С по расписанию

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Разработка позволяет автоматически настроить и выполнять обмен данными без внесения изменений в программы 1С. Для выполнения обменов используются правила конвертации, разработанные в программе КД 2. Программа использует типовые планы обмена для хранения таблиц зарегистрированных изменений. Также, есть возможность запускать обмен автоматически по заданному расписанию. Выгружаются только измененные пользователями объекты по заданному вами расписанию. Доступны следующие способы обмена: через технологию COM-подключения или через веб-сервис.

27778 25000 руб.

08.10.2019    39893    67    24    

63

[ED2] Обмен УПП 1.3, КА 1.1, УТ 10.3 с EnterpriseData (универсальный формат обмена), обработка

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

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

14580 руб.

18.02.2016    179614    546    508    

499
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Volvo32 29 02.09.21 13:51 Сейчас в теме
Да, совсем забыл.
УНФ.ОпциональныйБэкСлеш_ - функция просто проверяет наличие обратного слеша в конце строки, и добавляет при его отсутствии
Оставьте свое сообщение