powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Выполнить функцию из C# в 1с 7.7
17 сообщений из 17, страница 1 из 1
Выполнить функцию из C# в 1с 7.7
    #37328213
Фотография Khusainov_Heckfy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не там создал тему, вот топик

http://www.sql.ru/forum/actualthread.aspx?tid=862534
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328298
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
напиши ДЛЛ со своим кодом. потом в 1с сделай по аналогии с v7plus.dll (посмотри в типовых) или как с торговым оборудованием 1ска работает.
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328337
Фотография Khusainov_Heckfy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 1с я не могу ничего делать, ибо эта 1с стоит у заказчика.
Мне надо вызвать функцию из 1с, и получить DataTable (DataSet) на .net (шарп, бэйсик)
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328550
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть 2 способа... 1 напрямую к таблицам второй по ле. тебе как? по таблицам -пиши скуль запрос и качай что нужно... по оле ...пиши на коде 1с)
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328595
Фотография Khusainov_Heckfy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о оле, я подключаюсь к 1с
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 Type t = Type.GetTypeFromProgID("V77.Application");

                obj = System.Activator.CreateInstance(t);

                Object[] arg = new Object[ 3 ];
                arg[ 0 ] = obj.GetType().InvokeMember(@"RMTrade",
                BindingFlags.Public | BindingFlags.InvokeMethod, null, obj, null);
                arg[ 1 ] = @"/d" + @"C:\1C-test" + @" /nweb /pweb";

                OK = (Boolean)obj.GetType().InvokeMember(@"Initialize",
                BindingFlags.Public | BindingFlags.InvokeMethod, null, obj, arg);

                if (OK == false)
                {
                    MessageBox.Show("Не подключились");
                    return;
                }

потом пытаюсь вызвать функцию из 1с

Код: plaintext
1.
 object[] arg1 = new object[] { fromDate, toDate, par1 };
                    Object result = t.InvokeMember("ПолучитьСвобоныеНомера", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.OptionalParamBinding, null, obj, arg1);

Пишет "Неизвестное имя" !!!!!! (((((((((((((((((((

ааа что делать то? помогите плиз, может я не прикрутил чего в 1ске тестовой
На скрине как там все описано
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328614
Leierkastenmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну для начала правильно написать "ПолучитьСвободныеНомера" :)
Но вообще 1совский код так работать не будет, если это обработка, то ее надо ее открыть и как вариант при открытии вызвать нужную процедуру/функцию.
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328625
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Khusainov_Heckfy, вот пример на VB
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
[/src]Метод ExecuteBatch выполняет последовательность операторов, запи­санную в параметре <СтрокаОператоров> на встроенном языке 1С:Предприятие.

Пример:

* здесь пример приводится на языке MS Visual Basic:

Sub Command1_Click ()

   Dim v7  As   Object 

   Dim Price  As   Object 

    Set  v7 = CreateObject("V77.Application")

   result = v7.Initialize(v7.RMTrade, "/DC:\V7\DB /M", "")

    Set  Price = v7.EvalExpr("ОтдатьСправочникТоваров()")

   Price.New

   Price.Code = " 112233 "

   Price.Description = "Test  string "

   Price.Write;

   BoolResult = v7.ExecuteBatch("ПроцедураРегл1();ПроцедураРегл2()")

 End  Sub

[SRC DELPHI]
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328636
Leierkastenmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В c# я не силен, но в 1ске надо вызвать что-то типа такого.
ОткрытьФорму("Обработка.ПолучитьСвободныеНомера", Параметры);
В параметры можно запихнуть любое значение 1совского типа. Как вариант можете просто строку с командой впихнуть. А в самой обработке должна быть процедура ПриОткрытии() с таким фрагментом кода
Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
Если Форма.Параметр = "КомандаПолучитьСвободныеНомера" Тогда
ПолучитьСвободныеНомера();
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЕсли;
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328640
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала запихай эту функцию в общий модуль ( на 1 объекте конфигурации правой кнопкой), а так да сперва надо указать что этот код в обработке лежит
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328643
Фотография Khusainov_Heckfy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята все, нашел знакомого 1сника, он показал что там есть глобальный модуль.... ;(
всем спасибо
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328681
Фотография Khusainov_Heckfy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так) приходит объект System.__ComObject....
а как его в DataTable или DataSet преобразовать....
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328709
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пишешь в 1с говори по 1совски.. преобразовать в дату?
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328711
Фотография Khusainov_Heckfy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, преобразовать в таблицу значений
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328722
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Khusainov_Heckfyтак) приходит объект System.__ComObject....
а как его в DataTable или DataSet преобразовать....

Только перебором строк.
1) <object>.SelectLines() открываем выборку строк
2) Пока <object>.GetLine() = 1 Цикл пока получить строку = 1
считываем значения полей по названию поля <object>.<название поля>
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328723
Фотография Khusainov_Heckfy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тоесть приходит объект ТЗ, а кто в .net шарит может как из этого в таблицу преобразовать
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328752
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет. тока методами 1с передрать и заполнить свою таблицу в Си.
ТЗ.выбратьзначения и тд ))
...
Рейтинг: 0 / 0
Выполнить функцию из C# в 1с 7.7
    #37328754
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перебрать то есть
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Выполнить функцию из C# в 1с 7.7
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]