2.37 проверка базы данных перед усечением типов
|
|
Simol | Дата: Вт, 13.03.2012, 11:58:58 | Сообщение # 1 |
Полковник
Группа: Проверенные
Сообщений: 237
Репутация: 27
Статус: Оффлайн
| Имею 8.2.13 + MSSQL. В конфигурацию внесены изменения, но конфигурация базы не обновлена. Обработка предлагает заполнить усекаемые типы. Но команда: Quote ЗапуститьСистему("DESIGNER /DumpCfg " + ВременныйФайл.ПолноеИмя, Истина); Конфигурацию не выгружает. Если во время отладки подсунуть файл cf с нужными именем после этой команды, то следующее действие: Quote ирКэш.Получить().ЗапуститьСкрытоеПриложениеИДождатьсяЗавершения("""" + КаталогПрограммы() + "1cv8.exe"" " + "CREATEINFOBASE File=""" + ВременныйКаталог + """;" + " /UseTemplate """ + ВременныйФайл.ПолноеИмя + """"); Базу не создает, даже каталог не создается. Если подсунуть и базу, то типы определяются корректно.
|
|
| |
tormozit | Дата: Ср, 14.03.2012, 01:59:01 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 6987
Репутация: 187
Статус: Оффлайн
| Quote ЗапуститьСистему("DESIGNER /DumpCfg " + ВременныйФайл.ПолноеИмя, Истина); Вероятно, не выгружает конфигурацию в режиме отладки, т.к. конфигуратор занят.
К сожалению нет возможности проверить эту функцию на 13-м релизе. Она проверялась на 14-м и 15-м релизах на файловых и клиент-серверных базах.
Попробуй сохранить строку запуска Quote """" + КаталогПрограммы() + "1cv8.exe"" " + "CREATEINFOBASE File=""" + ВременныйКаталог + """;" + " /UseTemplate """ + ВременныйФайл.ПолноеИмя + """" во время отладки и по ее принципу попробовать создать новую базу из шаблона.
Из справки платформы 8.2.15 Quote CREATEINFOBASE <строка соединения> [/AddInList [<имя ИБ>]] [/UseTemplate <имя файла шаблона>] — создание информационной базы. <Строка соединения> — строка, задающая параметры информационной базы, каждый из которых представляет собой фрагмент вида <Имя параметра>=<Значение>, где:
<Строка соединения> — строка, задающая параметры информационной базы, каждый из которых представляет собой фрагмент вида <Имя параметра>=<Значение>, где:
Имя параметра — имя параметра; Значение — его значение.
/AddInList — параметр, показывающий, под каким именем добавлять базу в список, если не указан, база не будет добавлена в список.
<имя ИБ> — имя информационной базы, под которым сведения о базе будут добавлены в список информациионных баз. Если не указано, используется имя по умолчанию, аналогичное имени, предлагаемому системой при интерактивном создании информационной базы.
/UseTemplate — создание информационной базы осуществляется по шаблону, указанному в <имя файла шаблона>. В качестве шаблонов могут быть файлы конфигурации (.cf) или файлы выгрузки информационной базы (.dt). Если шаблон не указан, параметр игнорируется.
Пример: CREATEINFOBASE File=e:\test3; /AddInList TEST33 /UseTemplate "C:\Documents and Settings\User\My Documents\tmplts\TestVendor\TestConfig\1Cv8.cf"
|
|
| |
Simol | Дата: Ср, 14.03.2012, 13:39:35 | Сообщение # 3 |
Полковник
Группа: Проверенные
Сообщений: 237
Репутация: 27
Статус: Оффлайн
| Провел опыты результат следующий: От версии нет зависимости. Дело в том. что у меня xp/2003 и в имени временного файла присутствуют пробелы, потому после замены Quote ЗапуститьСистему("DESIGNER /DumpCfg " + ВременныйФайл.ПолноеИмя, Истина); на Quote ЗапуститьСистему("DESIGNER /DumpCfg """ + ВременныйФайл.ПолноеИмя + """", Истина); конфигурация выгружается.
Но база все еще не создается, буду дальше разбираться
Добавлено (14.03.2012, 13:16) --------------------------------------------- на 8.2.13.202 команда Quote "C:\Program Files\1cv82\8.2.13.202\bin\1cv8.exe" CREATEINFOBASE File="C:\Documents and Settings\simashkevich\Local Settings\Temp\6\v8_15_2a.tmp"; /UseTemplate "C:\Documents and Settings\simashkevich\Local Settings\Temp\6\v8_15_28.CF" запущенная вручную с командной строки ничего не делает. CF в нужном месте есть, папку "v8_15_2a.tmp" предварительно создал. Урезал строку до CREATEINFOBASE - никаких ошибое не выдает, такое ощущение, что CREATEINFOBASE и все после него игнорируется. Quote "C:\Program Files\1cv82\8.2.13.202\bin\1cv8.exe" 1С запускает. Попробую на 8.2.15.301Добавлено (14.03.2012, 13:39) --------------------------------------------- на 8.2.15.301 команда Quote "C:\Program Files\1cv82\8.2.15.301\bin\1cv8.exe" CREATEINFOBASE File="C:\Documents and Settings\simashkevich\Local Settings\Temp\v8_4E_40.tmp"; /UseTemplate "C:\Documents and Settings\simashkevich\Local Settings\Temp\v8_4E_3f.CF" запущенная вручнуя с командной строки тоже ничего не дает
Сообщение отредактировал Simol - Ср, 14.03.2012, 13:18:21 |
|
| |
tormozit | Дата: Ср, 14.03.2012, 13:50:50 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 6987
Репутация: 187
Статус: Оффлайн
| Возможно проблема в наличии пробелов в путях. Нужно методом исключения определить, где платформа их некорректно воспринимает.
|
|
| |
Simol | Дата: Ср, 14.03.2012, 14:00:52 | Сообщение # 5 |
Полковник
Группа: Проверенные
Сообщений: 237
Репутация: 27
Статус: Оффлайн
| да, проверил без пробелов на коротких путях к папке с базой - работает. Получается нужно искать другую временную папку, в которой создавать базу. CF выгружать в папку с пробелами можно (При условии доработки Quote ЗапуститьСистему("DESIGNER /DumpCfg """ + ВременныйФайл.ПолноеИмя + """", Истина);
Сообщение отредактировал Simol - Ср, 14.03.2012, 14:08:11 |
|
| |
tormozit | Дата: Ср, 14.03.2012, 14:26:48 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 6987
Репутация: 187
Статус: Оффлайн
| Т.е. платформа на всех релизах до 15 включительно параметр командной строки Quote File="C:\Documents and Settings\simashkevich\Local Settings\Temp\v8_4E_40.tmp"; некорректно воспринимает, а такой Quote File="C:\Documents\simashkevich\LocalSettings\Temp\v8_4E_40.tmp"; корректно. Правильно я понял?
|
|
| |
Simol | Дата: Ср, 14.03.2012, 14:32:14 | Сообщение # 7 |
Полковник
Группа: Проверенные
Сообщений: 237
Репутация: 27
Статус: Оффлайн
| да, пробелы в пути расположения новой базы у меня не скушались ни в 13 ни в 15.
|
|
| |
tormozit | Дата: Ср, 14.03.2012, 20:26:32 | Сообщение # 8 |
Генералиссимус
Группа: Администраторы
Сообщений: 6987
Репутация: 187
Статус: Оффлайн
| Отчет о предполагаемой ошибке платформы отправил в 1С.
В следующих версиях попробую сделать обход этой проблемы.
|
|
| |
Simol | Дата: Чт, 15.03.2012, 01:48:30 | Сообщение # 9 |
Полковник
Группа: Проверенные
Сообщений: 237
Репутация: 27
Статус: Оффлайн
| Как вариант проверять если в пути к базе есть пробел, то создавать ее в темпе операционки, а не в профиле.
|
|
| |
tormozit | Дата: Вс, 18.03.2012, 13:11:58 | Сообщение # 10 |
Генералиссимус
Группа: Администраторы
Сообщений: 6987
Репутация: 187
Статус: Оффлайн
| Ошибка в строке Code ЗапуститьСистему("DESIGNER /DumpCfg " + ВременныйФайл.ПолноеИмя, Истина);
Исправлена в 2.38
|
|
| |