Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выполнение обработки в 1С 7.7

56K
06 мая 2010 года
ИльяL
6 / / 06.05.2010
Здравствуйте!

нужна помощь с вызовом обработки в 1С 7.7
подключаюсь нормально, а функцию в обработке вызвать не получается.

из своего приложения использую вот этот код:

Код:
object v77 = null;
object retVal = null;

try
{
string BaseCatalog,
User = "",
Pass = "";
object[] arg = new object[3];
Type lateBoundType = Type.GetTypeFromProgID("v77.Application", true);
v77 = Activator.CreateInstance(lateBoundType);

arg[0] = lateBoundType.InvokeMember("RMTrade", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, v77, null);
arg[1] = @"/D" + "D:\\Work\\База 1С" + " /N" + User + " /P" + Pass;
arg[2] = "NO_SPLASH_SHOW";

lateBoundType.InvokeMember("Initialize", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, v77, arg);

object[] arg1 = new object[] { "ОткрытьФорму(\"Обработка\", ,\"C:\\Parts\\СоздатьЗаказ.ert\")" };
// запускаем обработку если Р=1 то выполнено успешно,если 0 то невыполнено
retVal = lateBoundType.InvokeMember("EvalExpr", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, v77, arg1);

}
catch (Exception er)
{ }
finally
{
// убиваем 1С
System.Runtime.InteropServices.Marshal.ReleaseComObject(v77);
GC.GetTotalMemory(true);
}


пожалуйста подскажите как вызвать функцию в обработке с нужными мне параметрами?
518
07 мая 2010 года
Andreika
101 / / 14.02.2003
Простите, а чего именно вы хотите добиться?
Насколько я понял (язык мне не совсем знаком)
Вы запустили невидимое приложение и пытаетесь открыть в нем форму. Скорее всего,
одинэсина просто игнорирует метод "ОткрытьФорму". Я не уверен точно, но по-моему, по ОЛЕ там нельзя открыть окно обработки. Попробуйте хотя бы сделать основное окно 1С видимым.
Если можно, приведите кусок кода процедуры ПриОткрытии из этой обработки, чтобы понять, что собственно Вы пытаетесь вызвать из 1С.

Да, и еще, попробуйте вызвать то же самое но без EvalExpr, а сразу у COM-соединения с 1С. Я когда с 77 работал никогда EvalExpr не трогал. Нужды не было, т.к. все и так работало, что мне надо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог