Так случилось, что мне нужно было интегрировать 1С с вэб сервисом. Интегрированные средства не позволяли мне их использовать. И тогда я решил, что на помощь мне придет 1С в виде WCF. Но проблема оказалось в том, что нужно было использовать кучу классов. То есть нужно делать обертки в виде COM. В ручную это делать муторно.
Можно написать кодогенератор для враппер над нетовскими объектами. Но я вспомнил про IDispatch и наткнулся на Ireflect.
Нашел в инете пример и наваял свою обертку. И я понял, что как легко можно использовать классы .Net в 1С и в нативе.
И решил поделиться с коллегами найденным решением и написал статью Использование сборок .NET в 1С 7.x b 8.x. Создание внешних Компонент
Какое же было мое разочарование, когда я понял, что эта статья затронула всего несколько человек.
Тогда я решил, что народ заинтересует Linq и прямой доступ к таблицам. Если, честно то это было интересно и мне, так как приходилось мержить миллионные записи с помощью прямого доступа булков и Merge.
И вот на свет вышли несколько статей
Здесь меня поджидало полное разочарование. Оказалось, что это вообще мало кому интересно и мало понятно. Единственно народ заинтересовало Linq to ODATA
Но это скорее связано с нужными ссылками.
После очередной рекламы моей поделки на этом форуме, мне правильно указали, что нет автоматического подхвата нетовских событий в комовские.
Да и сам намучился писать вручную события к WhatsApp.
Тогда я понял, что нужно заинтересовать людей более простыми вещами и написал Использование классов .Net в 1С для новичков
Вот это уже заинтересовало народ и заинтересовала их и все предыдущие статьи кроме Linq.
Первая не заинтересовала. Посмотрим как отреагируют на вторую.
Это я к чему. По сути я со своими идеями чужой среди 1С, но и чужой среди нетчиков. Так как пишу то я в основном на 1С, а .Net использую по мере поступления задач.
И конечно у меня мало знаний.
Поэтому прошу совета, чем заинтересовать 1С ников с WOW эффектом.
Возможно это будет интересно как замена CLR Hosting API
Да скорость вызова порядка 20 000 вызовов в секунду StringBuilder.Append
Кроме того простая интеграция 1С с приложениями где уже есть API для обмена данными с использованием .Net сборок.
Буду рад любым идеям. Просто жалко, что такой потенциал пропадает.
и солнце б утром не вставало, когда бы не было меня
S> Буду рад любым идеям. Просто жалко, что такой потенциал пропадает.
Я бы сделал акцент на реальных задачах. Типа сделать интеграцию 1С с популярными commerce/cms движками для asp.net, типа nopcommerce, orchard, kooboo, dnn и т.п. Тоже самое с интеграцией с Excel (если её ещё нет). Чтоб например цены на сайте синхронизировались с 1С и заказ нормально оформлялся, и т.п. Вполне может быть что из этого коммерческий проект получится, или опен-сорс с линком "powered by" на твой сайт и деньга за использование без лейбла или доработку тобой под нужды конкретных лиц.
Nemerle — power of metaprogramming, functional, object-oriented and imperative features in a statically-typed .NET language
Здравствуйте, hi_octane, Вы писали:
S>> Буду рад любым идеям. Просто жалко, что такой потенциал пропадает.
_>Я бы сделал акцент на реальных задачах. Типа сделать интеграцию 1С с популярными commerce/cms движками для asp.net, типа nopcommerce, orchard, kooboo, dnn и т.п. Тоже самое с интеграцией с Excel (если её ещё нет). Чтоб например цены на сайте синхронизировались с 1С и заказ нормально оформлялся, и т.п. Вполне может быть что из этого коммерческий проект получится, или опен-сорс с линком "powered by" на твой сайт и деньга за использование без лейбла или доработку тобой под нужды конкретных лиц.
Ну сейчас эту нишу занимает битрикс, правда изменения только оффлайн через обмен файлами. Хотя можно прикрутить Вэб,ХТТП сервисы, ODATA.
Меня то интересует вопрос как заинтересовать 1С ников вообще использовать .Net на простых для понимания, но мощных повыполнению задач.
Например понравился мне AngleSharp и главное, что там поддержка JS.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
document.cookie="__DDOS_COOKIE=6c950441aeaf13f026a3aa8c0fee6df2; max-age=604800; path=/";
var nc = function() {return
document.cookie.indexOf("__DDOS_COOKIE=6c950441aeaf13f026a3aa8c0fee6df2")==-1;};
var w = function() {document.body.innerHTML = document.getElementsByTagName("noscript")[0].textContent;};
if (!window.opera) {
if (!nc()) {window.location.reload(true);}
var r = function() {if (nc()) w();};
} else {
var r = function () {
if (!nc()) {window.location.reload(true);}
else {w();}
}
}
</script>
</head>
<body onload="r()">
<noscript>You have to turn on javascript and cookies support in browser to visit this site.<br />
Для доступа к сайту Ваш браузер должен поддерживать javascript и cookie.
</noscript>
</body>
</html>
и солнце б утром не вставало, когда бы не было меня
Сам использую .NET для решения задач и автоматизации свой работы. В основном работа связана с платформой 1С, но .NET (C#) использую очень часто именно для себя: различные утилиты, мой блог сделан на ASP.NET (Composite C1 CMS), различные библиотеки для работы с 1С и много другое.
Но все же считаю, что большинство 1Сников, настоящих и закоренелых скажем так, вряд ли все это будет интересовать. Зачем? Все что они делают они могут сделать с помощью 1Сных средств.
Редко у рядовых бойцов бывают задачи по захвату мира. И если собственного интереса к новым технологиям нет, то и использоваться не будет.
Здравствуйте, ypermitin, Вы писали:
Y>Здравствуйте, Serginio1,
Y>Сам использую .NET для решения задач и автоматизации свой работы. В основном работа связана с платформой 1С, но .NET (C#) использую очень часто именно для себя: различные утилиты, мой блог сделан на ASP.NET (Composite C1 CMS), различные библиотеки для работы с 1С и много другое.
Y>Но все же считаю, что большинство 1Сников, настоящих и закоренелых скажем так, вряд ли все это будет интересовать. Зачем? Все что они делают они могут сделать с помощью 1Сных средств. Y>Редко у рядовых бойцов бывают задачи по захвату мира. И если собственного интереса к новым технологиям нет, то и использоваться не будет.
Y>ИМХО.
public object[] МассивИзЭнумератора(object Счетчик, object тип)
{
var cur = (IEnumerable)AutoWrap.ПолучитьРеальныйОбъект(Счетчик);
var list = new List<object>();
Type type =(Type) AutoWrap.ПолучитьРеальныйОбъект(тип);
ДанныеДляТипа данныеДляТипа = ДанныеДляТипа.ПолучитьДанныеДляТипа(type);
foreach (var str in cur)
{
if ((str == null) || !type.IsAssignableFrom(str.GetType()))
{
list.Add(null);
continue;
}
var res = new AutoWrap(str, type);
ДанныеДляТипа.ПрописатьПоля(res, данныеДляТипа);
list.Add(res);
}
return list.ToArray();
}
public object[] МассивИзЭнумератора2(object Счетчик)
{
var cur = (IEnumerable)AutoWrap.ПолучитьРеальныйОбъект(Счетчик);
var list = new List<object>();
foreach (var str in cur)
{
list.Add(AutoWrap.ОбернутьОбъект(str));
}
return list.ToArray();
}
Которые не тормозят в коде C# но 2 ой жутко тормозит при выдаче ссылок в 1С.
Возвращаемый объект такой.
public class AutoWrap : IReflect
{
protected internal object O = null;
protected internal Type T = null;
...
Так вот в AngleSharp возвращаются интерфейсы, а вот объекты реализующих их не публичные.
Если же указать возвращаемый тип публичный нтерфейс то тормозов нет.
И еще прошу простить, но как мне сделать замер производительности, аналогично 1С
и солнце б утром не вставало, когда бы не было меня