Имя: Пароль:
1C
1C 7.7
v7: Ошибка "Не удается найти пакетный файл" или как запустить пакетный файл без ожид
0 DJ Anthon
 
02.12.11
20:01
формирую батник, стартую его с помощью КомандаСистемы, батник вызывает в себе другой командой start, после чего первый успешно завершается, а второй работает, при этом 1С дальше выполняет код. Однако по завершении выполнения задач второй батник не закрывается автоматически. На команду "exit" выдает сабж. каким способом его можно завершить? если нельзя, то как запустить батник, не дожидаясь завершения его работы?
1 DJ Anthon
 
02.12.11
20:10
TASKKILL /F /IM cmd.exe /T - конечно, варварский способ, но есть что-нибудь получше? а то неизвестно, вдруг в этот момент еще будут такие же процессы, которые завершать нельзя?
2 ParaWiz
 
02.12.11
20:11
Для начала телепатического сеанса хоть текст батников покажи
3 DJ Anthon
 
02.12.11
20:27
@echo off
echo Ожидание монопольного доступа к базе. Подождите...
:begin
PING -n 5 -w 1000 127.0.0.1 > nul
ren 1cv7.md 1cv7_original.md > nul
if exist 1cv7.md goto begin else goto end
:end
echo Подождите, идет сборка конфигурации 1С...
gcomp -c
echo Конфигурация обработана. Теперь нажмите Enter для выхода и снова запустите 1С.
pause
del 1cv7bckp.md
del wait1.bat
del gcomp.exe
TASKKILL /F /IM cmd.exe /T
4 DJ Anthon
 
02.12.11
20:28
если не тасккилл - то окно просто остается висеть с приглашением ввода команды, exit в батнике игнорируется.
5 DJ Anthon
 
02.12.11
20:31
если же напрямую его вызывать из 1С или командой call, то exit работает. но 1С ожидает конца его выполнения, а это не надо.
6 ildary
 
02.12.11
20:34
exit /b не помогает?
7 DJ Anthon
 
02.12.11
20:42
(6) нет, пробовал уже
8 ParaWiz
 
02.12.11
20:44
Вижу текст одного батника ... надеюсь это второй .... ну да ладно, зачем там pause - читай ожидание нажатия клавиши "any key" ?
9 DJ Anthon
 
02.12.11
20:46
типа да. без него - просто завершается выполнение команд и висит окно, ждет, что я нажму Альт+Ф4
10 DJ Anthon
 
02.12.11
20:47
второй батник элементарен (вернее первый):

start wait
11 DJ Anthon
 
02.12.11
20:48
нужен только для того, чтобы 1С поняла, что он "завершился" и продолжила выполнять алгоритм
12 ParaWiz
 
02.12.11
20:50
Раскрой уже секрет что ж ты такое творишь что требуется разборка и сборка мд-шника
13 DJ Anthon
 
02.12.11
20:53
да уже сотворил, вылизываю.
Универсальный перенос по OLE (импорт данных по OLE) 7.7
ща выложу багфикс предпоследний.
14 DJ Anthon
 
02.12.11
20:54
инфостарт не работает (((( на кнопке Редактировать вышибает...
15 ParaWiz
 
02.12.11
21:02
завтра стукнись parawiz@gmail.com есть мысль
16 DJ Anthon
 
02.12.11
21:03
хм... аська/магент/скайп есть?
17 DJ Anthon
 
02.12.11
21:04
(15) версию, использующую перехватчик (как мне тут советуют) я сделаю чуть позже, там это уже не понадобится. так что, пока на костылях поживем. думал, ответ на поверхности.
18 ParaWiz
 
02.12.11
21:04
20513151/--/parawiz
но все завтра ... сегодня пива много уже, девушка ждет :)
19 ParaWiz
 
02.12.11
21:05
Часовой пояс - МСК+3
20 DJ Anthon
 
02.12.11
21:06
)) окей ))) а то у меня уже три часа ночи, я тоже спать хочу, ща только выложу обработку на ис...
21 Torquader
 
04.12.11
16:22
Чтобы окно bat-файла закрывалось, нужно вызывать его через ярлык, в котором будет указано "Закрывать окно после завершения".
P.S. а неплохо бы ещё и автоматический запуск 1С после сборки добавить.
Кроме того, подключение к 1С можно проверить по наличию 1cv7.lck файла в директории и не пытаться переименовать md.
22 DJ Anthon
 
04.12.11
16:53
(21) это я знаю. если запускать батник как угодно, но не из 1С, очистка экрана даже его закрывает. а через 1С этот фокус не срабатывает. насчет запуска - думал запускать 1Ску после обработки, но передумал. мало ли как она запускается у юзера. а как узнать, каким ехешником запущена база? путь есть, каталог базы есть, юзер есть, монопольный режим есть, нет ехешника и пароля ХДД
23 vdepid2009
 
04.12.11
16:54
Делаю так:
СпрБазУд.ИспользоватьВладельца(СпрУд.ТекущийЭлемен т());
СпрБазУд.Новый();
СпрБазУд.Начисление = ???
надо указать начисление.
24 DJ Anthon
 
04.12.11
16:55
(21) насчет лок-файла ты не прав - если открыт конфигуратор, то лок-файл есть, а мне пофиг, открыт ли конфигуратор или нет. главное - доступ к мд.