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

02.09.21

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Автообновление конфигурации после обмена:
.epf 9,61Kb ver:1.0
2
2 Скачать (1 SM) Купить за 1 850 руб.

Тестировалось на релизах 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С DevOps и автоматизация разработки Программист Стажер Платные (руб)

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

2500 руб.

20.06.2023    22251    2    4    

310

SALE! 20%

Перенос данных 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 22338 руб.

12.06.2017    141453    798    297    

419

SALE! 10%

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

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

55778 50200 руб.

04.08.2015    166416    332    277    

373

SALE! 10%

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

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

35000 31500 руб.

15.12.2021    23981    169    51    

127

SALE! 10%

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

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

35000 31500 руб.

23.07.2020    51171    228    69    

184

SALE! 10%

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

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    36563    94    66    

89

SALE! 10%

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

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

48278 43450 руб.

25.02.2015    171151    303    257    

378

SALE! 15%

Перенос данных 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, почту.

15300 13005 руб.

18.02.2016    186850    589    509    

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