Имя: Пароль:
1C
1С v8
Как запустить 1с средствами языка C#?
0 Конфигуратор1с
 
14.02.12
15:40
в общем нужно сделать маленький экзешник, запускающий 1сину. Экзешник Хелоу ворд, у меня есть. Как запустить 1сину программно?
1 Жан Пердежон
 
14.02.12
15:42
мрак
2 mirosh
 
14.02.12
15:43
3 BOZKURT
 
14.02.12
15:46
Примерно так:

                   using (System.Diagnostics.Process p = new System.Diagnostics.Process())
                   {
                       //Укажем EXE`шник
                       p.StartInfo.FileName = appFile;
                       //Укажем параметры запуска
                       p.StartInfo.Arguments = "/?";
                       p.Start();
                   }
4 Конфигуратор1с
 
14.02.12
15:48
(3) спасибо большое
(2) параметры я в справке могу посмотреть. Спасибо. Мне (3) нужно было
5 Конфигуратор1с
 
16.02.12
16:15
Запустил. Получился приблизительно такой код:

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
   public class Start1c
   {
       public static  void Main()
       {            
           ProcessStartInfo infoStartProcess = new ProcessStartInfo();
           infoStartProcess.WorkingDirectory = "c:\\Program Files\\1cv82\\common\\";
           infoStartProcess.FileName = "1cestart.exe";
           infoStartProcess.Arguments = "/F D:\\test /N Admin /P 123 ";
           //infoStartProcess.Arguments = "/F C:\\kk\\Predstav1c /N Admin /P 12345 ";
           Process.Start(infoStartProcess);

        }
   }
}

На что хотелось бы обратить внимание, вдруг кто такой же как и я дремучий окажется - в С# путь к каталогу или файлу указывается через два слеша, а не один. На это ушло 99% времени((((
6 Reset
 
16.02.12
16:19
"путь к каталогу или файлу указывается через два слеша, а не один"
:)))
7 BOZKURT
 
16.02.12
16:21
(5) Спросить не мог?.. :)
Если ставить два слеша не хочешь, то делай так:

infoStartProcess.WorkingDirectory = @"c:\Program Files\1cv82\common\";
8 Конфигуратор1с
 
16.02.12
16:23
(7)дак он не говорил что ему не нравится. Код писал в блокноте, компилил руцями в cmd. Оно мне писало ошибка в строке такой и все. откуда знать было.
А за собачку спасибо. я потом уже выяснил. Кстати сайт у майкрософта хороший - почти как СП у 1с)))
9 BOZKURT
 
16.02.12
16:26
(9) Скачать Expres VS и не мучайся.. :)
http://www.microsoft.com/visualstudio/ru-ru/products/2010-editions/visual-csharp-express
10 Конфигуратор1с
 
16.02.12
16:28
(9)та скачал. К нему бы еще описание, что к чему
11 Господин ПЖ
 
16.02.12
16:30
(5) 64-х битная винда заходила и передавала привет...
12 BOZKURT
 
16.02.12
16:32
(11)+1 точно, относительно к WorkingDirectory.
Но это уже из другой серии :)...
13 organizm
 
16.02.12
16:43
(11) String exeFile = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\1cv82\common\1cestart.exe";
14 Конфигуратор1с
 
16.02.12
17:25
(11) а с этого места поподробней, плиз.
15 Jaap Vduul
 
16.02.12
17:31
(14)
%ProgramFiles% может находиться совсем не там, где ты написал.
А ещё, например, 1цэ м.б. установлена совсем не в %ProgramFiles%
16 BOZKURT
 
16.02.12
17:51
(14) вон же, тебе в (13) все написали, не дождались следующей серии..)))
(15) вот ведь казлы..
17 Конфигуратор1с
 
16.02.12
18:01
(15)-(16) Дошло. Спасибо.
(13) То есть, правильно будет:
String FolderFile = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\1cv82\common\";
infoStartProcess.WorkingDirectory = FolderFile;
infoStartProcess.FileName = "1cestart.exe";
AdBlock убивает бесплатный контент. 1Сергей