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

02.09.21

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Автообновление конфигурации после обмена:
.epf 9,61Kb
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С. 

25000 руб.

20.06.2023    19456    41    3    

272

Перенос данных 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 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

45650 руб.

04.08.2015    164537    378    275    

366

SALE! 10%

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

12.06.2017    139636    772    295    

407

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

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

45650 руб.

15.04.2019    71212    178    148    

120

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

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

28000 руб.

15.12.2021    22754    151    46    

110

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

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

45650 руб.

24.04.2015    193801    147    242    

278

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    24065    22    1    

24

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

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

45650 руб.

31.10.2014    235386    97    332    

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