1C 8 получить текст обработки. V8UNPACK

Как в 1C8 получить текст обработки.

Используем утилиту V8UNPACK [https://github.com/xDrivenDevelopment/v8unpack-console] Идея: После распаковки обработки утилитой V8UNPACK, текст модуля хранится в файле text. Функция работает так:

В каталоге обработки создается новый каталог с именем как и у обработки.
В созданный каталог распаковываются все подкаталоги и файлы.
В файл .inf выводятся полный путь распакованного файла text.
Возвращаем прочитанное содержимое файла text.

Функция ПолучитьТекстОбработки(стрПолныйПутьФайлаEpf)	

	//  V8UNPACK [https://github.com/xDrivenDevelopment/v8unpack-console]
	//-U[NPACK]     in_filename.cf     out_dirname
	//-PA[CK]       in_dirname         out_filename.cf
	//-I[NFLATE]    in_filename.data   out_filename
	//-D[EFLATE]    in_filename        filename.data
	//-E[XAMPLE]
	//-BAT
	//-P[ARSE]      in_filename        out_dirname
	//-B[UILD]      in_dirname         out_filename
	// f:\1C\epf\Писатель>V8Unpack.exe -p myfile.epf mydir

	//текущийКаталог = ЭтотОбъект.ИспользуемоеИмяФайла;
	файл = Новый Файл(стрПолныйПутьФайлаEpf);
	
	Если файл.Существует() тогда
		
	иначе
		Сообщить("ОШИБКА!!! Файл:" + стрПолныйПутьФайлаEpf + " не существует!!!");
		Возврат Неопределено;
	КонецЕсли;	
	
	текущийКаталог = файл.Путь;
	
	in_filename = стрПолныйПутьФайлаEpf;  
	out_dirname = СтрЗаменить(стрПолныйПутьФайлаEpf,".epf","");
	text_inf    = СтрЗаменить(стрПолныйПутьФайлаEpf,".epf","_text.inf"); // в него запишем полный путь до файла text
	
	стрКомандаV8Unpack_exe = текущийКаталог + "V8Unpack.exe -PARSE " + in_filename + " " + out_dirname;
	
	лог2("стрКомандаV8Unpack_exe:" + стрКомандаV8Unpack_exe);
	КомандаСистемы(стрКомандаV8Unpack_exe);	
	
	стрКомандаDir = "dir text /S /B > " + text_inf;	
	
	лог2("стрКомандаDir:" + стрКомандаDir);
	КомандаСистемы(стрКомандаDir,out_dirname);
	
	чтениеФайла_text_inf = новый ЧтениеТекста(text_inf, КодировкаТекста.OEM);
	полноеИмяФайла_text = СокрЛП(чтениеФайла_text_inf.Прочитать());
	
	лог2("полноеИмяФайла_text:" + полноеИмяФайла_text);
	
	чтениеФайла_text = новый ЧтениеТекста(полноеИмяФайла_text, КодировкаТекста.ANSI);
	текст = чтениеФайла_text.Прочитать();
	лог2("текстМодуля:" + текст);
	
	Возврат текстМодуля;
КонецФункции

стрПолныйПутьФайлаEpf = ЭтотОбъект.ИспользуемоеИмяФайла;	
получили = ПолучитьТекстОбработки(стрПолныйПутьФайлаEpf);	






Рекламный блок:

Предлагаем решение Ваших задач 1С.

Внедрение 1С:

  • Организуем вам индивидуальное экспресс обучение программам 1С.
  • Мы поможем Вам начать работать с программами 1С.
  • Мы поможем Вам настроить ваши отчеты в 1С.
  • Установим и настроим 1С под ваши задачи.
  • Поможем сделать ввод начальных остатков по складам и контрагентам
  • Перенесем данные из старых систем.
  • Подскажем как избежать ошибок.

Доработка и сопровождение 1С:

  • Доработаем существующие или создадим новые печатных формы и документы.
  • Разработаем внешние отчеты по Вашим требованиям.
  • Напишем внешние обработоки по загрузке документов из учетных (торговых) систем в бухгалтерию.
  • Разработаем приложения для выгрузки данных на сайты.

Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.

Пишите: j008@j008.ru

Звоните: 8 916 710 83 51 Ольга