Имя: Пароль:
1C
1С v8
Как создать батник в 1С?
, ,
0 Luffy
 
03.02.16
06:35
Ребята подскажите пожалуйста, как создать батник в 1С и записать в этот батник, путь exe 1с для запуска например C:\Program Files\1cv8\common\1cestart.exe и чтоб открылась баз под пользователем  и его паролем? я знаю что в каталог временных файлов это можно сделать, но как в сам батник записать пути с командой к примеру "C:\Program Files\1cv82\8.2.19.130\bin\1cv8.exe" ENTERPRISE /F"D:\1cBase\имябазы" /N"пользователь" /P"пароль"
1 PaulBC
 
03.02.16
06:39
ТекстовыйДокумент
ДобавитьСтроку
Записать
2 Luffy
 
03.02.16
06:47
(1) Понял спасибо)
3 Luffy
 
03.02.16
06:50
Теперь бы найти путь к базам, которые участвуют в обмене данными, пока не знаю, где они могут находиться(
4 VladZ
 
03.02.16
07:08
(3)  Зачем тебе это? Очередной "лисапед" изобретаешь?
5 Luffy
 
03.02.16
07:15
(4) Для того, чтобы кассиры выполняли обмен, запускалась 1с под пользователем робот и происходил обмен с ЦБ, а так мне приходится, постоянно к ним подключаться выполнять обмен с ЦБ
6 13_Mult
 
03.02.16
07:36
(5) Открой для себя Регламентные задания
7 Мэс33
 
03.02.16
07:40
(5) каждый раз автоматом батник будешь создавать?
8 Мэс33
 
03.02.16
07:41
(5) что за конфа? В типовой есть автообмен.
9 VladZ
 
03.02.16
07:41
(5) Между какими конфами идет обмен?
10 Luffy
 
03.02.16
07:49
(7) Да и удалять после, авто закрытия 1с под роботом. (9) Типовая конфа управления торговлей.
11 Мэс33
 
03.02.16
07:56
(10) >>>Типовая конфа управления торговлей.

там есть автообмен. Работает и в файловой версии.
12 Luffy
 
03.02.16
08:04
(11) Мне нужно, чтобы пользователь кассир, в меню-сервис-выполнить обмен данными, открывается форма, нажимаем на кнопку выполнить обмен к которой привязан код создания батника, обмен выполняется, после сразу батник запускает 1с под пользователем робот и происходит обмен, обмен прошел 1с закрылась авто и удалился батник
13 Мэс33
 
03.02.16
08:06
(12) тебе нужно, чтобы обмен происходил не в текущем сеансе пользователя?

Я бы сделал проще - настроил обмен на специально выделенную учетку. Под этой учеткой запустил бы еще один инстанс 1С и свернул его, пусть там крутится, обменивается каждые 5-10 минут. Вот и все.
14 Luffy
 
03.02.16
08:17
(13) Не много не понятно. Путь к программе я получил через КаталогПрограммы() осталось путь к базе получить
15 Luffy
 
03.02.16
08:26
А все разобрался СтрокаСоединенияИнформационнойБазы() путь к базе
16 Повелитель
 
03.02.16
08:30
(10) В типовой есть галка "Выполнять обмен под полными правами".
А когда батник запускаешь, там видно имя пользователя и пароль.
Кассир увидит пароль, потом зайдет под полными правами и будет деньги воровать )))
17 DDwe
 
03.02.16
08:43
(16) У них честные кассиры.
18 Лефмихалыч
 
03.02.16
08:48
(0)  КомандаСистемы("""C:\Program Files\1cv82\8.2.19.130\bin\1cv8.exe"" ENTERPRISE /F""D:\1cBase\имябазы"" /N""пользователь"" /P""пароль""")

это идеальный батник в 1с - батник выполняется, но батника нет.
19 Повелитель
 
03.02.16
08:54
(18) Но черное окошечко с именем пользователя с полными правами и паролем есть ))
20 Luffy
 
03.02.16
09:00
Блин осталось символы "" поставить, а то строка вот такая выходит "C:\Program Files\1cv82\8.2.19.130\bin\    ENTERPRISE /F File="D:\1cBase\Монтенаполеоне\УТЦ";    /Nrobot    /P123"
21 Лефмихалыч
 
03.02.16
09:01
(19) там файловые. Какая в лес разница, у кого какой пароль и права?..
22 Luffy
 
03.02.16
09:04
(21) Надо чтоб батник под robot запускал 1с пароль у него установлен 123
23 Рэйв
 
03.02.16
09:06
(18)+.../DisableStartupMessages
:-)
24 Мэс33
 
03.02.16
09:08
(17) Диспетчер задач можно выключить.
25 Повелитель
 
03.02.16
09:10
(21) Большая разница. Файловая не файловая, разделение прав сотрудников, РЛС и ответственность сотрудников за вбитое никто не отменял.

А если у любого пользователя есть возможность входить под robot с паролем 123 это большая проблема.
26 Лефмихалыч
 
03.02.16
09:11
(25) пфф! чтобы в файловую с полными правами зайти и перегнуть через кол все РЛСы, не надо знать вообще ни каких паролей.
27 Повелитель
 
03.02.16
09:12
(25) И я имею ввиду, сейчас не запуск батинка.
А именно право запуска 1с под robot.

(22) Зачем паришся, дай всем пользователям полные права да и все. Никаких батников не надо, ты дыру этим батником сделал.
28 Повелитель
 
03.02.16
09:12
(26) Это надо голову включить, еще найти как пароль хакнуть.
А то все на блюдичке.
29 Лефмихалыч
 
03.02.16
09:12
+(26) да и я не видел контор, которая бы пользовалась файловыми базами и при этом права админа не были бы почти у всех И не было бы хотя бы одной полноправной учетки без пароля. Не говоря уже про пароли, приклеенные к мониторам.
30 Повелитель
 
03.02.16
09:14
(29) В мелких конторах да.
А где РИБ используют, нет.
31 Повелитель
 
03.02.16
09:16
(30) РИБ подразумевает, что их центр будет контролировать и лишние права людям не к чему.
А тут у них полные права, правь что хочешь, лезь в константы снимай даты запрета редактирования для полных прав.
Исправляй доки прошлого года, пусть потом в центральной бухгалтерии вешаются.
32 Лефмихалыч
 
03.02.16
09:17
(31) В центре нельзя проконтролировать учетки в перифериях.
33 Лефмихалыч
 
03.02.16
09:18
да и лишние права чаще всего используются не для записи, а для чтения
34 Повелитель
 
03.02.16
09:19
(32) А причем тут это?
Я то говорю, что права им давать нельзя.

Нет в типовой такого тонкого разделения права для записи или права для чтения. Там либо есть у тебя роль "Полные права" или нет.
Тем более из цента тоже могут именно для записи во время обмена документа приходить.
35 Повелитель
 
03.02.16
09:20
Зачем вообще эта тогда тема про батники?
Проще зайти потратить 1 минуту, всем пользователям добавить роль "Полные права".
Проблема с обменом будет решена.
36 Лефмихалыч
 
03.02.16
09:26
(35) не имею - зачем. По-моему тоже - дурь полная
37 Мэс33
 
03.02.16
09:38
Полные права можно не давать.
В УТ есть роль - автообмен.
А в настройках обмена ставишь - "осуществлять под полными правами".

В итоге - можно создать учетную запись, у которого не будет никаких прав на создание, изменение чужих и своих прав, на документы и справочники, которая только умеет обмениваться.
38 Luffy
 
03.02.16
10:55
Все батник создает, но нужно его поправить убрать File=, ;
и добавить "" где нужно, вот код
мКаталогВременныхФайлов = КаталогВременныхФайлов()+"batnik\";
    СоздатьКаталог(мКаталогВременныхФайлов);
    ПутьКПрог = КаталогПрограммы();
    ПутьКБазе = СтрокаСоединенияИнформационнойБазы();
    ИмяФайла =  "pusk.bat";
    Бат = ПутьКПрог + Символы.Таб + "ENTERPRISE /F" + Символы.Таб + ПутьКБазе + Символы.Таб + "/N" + "robot"  + Символы.Таб + "/P" + "123";
    МестоБатника = мКаталогВременныхФайлов + ИмяФайла;
    ФайлЗаписи = Новый ЗаписьТекста(МестоБатника, КодировкаТекста.OEM);
    ФайлЗаписи.ЗаписатьСтроку(Бат);
    ФайлЗаписи.Закрыть();

Результат такой в батнике: C:\Program Files\1cv82\8.2.19.130\bin\ ENTERPRISE /F    File="D:\1cBase\Монтенаполеоне\УТЦ"; /Nrobot /P123
39 Luffy
 
03.02.16
11:37
Все готово)) стрзамена творит чудеса) мКаталогВременныхФайлов = КаталогВременныхФайлов()+"batnik\";
    СоздатьКаталог(мКаталогВременныхФайлов);
    ПутьКПрог = """"+КаталогПрограммы()+"1cv8.exe"+"""";
    ПутьКБазе = СтрЗаменить(СтрЗаменить(СтрокаСоединенияИнформационнойБазы(),"File=",""),";","");
    ИмяФайла =  "pusk.bat";
    Бат = ПутьКПрог + Символы.Таб + "ENTERPRISE /F" + Символы.Таб + ПутьКБазе + Символы.Таб + "/N" + "robot"  + Символы.Таб + "/P" + "123";
    МестоБатника = мКаталогВременныхФайлов + ИмяФайла;
    ФайлЗаписи = Новый ЗаписьТекста(МестоБатника, КодировкаТекста.OEM);
    ФайлЗаписи.ЗаписатьСтроку(Бат);
    ФайлЗаписи.Закрыть();
40 Luffy
 
03.02.16
11:52
Ахаха, точно пароль видно, нужно спрятать DOS))
41 Luffy
 
03.02.16
11:59
Кто знает, как его спрятать можно?)
42 DDwe
 
03.02.16
12:12
(41) Не писать туда.
43 Balabass
 
03.02.16
12:19
Echo off
44 Balabass
 
03.02.16
12:20
(41) Если требуется отключить режим отображения команд и при этом не выводить на экран строку самой команды echo, введите символ @ перед командой:

@echo off
45 Luffy
 
03.02.16
12:27
(44) Это в самом батнике прописывать?)
46 Balabass
 
03.02.16
12:29
(45) 1 строка батника
@echo off
47 Luffy
 
03.02.16
12:33
(46) Все от души!!! просто забыл добавить символ.пс

мКаталогВременныхФайлов = КаталогВременныхФайлов()+"batnik\";
    СоздатьКаталог(мКаталогВременныхФайлов);
    ПутьКПрог = """"+КаталогПрограммы()+"1cv8.exe"+"""";
    ПутьКБазе = СтрЗаменить(СтрЗаменить(СтрокаСоединенияИнформационнойБазы(),"File=",""),";","");
    ИмяФайла =  "pusk.bat";
    Свернуть = "@echo off";
    Бат = Свернуть + Символы.ПС + ПутьКПрог + Символы.Таб + "ENTERPRISE /F" + Символы.Таб + ПутьКБазе + Символы.Таб + "/N" + "robot"  + Символы.Таб + "/P" + "123";
    МестоБатника = мКаталогВременныхФайлов + ИмяФайла;
    ФайлЗаписи = Новый ЗаписьТекста(МестоБатника, КодировкаТекста.OEM);
    ФайлЗаписи.ЗаписатьСтроку(Бат);
    ФайлЗаписи.Закрыть();
    КомандаСистемы(""""+мКаталогВременныхФайлов + ИмяФайла+"""");
48 Balabass
 
03.02.16
12:37
(47) смотри (18)
49 Luffy
 
03.02.16
12:39
(48) Нее все отлично работает, спасибо))
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший