Возможно ли создать невидимый локальный диск?
Есть старый ПК, на нём 1С 7.7. Перенёс программу и базу на новый ПК. 1С запускается и открывает базу, но при запуске подтупливает и каждый раз вываливается ошибка:
Код:
Текст.Записать("D:\1sbases\1Cv77\1SBDB\Архивы\РезАрхБухКажДень.txt"); Понятно, что можно отщипнуть кусочек с хвоста диска С и создать диск D, но он со временем забьётся, а как убрать эту идиотскую команду из базы - я не знаю. Что можно сделать в такой ситуации? Есть ли возможность создать какой-нибудь виртуальный диск D, который не был бы виден и пропадал после выключения компа? |
Цитата:
Цитата:
Код:
subst /? Код:
subst.exe d: "%temp%" |
Цитата:
--- Нашел какой-то "USP патч", теперь всё ОК, пускает в конфигурацию с пустым паролем, но там нет никаких глобальных модулей: http://imagestun.com/hosting/kartinki/avaava.png |
Цитата:
Цитата:
Цитата:
Вариант 1
Вариант 2
Меню \Действия\Глобальный модуль.
|
О, теперь нашел, да. :) И кусок этот нашёл. Удалил всё нахрен, что касалось резервного копирования. Теперь пишет при запуске базы "Ошибка компиляции глобального модуля".
Заново восстановил базу из выгрузки. Вот этот кусок: Скрытый текст
// ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ
// //****************************************************************************** // Предопределенная процедура // Процедура ПриНачалеРаботыСистемы() Текст=СоздатьОбъект("Текст"); Текст.ДобавитьСтроку("[General] |Output=""D:\1sbases\1Cv77\1SBDB\Архивы\ОтчСохрАрх.txt"" |SaveData=1 |Quit=1 |[SaveData]"); Текст.Шаблон(1); Текст.ДобавитьСтроку("SaveToFile=""D:\1sbases\1Cv77\1SBDB\АрхивыКаждыйДень\РезАрхБухОт[Формат(ТекущаяДата(),""Д ГГГГММДД"")].zip"""); Если ФС.СуществуетФайл("\\Glavbuh\1Cv77\1SBDB\Архивы\РезАрхБухКажДень.txt")=1 Тогда Текст.Записать("\\Glavbuh\1Cv77\1SBDB\Архивы\РезАрхБухКажДень.txt"); Иначе Текст.Записать("D:\1sbases\1Cv77\1SBDB\Архивы\РезАрхБухКажДень.txt"); КонецЕсли; Текст.ЗаменитьСтроку(2,"Output=""D:\1sbases\PRBasic\Архивы\ОтчСохрАрхЗарПл.txt"""); Текст.ЗаменитьСтроку(6,"SaveToFile=""D:\1sbases\PRBasic\АрхКаждДень\РезАрхЗарПлОт[Формат(ТекущаяДата(),""Д ГГГГММДД"")].zip"""); Если ФС.СуществуетФайл("\\Buhzarpl\PRBasic\Архивы\РезАрхЗарПлКажДень.txt")=1 Тогда Текст.Записать("\\Buhzarpl\PRBasic\Архивы\РезАрхЗарПлКажДень.txt"); КонецЕсли; //Если (ФС.СуществуетФайл("C:\1sBases\2005\ЭтоНеКаталогСервера.txt")=1) Тогда //м_№ D:\1sbases\1Cv77\ССМУ-24\1sbdb Если (ФС.СуществуетФайл("\\Glavbuh\1Cv77\1SBDB\АрхивыКаждыйДень\РезАрхБухОт*")=1) Тогда //м_№ СписАрхивов=СоздатьОбъект("СписокЗначений"); //м_№ ПервАрх =""; //м_№ ПервАрх = ФС.НайтиПервыйФайл("\\Glavbuh\1Cv77\1SBDB\АрхивыКаждыйДень\РезАрхБухОт*"); //м_№ СписАрхивов.ДобавитьЗначение(ПервАрх,ПервАрх); //м_№ СледАрх = "1"; //м_№ Пока (ПервАрх <> СледАрх) Цикл //м_№ СледАрх = ФС.НайтиСледующийФайл(); //м_№ Если СписАрхивов.НайтиЗначение(СледАрх)=0 Тогда //м_№ Если (СледАрх = "") Тогда Прервать //м_№ КонецЕсли; //м_№ СписАрхивов.ДобавитьЗначение(СледАрх,СледАрх); //м_№ КонецЕсли; //м_№ КонецЦикла; //м_№ Пока СписАрхивов.РазмерСписка()>90 Цикл //м_№ СписАрхивов.Сортировать(,); //м_№ Если СписАрхивов.РазмерСписка()>90 Тогда //м_№ ПервАрх = ФС.НайтиПервыйФайл("\\Glavbuh\1Cv77\1SBDB\АрхивыКаждыйДень\"+СписАрхивов.ПолучитьЗначение(1,)); //м_№ ФС.УдалитьФайл(Строка("\\Glavbuh\1Cv77\1SBDB\АрхивыКаждыйДень\"+ПервАрх)); //м_№ СписАрхивов.УдалитьЗначение(1); //м_№ КонецЕсли; //м_№ КонецЦикла; //м_№ Если (ФС.СуществуетФайл("\\BuhZarpl\Не_Стирать\РезАрхБухОт*")=1) Тогда //м_№ // Если (ФС.СвободноеМестоНаДиске("E:")>15000000) Тогда //м_№ СписАрхивов.Сортировать(1,); //м_№ ПервАрх = ФС.НайтиПервыйФайл("\\Glavbuh\1Cv77\1SBDB\АрхивыКаждыйДень\"+СписАрхивов.ПолучитьЗначение(1,)); //м_№ ФС.КопироватьФайл(Строка("\\Glavbuh\1Cv77\1SBDB\АрхивыКаждыйДень\"+ПервАрх),Строка("\\BuhZarpl\Не_Ст ирать\"+ПервАрх),0); //м_№ // КонецЕсли; //м_№ КонецЕсли; //м_№ КонецЕсли; //м_№ Если (ФС.СуществуетФайл("\\BuhZarpl\Не_Стирать\ItIsReserv.txt")=1) Тогда //м_№ Если (ФС.СуществуетФайл("\\BuhZarpl\Не_Стирать\РезАрхБухОт*")=1) Тогда //м_№ СписАрхивов=СоздатьОбъект("СписокЗначений"); //м_№ ПервАрх =""; //м_№ ПервАрх = ФС.НайтиПервыйФайл("\\BuhZarpl\Не_Стирать\РезАрхБухОт*"); //м_№ СписАрхивов.ДобавитьЗначение(ПервАрх,ПервАрх); //м_№ СледАрх = "1"; //м_№ Пока (ПервАрх <> СледАрх) Цикл //м_№ СледАрх = ФС.НайтиСледующийФайл(); //м_№ Если СписАрхивов.НайтиЗначение(СледАрх)=0 Тогда //м_№ Если (СледАрх = "") Тогда Прервать //м_№ КонецЕсли; //м_№ СписАрхивов.ДобавитьЗначение(СледАрх,СледАрх); //м_№ КонецЕсли; //м_№ КонецЦикла; //м_№ Пока СписАрхивов.РазмерСписка()>10 Цикл //м_№ СписАрхивов.Сортировать(,); //м_№ Если СписАрхивов.РазмерСписка()>10 Тогда //м_№ ПервАрх = ФС.НайтиПервыйФайл("\\BuhZarpl\Не_Стирать\"+СписАрхивов.ПолучитьЗначение(1,)); //м_№ ФС.УдалитьФайл(Строка("\\BuhZarpl\Не_Стирать\"+ПервАрх)); //м_№ СписАрхивов.УдалитьЗначение(1); //м_№ КонецЕсли; //м_№ КонецЦикла; //м_№ КонецЕсли; //м_№ КонецЕсли; //м_№ //КонецЕсли; //м_№ Как его корректно удалить? P.S. Оказывается, чтобы русские символы копировались нормально в буфер обмена, надо раскладку на русскую сменить. Жесть... Эту 1С какие-то больные люди писали. |
Цитата:
Цитата:
Цитата:
Код:
Процедура ПриНачалеРаботыСистемы() Цитата:
А вот 16-разрядный установщик — это воистину «жесть». |
Цитата:
|
Busla, ну, а я про что. Релизы-то новые выходили (когда там появился последний, 27-й?), продажи-то продолжались, так? А на принципиальную невозможность инсталляции на x64-платформах просто «забили».
|
Цитата:
Скрытый текст
//КонецЕсли; //м_№
ЭтоПервыйЗапуск = 0; Если ПустоеЗначение(Константа.НомерРелиза) = 1 Тогда ЭтоПервыйЗапуск = 1; Док = СоздатьОбъект("Документ"); Если Док.ВыбратьДокументы() = 1 Тогда ЭтоПервыйЗапуск = 0; КонецЕсли; Если ЭтоПервыйЗапуск = 1 Тогда ПоставляемыеСправочники = ",КлассификаторЕН,"; Индекс = 1; КоличествоСправочников = Метаданные.Справочник(); Пока (ЭтоПервыйЗапуск = 1) и (Индекс <= КоличествоСправочников) Цикл ВидСпр = Метаданные.Справочник(Индекс).Идентификатор; Если Найти(ПоставляемыеСправочники, ","+ВидСпр+",") = 0 Тогда Спр = СоздатьОбъект("Справочник."+ВидСпр); Если Спр.ВыбратьЭлементы(0) = 1 Тогда ЭтоПервыйЗапуск = 0; КонецЕсли; КонецЕсли; Индекс = Индекс+1; КонецЦикла; КонецЕсли; Если ЭтоПервыйЗапуск = 1 Тогда Константа.НомерРелиза = Лев(Метаданные.Комментарий, 8); ОткрытьФормуМодально("Обработка.ПервыйЗапуск", 1); Иначе Константа.НомерРелиза = "7.70.001"; КонецЕсли; КонецЕсли; // Если ПроверитьЛегальностьПолученияОбновления() = 0 Тогда //м_№(было) Если 1 = 0 Тогда //м_№(стало) Возврат; КонецЕсли; ПервыйЗапускНаРабочемМесте = ВосстановитьЗначение("ПервыйЗапускНаРабочемМесте"); Цитата:
Короче ладно... Попробую все пути поменять. Процессор Pentium G5400, SSD хороший, работает по NVMe-протоколу, ёмкость 240Гб. По идее, создание копий не должно будет сильно сказываться на скорости запуска программы. |
Цитата:
Код:
КонецПроцедуры Цитата:
Цитата:
|
Да, точно. Помучал скроллинг на мышке и домотал-таки до "КонецПроцедуры // ПриНачалеРаботыСистемы()". Блин... А нельзя как-то создать новую базу без всякого лишнего дерьма и перекинуть в нее данные из нынешней?
|
Avatar-Lion, если Вы уверены, что ничего ценного для дальнейшей работы конфигурации внутри вышеназванной процедуры нет, Вы можете просто оставить от неё две строки:
Код:
Процедура ПриНачалеРаботыСистемы() Цитата:
|
Время: 11:58. |
Время: 11:58.
© OSzone.net 2001-