Имя: Пароль:
JOB
Работа
Неспешно ищу работу. 1С + .Net
,
0 Serginio1
 
10.05.16
10:42
20 лет программирую на 1С и 13 на C#. Давно интегрирую .Net в 1С для расширения возможностей. Вот мои разработки http://catalog.mista.ru/profile/82159/public/
Основные это Использование сборок .NET в 1С 7.x b 8.x и . Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия
Если в 8.х есть множество возможносей, то для 7.7 функционал очень скуден.
Для 8.x часто испльзуется доступ к Вэб сервисам неподдерживаемыми 1С. Например Ws-протоколы и тд. Можно использовать асинхронные HTTP запросы, multipart/form-data итд.
Использовать Push-уведомления. Есть множество библиотек для разбора HTML (AngleShart, Silenium)
  При  работе с различными EDI есть уже готовые библиотеки на . Net которые можно использовать как в 7.7 так и в 8.x. В общем возможностей для интеграции огромное количество.
Есть опыт программирования для ТСД на WM. Скоро появятся ТСД на Windows mobile 10 где с использованием  UWP и Xamarin для других осей
Знаний много, но на нынешней работе не могу и малую толику возможностей использовать.
1 Господин ПЖ
 
10.05.16
10:43
шел бы в чистый додиез...
2 Serginio1
 
10.05.16
10:46
(1) У меня знаний в 1С куча. Как в 7.7 так и 8 ке. Жалко знаний. Тем более, что для интеграции есть куча задач. На самом деле мало программистов знающих 1С и C#
3 Лефмихалыч
 
10.05.16
10:50
(0) был бы я работодателем, я бы не понял, зачем ты мне нужен
4 Serginio1
 
10.05.16
10:51
(3) Значит у тебя нет таких задач.
5 ДенисЧ
 
10.05.16
10:51
(3) Ты не одинок. Поскольку он ищет работу тут, то большинство остальных тоже не понимают
6 Локи-13
 
10.05.16
10:52
(2) "На самом деле мало программистов знающих 1С и C#"

Мне думается вас по пальцам можно пересчитать.
7 PR пять
 
10.05.16
10:53
Ни зарплатных ожиданий ни расписывания 20 лет стажа.
Присоединюсь к (3) и (5), нихрена непонятно, что кроме связки 1С с вебом, умеет ТС.
8 Карупян
 
10.05.16
10:54
А со старой работой что?
9 Лефмихалыч
 
10.05.16
10:55
(4) я тебе о том и говорю, что из сабжа не понятно, для каких задач ты нужен.
10 PR пять
 
10.05.16
10:58
(9) Почему непонятно? Понятно. Просто это смешно, если человек за 20 лет только это и делал. С вероятностью 100% это не так.
11 Господин ПЖ
 
10.05.16
11:00
(2) ты сейчас обиделся, но тебе люди правильную вещь пишут

с точки зрения работодателя для 1с-ника ты "не понятен".

платить за оверквалифед никому не интересно, да и глубокие знания по c# мало кому из них надо

знаний по 1с жалко... всем чего-то жалко. кому-то дельфи, кому-то плюсов, кому-то убитого времени на бюджетке для 7.7
12 Serginio1
 
10.05.16
11:00
(8) Там в общем все сделано. Восновном консультации и мелкие доработки.
(7) Не хочу расписывать, так как интересует именно интеграция. Сейчас основное это программирование на 7.7 с 1С++ и перенос данные в 8.3 комплексную и бухгалтерию. Работал с автозапчастями с прямыми запросами для загрузки миллионых прайсов итд.
13 Карупян
 
10.05.16
11:01
(12) К маньяку тогда иди )))
14 Serginio1
 
10.05.16
11:01
(9) Интеграция 1С с другими системами и увеличение функционала за счет классов .Net
15 Карупян
 
10.05.16
11:02
(14) А что кроме тебя кто-то это использует?
16 Лефмихалыч
 
10.05.16
11:02
(12) ты даже то, что тебя интересует, не расписал. И умудрился написать так, что ни кому, кроме тебя не понятно, что там тебя конкретно интересует.
Ну и готовься к тому, что всемогущий рэмбо только для решения интеграционных задач ни кому не нужен и тебе надо продавать что-то еще, кроме интеграционных трюков.
17 Карупян
 
10.05.16
11:03
(16) Это фирменный стиль  )))
18 PR пять
 
10.05.16
11:04
(12) Так ты сколько ищешь-то? А то на 60 можно ничего и не расписывать, да, можно просто говорить, что 1С 20 лет занимаешься и все.
19 Звездец
 
10.05.16
11:04
(14) подавляющему большинству здесь нужны умения более приземленные
20 Новиков
 
10.05.16
11:04
ТС, напиши хорошее резюме, и отправь в саму 1С. Возможно у них найдется для тебя работенка. А так, если что какой-то конторе, барыжащей ТСД, возможно нужен будет какой-то софт, но есть подозрения - что он уже у них давно написан :)
21 Serginio1
 
10.05.16
11:05
(14) Ну например oleg_km

invertercant  
http://catalog.mista.ru/public/434345/
22 Garykom
 
гуру
10.05.16
11:05
(0) Изучи еще java и в 1С
23 Господин ПЖ
 
10.05.16
11:06
>конторе, барыжащей ТСД, возможно нужен будет какой-то софт, но есть подозрения - что он уже у них давно написан

такая контора будет ориентироваться на плюсы со знанием юникса... накуй им дотнет
24 Serginio1
 
10.05.16
11:10
(20) Для ТСД как правило индивидуальный подход нужен в онлайне по Wi-Fi.
(22) У Явы не вижу премуществ применения в 1С перед .Net.
Если нужно, то буду изучать. Учиться я люблю.

(23) На самом деле программировать на UWP очень легко. Значительно быстрее чем на плюсах.
А ТСД на андроидах знаю, а на юниксах это какие?
25 Serginio1
 
10.05.16
11:12
(14) Часто обращаются по интеграции с Вацапом, парсить сайты, доступ к Вэб сервисам
26 Garykom
 
гуру
10.05.16
11:13
(24) >У Явы не вижу премуществ применения в 1С перед .Net.

Вот начнешь изучать и увидишь преимущества java, их немного но они есть и существенные.
27 Лефмихалыч
 
10.05.16
11:13
>"Меня интересует то и это" "На том, на чем я пишу, мне писать легче и быстрее".

наивность сквозит прямо
28 Лефмихалыч
 
10.05.16
11:14
(25) это надо было в (0) писать. Здесь уже смысла нет.
29 Serginio1
 
10.05.16
11:17
(26) Вот покажи мне аналог Использование сборок .NET в 1С 7.x b 8.x. на Java. Смыл интеграции как раз через неё
30 Serginio1
 
10.05.16
11:20
(11) Ну Delphi я забросил. По поводу интеграции 1С через .Net то таких задач огромное количество. Например те же EDI. Есть куча сервисов с библиотеками для  интеграции на C#, в том числе и зарубежных, которые не знают, что такое 1С итд.
31 Encode
 
10.05.16
11:21
(0) Уходи в промышленный C#, зачем тебе эта 1С, в нее всегда вернуться успеешь если что
32 spock
 
10.05.16
11:23
(0) Нужно написать свое резюме и разместить на соответствующих площадках. В этой ветке работодателей нет, а когда они появляются, то заводят свои ветки.
33 Serginio1
 
10.05.16
11:23
(31) Я хочу и там и там. Реально полно задач как для интеграции, так и для расширения функционала. Может и найдётся кто кому это нужно. Кстати это нужно и самой 1С.
34 Serginio1
 
10.05.16
11:25
(32) Это понятно. Пока начну с мисты. В прошлый раз нашел интересную, хоть и временную работу.
35 Garykom
 
гуру
10.05.16
11:25
(29) Не смеши ладно? Могу с тем же успехом попросить показать свои сборки под ARM процы.
36 Garykom
 
гуру
10.05.16
11:28
(35)+ Эти сборки штука конечно интересная и даже в чем то гениальная, но вторичная (после элиза нет бридж).

И сильно узкоприменимая и легко заменяемая обычным кодом на 1С и обычным кодом на C# или любом другом языке хоть java хоть js.
Все что можно сделать (практически) с помощью "сборок", так же легко (а иногда и легче) можно сделать без "сборок".
37 Лефмихалыч
 
10.05.16
11:30
(33) даже, если и найдется, он тебя не поймет. Начни думать, о том, что ты можешь предложить, а не что тебе интересно.
38 Господин ПЖ
 
10.05.16
11:31
>Реально полно задач как для интеграции

простейшую интеграцию в состоянии сделать сам 1с-ник... достаточно сформировать действующий вэб-сервис и натравить на него любое IDE - хоть студию хоть SharpDevelop. Среда сама нарисует все классы для работы. Ну и соответственно скомпилить кусок кода на c# дергающее за сервис сможет даже шимпанзе
39 Serginio1
 
10.05.16
11:33
(35) Покажи как их легко интегрировать для 1С?
Я начал писать её для интеграции с вэб сервисами, где был выбор делать COM  для каждого класса или, сделать автоматическую обертку через IReflect .  Через IReflect это делать оказалось значительно проще.
>так же легко (а иногда и легче) можно сделать без "сборок".
Так COM это тоже сборка, только зарегистрированная в системе.
40 Serginio1
 
10.05.16
11:38
(38) Вот для примера


.Net в 1С. На примере использования HTTPClient,AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция

Там для каждого страницы нужен свой алгоритм. При этом внутриразбора используется огромная куча классов. https://github.com/AngleSharp/AngleSharp

  Например если раньше я писал сначала на C# потом переводил в 1С, то сейчас парсинг сайтов пишу напряму в 1С с использование классов AngleSharp
41 Serginio1
 
10.05.16
11:44
Вот еще пример

1C Messenger для отправки сообщений, файлов и обмена данными между пользователями 1С, вэб страницы, мобильными приложениями а ля Skype, WhatsApp

Там используются Asp.Net MVC, C# клиент, web клиент (HTML с JS для событий и остылки сообщений), андроид клиент
1С клиент использует C# клиент с динамической компиляцией комовских событий. Все очень легко и доступно.
42 Sabbath
 
10.05.16
11:45
(0) красавчик, чо
43 Карупян
 
10.05.16
11:45
(41)эх не умеешь ты продавать ни себя ни свой продукт
44 Serginio1
 
10.05.16
11:50
(43) Зато программировать умею. Проблема в основном конечно во мне. Мне тяжело донести премущества своих наработак. Например в среде .Net не понимают зачем 1С, а в среде 1С не понимают зачем .Net. Так непонятно где я свой среди, а где чужой среди своих
45 Garykom
 
гуру
10.05.16
11:55
(39) 1. Классика через сервисы в обе стороны http://www.javaportal.ru/articles/interaction_Java_with_1c_part2.html
Если 1С77 то ВК заюзать для веб сервисов или просто http.

2. Через ODBC/JDBC http://interprocom.ru/articles/1c/-/asset_publisher/SqY1/content/использование-jdbc-драивера-для-доступа-к-информации-1с?redirect=http%3A%2F%2Finterprocom.ru%2Farticles%2F1c%3Fp_p_id%3D101_INSTANCE_SqY1%26p_p_lifecycle%3D0%26p_p_state%3Dnormal%26p_p_mode%3Dview%26p_p_col_id%3Dcolumn-3%26p_p_col_count%3D1

3. Снова классика JNI

4. Любые библиотеки реализации COM для JAVA и аналог вашей любимой "сборки"
46 Serginio1
 
10.05.16
12:05
(45) Угу для того, что бы написать парсер HTML, я должен писать вэб сервис, отдельный COM. Еще раз почитай внимательно 39, 40. Есть уже готовые классы. Их не надо обертывать через COM, Вэб сервисы. Я это проходил, где под каждую мелочь нужно писать свою DLL, регистрировать её.
Мало того как с вэб сервисами нужно еще делать COM оберку для каждого класса.
  По поводу ODBC/JDBC  покажи аналог
Code First и Linq to EF на примере 1С версии 7.7 и 8.3 часть I
47 Serginio1
 
10.05.16
12:07
46+ При этом в большинстве случаев я не пишу и строчки на C#
48 Карупян
 
10.05.16
12:09
(46) Так работу не найдешь
49 Serginio1
 
10.05.16
12:14
(48) Ну дык http://job.mista.ru/users.php?id=9404 то её и не предлагает. А, что не так?
50 DmitrO
 
10.05.16
12:21
(49)я знаю где ты нужен, напиши мне в скайп dmitro-75 или на почту
51 Serginio1
 
10.05.16
12:22
46+ Многие библиотеки используются на сервере. Что бы добавить COM нужно выгрузить библиотеку из процесса. Что не всегда возможно. Нужно останавливать сервер. Заменять DLL.
При написании кода на 1С с использованием сборок, таких проблем нет.
52 Drac0
 
10.05.16
12:23
(2) "На самом деле мало программистов знающих 1С и C#"

Ты сам описал свою проблему. Если работодатель тебя возьмет, ты ему построишь инфраструктуру 1С+.Net, а потом уволишься, уедешь, умрешь и т.д., то где он будет искать спеца на замену? Ни один адекватный работодатель не пойдет на такой риск.
53 Serginio1
 
10.05.16
12:24
(50) Спасибо, написал
54 Serginio1
 
10.05.16
12:26
(52) На самом деле много C# стов которые легко разберутся в коде. 1С не так сложен, а на примерах легко что либо подкорректировать.
55 Serginio1
 
10.05.16
12:29
54+ Кстати многие 1С программисты ко мне обращаются и с помощью C# программистов решают свои проблемы.
56 antgrom
 
10.05.16
12:32
(0) ты говоришь с работодателем на не понятном ему языке. Используешь термины , которыми предполагаемый работодатель не заморачивается.

Говори глобальнее , проще и доступнее , о проблемах работодателя , которые ты можешь решить.
57 Господин ПЖ
 
10.05.16
12:33
>ты говоришь с работодателем на не понятном ему языке

смотря кто работодатель...

может автор ориентируется на софтостроительные конторы или интеграторы
58 Drac0
 
10.05.16
12:35
(54) И много C# программистов захотят заниматься 1С? Сколько придется накинуть, чтобы это желание появилось, когда будут срочно искать замену?
(55) Не исключаю. Картины это не меняет.

ИМХО, у тебя один шанс заниматься интересным: фирма, которая уже работает с C# и 1С. Либо забыть про одно из них.
59 Serginio1
 
10.05.16
12:36
55+ Проблема в том, что 1С ник не знает .Net, а C# нет никакого дела до 1С. Но на вдвоем они легко решают задачу с помощью NetObjectToIDispatch45
60 Serginio1
 
10.05.16
12:42
(58) Найти программиста C# для доработки не проблема. Их полно. Изучать 1С ему не нужно. Нужно только знать синтаксис, который прост.
61 Serginio1
 
10.05.16
12:42
Это как подправить DLL
62 Господин ПЖ
 
10.05.16
12:45
(60) ну вот ты своими руками уронил ценник до 30 тыс. в мес
63 Drac0
 
10.05.16
12:47
(60) Т.е. вместо одного специалиста, надо будет периодически искать фрилансера под C#? Это работодателю надо?

Ты энтузиаст, это прикольно и интересно, но у бизнеса "прикольно" и "интересно" не котируются, бизнес управляет рисками.
64 Serginio1
 
10.05.16
12:52
(63) Ну во первых у меня есть полно 1С ников для которых классы .Net ничем не отличаются от COM объектов. И там и там есть описание. Если нужно увеличить функционал через COM Dll тебе так или иначе нужен человек знающий сомпилируемые языки.
65 Serginio1
 
10.05.16
12:53
(62) Да хоть до 20. Главное, что бы пользовались.
66 Serginio1
 
10.05.16
12:54
64+ И надеюсь, что буду работать в команде единомышленников
67 Лефмихалыч
 
10.05.16
13:03
(57) даже для них слишком мало конкретики
68 Serginio1
 
10.05.16
13:05
(63) Кстати какие проблемы могут возникнуть у 1С ка например при использовании Строка в дату

http://catalog.mista.ru/public/434345/

там всего одна функция

Дата = DateTime.ParseExact
                    (
                    "10 февраля 1978",
                    "dd MMMM yyyy",
                    ОбъектCultureInfo,
                    DataTimeStyles.None
                    );
69 Garykom
 
гуру
10.05.16
13:19
(68) Кривые настройки системы региональные что будет?
А отсутствие или глюки .net, что бывает весьма часто?

Код на 1С слегка надежнее и правильный код быстрее.
70 H A D G E H O G s
 
10.05.16
13:30
Рарус
Софтпоинт
Катран
Таже 1С
71 Serginio1
 
10.05.16
13:40
(69) ОбъектCultureInfo на что?
(70) Спасибо попробую им отправить.
72 Serginio1
 
10.05.16
13:41
(69) Глюков .Net нет по сравнению с глюками 1С
73 Garykom
 
гуру
10.05.16
13:42
(71) >ОбъектCultureInfo на что?

Ну вот и не надо преуменьшать сложность для 1С-ника, приведенный код сильно порезан а полный для понимания сложнее.
74 ptiz
 
10.05.16
13:47
(68) Очень специфическая задача. Сам придумал или на практике столкнулся? :)
75 Serginio1
 
10.05.16
13:50
(73) А я ссылку же специально даю что бы посмотреть. Смысл в том, что нет различия использовать COM объект и класс .Net
Есть документация и там и там
https://msdn.microsoft.com/ru-ru/library/ms131038(v=vs.110).aspx

Просто ей нужно уметь пользоваться. А когда есть примеры, то разобраться не сложно.
(74) Это один из огромного количества примеров использования библиотек .Net. А написал статью не я.
76 Serginio1
 
10.05.16
15:05
апну
77 vvp91
 
10.05.16
15:31
(76) Чего апать-то?
Ком, Нет и 1С никому в чистом виде, как языки и библиотеки не уперлись.

Напиши, какие бизнес-проблемы решал, какие умеешь решать.
Напиши, с какими объемами данных имел дело, с каким количеством пользователей сталкивался.
Напиши, какие роли в каких проектах выполнял.
Напиши, какие законченные прикладные решения (блоки, подсистемы, модули) сделал, какая у них практика применения.
Напиши, что у тебя с запросами, с СКД, с управляемым интерфейсом.
Напиши, что у тебя с пониманием бизнес-областей, какие участки учета знаешь.
Напиши, есть ли у тебя навыки проектирования корпоративных систем.
Приведи примеры спроектированных систем, блоков или модулей.
78 vvp91
 
10.05.16
15:51
Вот ты пишешь:
> (2) У меня знаний в 1С куча. Как в 7.7 так и 8 ке. Жалко знаний. Тем более, что для интеграции есть куча задач. На самом деле мало программистов знающих 1С и C#

Вот тебе конкретная задача на "интеграцию", причем в той постановке, которая реально попадет программисту 1С на выполнение:
Необходима регулярная автоматическая загрузка остатков на дату Х партий товаров по упр.учету из УПП в ERP 2.1. Загружать в документы ввода начальных остатков. Поддержать обновление созданных ранее документов и отмену документов, по которым остатки обнулены. Трансляцию номенклатуры, характеристики и серии делать по принятым правилам соответствия.

Все! И где ты тут со своим C#?
И самое интересное - каких тебе "в ... 8 ке. Жалко знаний", которые тебе понадобятся для решения этой задачи? Расскажи!
79 PR пять
 
10.05.16
16:00
(65) То есть ты готов пойти на постоянку на 20 тысяч?
80 Serginio1
 
10.05.16
16:30
(78) У меня обмен между 7.7 и 8.3 идет через XDTO. Ссылки создаются в 7.7 и записываются. Обмен очень быстрый. Но там 1С++ используется. Есть Asp.Net MVC в 7.7 там используется Linq To EF.
(79) Да. Например 20 оклад + % от сделок
81 vvp91
 
10.05.16
16:42
(80) Мда, печально.
Как говорится, вопросов больше не имею.
82 Карупян
 
10.05.16
16:44
(80) Во франч хочешь?
83 Serginio1
 
10.05.16
17:00
(81) Для кого печально, а для кого и радость. Работает лет 7 без проблем.
(82) Если использовать мои наработки то да. Я так понимаю, что только во франчах нужна интеграция 1С с другими системами.
84 Serginio1
 
10.05.16
17:06
(80) Кстати в свое время и между 8 ками делал через XDTO. Сейчас обмен удобно делать через КД3
85 Serginio1
 
11.05.16
12:28
Ап
86 HxC 2-Step
 
11.05.16
12:29
(85) Если тебе скучно, можешь заняться моим обучением
87 Serginio1
 
11.05.16
12:49
(86) Сколько платишь?
88 HxC 2-Step
 
11.05.16
12:55
(87) Эт ты мне плати, тебе же скучно
89 Serginio1
 
11.05.16
12:59
(88) Найти чем заняться у меня проблем нет. Есть проблемы в реализации потенциала.
90 HxC 2-Step
 
11.05.16
13:05
(89) реализуй себя как педагог, я весь твой )
91 Serginio1
 
11.05.16
13:44
(90) Ок.Начнем с того, что тебе не понятно в моих разработках http://catalog.mista.ru/profile/82159/public/
92 HxC 2-Step
 
11.05.16
13:59
(91) Нене, меня с нуля и для начала с 1с
93 HxC 2-Step
 
11.05.16
14:01
(91) В твоих разработках мне не понятно чуть больше, чем всё
94 Serginio1
 
11.05.16
15:07
(92) Ну для начала советую почитать соответствующую литературу http://www.v8.1c.ru/metod/books/
95 SanGvin
 
11.05.16
15:14
(0) Ваш опыт пригодился бы.
пришлите резюме, укажите желаемую зарплату. Мыло в личке.
96 Serginio1
 
11.05.16
15:23
(95) Ок
97 Serginio1
 
11.05.16
15:25
(95) А резюме типа как в шапке подойдет?
98 lenochka-semicova
 
11.05.16
15:45
(97) Я бы такое программировать ни в жизнь не стала
https://play.google.com/store/apps/details?id=com.shivandev.cosmoenergy
99 Serginio1
 
11.05.16
16:05
(95) Отправил
100 mehfk
 
11.05.16
16:39
(100)
101 Serginio1
 
12.05.16
10:05
Касаемо импортозамещения и Linux. Из за отсутствия возможности использования COM интеграция происходит только через ВК и Web или HTTP сервисы.
Сейчас появлся .Net Core и Asp.Net Core которые можно использовать не только как  Web или HTTP сервис, но и сделать аналог класса Delphi TSocketConnection который представляет собой аналог DCOM только  через Tcp/IP. Смысл его в том, что можно вызвать любой COM объект на удаленном сервере используя Idispatch и храня  объекты на сервере, а на клиента передавать структуру типа Variant где простые типы сериализуются, а для  ссылочных хранится некий ID по которому можно получить объект на сервере.
Можно сделать легковесный вариант на пайпах. В итоге по аналогии с NetObjectToIDispatch можно использовать любые классы .Net
102 HxC 2-Step
 
12.05.16
10:24
(101) да
103 Serginio1
 
12.05.16
13:48
Апн
104 Карупян
 
12.05.16
13:49
Те что предлагали не подошли?
105 Карупян
 
12.05.16
13:50
Много просишь или что?
106 Serginio1
 
12.05.16
14:07
(104) Ну я то хочу интегрировать 1С через C#. Пока это не совсем нужно с кем разговаривал, хотя с приходом .Net Core можно и Линукс окучивать.
  До ЗП не доходило
107 Pixelrat
 
12.05.16
14:14
(106) Скорее всего оно мало кому нужно.
108 Serginio1
 
12.05.16
14:33
(107) Да оно нужно, просто не понимают как. На примере с вэб сервисами с хедерами. Людям проще через HTTP соединение  создавать строку запроса десериализуя параметры объекты XDTO, а потом сериализовать ответ. Вместо использования WCF клиента, который даже проще использовать чем XDTO. К сожалению 1С ники мыслит доступными категориями.
И он будет тратить время на закат солнца вручную либо вообще откажется от реализации.
Но это не значит, что оно не нужно.
109 Gary417
 
12.05.16
14:45
(108) серелизация/десериализация это хоть и дубовая штука, но зато она железно кросплатформенная и её понятно как реализовывать на любом языке программирования
а WCF это однозначная привязка к инструментарию Net

точно также не взлетели куча технологий до него, типа DCOM и все прочие реализации soap
110 Masquerade
 
12.05.16
14:49
(2)

"У меня знаний в 1С куча. Как в 7.7 так и 8 ке. Жалко знаний."

Джизус, да какие там знания???

Мути свой сервис. Время пришло.

Иди в инфобизнес. Тема - зной.
111 Serginio1
 
12.05.16
15:09
(109) > все прочие реализации soap
Да как бы Вэб сервисы цветут и пахнут. И значительно удобнее HTTP сервисов. Плюс там еще куча WS- протоколов.
C DCOM просто сэволюционировал в WCF который цветет и пахнет
112 Serginio1
 
12.05.16
15:11
(109) Про кроссплатформенность я написал в 108. Сейчас .Net Core кроссплатформенный.
(110) Ты даже не представляешь. Бухи советуются
113 Garykom
 
гуру
12.05.16
15:32
(112) Насчет бухи советуются это показывает уровень бухов сильно ))
Ладно если вопросы как в программе лучше это сделать, а не как учет вести по законам...
114 Garykom
 
гуру
12.05.16
15:34
(110) +1
С опытом самое оно делать свой сервис.

ТС советую сделать сайт для новичков программистов с примерами кода (нечто вроде FAQ) как сделать нечто на 1С используя "сборки".
И тут же на сайте принимать заказы на написание кода/решений с применением "сборок".
115 Serginio1
 
12.05.16
15:47
(114) Так по сути мои разработки и есть сайт. Многие обращаются, помогаю. Вон Elisy  уже лет 7 как продвигает, но у него это не сильно хорошо получается.
Здесь нужно как любому франчу искать клиента, доказывать и выполнять.
Я все же программист, а не администратор.
Да и смотрю на реалицацию ВК в 1С и сравниваю рефлексию в .Net и никак понять не могу зачем куча методов ВК 1С вместо одного InvokeMember в .Net
116 Garykom
 
гуру
12.05.16
16:04
(115) Ну так найдите/наймите администратора и пусть продвигает/продает/ищет клиентов. И не забывайте периодически менять этого администратора (при первых признаках что то не то) чтобы проблем не поиметь.

А по реализации ВК все прозрачно же, упрощение использования ВК для "программистов 1С" и усложнение самостоятельного написания ВК.
117 Evpatiy
 
12.05.16
16:16
Мне одинэсники сильно советских автолюбителей напоминают. Те тоже раздобыв "москвич" на нем и картошку возили в деревне, и детей на море, и щебень на дачу, и корову к ветеринару,и жену в роддом, и снег им же чистили. Вот только то для чего машины этого класса делают - передвигаться на небольшие расстояния в повседневной жизни, они как раз не пробовали, катаясь на работу на трамвае пока машина в гараже.

Я думаю что будет катастрофически тяжело обосновать необходимость скрещивания 1С с дотнетом в живых серьезных проектах. Только поделки в среде таких же фанатов.
118 Господин ПЖ
 
12.05.16
16:17
>Я думаю что будет катастрофически тяжело обосновать необходимость скрещивания 1С с дотнетом в живых серьезных проектах.

скрещивание на уровне интеграции - обычное дело
119 Evpatiy
 
12.05.16
16:26
>скрещивание на уровне интеграции - обычное дело

Здесь же не про обмен данными говорят.
120 Господин ПЖ
 
12.05.16
16:28
(119) дай волю - 1с-ники и шутеры будут в 8.4 лепить...

жадность (больше рынка откусить) + тупость (больше ничего не знаем и инструмент под задачи выбирать - не из чего собственно)
121 Serginio1
 
12.05.16
16:30
(117) А в чем проблема? Если ты можешь быстро сделать интеграцию с системами кстати написанных на .Net?
Сейчас например западные компании предоставляют .Net клиентов, для доступа к своим данным. Даже тот же REST внутри запокован, а наружу торчат объекты. Бери и используй.

(119) В том числе и обмен.
Но например .Net в 1С. На примере использования HTTPClient,AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция

1С ник может легко использовать эту библиотеку где под полсотню классов. Её замучаешься писать на ВК.

(120) Не верю.
122 Господин ПЖ
 
12.05.16
16:32
>Не верю.

флаг в руки...

иначе тебя бы тут не пинали
123 Garykom
 
гуру
12.05.16
16:34
(122) Его пинают за сложность и зависть )) типа вот же человек такое умеет и из 1С прямо, а мы нифига понять не могем...
124 Serginio1
 
12.05.16
16:36
(120) Я не верю, что 1С ники будут писать шутеры лепить. Тут несколько другая специализация нужна.
А по поводу использования .Net классов, то по сути это равнозначно использованию Вэб сервисов и XDTO. Те же пространства имен, конструкторы типы
125 Evpatiy
 
12.05.16
16:36
(121) > Сейчас например западные компании предоставляют .Net клиентов, для доступа к своим данным. Даже тот же REST внутри запокован, а наружу торчат объекты. Бери и используй.

Я слишком туп чтобы понять как объекты торчат наружу а архитектурный стиль запакован внутри.

> HTTPClient,AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция

Сколько вам платят за каждый пост с этой фразой?
126 Господин ПЖ
 
12.05.16
16:39
>Я не верю, что 1С ники будут писать шутеры лепить. Тут несколько другая специализация нужна.

образно имел ввиду

будут лепить до чего дотянутся
127 Serginio1
 
12.05.16
16:39
124 Да и куча COM объектов ничем не отличатся от классов .Net.

(125) Ты работаешь с классами, а не HttpСоединение.
Которые кстати можно выполнять асинхронно.

А кто должен платить?
(126) Ясно
128 Evpatiy
 
12.05.16
16:43
(127) Я думаю вы не до конца понимаете чем отличаются класс, библиотека, программный интерфейс, щаблон проектирования, архитектура ПО.
129 Кирпич
 
12.05.16
16:45
(127) да не надо это просто никому. потому что не надо. Я за всю жизнь написал десяток ВК для 1С. Если мне будет нужна ВК на .NET, я найду Serginio1 и он мне сделает. Зачем я буду изучать какую то хрень AngleSharp, если у меня лежит куча работы за которую деньги платят.
130 Gary417
 
12.05.16
16:47
(112) я не про такую кроссплатформенность, а про потенциальное портирование кода на другой язык или платформу

как из явы например коннектится к серверу заточенному на WCF?
131 Карупян
 
12.05.16
16:48
(130) Что значит заточен на WCF? вроде как есть стандарты и есть библиотеки поддерживающие эти стандарты
132 Gary417
 
12.05.16
16:51
(131) в том то и дело что проще сериализовать данные и обеспечить простой доступ с каждой платформы чем тащить кучу библиотек и реализовывать довольно сложную обвязку для каждой из них
133 Gary417
 
12.05.16
16:52
грубо говоря я POST и GET запросы могу буквально из браузера серверу отправлять, а в случае с WCF надо городить вспомогательный софт
134 Господин ПЖ
 
12.05.16
16:54
(133) зачем?

wcf сервис же что-то реализует общепринятое - rest soap
135 Gary417
 
12.05.16
16:57
(134) wcf реализует soap если я не ошибаюсь, а он несколько тяжелее чем rest в реализации на коленке
136 Serginio1
 
12.05.16
17:02
(133) Ну это из области закат солнца в ручную, своя сериализация десериализация. Плюс как ты реализуешь асинхронность?
WCF клиент всю рутину берет на себя.

WCF вообще то может работать как через пайпы, Tcp/IP, и HTTP с различными сериализаторами. Soap это одна из разновидностей.
Сжатие данных не дорогая операция по сравнению с отправкой данных по сети.
137 Gary417
 
12.05.16
17:04
(136) естественно берёт на себя, и ограничивает (усложняет) создание клиентов на других языках/платформах
138 Gary417
 
12.05.16
17:05
Например, будет ли сейчас работать клиент написанный под win mobile 5 с сервисом под WCF последнего релиза? И как его туда запрограммить?
139 Serginio1
 
12.05.16
17:06
(137) А ты много программируешь на других платформах?
Иногда проще сделать отдельную реализацию под конкретную платформ, чем изобретать универсальное кроссплатформенное решение. Можно просто пойти по пути утиной типизации и давать ссылку на конкретный модуль.
140 Gary417
 
12.05.16
17:08
(139) Я? Достаточно, в данный момент делаю прокект одновременно использующий Java, C#, Android и теперь ещё С++
141 Serginio1
 
12.05.16
17:09
(138) Будет если использовать SOAP. Там стандарты давно не менялись.
Кстати я делал в свое время для ТСД как в 8 ке так и в семерке через CSV. Универсально
142 Serginio1
 
12.05.16
17:10
(140) Кстати, а .Net используешь Core?
143 Serginio1
 
12.05.16
17:12
(140) Так понимаю, что ты используешь как HTTP сервисы?
И зачем такая смесь?
144 Serginio1
 
12.05.16
17:13
Не хватает еще ObjectiveC. Может Xamarin тебе поможет?
145 Gary417
 
12.05.16
17:13
(142) C# это у меня сайт на ASP.net
(143) смесь потому что проект на разное оборудование растянут, начиная от компа, raspberry и заканчивая контроллером arduino

про Xamarin я думал, но с меня пока ASP хватит
146 Gary417
 
12.05.16
17:16
вообще вместо C# был PHP т.к. я не хотел связываться с MS но требования к платформе изменились т.к. обломилась халявная 3х годовая подписка на Azure
147 Serginio1
 
12.05.16
17:18
(145) Ну ASP.net то нравится? Да и .Net с arduino работает.
https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwiDnd363NTMAhXTOSwKHXwVBRUQFggbMAA&url=https%3A%2F%2Fhabrahabr.ru%2Fpost%2F275439%2F&usg=AFQjCNHPZ1OU_a6vn6tE-oNFr8Yhl_n76w&bvm=bv.121658157,d.bGs&cad=rjt
Я сам помню писал на 1C,Delphi,C#. Тяжело переключаться с языка.
148 Serginio1
 
12.05.16
17:20
(146) Я приятелю помогал разобраться с PHP. По сравнению с asp.Net это наколеночная поделка.
149 Gary417
 
12.05.16
17:22
(147) я на C# программил когдато давно...поэтому ASP не такой и сложный
ардуину всёравно надо на С++ программировать, какая ему разница откуда к нему обращатся через компорт

PHP да, наколеночная поделка так и есть. Но для ASP/JSP нужен более тяжёлый сервак.
150 Serginio1
 
12.05.16
17:29
(149) Кстати сам видишь, что тяжело делать универсальные решения. Поэтому во многих случаях предпочтительнее разбить разработку под конкретную платформу. Во всяко случае под, Win будет уже рабочий вариант, а под Linux можно допиливать постепенно.
151 Serginio1
 
12.05.16
17:31
(149) Сейчас народ говорит, что хостинг стоит одинаково для asp и PHP http://rsdn.ru/?forum/job.search/6441062
152 Gary417
 
12.05.16
17:43
(150) только в моём случае рабочий вариант был под линуксом, а на ASP пришлось перейти (хотя в azure и можно поставить линух с php, но както это неправильно при таких возможностях нахаляву)
153 Локи-13
 
12.05.16
17:44
а разве в на шарпе бабла не больше, зачем тебе 1с ?
154 Карупян
 
12.05.16
17:45
(153) Он хочет нести добро в массы
155 Serginio1
 
12.05.16
17:55
153 Просто есть идеи которые хочется реализовать.

152 Кстати по поводу разных библиотек. Например сделав клиента дя 7.7 я могу использовать и для 8 ки, а для линукса так или иначе писать. Но большинство то кстати сидит на Win. Дешевле
156 Serginio1
 
13.05.16
11:16
Пятница
157 HxC 2-Step
 
13.05.16
12:03
13
158 Serginio1
 
14.05.16
10:45
Начну с того, что в 1С есть технология Внешних компонент Native API https://its.1c.ru/db/metod8dev#content:3221:hdoc
которые работают как под Windows так и под Linux

У меня есть компонента http://catalog.mista.ru/public/238584/

Использование сборок .NET в 1С 7.x b 8.x. Создание внешних Компонент.
Суть которой оборачивание .Net объектов в Com объект с помощью создания класса, реализующего методы интерфейса IReflect

  Но хотелось бы прикрутить этот аналог к Linux используя ВК Native API
На просторах интернета нашел ссылки вызова управляемого кода из неуправляемого
http://forums.dotnetfoundation.org/t/how-to-call-a-net-core-library-from-native-code-on-linux/1576/2

Смысл идеи таков

На стороне .Net выполнять метод. Параметры сериализуются в Stream. Сначала идет тип, затем данные.

Параметры десериализутся и вызывается метод InvokeMember нужного типа.
При передаче ссылок на объекты их нужно обернуть и сохранить в списке и в натив передавать индекс в списке.

Так как параметры могут изменяться возвращаем как результат значения, так и параметры.

Таким образом можно загружать любые сборки вызывать любые методы.

Так как я не силен в С++ прошу направить на путь истинный или я могу помочь в интеграции натива и манагед
159 Serginio1
 
16.05.16
14:16
понедельник
160 Карупян
 
16.05.16
14:19
Бросай 1С
161 Serginio1
 
16.05.16
14:50
(160) Возможно. Сейчас идея прикрутить .Net и Java к ВК Native под Линукс. Если и это будет не нужно, то возможно и брошу.
162 Garykom
 
гуру
16.05.16
15:12
(161) Может наоборот прикрутить конфигуратор 1С к .net и java ? Пишется конфа, далее нажимается кнопка... и вуяля имеем решение на .net|java полностью аналогичное решению на 1С, даже обмен данными работает ))
163 Serginio1
 
16.05.16
15:18
(162) А смысл? Под .Net там будут одни динамики. Как кстати в Java с ними?
А вок ВК прикрутить несложно, что расширит возможности Линукс.
164 Serginio1
 
16.05.16
15:19
Написать аналог конфигуратора то не проблема. Проблема в типовых конфигурациях.
Можно даже Linq to EF прикрутить http://catalog.mista.ru/public/402038/
165 Карупян
 
16.05.16
15:21
что такое динамики?
166 Serginio1
 
16.05.16
15:23
167 Garykom
 
гуру
16.05.16
15:25
(164) Зачем аналог конфигуратора то писать? Когда он уже есть и рабочий? И умеет в текстовые файлы выгружать коонфигурацию!

Сделать чтобы нечто на .net|java могло читать эти файлы, создавать БД и выполнять код ))

А писать конфигуратор это хуже чем писать велосипед когда он 1000 рубле стоит.
168 Garykom
 
гуру
16.05.16
15:27
(167)+ Короче хочется http://www.oknosoft.ru/metadata/ с динамическим построением интерфейсов но не на JS а .net|java.
Будет хороший конкурент CUBA и частично совместимый с 1С.
169 Serginio1
 
16.05.16
15:30
(167) Смотри 163
170 Карупян
 
16.05.16
15:32
Почему 1с все время пытаются сделать конкурента 1с?
171 Карупян
 
16.05.16
15:33
(166) В таких  случаях в джаве используют тип Object
172 Serginio1
 
16.05.16
15:35
(168) Смыл в .Net и Java в типизации и компиляции. Смыл конфигурации это не метаданные, а код. А вот перевести из скриптового язка в типизированный не возможно.
(171) И может динамически выполнять методы с поздним связыванием?

object obj = 24;
dynamic dyn = 24;
obj += 4; // так нельзя
dyn += 4; // а так можно
173 Garykom
 
гуру
16.05.16
15:48
(172) Из скриптового языка все прекрасно переводится и в типизированный и с дженерниками.
Причем довольно легко!
Вот наоборот в скриптовый перевести обычно нереально без диких затрат времени, памяти и ресурсов процессорных.

К примеру http://oscript.io/
Ему для нормального не хватает только методов обмена данными с большой 1С и методов вызова (точнее трансляции и вызова) из кода на 1С кода .Net.
174 Garykom
 
гуру
16.05.16
15:49
(173)+ Хочется что, пишем по мануалу код (используя нативные классы .Net) причем на 1С (прям как в "обертке").

Далее запускаем его через 1script...
175 Garykom
 
гуру
16.05.16
15:50
(174)+ Причем кроссплатформенно в т.ч. под linux и легкое взаимодействие с БД 1С.
176 Serginio1
 
16.05.16
16:15
(173) Для начала посмотри как работает подсказка по коду, когда нельзя вывести тип. Проблема с выводом типа.
А вот наоборот в .Net это легко с динамиками.
(174) нативные классы .Net это как? натив это неуправляемый код например ВК Native.

Но это все не актуально. А вот идея идея прикрутить .Net и Java к ВК Native под Линукс может быть востребована.

Распыляться не хочется, а вот кушать охота.
177 Кирпич
 
16.05.16
16:24
(176) а что такое "прикрутить .Net и Java к ВК Native под Линукс"?
чота аж интересно стало.
178 Serginio1
 
16.05.16
16:33
179 Карупян
 
16.05.16
16:37
(178) У тебя задачи интересные с точки зрения программиста, а не с точки зрения бизнеса
180 Карупян
 
16.05.16
16:39
Тебе вообще нужно из enterprise сектору уходить тогда получается.
Что-то типа яндекса или ms
181 Serginio1
 
16.05.16
16:45
(179) Не прав. Например все мои задачи из реальной области применения. Что обмен ТСД с 1С по Tcp/Ip, что доступ к Вэб сервисам неподдерживаемыми 1С, парсинг сайтов итд.
Это все практические задачи. Просто одни это делают через закат солнца в ручную, другие вообще отказываются от решения.
Вот например .Net в 1С. Парсинг сайтов, multipart/form-data, gzip итд
легко использовать в 1С
Вот другой пример интеграции но не с моей компонентой
http://catalog.mista.ru/public/503059/

Просто есть конфликт 1С ники не знают классы .Net или Java.
А другим нет дела до 1С.
182 Serginio1
 
16.05.16
16:46
(180) Если бы поддержка .Net или Java была интегрирована в 1С, то многие стали бы использовать их для интеграции.
И кстати легче было бы продвигать на Запад.
183 Кирпич
 
16.05.16
16:47
(178) если абстрагироваться от вопроса "нафиг это никому не надо", то тему "реально сделать вызов из натиава управляемый код" я ковырял еше лет 5 назад. Делал DLL на С№, которую потом использовал в Delphi. Извращался через дезассеблирование сборки и добаление в IL чего надо. В .NET можно даже скомпилированный  машинный код в сборку запихнуть.
Так что шансы есть. По мне, так это нафиг никому не надо.
184 Garykom
 
гуру
16.05.16
16:47
(181) Напиши книжку/учебник по .Net и Java для 1С-ников.
В стиле берем задачу и решаем ее на 1С, на .Net и на Java по очереди.
И такой сборник решений вполне будет даже покупаем.
185 Кирпич
 
16.05.16
16:48
С№ - C#
186 Serginio1
 
16.05.16
16:50
(184) Вот если бы 1С за это взялась, я бы им помог (широчайшая улыбка)
(185) Это я понял.
187 Gary417
 
16.05.16
16:50
(184) <В стиле берем задачу и решаем ее на 1С, на .Net и на Java по очереди. >


Получится сборник

Берём задачу, решаем её в экселе потом в блокноте по очереди :)) первые две страныцы эксель, дальше 300 страниц как тоже самое в блокноте сделать
188 Garykom
 
гуру
16.05.16
16:52
(187) Нет нужны задачи которые на 1С просто не делаются, а вот на .Net или Java очень легко.
И там же основы C#/.Net и Java между задачками со всеми классами и т.д.
189 Serginio1
 
16.05.16
16:52
(184) Ну если так.
Берем HttpСоединение и  .Net в 1С. Парсинг сайтов, multipart/form-data, gzip итд

Имея доступ к .Net и Java зачем нужен обрубок типа HttpСоединение
190 Serginio1
 
16.05.16
16:53
191 Pixelrat
 
16.05.16
19:01
Знатное извращение: парсинг сайтов при помощи Java#
192 Рэйв
 
16.05.16
19:07
(0)Все не читал, может уже говорили. Но мое имхо - надо заниматься чем-то одним. И 1С и шарпы- очень большие области и у них, к сожалению очень мало точек соприкосновения. Так что всерьез занимаясь одним, ты кидаешь что то одно.
Выбор твой конечно.
193 Garykom
 
гуру
16.05.16
19:15
(192) В корне неверно, так как нужны и узкие специалисты в разных отдельных отраслях. Так и нужны специалисты на стыке отраслей знающие и то и другое.
Потому что узкий при попытке выйти за пределы свое компетенции упирается в полное незнание.
А универсал да хуже в обоих отраслях по отдельности но зато может сочетать и применять решения из другой отрасли.

Попробуйте на 1С сделать парсинг PDF файлов к примеру. Или парсинг видео. Но если данные исходные находятся в 1С и результат надо в 1С засунуть обратно?
И минимум надо 2 спецов по 1С и .Net/Java или одного универсала хватит.
194 Рэйв
 
16.05.16
19:18
(193)>>Попробуйте на 1С сделать парсинг PDF файлов к примеру. Или парсинг видео.

Интересный задачи с теоритической точки  зрения. С практической - мало кому вообще нужны.

Я и говорил  про ПРАКТИЧЕСКОЕ примененине.
195 Garykom
 
гуру
16.05.16
19:23
(194) Да ну? Парсинг PDF постоянно нужен, в них биллинговые счета присылают операторы связи или банки постоянно.

Мы своих 2 года пинали чтобы начали в XLS присылать, так лучше бы они не присылали своих XSL в которых весь текст в объектах-надписях отдельных ля.

А парсинг видео это типовая задача отслеживания и сравнения записей видеонаблюдения с записями СКУД и данных из учеток 1С и домена. Чтобы понять что никто не мухлюет с учетками и прочими карточками.
196 Рэйв
 
16.05.16
19:25
(195)Это все намного легче делается уж точно не средствами 1С. :-)
197 Рэйв
 
16.05.16
19:25
+(195)Не, ну если есть тяга к мозговому мазохизму-  тогда конечно.:-)
198 Garykom
 
гуру
16.05.16
19:26
(196) Упали что ли? Как это не средствами 1С если данные изначально в 1С лежат и/или в  1С их нужно засунуть чтобы там крутить.
И чтобы легко можно было подправить сразу в 1С не платя бешенные бабки за дописывание закрытого решения.
199 Рэйв
 
16.05.16
19:27
(198)Можно вполне все это делать через те же xml форматы.
200 Рэйв
 
16.05.16
19:29
()два по сто
201 Garykom
 
гуру
16.05.16
19:29
(197) Причем тут мазохизм то? Вот банальное сканирование документов, когда уф и клиент/сервер а если еще и веб-клиенты как сделать?
Чтобы удобно было с прикреплением файлов сразу к документам в 1С? И быстро а не так что сначала сканим в папочку а потом оттуда файлики по одному добавляем.
И чтобы сразу доки распознались и текст распознанный в индекс полнотекстового поиска в 1С добавился?
202 Garykom
 
гуру
16.05.16
19:30
(199) Можно хоть через свои форматы изобретать, но одного спеца 1С не хватит. Речь что надо или несколько спецов или спец универсал!
203 Рэйв
 
16.05.16
19:31
(201)А ты собрался сканы в базе держать?
204 Рэйв
 
16.05.16
19:31
+(203)Расточительно .Как минимум:-)
205 Garykom
 
гуру
16.05.16
19:31
(202)+ И если этот спец универсал сделает по максимуму на 1С, то потом этот код почти любой обычный узкий спец 1С сможет допиливать/сопровождать. Не придется сишарпера или джависта каждый раз звать.
206 Garykom
 
гуру
16.05.16
19:32
(203) Смешной, я как раз против держания сканов внутри самой базы если их много файлов. База слишком быстро растет.
Нет лучше внешнее решение (хранилище) отдельное и привязка к 1С.
207 Pixelrat
 
16.05.16
19:34
Видится отдельное приложение для работы с видео и обмен готовыми данными между ним и 1С.
208 Рэйв
 
16.05.16
19:34
(206)Вот мы и поняли что говорим об одном и том же:-).
Я как раз тоже за "внешнее" решение
209 Рэйв
 
16.05.16
19:38
(205)Эта поделка все равно будет костыль. Потому что 1С под  это не заточена.
210 Serginio1
 
16.05.16
19:53
(192) Вот пример из недавнего.
Обычно к любому торговому оборудованию идет SDK на .Net
Прикрутить его не проблема.
Одна из задач это расширить возможности 1С в том числе и под Linux.

(194) На самом деле куча крупных фирм присылают заказы в PDF и плевать они хотели на Вэб сервисы, xml по xsd, JSON и тд.
211 Serginio1
 
16.05.16
19:57
(209) Ты так или иначе используешь кучу ВК, COM (тот же ADO,Excel,Word) итд. 1С заточена по COM.
Есть вариант использования .Net и Java без COM.
212 Serginio1
 
17.05.16
13:41
Вторник
213 HxC 2-Step
 
17.05.16
13:56
Май
214 qwerty2469
 
17.05.16
13:58
2016
215 Garykom
 
гуру
17.05.16
14:06
от Р. Х.
216 Serginio1
 
18.05.16
14:03
Среда, май, 18, 2016
217 HxC 2-Step
 
18.05.16
14:03
ДЕНЬ
218 hr77
 
19.05.16
15:15
Мне требуется программист 1С платформа 8
Требования:
• Знание конфигураций 1С7.7Бухгалтерия, 1С7.7Зарплата и кадры, 1С7.7 Комплексная автоматизация, 1С: Бухгалтерия 2.0, 1С:Бухгалтерия 3.0, 1С:ЗУП2.0, 1С:ЗУП3.0, 1С:Комплексная автоматизация.
• Знание платформ 1С7, 1С8.
• Наличие сертификатов приветствуется.
• Опыт внедрения программного продукта 1С приветствуется.

Обязанности:
• Сопровождение ПО на платформе 1С
• Разработка ПО на платформе 1С (настройка прав пользователей, написание обработок, перенос данных, доработка текущих конфигураций, настройка обмена данными)
• Консультация сотрудников по платформе 1С
• Участвовать в консультациях по подбору ПО на платформе 1С
Условия:
•    Работа в стабильной российской компании
•    Стабильный оклад + премии
•    Прозрачная система выплат.
•    Молодой дружный коллектив.
219 ДенисЧ
 
19.05.16
15:16
(218) В Урюпинске за доширак?
220 Pistol
 
19.05.16
15:16
(218) Кто ты, чудное создание, чью тему только что снесли?
221 Serginio1
 
19.05.16
15:18
(218) Спасибо если с .Net для 1С не получится обращусь к Вам.
Пока теплится надежда, что .Net нужен 1С
222 Pistol
 
19.05.16
15:18
(218) А, товарищи фанеру пилят, оптом и в розницу за наличный и безналичный... Летите, сударь, летите в Париж - там ваше место!
223 hr77
 
19.05.16
15:32
у нас крупный холдинг в Москве, требуется программист в г.Владимир(филиал)
224 Pistol
 
19.05.16
15:34
(223) Искренне, глубоко и сердечно похъй на вас.

Рекламные темы на этом форуме платные и оформляются надлежащим порядком.
225 Serginio1
 
27.05.16
14:37
пятница
226 RayCon
 
28.05.16
04:00
(0) Хочешь продать свои умения - пиши так, чтобы понял тот, кто будет платить деньги. Иначе работодатель истолкует твоё желание работать на любимых тобою языках как удовлетворение твоих интересов за его счёт.
Кадровикам бессмысленно писать про классы - им надо писать умение решать конкретные задачи. Например, "могу синтегрировать с 1С любой софт", и далее - по перечню.


(182)
>И кстати легче было бы продвигать на Запад.

Вот с этого места попродробнее...
Изложи с поправкой на мною вышесказанное. Если лень писать, можешь рассказать устно по скайпу.
227 Serginio1
 
28.05.16
08:02
(226) Что касается легче продвигать на запад, то это касается уже подготовленных программистов знающих я зыки под .Net и Java. Им проще использовать уже известные им классы и методы. Например я сам вместо 1С ких классов, использую нетовские так как они имеет бОльшие возможности. Тот же HTTPClient значительнее больше функционален нежели HTTPСоединение и иже с ними.
Есть куча мелких классов, но с достаточной функциональностью
Например "Строка в дату. Универсальное решение" http://catalog.mista.ru/public/434345/

Для работы со строками в 1С только недавно ввели то, что есть в нетовском String https://msdn.microsoft.com/ru-ru/library/system.string.aspx

Это касается Format, IndexOf(String,?Int32,?Int32,?StringComparison) итд.

Так до сих пор нет StringBuilder. Конечно вместо него можно использовать ЗаписьXML.ЗаписатьБезОбработки. Но это не очевидно и не имеет всех возможностей.


Я сам не могу держать в голове кучу методов и прочее и лезу в интернет за справкой или примерами. На том же stackoverflow.com можно найти кучу примеров для решения поставленной задачи.

Если под Windows можно использовать COM объекты, то Linux лишен этого. Большинство используют Вэб сервисы. Так как писать ВК на C++ не совсем удобно. А вот здесь использовать классы .Net значительно удобнее. При этом код будет кроссплатформенным.

Ну и самое главное в том, что классы используют латиницу, что почемуто отвергается нашими 1С никами.

Хотя работа с классами .Net аналогична работой с Вэб сервисами.
Прокси это объект, есть типы и объекты.
  Разницы использования .Net классов и Вэб сервисов особой нет. Даже .Net классы проще использовать.
228 Serginio1
 
28.05.16
08:34
Опять же, что касается иностранцев. Для интеграции с различными системами есть куча классов написанных на .Net или Java. Если в России поставщики пишут примеры для интеграции на 1С, то за рубежом об этом даже и не знают.
И для интеграции проще взять пример например на C# и переписать его на 1С, чем все заново писать на 1С используя только инструменты 1С.
Я в большинстве случаев использую именно .Net классы, так как они более функциональны, нежели аналоги на 1С.
229 vhl
 
28.05.16
11:19
Тут вот люди искали:
https://habrahabr.ru/company/retailrocket/blog/301750/
Хотя ты, наверное, уже в курсе, но чем черт не шутит
230 PRO100 NigGaZ
 
28.05.16
12:58
(0) в 1С отправь свое резюме :)
231 RayCon
 
28.05.16
13:10
(227) Похоже, ты не прочёл, что я написал. :(
Повторяю из (226): "Кадровикам бессмысленно писать про классы - им надо писать про умение решать конкретные задачи. Например, "могу синтегрировать с 1С любой софт", и далее - по перечню."

Забудь про классы! Продавай себя, а не их!
Мне, как работодателю, надо знать, какую бизнес-задачу ты умеешь решать. Соответственно, я хочу от тебя, например, услышать, какие западные бизнес-приложения ты можешь интегрировать с 1С.

ERP-системы по перечню:
SAP ERP
Scala
MS Dynamics AX
MS Dynamics NAV
Platinum ERP
и т.д.

BI-системы по перечню:
Oracle Essbase
Oracle Hyperion
SAP BI
IBM Cognos
QlikView
и т.д.

Бухгалтерские системы по перечню:
Datev
QuickBooks
Easy Accounting
и т.д.

А если ты не знаешь, какие из этих систем с какими классами работают, то, может, для повышения своей стоимости на рынке тебе имеет смысл прояснить этот вопрос? Иначе твоими работодателями будут, такие же как ты, знающие классы программисты. Замечу, что большинство программистов не умеет продавать свои продукты => много денег не предложат.
232 Злопчинский
 
28.05.16
16:51
(231)  Коля, спасибо за допразьЯснения
Я ему в примерно таком же ключе с другой стороны пытаюсь объяснить
233 rs_trade
 
28.05.16
17:08
(231)   < какие западные бизнес-приложения ты можешь интегрировать с 1С.

все перечисленное в итоге лишь лишь таблички в субд. поифг че интегрировать. зачем так много названий?
234 Serginio1
 
28.05.16
17:28
(220) Спаибо. Интересная ссылка. Пока чистым C# истом не хочу.
(230) Отправил. Именно по .Net в 1С молчание.
(231) Все, что нужно интегрируется. Не нужно знать все эти системы, нужно знать как их интегрировать.
Так или иначе нужно общаться с теми людьми которые отвечают за эти системы и какие шлюзы они предоставляют.
Где то это прямой доступ к БД, где то Вэб сервисы, а где то и набор .Net классов до доступа к этим системам.
235 rs_trade
 
28.05.16
17:41
(234) ага. процесс интеграции всего переченя буржуазных чудосистем сводится к  строке подключения и вопросу к сопровождающим прогам - в какой таблице  у вас лежит эта хрень?
236 Serginio1
 
28.05.16
18:08
(235) :-)))
237 Garykom
 
гуру
28.05.16
20:41
(235) Ну вот нафуя секреты выдавать???
238 Garykom
 
гуру
28.05.16
20:43
(237)+ Кста "конкурентное преимущество" системы 1С что в нее данные загнать легко, а вот вытащить (из 1С) в стороннюю систему без 1С-ника сложно ;)
239 D01
 
28.05.16
20:51
(30) для решения подобных задач в 95% случаев можно использовать штатные средства, для оставшихся 5% - элементарный com-объект
240 rs_trade
 
28.05.16
21:23
(238) поспорил бы. то, что данные разбросаны по таблицам не является конкурентным преимуществом. олтп же. так везде. у 1С они они разбрасаны кстати  логично.
241 rs_trade
 
28.05.16
21:28
смотрел в буржуйских системах. там тихий ужас. такое ощущение что каждый прог который там работал имел цель оставить после себя таблицу или индекс. 30 индексов на таблице и хрен потом разберешь где и зачем они нужны. в этом плане 1С-ные базы отличаются стройностью и логичностью.
242 Serginio1
 
28.05.16
21:50
(239) Только через одно место. Например есть уже готовая .Net библиотека с подписью документов, сериализация десериализация объектов в JSON с говыми методами отправки и получения ответов. Работать с ней намного легче чем со встроенными средствами 1С. Итд. Конечно можно и на 1С писать бинарные операции.
243 Serginio1
 
28.05.16
22:02
245 Злопчинский
 
28.05.16
22:31
(238)  у мну товарищ дельфист прогу для жкх ваял и поддерживал
Там таблиц тоже мама не горюй было
246 Злопчинский
 
28.05.16
22:33
(244)  мне как потребителю продуктов такая фирма малоинтересна будет
247 Serginio1
 
28.05.16
22:38
(248) Ты кстати попробовал ТСД? Твоя проблема в том, что ты ищешь пути, которые тебе понятны. Но это не значит, что они оптимальны.
248 Torquader
 
28.05.16
22:58
Основная проблема интеграции 1С с чем либо ещё в том, что есть много программистов, которые успешно интегрировали в 1С свои решения, причём от совершенно разных языков.
Только вот когда начинаешь собирать эти решения выясняется, что они могут оказаться несовместимы между собой только из-за того, что кто-то использовал разные версии одного и того же.
Понятно, что есть люди, которые смогут это всё объединить, только вот в 1С программируют часто вообще мало знающие, а им проще объяснить, что нужно купить новую версию чего-то стандартного, чем разбираться в коде. В результате, получается, что фирма платит несколько раз за одно и то же, и работать у неё это будет через одно место, так как со сменой программиста будет меняться подход, а вечных программистов не бывает.
249 Serginio1
 
28.05.16
23:53
(248) Стандарт это ВК, а вот как раз ВК это и есть черная дыра. Используя классы .Net с этим может разобраться любой 1С ник знающий эти классы или любой С#, Basic.Net,Delphi.Net

Там все элементарно.
252 Serginio1
 
29.05.16
00:07
(246) Кстати для семерки как раз .Net классы можно использовать на каждом шагу.
253 Neg
 
29.05.16
00:10
(0) Может тебе жениться?
255 Serginio1
 
29.05.16
00:14
(253) Женат 20 лет как уже, причем во второй раз.
256 Neg
 
29.05.16
00:18
"20 лет программирую, 20 лет женат..."

всё по 20-ть...
257 Serginio1
 
29.05.16
00:23
(256) 20 это только на 1С. Учитывая Фортран, Паскаль и Delphi 30 получается.
258 Neg
 
29.05.16
00:26
(257) бейсик забыл,
учи где находится дебет с кредитом и быстрей работу найдешь.
259 Serginio1
 
29.05.16
00:29
(258) Уже знаю. Бухи советутся. Работу я хочу именно в связке .Net и 1С
260 Neg
 
29.05.16
00:29
наверное все же находятся.
262 Serginio1
 
29.05.16
00:35
(261) Спасибо. Надеюсь, что ты ошибаешься и я найду, то что хочу
263 Serginio1
 
29.05.16
01:09
(239)  На линуксе никакого COM объекта нет. А я предлагаю сделать обертку над .Net Core
265 Serginio1
 
29.05.16
08:26
(264) Импортозамещение
266 Serginio1
 
29.05.16
09:51
(261) asp.Net очень востребованная техгология.
Кстати 1C Messenger для отправки сообщений, файлов и обмена данными между пользователям
пишется за пару дней. И получаем оповещение всех клиентов 1С, а в том числе и мобильных клиентов.

Удобно использовать для создания ВК Быстрое создание Внешних Компонент на C#.

Использовать более навороченных форм WPF в УФ c интеграцией 1С

Очень удобный парсер HTML .Net в 1С. Парсинг сайтов, multipart/form-data, gzip итд

с помощь него нет проблем распарсить любую страницу.
Для динамических можно использовать Silenium

http://ru.stackoverflow.com/questions/420354/%d0%9a%d0%b0%d0%ba-%d1%80%d0%b0%d1%81%d0%bf%d0%b0%d1%80%d1%81%d0%b8%d1%82%d1%8c-html-%d0%b2-net/420355#comment634426_420355

итд. Вплоть до того, что на каждом шагу прося драйвер для COM порта

Динамическая компиляция для использования .Net событий в 1С

И таких задач пруд пруди. Просто 1С ники не знают всех возможностей
268 Serginio1
 
29.05.16
12:02
(267) Представляешь шарю и нет проблем.
Посмотри AngleSharp. Все мои разработки вызываются из 1С.
А твои?
269 Serginio1
 
29.05.16
12:06
268+ Кстати можно использовать и модули питона http://catalog.mista.ru/public/186206/
270 Serginio1
 
29.05.16
12:16
А можно вызывать питон модули и из моей разработки

http://metanit.com/sharp/tutorial/9.3.php
273 Serginio1
 
29.05.16
14:25
(271) Да есть Jint. Но полной интеграции нет. Есть Silenium
Еще ссылка http://selenium2.ru/docs/webdriver.html Chrome Driver разрабатывается и поддерживается участниками проекта Chromium Плюсы ?Запуск тестов в реальном браузере и поддержка JavaScript ?Так как Chrome базируется на движке Webkit, это позволит убедиться, что веб-сайт с известной долей вероятности работает и в браузере Safari. Однако учтите, что, поскольку Chrome использует интерпретатор JavaScript V8, а Safari - Nitro, исполнение JavaScript может отличаться.
274 Serginio1
 
29.05.16
14:27
(271) Для большинства случаев достаточно просто распарсить страницу.
Вот еще ссылка на силениум
.Net в 1С. Парсинг сайтов, multipart/form-data, gzip итд

А вот пример применения JINT
.Net в 1С. Парсинг сайтов, multipart/form-data, gzip итд
275 Serginio1
 
29.05.16
14:28
Для большинства случаев нужно получить некие данные, занести в базу итд.
276 Serginio1
 
29.05.16
14:47
Что касается Linux то сейчас изучаю С++ и в скором времени сделаю порт к .Net Core. Пока же вместо dll и внутрипроцесного взаимодействия приходится задействовать Вэб сервисы написанных на C#, Java итд.
При этом использовать классы .Net может любой 1С. Повотрю они даже проще использования Вэб сервисов и объектов XDTO
279 Chainsaw
 
29.05.16
15:45
(0), (266), (273) Seleneum он, S*e*lenium.
Задолбал уже, неграмотный.
280 Serginio1
 
29.05.16
15:46
(277) Да их полно. Сравнить прайсы, получить информацию с сайта итд. Ко мне часто обращаются. Так, что ты не прав.
281 Serginio1
 
29.05.16
16:14
Или например парсить мисту на предмет интересных веток
282 RayCon
 
29.05.16
17:04
(233) Названий много по той простой причине, что деньги, в конечном итоге, платят за конкретные отверстия в стене в привязке к их координатам, глубине и материалу стены, а вовсе не за обещания их насверлить где угодно и сколько угодно каким угодно инструментом.

Если работник говорит, что он СДЕЛАЛ интеграцию 1С с таким-то КОНКРЕТНЫМ продуктом, на рынке он получаешь КОНКРЕТНУЮ стоимость. А если он говорит, что ничего не сделал, но можешь сделать всё, что угодно, то на рынке он ничего не стоит.
Я пытаюсь донести мысль, что работодатель будет готов платить за решение его прикладных задач на том бизнес-приложении, которое он использует, а не за фундаментальные знание программиста по таблицам СУБД и абстрактные технологиям обмена данными.

Резюме для ищущего работу программиста: хочешь хорошую зарплату - научись говорить на языке работодателя.

Приведу аналогию: венчурные фонды финансируют не более 1-3% проектов по разработке софта по той простой причине, что у них никудышные бизнес-планы. Иными словами, в 97-99% плательщики денег даже не смотрят на крутизну программистов.
283 Serginio1
 
29.05.16
17:18
(282) На самом деле я предлагаю инструмент который может решать огромное количество задач. То есть использовать мощь .Net в 1С на уровне применения Вэб сервисов. Не нужно писать никаких ВК. Код может разобрать любой 1С ник знакомый с библиотеками .Net.  
   Сам я иду в довесок к этому инструменту. В том числе и для адаптации под определенные условия.
284 ДенисЧ
 
29.05.16
17:49
(283) Рабодателю не нужно "огромное количество задач".
Ему нужно решение строго тех задач, что у него сейчас возникают.
287 Serginio1
 
29.05.16
18:21
(284) Это зависит от работадателя.
(285) Что бы сравнить на конкурентноспособность своих цен.
(286) Вот только не надо про PHP писал и плевался. По сравнению с Asp. Net это наколеночная поделка. Ты когда что то хаешь, попробуй то что хаешь.
Что именно выйдет эффективнее? Чем asp лучше? это тот же .Net.
288 Gary417
 
29.05.16
18:21
(286) <В итоге в браузере всё это сравниать в сто раз проще, на php софт в сто раз эффективнее выйдет.>

ооо, а у вас нет опыта работы с 1С ?
289 Serginio1
 
29.05.16
18:22
(286) Ты серьезно про браузер?
291 Gary417
 
29.05.16
18:28
(290) <Да помню я эту 1С, дерево деревом, не в обиду. >

тоесть не работали :) видели из-за спины как ктото работал и сделали кучу ценных выводов
294 Serginio1
 
29.05.16
18:32
(290) То есть ты этой работой не занимался. А я занимался и знаю, как зачем и почему.  
  На самом деле таких задач пруд пруди. Влоть до поиска минимальной цены по куче сайтов.
Отслеживание новых поступлений итд. Всё, что можно автоматизировать.
(293) Ты в браузере глазками сравниваешь, или анализируешь HTML на тысячи позиций?
296 Serginio1
 
29.05.16
18:39
(295) Еще раз повторю, что я эти занимался и например для запчастей есть артикулы, аналоги и прочие привязки.
Зачем мне класть в таблицу 1С, если я могу с ней сравнить.
Есть варианты привязки кодов к справочнику в разрезе поставщиков итд. Выбираем минимальные цены.
297 Serginio1
 
29.05.16
18:42
Я говорю о том, с чем сам работал. И знаю как привязвать товары. И у множества  такие же привязки есть.
300 Serginio1
 
29.05.16
18:54
(298) Поверь есть, еще раз для каждого поставщика можно делать сопоставления итд.
  То есть скачать прайсы, обработать сравнить это ну на .Net и 1С нельзя сделать? Ты серьезно? B как это я делаю?
301 Serginio1
 
29.05.16
18:57
Причем не просто прайсами, а миллионными.
302 Pistol
 
29.05.16
19:02
(300) Ну, судя по тому, что ты ищешь работу, делаешь ты это плохо и спустя рукава.

Если ты собираешься в теме поиска работы доказывать, что дотнет это круто, то работу ты здесь не найдешь.

А хотя может для этого доказывания ты ее и завел?
303 Serginio1
 
29.05.16
19:06
(302) Я ищу работу, где я могу применить и развить все свои наработки. Заметь надпиcь неспешно.
Доказывать, что применение .Net в 1С для расширения возможностей не имеет смысла. Это очевидно.
Как и применение С++, Java итд.
305 mksk
 
30.05.16
10:03
(303)
ничего и не нужно доказывать.
интеграция сама по себе это просто файлик, можно табличку в скулях. и описание формата обмена. всё.
306 Serginio1
 
30.05.16
14:13
(305) Вот например Вэб сервис это интеграция, ODATA тоже интеграция. Есть наборы классов для простого обмена по HTTP.
Есть библиотеки для работы с мобильными принтерами и прочим торговым оборудованием.
307 Cloppton
 
30.05.16
23:52
Кстати а с продвижением в интернете вы не сталкивались? С какими сервисами работали, если работали вообще? Лично я думаю насчет системы http://zenlink.ru/ , изучал в интернете предложения, это самый функциональный вариант
308 RayCon
 
31.05.16
07:30
(303)
>Я ищу работу, где я могу применить и развить все свои наработки.

Ещё раз: рация - на бронепоезде!

Я, как работодатель описал круг тех задач, которые мне нужно решать. Ты, как потенциальный работник, ни слова ни сказал, как ты их собираешься решать. Теперь ответь на простой вопрос: зачем мне такой работник, который обещает сделать всё, но даже на словами не может описать, что и как он планирует делать? Хотя бы на примере ранее сделанных работ и с отзывами удовлетворённых клиентов.
309 Pistol
 
31.05.16
07:46
(308) Ты тоже не заметил надпись "неспешно". Доказывать не имеет смысла. Это очевидно.

Забей. Ничего нового не будет.
310 spock
 
31.05.16
08:56
(308) "описал круг .. задач, которые .. нужно решать. Ты, .., ни слова ни сказал, как ты их собираешься решать." - вы друг другу не подходите, делов-то. Зачем опу так рвать?
311 Serginio1
 
31.05.16
09:52
(308) Ты абстрактно описал круг задач. На что тебе абстрактно был дан ответ.
  Как только касается конкретики, то на просторах stackoverflow.com ищется решение на C# и переводится на 1С.
Даже имея опыт решения задач, я смотрю, что нового есть итд.
Если же нет такого решения то, задаю вопрос на соответствующих форумах. Так быстрее и эффективнее, так как невозможно все держать в голове. Но главное найти решение и выбрать нужную технологию для интеграции.
312 Serginio1
 
31.05.16
10:18
Кстати в том же X++ используется мой ананалог

ClrObject

https://blogs.msdn.microsoft.com/x/2010/01/19/traversing-elements-in-an-ienumerable-from-x/

static void GenericTypeDemo(Args _args)

{

    ClrObject o = new ClrObject(“System.Collections.Generic.List`1[System.Int32]”);

    ClrObject enumerator;

    int theValue;


    // o is an instance of an IEnumerable<int>

    o.Add(1);

    o.Add(4);

    o.Add(12);


    print o.ToString();


    enumerator = o.GetEnumerator();


    while (enumerator.MoveNext())

    {

        theValue = enumerator.get_Current();

        print theValue;

    }


    pause;

}
313 Serginio1
 
31.05.16
10:21
То есть в Microsoft Dynamics AX  применять мой аналог это нормально

https://msdn.microsoft.com/en-us/library/clrobject.aspx
https://msdn.microsoft.com/en-us/library/clrobject.new.aspx

А в 1С это не нужно?
314 elCust
 
31.05.16
10:35
Вот возникнет на производственном предприятии вопрос - не распределяются расходы на себестоимость.

Либо сотрудник с больничного решил пойти в отпуск, а затем снова на больничный с сохранением всего, что можно.

А ТС оказывается только обертку умеет делать в .Net.
315 Господин ПЖ
 
31.05.16
10:36
(314) тебе про фому, ты про ерему...
316 oleg_km
 
31.05.16
10:41
(314) А у нашего директора регулярно заканчивается кофе и сигареты. Правда у него не хватает ума отправить в ларек разработчика 1С. Может это бухи должны учиться правильно делать? У нас по крайней мере есть эксперт-аналитик, она эти задачи расколдовывает. А программист может программировать должен, в том числе и с применением других средств разработки. Идите дальше себестоимость крутите или больничные, больше конечно нет задач по автоматизации.
317 Serginio1
 
31.05.16
10:48
(314) Вообще то я 1С ник со знанием .Net.
Там где я приходил, решал те задачи кторые до меня не были решены. А решалось за счет использования технологий не вшитых в 1С.
По твоему получается, что дополнительные возможности ну никак не смогут решить проблему распределения себестоимости?

Кстати у меня есть и универсальные механизмы списания партий
http://catalog.mista.ru/public/371762/

а гркппировку в ТЗ использую чуть ли не каждый день.
318 Господин ПЖ
 
31.05.16
11:00
>дополнительные возможности ну никак не смогут решить проблему распределения себестоимости?

fifo - сокровенное знание 1с-ников...
319 Serginio1
 
31.05.16
11:06
(318) Кстати в 1С нет очередей fifo и lifo
аналогов Queue и Stack
320 Господин ПЖ
 
31.05.16
11:12
(319) там много чего нет... сделать shuffle в векторе - уже "задача" для кодирования
321 Gary417
 
31.05.16
11:14
(319) а что их наличие обязательно в языке?

Я помню в допотопные времена читал книжку по ООП и на VB6 "вручную" делал и очереди и стеки и связные списки...
322 Кирпич
 
31.05.16
11:20
(319) сделать в 1с стек - это 10 строчек кода. Не подключать же для этого 300 мегабайт дотнета мля.
323 Gary417
 
31.05.16
11:24
(322) во во
324 Serginio1
 
31.05.16
11:31
(322) Посмотри сколько подключается. Но когда ты используешь .Net ты используешь кучу классов а не только стек.
И тогда твои 10 строчек превращаются в библиотеку на 300 мегабайт
325 Serginio1
 
31.05.16
11:32
(322) Еще раз посмотри 313.
326 Кирпич
 
31.05.16
11:34
(325) на накой он мне сдался этот .NET
я Python люблю. буду Python в 1с запихивать и на мисте всем доказывать, что без Python в 1с очень плохо.
327 Serginio1
 
31.05.16
11:39
(322) Кстати откуда у тебя информация насчет 300мб?
Я специально проверил на небольшой библиотек вычисляющей HMAC
Увеличилось всего на 1 мб. при подгрузке других библиотек память увеличивается незначительно.

(326) Используй IronPython
http://metanit.com/sharp/tutorial/9.3.php
328 Serginio1
 
31.05.16
11:42
(326) Вот еще использование Питона
http://catalog.mista.ru/public/186206/

Я разве доказываю, что без .Net очень плохо?
Я лишь говорю, что можно легко решать множество задач.
Я же тебе его не навязываю.
Я показываю примеры, как можно решить задачу с помощью .Net а ты волен сам выбирать способ решения.
329 DDwe
 
31.05.16
11:43
(327) Ну Net один фиг иметь на машине надо.
330 Сниф
 
31.05.16
11:43
(44) <Например в среде .Net не понимают зачем 1С, а в среде 1С не понимают зачем .Net. Так непонятно где я свой среди, а где чужой среди своих>

Издержки интеграции )
331 Serginio1
 
31.05.16
11:46
(329) Ну так она идет вместе с Windows и обновляется.
(330) Спасибо за поддержку.
332 Gary417
 
31.05.16
11:46
(327) <Кстати откуда у тебя информация насчет 300мб? >

А сколько версит .Net?
333 Кирпич
 
31.05.16
11:46
(327) да угомонись ты уже. кому надо, тот пользуется и .NET и питонами и дельфями. чо из этого такой шум делать? зачем этот бесконечный позор? ради чего? денег тебе за это не платят. заработать на этом ты ничего не заработаешь.
334 Gary417
 
31.05.16
11:47
(331) <Ну так она идет вместе с Windows и обновляется. >

не все версии
335 Serginio1
 
31.05.16
11:47
(333) Что бы зашел в эту ветку и высказал всё, о чем думаешь по этому поводу.
336 Serginio1
 
31.05.16
11:48
(334) Ну я же никого не заставляю использовать. Кому надо установят. По твоему вообще программировать на .Net нет смысла?
337 Кирпич
 
31.05.16
11:49
(335) И всё? Ты типа тролль такой? .NET Троль?
понятно.
338 Serginio1
 
31.05.16
11:51
(333) Ко мне часто обращаются для решения различных задач.
(337) Ну конструктива от тебя нет. Так, что по поводу тролей ты погорячился.
Эта ветка по поиску работы кстати.
339 Кирпич
 
31.05.16
11:58
(338) "Ко мне часто обращаются для решения различных задач. "
Ну так заведи блог или сайт и там пиши какие задачи решал. типа портфолио. список решенных задач люди почитают, а на .NET ты их решал или не на .NET это вряд ли кому нибудь интересно.
340 oleg_km
 
31.05.16
12:00
(337) Вот же люди. Когда тебе припрет, будешь же высунув язык бегать кричать: спасайте. Хотя ты не будешь, ты же даже не будешь знать, что твоя проблема может быть решена с помощью .НЕТ.

(339) Так он его практически и ведет, пусть и в несколько сумбурной форме.
341 Serginio1
 
31.05.16
12:08
(339) Так http://catalog.mista.ru/profile/82159/public/ вот список задач. Люди читают и обращаются.
Но мне то главное, что бы не я решал, а пользовались моими инструментами. Вот например http://job.mista.ru/users.php?id=63142 давно использует. И я очень этому рад.

(340) Олег привет. Спасибо за поддержку.
342 Кирпич
 
31.05.16
12:09
(340) я никогда не бегаю высунув язык. я в состоянии решить свои проблемы сам. в том числе и на .NET
343 Serginio1
 
31.05.16
12:11
(342) Тогда почему не используешь моюразработку?
Я её кстати делал для вэб сервисов с кучей классов.
Был выбор либо делать для каждого класса обертку вручную, либо автоматически.
344 Кирпич
 
31.05.16
12:12
(341) ну вот и слава богу. пока не вынудишь их себя прорекламировать, так и будут буштеть под нос "NET NET C# NET 1C NET NET 1C"
345 Kupogun
 
31.05.16
12:13
(333)(337)(342) откуда столько истерики?
ТС любит 1с и .net, хочет найти работу на стыке этих технологий. Что в этом плохого?
346 Кирпич
 
31.05.16
12:15
(343) ну не нужно мне. нет надобности. задачи, связанные с 1с обычно мелкие и проще самому написать, чем искать решение и потом разбираться в чужой лабуде, если она нестандартная.
347 Serginio1
 
31.05.16
12:15
(344) Я кстати давно уже никому советы не даю. А вот тебя почему то в эту ветку тянет? Только зачем? Что тебя так тревожит?
Мне же не интересно что ты бухтишь. У меня своих дел полно.
348 Serginio1
 
31.05.16
12:17
(346) То есть если бы эта лабуда была стандартная ты бы пользовался?
И что нужно сделать, что бы она была стандартной?
349 Serginio1
 
31.05.16
12:19
(346) А там и разбираться то особо то нечего.
Использование классов .Net в 1С для новичков
ты хоть попробуй.
А то Книгу писателя не читал, но осуждаю.
350 Кирпич
 
31.05.16
12:20
(346) "И что нужно сделать, что бы она была стандартной"
чтобы все ей пользовались
351 Serginio1
 
31.05.16
12:23
(350) Еще раз использование классов .Net не сложнее использования Вэб сервисов.
Если бы 1С внедрила по аналогии с Microsoft Dynamics AX  CLRObject  ты бы не говорил, что это дерьмо?

И то, что .Net можно использовать и на Линукс.
352 Serginio1
 
31.05.16
12:25
(350) Посоветуй куда лучше написать, что бы хотя бы рассмотрели эту идею использования .Net в 1С.
353 Кирпич
 
31.05.16
12:26
(351) Если бы 1С внедрила, я был бы только за. И чтобы это было на русском языке. Ибо 1с.
354 Кирпич
 
31.05.16
12:27
(352) нахреначь лучше большую ВК на .NET и запихай туда кучу полезного (даже очереди и стеки)
355 Кирпич
 
31.05.16
12:30
(351) "И то, что .Net можно использовать и на Линукс."
кстати, пробовал установить core .net на линукс. чота заругалось и не установилось.
356 Serginio1
 
31.05.16
12:30
(353) Например вэб сервисы все на не русском. Тебя же это не воротит. А локализовать все методы даже стандартных классов это расточительно
(354) Зачем? Уже есть обертка используй Л Ю Б О Й класс.
Ты хоть попробуй.
http://ru.stackoverflow.com/questions/527763/%d0%9a%d0%b0%d0%ba-%d0%b2%d1%8b%d0%b7%d0%b2%d0%b0%d1%82%d1%8c-%d0%bc%d0%b5%d1%82%d0%be%d0%b4-%d0%b8%d0%b7-c-%d0%b2-1%d0%a1/527802#527802
357 Serginio1
 
31.05.16
12:31
(355) Сейчас уже RC2 вышел. Посмотри какие версии поддерживает
358 Кирпич
 
31.05.16
12:33
(356) "Тебя же это не воротит." почему не воротит. воротит. одинеснику нужно на русском.
" А локализовать все методы даже стандартных классов это расточительно " так все не надо. только то, что в 1с нехватает. а нехватает немного.
359 Господин ПЖ
 
31.05.16
12:37
>И чтобы это было на русском языке.

тогда про победное шествие за пределами 1/6 можно забыть
360 Сниф
 
31.05.16
12:38
(331)> Спасибо за поддержку
Пожалуйста!
Меня тоже никто не понимает ) Хотя я тебя понимаю, хоть частично, твои советы на форумах очень часто по делу.
361 Кирпич
 
31.05.16
12:38
(359) так на русском и английском в 1с всё вроде. не?
362 Serginio1
 
31.05.16
12:40
(358) Не поверишь, но очень много. Теже Вэб сервисы с WS протоколами. Даже Header не поддерживается. Есть куча библиотек на все случаи жизни.
Но проблема в том, что 1С это не нужно. Они в Native ВК даже аналог Idispatch не ввели, что бу можно было использовать объекты 1С и передавать свои объекты. Сейчас буду с этим разбираться.

(359) Согласен. Это кстати нужно и 1С самой. Так как там многие знакомы с C# и Java и им проще использовать знакомые классы

(360) (handshake)
363 Mikeware
 
31.05.16
12:42
(360) (362)
— Доктор, соседи называют меня сумасшедшим, потому что я люблю сосиски.
— Ерунда какая, я тоже люблю сосиски.
— О-о, тогда пойдемте я покажу вам свою коллекцию!!!!
©
364 Serginio1
 
31.05.16
12:47
(361) Кстати методы Менеджер COM-соединений  на английском
И даже ProgID на английском
Соединитель = Новый COMObject("V83.COMConnector");

Да и многие используют кучу COM объектов которые на не русском
365 Кирпич
 
31.05.16
12:49
(362) вот и реши проблему конкретную проблему с вебсервисами и продавай. нафиг пропагандировать какой то С№ среди одинесников, ели одинеснику проще заплатить 1 раз тыщу рублей и получить за работу 10, чем сидеть изучать какие то классы .NET, которые ему будут нужны раз в два года.
366 Кирпич
 
31.05.16
12:50
(364) ну используют. писать то неудобно и выглядит некрасиво
367 Кирпич
 
31.05.16
12:56
+(366) хотя я не против, если вообще язык 1с заменят на C#. да и вообще на английском всё делать. но раз уж так повелось уже...
368 Сниф
 
31.05.16
12:57
(362) Прикинь, что я вчера придумал. Опять не поймут. Чат в Конфигураторе. Прямо в Конфигураторе можно организовать чат с пользователем 1С.
http://i80.fastpic.ru/big/2016/0531/f2/39e415247233cce35d1d1521f4bf0af2.png
369 Mikeware
 
31.05.16
12:57
(364) Это хорошо или плохо?
(366) проблема в "переключении языков"... а в остальном, если одинаково - то хоть как.
370 Кирпич
 
31.05.16
12:58
(368) у тя в телефоне чатов мало чтоли
371 Serginio1
 
31.05.16
12:58
(366) А при использовании кириллицы в C# тоже выглядит некрасиво. А тратить кучу времени на руссификацию нет смысла. Это тысячи класов с десятками методов и свойств
  Я пропагандирую и количество последователей увеличивается. И это хорошо.

(367) Проблема в только в том, что если 1С внедрит доступ .Net из каропки то все будут пользоваться.
372 Mikeware
 
31.05.16
12:58
(368) ты лучше чат с сервером организуй...
373 Кирпич
 
31.05.16
12:59
(371) адептов :)
374 Serginio1
 
31.05.16
13:00
(368) Интересно. И интересно как?
(372) Можно и с сервером запустив цикл с ожидание срабатывания эвента по событию
1C Messenger для отправки сообщений, файлов и обмена данными между пользователям
375 Serginio1
 
31.05.16
13:02
Понял. Прикольно.
376 Сниф
 
31.05.16
13:07
(374) > Интересно. И как?
Открой в Кофигураторе обработку и мы сможем с тобой чатиться прямо сейчас)
https://yadi.sk/d/VFRjT6zKs9Chm
377 Сниф
 
31.05.16
13:08
+(376) Макет ПолеHTML в режиме Просмотр
378 Serginio1
 
31.05.16
13:11
Я понял. На чем сервер написан?
379 Mikeware
 
31.05.16
13:14
(374) главное, чтоб сервер осмысленно отвечал...
380 Сниф
 
31.05.16
13:15
(378) Ответил в чате)
Сервер в данный момент - это скрипт Node.js открытый в редакторе в режиме отладки)
381 Сниф
 
31.05.16
13:16
(379) Мы уже чатимся с http://job.mista.ru/users.php?id=49865 в Конфигураторе )
382 Serginio1
 
31.05.16
13:16
(379) Все зависит от вопроса.
(380) Угу Понял. У меня аналог на SignalR
383 Кирпич
 
31.05.16
13:35
вот вам еще тема. прикручивайте node.js к 1С. Там тоже много всего красивого и интересного. вполне заменит .NET
384 Сниф
 
31.05.16
13:46
(383) ты почему еще не в чате?)
385 Кирпич
 
31.05.16
13:49
(384) я уже не в том возрасте, чтобы чатиться
386 Сниф
 
31.05.16
13:50
(384) Со своими? В Конфигураторе? В Конфигураторе, Карл!
387 Сниф
 
31.05.16
13:53
т.е. (386) к (385)

Для тех, кто пришел позже:
1. Качается внешняя обработка из (376)
2. Открывается в конфигураторе. Формы не нужны. Открываем Макеты -> IndexHtml. Тип макета - Html. Выбираем вкладку "Просмотр" и оказываемся в чате узников Конфигуратора.
388 Кирпич
 
31.05.16
13:58
(387) как правильно назвать этот стремительный прорыв? свистелка или перделка?
389 Сниф
 
31.05.16
14:00
(388) Микросервисы! Вот если так назовешь, то не ошибешься.
390 Кирпич
 
31.05.16
14:03
вот прикольная штука
http://catalog.mista.ru/public/292440/#slide-to-cc_templates
391 Сниф
 
31.05.16
14:06
(390) не понял прикола.
Pourquoi? - (франц)
На кой? - (русск)
392 Кирпич
 
31.05.16
14:11
(391) Pourquoi ai-je besoin d'une t?l?vision dans le configurateur?
393 Сниф
 
31.05.16
14:15
(393) Э.. оперативное общение с инициатором инцидента? Поиск коллег по ремеслу попить вечером в пятницу пива?
394 Кирпич
 
31.05.16
14:19
(393) а почему именно в конфигураторе? тебя к нему приковали чтоли?
395 Сниф
 
31.05.16
15:02
(394) Нет, клиент HTML. Я собственно, делал обработку и сам офигел, когда увидел, что она работает даже в режиме конфигуратора. Живучая, значит, технология.

О библиотеке socket.io: "Так, для современной версии браузера  socket.io будет
использовать WebSocket, при отсутствии в клиенте подцержки такой технологии задействует flash, а если и ero нет, будет применяться, например, Forever Iframe. Подобный подход позволяет работать в реальном времени практически во всех используемых в настоящее время
браузерах. "
396 Сниф
 
31.05.16
15:06
(394) И эта хрень работает даже в такой агрессивной среде, как конфигуратор )
397 RayCon
 
31.05.16
15:59
(309)
>Ты тоже не заметил надпись "неспешно". Доказывать не имеет смысла. Это очевидно.

Заметил. Просто хотел помочь человеку, чтобы "неспешно" не превратилось в "никогда".

>Забей. Ничего нового не будет.

Похоже, ты прав: топикстартер не хочет даже задумываться на тему, что надо продавать себя, а не некие, любимые им, классы.

(310)
>вы друг другу не подходите, делов-то.

Это я уже понял: такого сотрудника точно не возьму. И даже рекомендовать знакомым не буду, хотя, не далее, как сегодня, мне пришёл запрос на двух прогов, причём один из них должен быть универсалом.

(311)
>Ты абстрактно описал круг задач. На что тебе абстрактно был дан ответ.

Если то, что написано в (231) абстрактно, то "Вопросов больше не имею". (с) Илья Ильф, Евгений Петров
398 Господин ПЖ
 
31.05.16
16:09
>А если ты не знаешь, какие из этих систем с какими классами работают, то, может, для повышения своей стоимости на рынке тебе имеет смысл прояснить этот вопрос?

дадада... sap bi в каждом киоске ведь стоит - п.э. любой 1с-ник в курсе какие средствами интеграции располагает эта система. ну и проектов у него тоже по ней вагон...

и по сути (233) +1

много названий, но по сути конь в вакууме... к тех. спецу с вопросами такого уровня не входят
399 Бертыш
 
31.05.16
16:11
Коллега. Добавлю 5 копеек свои. Я тупой 1С ник с вытекающим непринятием английского синтаксиса, то есть без знания английского. Месяц назад мне понадобилось написать парсер сайта. Я ткнулся и тыкался в разные языки, но на деле убедился что лепше всего документирован и писать легче на C#. У меня есть лицензионная Visual Studio 2010 Team и там подсказки и документация по русски практически. Плюс в рунете есть замечательные форумы где как оказалось, по причине того что сабдж существует довольно долго, мне уже даже не надо задавать свои вопросы а достаточно посмотреть что отвечали тем кто уже с данной проблемой сталкивался. Плюс переводы на русский в MSDN. В общем 2 недели, а точнее 5 ок вечеров и я смог наваять себе нужное мне полноценное приложение.
Вопросы: - Я специалист со знанием 1С и C# после этого? Что там собственно специалисту с опытом работы, то есть с наличием программистского склада мышления в C# изучать? А по теме могу связать Вас с одной конторой которой требуется интегрировать продукт на C# с разрабатываемой Вами же конфигурацией на 1С 8. Правда сидят они у нас в Брянске. Я к  ним пойти не могу по причине того что у меня уже есть работа которая меня устраивает.
400 Бертыш
 
31.05.16
16:11
400
401 Serginio1
 
31.05.16
16:38
(397) В 311 тебе дан развернутый ответ. Все зависит от постановки задачи.
В 231 никакой конкретики нет. Есть только названия продуктов.
И что я должен ответить? То что работал с ними?
Или все таки важно какую задачу нужно решить?
402 Serginio1
 
31.05.16
16:58
Сейчас поковырялся с Native ВК.
1. Передать ВК в качестве параметра нельзя.
2. .Net поддерживает перегрузку методов с несколькими параметрами. Приходится указывать максимальное количество, а возвращать

bool CAddInNative::GetParamDefValue(const long lMethodNum, const long lParamNum,
    tVariant *pvarParamDefValue)
    
{
    TV_VT(pvarParamDefValue) = VTYPE_HRESULT;
    return true;
}

любой vt отличный от 0. В метод идет кстати с 0.

На самом деле есть идея использовать аналог IDispatch
У которого 2 метода.

1. По анаогии с нетовским InvokeMember
https://msdn.microsoft.com/ru-ru/library/66btctbe(v=vs.110).aspx
2. void Done(); при завершении работы объекта

Подсчет ссылок ведется на стороне 1С.
На стороне ВК используются только на время вызова метода.

Тогда написать обертку можно очень легко.
403 Сниф
 
31.05.16
16:59
(0) Работу ты конечно найдешь, но, как я скромно думаю, для раскрытия твое потенциала нужно продвигать готовый сервис, а не резюме.
404 Serginio1
 
31.05.16
17:06
(399) Спасибо. Ну удаленно то можно хоть в Америке.
Полностью согласен насчет MSDN, форумов.
Кстати сейчас и http://ru.stackoverflow.com/ развивается.
Хотя на англоязычном активность на порядки выше. Но и на этом тебе ответят на любые вопросы. Есть RSDN, cyberforum.ru
405 Serginio1
 
31.05.16
17:09
(403) В интересах самой же 1С продвигать. Если сделать интеграцию через 402 то можно прикручивать и .Net и Java и Питоны и прочие платформы с информацией о типе
406 Сниф
 
31.05.16
17:25
(405) Что такое "интеграция через 402" ? )
407 Кирпич
 
31.05.16
17:27
(406) матофильтр не пропускает, потому и пишет "интеграция через 402"
408 Serginio1
 
31.05.16
17:30
(406) 402 это номер поста
409 Сниф
 
31.05.16
17:30
(407) Почему не через 404? Кажется, я что-то упускаю, как говорят манъяки и копы в фильмах.
410 Сниф
 
31.05.16
17:31
(408) Понял. Извини, кажется, что я тут флужу, но это я тебе ветку поднимаю.
411 Кирпич
 
31.05.16
17:34
(405) ты бы на пальцах объяснил чего ты делаешь с помощью этого 402
написал бы текст программы на языке 1с. так вот это мол будет выглядеть. нифига же непонятно людям чего ты изобретаешь там.
412 Serginio1
 
31.05.16
17:42
(411) Ну это не для 1С.
В Native BK есть базовый класс с виртуальными методами

IComponentBase

bool CAddInNative::Init(void* pConnection)

long CAddInNative::GetInfo()

void CAddInNative::Done()

bool CAddInNative::RegisterExtensionAs(WCHAR_T** wsLanguageExt)

long CAddInNative::GetNProps()

long CAddInNative::FindProp(const WCHAR_T* wsPropName)

const WCHAR_T* CAddInNative::GetPropName(long lPropNum, long lPropAlias)

bool CAddInNative::GetPropVal(const long lPropNum, tVariant* pvarPropVal)

bool CAddInNative::SetPropVal(const long lPropNum, tVariant* varPropVal)

bool CAddInNative::IsPropReadable(const long lPropNum)

bool CAddInNative::IsPropWritable(const long lPropNum)

long CAddInNative::GetNMethods()

long CAddInNative::FindMethod(const WCHAR_T* wsMethodName)

const WCHAR_T* CAddInNative::GetMethodName(const long lMethodNum,
                            const long lMethodAlias)

long CAddInNative::GetNParams(const long lMethodNum)


bool CAddInNative::GetParamDefValue(const long lMethodNum, const long lParamNum,
                          tVariant *pvarParamDefValue)


bool CAddInNative::HasRetVal(const long lMethodNum)

bool CAddInNative::CallAsProc(const long lMethodNum,
                    tVariant* paParams, const long lSizeArray)

bool CAddInNative::CallAsFunc(const long lMethodNum,
                tVariant* pvarRetValue, tVariant* paParams, const long lSizeArray)

void CAddInNative::SetLocale(const WCHAR_T* loc)


bool CAddInNative::setMemManager(void* mem)
413 Serginio1
 
31.05.16
17:48
На самом деле нужны только
Init(void* pConnection)

Done()

А все остальные замещает нетовский аналог

public object InvokeMember(
    string name,
    BindingFlags invokeAttr,
    object[] args
)

Где BindingFlags - перечисление отвечающее за тип вызова
(метод,чтение или установка свойства)
https://msdn.microsoft.com/ru-ru/library/system.reflection.bindingflags(v=vs.110).aspx
414 Serginio1
 
31.05.16
17:51
И этот объект можно было бы создавать на стороне ВК и передавать в параметрах ВК. При этом можно передавать и объекты 1С
415 Сниф
 
31.05.16
17:57
Serginio1 поддержу ветку
А что ты думаешь про наследование  в 1С на обработках?
Например, обработка "Животное" имеет метод "ВыдатьЗвук()".
Неопределенное животное выдает звук: "Ыыы!".
Создаем еще две обработки - Кошка и Собака. Обе обработки имеют свойство Родитель - обработка "Животное".
Для "псевдонаследования" нужно, чтобы обработка имела только один метод - ВыполнитьКоманду(). Если метод "ВыдатьЗвук" не определен для кошки, то в модуле обработке обращаемся к Родитель.ВыдатьЗвук().
416 Pistol
 
31.05.16
18:05
417 Serginio1
 
31.05.16
18:07
(415) 1С идет по пути утиной типизации. Смысл такой если у неё есть метод ВыдатьЗвук значит она животное.
На самом деле в 1С есть совмещение клиентского и серверного кода что упрощает разработку. Но хочется то большего.
В .Net есть такие кострукции как yield и await.

Смылс их в том, что они на основании метода создают класс с переменными метода и методами которые вызываются после определенных событий.

Так с помощью них можно решать проблемы с модальностью.
Можно запихивать серверный код внутри клиентского.

Ну и конечно на основе таких классов делать замыкания.
418 Сниф
 
31.05.16
18:14
(417)
Через Выполнить - если в обработке (Кошка) реализован метод ВыдатьЗвук(стр) (Сообщить "Мяу," + стр);
то кошка мяукает.
А если для собаки не реализован метод ВыдатьЗвук(), то в Попытке/Исключении идет обращение к Родитель.ВыдатьЗвук().

То есть собака выдает звук базового животного, так как у нее непрописан метод в обработке.
419 Serginio1
 
31.05.16
18:18
(418) Это все понятно. Это можно и сейчас завести поле  родитель и присвоить модуль родителя. Но это менее актуально по сравнению с 417. Там резко производительность повышается.
420 Кирпич
 
31.05.16
18:23
(412) ничо не понял. Это для 1с или не для 1с? ВК не для 1с? Если для 1с то нипиши пример кода на 1с.
421 Кирпич
 
31.05.16
18:26
Звук базового животного:))
422 Сниф
 
31.05.16
18:59
(421) Ыыы)
423 Pistol
 
31.05.16
20:00
Вот так вот, не напрягаясь, животрепещущую тему о героическом дотнете свели к крикам животных. Браво! =)
424 Serginio1
 
31.05.16
22:36
(421)
В 412 Это класс наследник IComponentBase, базового класса для всех вк. Я показал какие внутри него методы.
А в 413 мое видение этого класса.

На 1С сейчас это выглядит как
ПодключитьВнешнююКомпоненту(ИмяФайла, ИмяМетки,ТипВнешнейКомпоненты.Native);

    Компонента = Новый("AddIn."+ИмяМетки+"."+ИмяРасширения);

Ты Native ВК ещё не писал?
425 Кирпич
 
31.05.16
22:55
(424) "Ты Native ВК ещё не писал?.
Да штук восемь написал.

меня вот это интересует

"И этот объект можно было бы создавать на стороне ВК и передавать в параметрах ВК. При этом можно передавать и объекты 1С"

как ты объекты собрался передавать? 1с же вроде запрещает это в NativeAPI
426 Garykom
 
гуру
01.06.16
00:06
(425) А кто мешает создать объект в памяти и передать (базовые то типы можно же передавать) "ссылку на объект" а по сути некий адрес в памяти?
427 Злопчинский
 
01.06.16
00:55
Как писать программы на 1С, чтоб их понял не только процессор, но и человек?
Вводная статья по рефакторингу в среде 1С
Известен такой анекдот. Вызывает профессор-лингвист студента к доске и говорит: «Пиши: Глокая куздра штеко будланула бокра и курдячит бокренка». «Чего-чего?» было спросил студент, но с авторитетом профессора спорить не стал и честно записал эту абракадабру. А теперь, - сказал профессор, объясни – о чем говорится в этом предложении? На студента стало жалко смотреть и лектор сжалился.

- Ну, кто здесь главное действующее лицо?
- Ку… куздра, - промямлил студент
- А какая она, эта куздра?
- Глокая! - уже уверенней произнес студент
- А на кого направлено действие?
- На бокра!
- И что эта куздра сделала?
- Она его будланула! – выкрикнули из аудитории со смехом.
- И штеко, причем, будланула, добавил, улыбнувшись, профессор.
- А вот бокр – он живой?
Студент задумался…
- А! Да! У него бокренок есть!
- У бочки тоже есть бочонок, но это не значит, что она живая. Если бы бокр был неживой, мы бы сказали «булданула бокр», это винительный падеж «кого, что».
Итак, не зная смысла ни одного существительного, прилагательного или глагола мы уже можем достаточно много рассказать о происшедшем. Информацию об этом мы извлекли из вроде бы незначащих вещей – падежей, союзов, окончаний, определяющих отношения между словами в предложении.

Теперь вернемся от языковедения к программированию. При чем здесь Глокая куздра? Много говорилось о том, что названия процедур, функций и переменных должны быть «говорящими» должны соответствовать логике их использования. Но не менее говорящими должны быть и связи между идентификаторами! Даже не зная конкретного смысла программы, можно с первого взгляда увидеть, как она устроена.
428 Злопчинский
 
01.06.16
00:56
Как этого достичь?
Возьмем Глокую куздру.
Но что это? Известно, что Глокая куздра может выполнять несколько действий. Она умеет будлануть, а умеет и курдячить т.е. представляет собой несколько связанных действий. Также известно, что эта куздра именно глокая, т.е. есть изменяемый параметр, явно в природе существуют и другие куздры – неглокие. В 1С логичнее всего оформить нашу куздру как обработку. Ведь бокров она именно «обрабатывает». Теперь, если ввести в тексте программы
Куздра. (с точкой), то система покажет все, что эта куздра умеет делать. Глокая пусть будет реквизитом обработки. Сегодня Куздра будет Глокая, т.е.
Куздра.Глокая = Истина
Дальше возьмемся за бокра. Документ или справочник наш герой, не так важно, т.к. сам он ничего не делает, кроме одного: как мы помним, куздра его будланула. Т.е. явно состояние бокра изменилось, произошло действие! Что у нас отвечает за действие, что в 1С заменяет глаголы? Процедуры и функции. Теперь нужно выбрать, что будем применять. Можно написать

Куздра.Будланула(бокра);
и это будет почти по-русски. Но из этой записи совершенно не понятно, изменился бокр или нет. Опять же, куздра булданула его штеко т.е. с параметром. Получится
Куздра.Булданула(Бокра, Штеко)
Здесь непонятно, кого куздра булданула – бокра или штеко, что является результатом действия, а что - его параметром. Самый правильный выход – написать
Бокр = Куздра.Будланула(Бокр, Штеко)
Теперь все методически правильно. Бокр является параметром и результатом (т.е. изменено его состояние, это объект над которым произошло действие), штеко – параметр. Соответственно продолжим наше повествование. Из него не совсем понятно, когда же это все кончится, когда глокая куздра все-таки закурдячит бокренка, ведь висящая программа нам не нужна. Допустим, бокренка есть функция Конец(), которая определяет конец закурдяченности. Получится такая вот такая конструкция

Пока Не Бокренок.Конец() Цикл
  Бокренок = Куздра.Курдячит(Бокренок)
КонецЦикла

Здесь мы выразили непрерывное, повторяющееся действие через цикл (допустив, что прекращение действия зависит от Бокренка. Если оно зависит, например, от Бокра или состояния самой ГлокойКуздры, это тоже можно было выразить). Дальше еще можно добавить связь между Бокром и Бокренком. Оба они бокры! Значит, это можно выразить, объединив их в структуру, что может понадобиться, например, если нужно будет передать куда-то всех бокров скопом, а не поодиночке.
429 Злопчинский
 
01.06.16
00:57
Итого у нас получилось
Куздра.Глокая = Истина;
Бокры.Бокр = Куздра.Будланула(Бокры.Бокр, Штеко);
Пока Не Бокры.Бокренок.Конец() Цикл
  Бокры.Бокренок = Куздра.Курдячит(Бокры.Бокренок);
КонецЦикла;
Конечно, по сравнению с богатством русского языка, в пересказе на макроязыке 1С некоторые нюансы шедевра потерялись, но главная нить по-прежнему вполне улавливается. А значит и в языке программирования операторы отношения и присваивания имеют выразительный смысл, который можно и нужно использовать!

Формализуем правила
Связанные между собой по-смыслу действия процедуры и функции полезно объединять
Нужно четко отделять само действие, объект, на который действие направлено и параметры действия. Это три разные вещи!
Для показа изменения состояния объектов данных нагляднее использовать функции, а не процедуры. А так как функция возвращает только один результат не нужно одной процедурой менять все сразу!
ГлокаяКуздра(Бокра, Бокренка, Будланула, Курдячит)
это не наш путь!
Продолжение - следует!
430 Злопчинский
 
01.06.16
00:58
Можно предположить, что Куздра стала глокой именно после булдания бокра и глокой является именно во время курдчания бокренка... то есть типа так:
..
Бокры.Бокр = Куздра.Булданула(Бокры.Бокр, Штеко);
Пока Не Бокры.Бокренок.Конец() Цикл
Бокры.Бокренок = Куздра.Курдячит(Бокры.Бокренок);
Куздра.Глокая = Истина;
КонецЦикла;
Куздра.Глокая = Ложь;
..
согласитесь - результат состояния Куздры - принципиально иной у автора и приведенном мной коменте...
431 Злопчинский
 
01.06.16
00:59
> куздра куздрячит.
давайте не будем скатываться к примитивизму...
"куздра куздрячит" - понятно, что это обозначает действие _изначально_ характерное для куздры... но как таковая куздра сама по себе - нас не интересует... "кузрячит" - эквивалентно "рабочий работает" - т.е. энтропия данного сообщеняи близка к 0... "Куздра ... курдячит" - гораздо более емкое обпределение действия, которое поязволяет сделат вывод о том, что куздра имеет не одну степень свободы (куздрячит) а - гораздо больше! т.е. отсюда можно сделать вывод что куздра - суть многофункциональный объект/субъект! это подтверждается также и тем, что куздра еще может/умеет/выполняет БУЛДАНИЕ БОКРА, т.е. как минимум, куздра имеет три стпени свободы - 1.куздрячение (как изначально принадлежащее куздре по самоей ее сути) 2. кудрячение (бокренка!!!! не кого именно, а как минимум - бокренка) и 3. булдание (бокра, а не кого попало)...
..
вышеприведенный анализ позволяет также сделать вывод о том, что куздра - многофункциональный субъект/объект с избирательной "программой" действия, определяемой окружающей обстановкой (бокренка - кудрячит, болдание - бокра), т.е. присутствует обратная связь в определяющих мотивах поведения куздры...
..Вопрос о том, является ли куздра искуственным объектом/субъектом, однозначно определяемым конечным набором кортежей "действие куздры - объект вблизи куздры", или же куздра является объектом живой природы с ненормированным поведением в условиях нормированной/ненормированной внешней обстановки - на данный момент остается открытым...
432 Злопчинский
 
01.06.16
00:59
433 Serginio1
 
01.06.16
07:37
413+ Ну конечно нужно добавить
bool CAddInNative::setMemManager(void* mem)

(425)  Сейчас нельзя, но я предлагаю вариант типа IDispatch где можно передавать в том числе и объекты 1С.

Сейчас придется использовать двоичные данные, что бы в них устанавливать свою структуру для того, что бы понять что это за объект.
При получении такого объекта на стороне 1С нужно создать ВК обертку и передать эту структуру. Внутри уже вызывать методы используя ссылку.

При передачи в параметрах такой структуры, нужно получать ссылку и передавать уже на сторону .Net.
Можно обойтись и просто ссылкой, но тогда при передаче параметров будет непонятно, что это ссылка.
БинарныеДанные тоже придется упаковывать в эту структуру.
434 Serginio1
 
01.06.16
07:59
433 Можно конечно использовать информацию о методе, так как так или иначе нужно передавать в GetNParams количество параметров. Но в .Net есть перегрузка методов где параметр может быть и интом и объектом
435 Кирпич
 
01.06.16
09:10
(433) "Сейчас нельзя, но я предлагаю вариант типа IDispatch где можно передавать в том числе и объекты 1С"
1С не даст тебе передать объект и точка. Куда ты будешь пихать этот свой IDispatch? Тут без хака никак.
436 Кирпич
 
01.06.16
09:13
(433) "Сейчас придется использовать двоичные данные, что бы в них устанавливать свою структуру для того, что бы понять что это за объект. "

я от тебя добиваюсь уже второй день, чтобы ты написал как это будет выглядеть в коде 1с, но тебя похоже это вообще не интересуеть :))
программирование сферического коня в вакууме мля.
437 mksk
 
01.06.16
09:13
ADO на скуль достаточно чтобы не делать мозги
438 Serginio1
 
01.06.16
09:56
(436)
Возьме для примера Комовский вариант

Список=Врап.СоздатьОбъект("System.Collections.Generic.List`1[System.String]");
Для сч=1 По 10 Цикл
Список.Add(строка(сч));    
КонецЦикла;


На Native  будет так.
Врап=Новый("Addin.VK.WrapperNet");
Список=Новый("Addin.VK.NetObject");

Данные=Врап.СоздатьОбъект("System.Collections.Generic.List`1[System.String]");

Объект.Обернуть(Данные);

Для сч=1 По 10 Цикл
Список.Add(строка(сч));    
КонецЦикла;
439 Serginio1
 
01.06.16
09:57
(435) Все течет все меняется. Еще раз если сделать базовый класс по аналогии с 413 то можно все
440 Serginio1
 
01.06.16
09:58
438+ Вот так будет

Врап=Новый("Addin.VK.WrapperNet");
Список=Новый("Addin.VK.NetObject");

Данные=Врап.СоздатьОбъект("System.Collections.Generic.List`1[System.String]");

Список.Обернуть(Данные);

Для сч=1 По 10 Цикл
Список.Add(строка(сч));    
КонецЦикла;
441 Кирпич
 
01.06.16
09:59
(440) ну слава богу. теперь понятно.
442 Serginio1
 
01.06.16
10:00
(441) Не богу, а мне!

И я могу передавать Данные в параметрах
443 Кирпич
 
01.06.16
10:01
+(441) только с объектами самой 1с засада
444 Serginio1
 
01.06.16
10:05
(443) Можно сделать по аналогии с Net и хранить объекты в массиве и передавать индекс на них.
Если нужны данные вызывать внешнее событие, в событии выставлять значение.
Но лучше добиваться от 1С что бы они сделали аналог Idispatch  как 413.
445 Кирпич
 
01.06.16
10:13
(444) да блин такой огород городить. 1с правильно всё делает. И объекты запрещает передавать тоже правильно.
Мой подход такой:
Нужно сделать что-то что 1с делать не умеет, напиши ВК с конкретным функционалом и приложи бумажку с описанием функций.
Всё конкретно, понятно и не противоречит концепции предложенной фирмой 1с.
А эти обертки и свистелки это не по мне.
446 Serginio1
 
01.06.16
10:20
(445) То ессть в Microsoft Dynamics  дураки?

Интересно, что в Microsoft Dynamics AX есть ClrObject
?https://msdn.microsoft.com/en-us/library/clrobject.aspx
?https://msdn.microsoft.com/en-us/library/clrobject.new.aspx

Вот пример применения

?https://blogs.msdn.microsoft.com/x/2010/01/19/traversing-elements-in-an-ienumerable-from-x/



Вот поэтом в том же линуксе используют Вэб сервисы, а не ВК.

1С позволяет передавать объекты (IDispatch), но только в COM.

Я в 413 предлагаю его аналог. И это никак не противоречит концепции.
447 Serginio1
 
01.06.16
10:23
(445) На самом деле Внутри COM те же обертки свистелки.
Transparent Proxy, Real Proxy
448 spock
 
01.06.16
10:32
что же вы такое курите?
449 Кирпич
 
01.06.16
10:33
(448) чай
450 Кирпич
 
01.06.16
10:34
(446) COM это готовые объекты с описанием того, что они делают. Т.е та же ВК. А если все начнут вставлять в 1с всякую мелочь типа System.Collections.Generic.List, то получится бардак, который в 1с не нужен. Ибо сила 1с в стандартах. Все одинесники должны понимать, что пишут другие одинесники. А когда один нафигачит в код объектов из .NET, второй нафигачит объектов из питона, третий из своего любимого Java. Это же крокодил какой то.
451 Serginio1
 
01.06.16
10:41
(450) Так оно сейчас так и получается. Для Win есть куча библиотек на COM. А вот для Линукс нет COM вообще. Писать Native ВК не особо то продуктивно. А вот написать библиотеку на C# или JAva и документировать методы, то это ничем не будет отличаться от COM.
452 Serginio1
 
01.06.16
10:42
(450) мелочь типа System.Collections.Generic.List в большинстве случаев идет в параметрах методов более мощных библиотек
453 Кирпич
 
01.06.16
11:02
(451) "Для Win есть куча библиотек на COM" да не нужны в 1с кучи библиотек на COM. В 1С ИЗРЕДКА возникают прикладные задачи, которые нельзя решить на языке 1с. Например задача об упаковке в контейнеры или ещё какая нибудь хрень.
"Писать Native ВК не особо то продуктивно" чо там непродуктивного?
А сидеть втыкать в справку .NET, копипастить оттуда названия методов и переключаться без конца с русского на английский это продуктивно?
Ладно бы просто заставить ВК выполнить кусок кода на С# куда не шло, но вот это русско-английское дотнет месиво в модуле 1с это идиотизм, я щетаю.
454 Serginio1
 
01.06.16
11:26
(453) Угу начиная от ADO, Экселей с вордами итд.
Еще раз Вэб сервисы сплошь на латинице. При  этом ты же не кричишь на каждом шагу, что это идиотизм?

Ну напиши ВК с сотней методов и классов. И сравни продуктивность.
Написать библиотеку на кирилице тебе никто не запрещает. Все в твоих руках.
455 Кирпич
 
01.06.16
11:40
Экселей с вордами уже есть и по другому тут не будет. А вот самому себе писать русско-английское дотнет месиво в модуле 1с это идиотизм.
456 Кирпич
 
01.06.16
11:45
(454) "Ну напиши ВК с сотней методов и классов" таких задач не бывает для ВК
457 Serginio1
 
01.06.16
11:52
(455) Ну ты же пишешь. СОМ, ОбъектXDTO  (заметь в названии 2 языка) Методы вэб сервисов. И с Экселеи и Вордом.
На линуксе то нет COM. И из линукса большинство используют Вэб сервисы которые на латинице.
Мало того 1С хочет на зарубежный рынок, а там мешанины не быдет.

(456) Да? Вот тебе небольшие библиотечки
.Net в 1С. Парсинг сайтов, multipart/form-data, gzip итд

Опять же тот же Эксель Ворд
458 Кирпич
 
01.06.16
12:07
(457) "Да? Вот тебе небольшие библиотечки "
Да. Не нужны эти библиотечки. Нафига делать парсинг сайта на 1с. Смысл? Выигрыша в скорости нет. Писать неудобно. Лучше сделай отдельную ВК или отдельный EXE для парсинга конкретного сайта или напиши скрипт на каком нибудь node.js. Задача разовая. Зачем мучить себя и того, кто придет после тебя.
459 Serginio1
 
01.06.16
12:22
(458) Во во куча DLL b Exe вместо одной. Плюс регистрация итд. При этом написать парсинг может любой 1С ник на примерах. А сайтов может быть десятки. Проблема еще в том, что DLL ки висят в памяти и не выгружаются. А код на 1С можно править в любой момент.
Насчет неудобства. То да как правило я пишу сначала на C# потом переношу на 1С. Но например так как кода для парсинга сайтов пришлось писать много, то писал прямо на 1С и никаих неудобст не почувствовал. Ты то хоть попробовал?
460 Serginio1
 
01.06.16
12:23
459 Люди пользуются и не жужжат. Там другая проблема нужно разбираться с селекторами.
461 Кирпич
 
01.06.16
12:28
(459) "То да как правило я пишу сначала на C# потом переношу на 1С" вот этого я и не хочу делать. Хочу писать на C# и запускать в 1С. А уж через DLL или EXE или через ВК, которая загружает файл с кодом на С# и выполняет, это уже кому как нпавится.
462 Serginio1
 
01.06.16
13:09
(461) Еще раз приведу пример как я начал делать. Я был таким как и ты писал COM DLL коих была куча.
Но раз мне стала проблема соединиться с Вэб сервисом с WS протоколами коих 1С не поддерживает.
В .Net это делается элементарно через Добавить ссылку на службу и получить WCF клинта. Но вод беда этих классов под сотню и столько же методов. Оборачивать это все вручную муторно. А вот через обертку легко.

Дальше все DLL нужно регистрировать. Используя мою обертку это не нужно. И можешь использовать кириллицу в названиях методов и никакого смешения языков не будет.

В конце концов не хочешь не используй. Я же тебя не заставляю.
463 Кирпич
 
01.06.16
13:34
(462) "Оборачивать это все вручную муторно. А вот через обертку легко. " Нафиг оборачивать 100 функций, если можно сделать одну DLL с одной функцией типа "ПолучитьДанныеССервиса()" или "ЗапиститьСервис()"

"Дальше все DLL нужно регистрировать"
dll можно не регистрировать уже лет восемь. да и NativeAPI уже есть.

"В конце концов не хочешь не используй. Я же тебя не заставляю." так я и не буду испольщовать. нафиг я буду свои глаза ломать.
464 Serginio1
 
01.06.16
13:55
(463) Не ломай.
Еще раз программируя на C# ты можешь передавать только COM совместимые типы.
Сразу видно ты не работал с Вэб сервисами? ОбъектXDTO. Ничем тебе ПолучитьДанныеССервиса() не поможет. Нужно создавать объекты XDTO передавать их в методы. Получать итд.

На NativeAPI ты на C# уже не попишешь. Только делать обертку через C++/CLI.

И вот я предлагаю тебе писать на C#, но использовать её через Native ВК. А вот на C# пиши на кирилице и все будет на одном языке. Никто же не запрещает.
465 Serginio1
 
01.06.16
13:56
Ктати кргда ты говоришь про NativeAPI, то ты даже не понял, что в 412
466 Кирпич
 
01.06.16
14:07
(464)"На NativeAPI ты на C# уже не попишешь" да можно, только никто не пишет.
"Нужно создавать объекты XDTO передавать их в методы." ну если надо, то ради бога.
"А вот на C# пиши на кирилице и все будет на одном языке." еще этого не хватало.
"то ты даже не понял, что в 412" там вроде интерфейс на С++. что я должен там ещё понять?
467 Serginio1
 
01.06.16
14:12
(466)
На NativeAPI ты на C# уже не попишешь" да можно, только никто не пишет

Покажи пример. Буду благодарен. Кстати

Использование .NET сборок в 1С 8.2, 8.3 без установки и без регистрации в реестре
http://catalog.mista.ru/public/300091/

Но там можно использовать только простые типы.
>>А вот на C# пиши на кирилице и все будет на одном языке." еще этого не хватало
Ты же хочешь, что бы методы были на кириллице?

Ты же пишешь ВК. А для натива C++ основной.
468 Кирпич
 
01.06.16
14:21
(497) "Покажи пример. Буду благодарен. Кстати" на форуме инфостарта поищи. там был уже ненормальный дотнетчик, который эту проблему решал. и таки решил.

"Ты же хочешь, что бы методы были на кириллице?" я хочу чтобы было на одном языке и работало быстро. пофиг на каком. можно в 1с писать на английском, но дергать методы ВК в цикле будет долго и код будет непонятный. я за то, чтобы ВК делала свою сложную работу и выдавала в 1с готовый результат.

"Ты же пишешь ВК. А для натива C++ основной."
NativeAPI  и на ассемблере можно писать. и на IL ассеблере  тоже.
469 mksk
 
01.06.16
15:33
(0)вы можете предложить что-то конкретное?
470 Serginio1
 
01.06.16
15:35
>> я хочу чтобы было на одном языке и работало быстро. пофиг на каком. можно в 1с писать на английском, но дергать методы ВК в цикле будет долго и код будет непонятный. я за то, чтобы ВК делала свою сложную работу и выдавала в 1с готовый результат.

Так пиши DLL и подгружай через мою оболочку. Не надо думать о COM итд.
И поверь написать просто DLL намного проще чем возиться с ВК.
471 Serginio1
 
01.06.16
15:37
472 Кирпич
 
01.06.16
16:25
(470) "Так пиши DLL и подгружай через мою оболочку." я и свою оболочку сделаю, если мне надо будет.
"И поверь написать просто DLL намного проще чем возиться с ВК." одинаково. взять шаблон и добавить названия своих методов это минутное дело.
473 Serginio1
 
01.06.16
16:30
(472) Ну можешь взять мою разработку и наваять свою.
Так ВК то на чем пишешь?
На самом деле проще написать DLL на C# чем возиться с ВК.
Но ты хозяин барин. Пиши на чем угодно. Но проблема то Линукс как раз в том, что ВК писать неудобно. Проще Вэб сервис наваять на любом высокоуровневом  языке.
474 Help1с
 
02.06.16
14:40
не совсем в тему. :)
автор, помоги пожалуйста ЭЦП, Сетрификат, Подпись. Продолжение.
475 Бертыш
 
03.06.16
14:42
(0) Интересует твой опыт для внешних компонент под 1С на C# для наполнения твоими бесплатными статьями с инфостата своего сайта по теме внешних компонент. Я то только начал смещаться в сторону C#, а у тебя уже вон какой опыт. Давай дружить. Можно стартап под тему компонент замутить.
476 Serginio1
 
03.06.16
14:57
(475) Ок. Говори, что надо постараюсь помочь чем смогу.
Просто мало кому это нужно, хотя написать компоненту, значительно проще чем предлагает 1С. В том числе и использование Глобального Контекста и Внешних Событий их замена через использование событий через Добавить обработчик
477 Garykom
 
гуру
03.06.16
15:10
Проблема 1С с NativeAPI и C#/.Net как понимаю только в переменных-объектах?

Технически можно извратиться слегка и использовать переменные внутри ВК, а для получения их значений в 1С реализовать ВК.Get("Перем1").AsString()/AsInt()/AsDate() и т.д.
478 Serginio1
 
03.06.16
15:25
(477) Проблема NativeAPI и C# в том, что нужно хранить ссылки в массиве на стороне .Net в массиве и передавать на сторону 1С индекс в массиве.
Второе, это то, что в NativeAPI  нет аналога IDispatch нужно в параметрах передавать структуру упакованную в двоичные данные, что бы было понятно, что это объект. Так как даже имея информацию о методе могут быть перегрузки как с объектом так и int. Ну и соотвественно нужно вручную оборачивать объекты

На Native  будет так.
Врап=Новый("Addin.VK.WrapperNet");
Список=Новый("Addin.VK.NetObject");

Данные=Врап.СоздатьОбъект("System.Collections.Generic.List`1[System.String]");

Объект.Обернуть(Данные);

Для сч=1 По 10 Цикл
Список.Add(строка(сч));    
КонецЦикла;
479 Serginio1
 
03.06.16
15:26
Объект.Обернуть(Данные);
читать как
Список.Обернуть(Данные);
480 Garykom
 
гуру
03.06.16
15:33
(478) Может так не выделываться а по принципу запросов в 1С?

Создается объект запрос, пишется-присваивается код запроса, устанавливаются параметры, выполняется и получаем результат.

Так и тут для начала сделать, создаем объект ВК, устанавливаем код C# (нативный) и параметры, выполняем. Результат выполнения получаем и используем в 1С.
481 Garykom
 
гуру
03.06.16
15:35
(480)+ Да писать придется на нативном C#/.Net но возможно это будет даже проще без постоянных оберток?
Тупой копи-пасте из примеров в инете, небольшой допил в начале и в конце и сразу использование.

Но что удобно так динамическое создание кода для выполнения в .Net, причем без VS и прочих студий/компиляторов.
482 Serginio1
 
03.06.16
15:40
(483) У нативного .NEt та же сборка мусора, а NativeAPI позволяет передвать только простые типы. Уже сделана такая обертна на основе CLR Host http://catalog.mista.ru/public/300091/

Но он только под вин и
Статические классы не поддерживаются;
Конструктор должен быть без параметров;
Поддерживаются только следующие типы для обмена с 1С: System.String; System.Boolean; System.Int32; System.Double; System.Byte[];
Out и ref параметры не поддерживаются в связи с тем, что не получилось это реализовать, см. описание метода, если кто разберется, как это сделать, буду очень рад.
483 Garykom
 
гуру
03.06.16
15:44
(482) Там не то, там сборки готовые позволяет юзать из 1С без регистрации как ВК.

Но как создать эту сборку причем очень просто сразу из 1С? Причем создать с нужным кодом с помощью кода на языке 1С?
484 Кирпич
 
03.06.16
15:47
(480) вот вот. типа как Windows Script использовать
485 Garykom
 
гуру
03.06.16
15:52
(484) Самый профит что можно будет начинать делать библиотеку плагинов/расширений к этой ВК.

Т.е. реализовали нечто на C#/.Net и засовываем в свою либу которая штатно к ВК подключается и процедуры/функции оттуда можно вызвать.
486 Garykom
 
гуру
03.06.16
15:53
(485)+ хм... а если в ВК встроить аналог NuGet...
487 Serginio1
 
03.06.16
15:53
(483) Я уже написал. Сейчас С++ изучаю и попробую для начала это прикрутить http://www.fancy-development.net/hosting-net-core-clr-in-your-own-process
488 Garykom
 
гуру
03.06.16
15:56
(487) Интересненько... Встроить CLR внутрь 1С NativeAPI ВК на C++?
Без внешнего (снаружи ВК) сохранения кода и компиляции сборок?
489 Serginio1
 
03.06.16
15:58
(483) У меня тоже готовые сборки. Классы то хранятся в сборках. Просто у него объекты не возвращаются, а делается оберка над объектом по передаме строковому представлением типа

(488) На .Net пишем класс со статическими методами. Передамем в параметрах ссылку на память в которую сериализуются параметры и название метода. Обычный маршалинг
490 xxTANATORxx
 
06.06.16
11:58
(0)сейчас был звонок, ищут прогерра 1С со знанием языка С, говорят что не могут найти такового
интересует?
491 Gary417
 
06.06.16
12:10
(490) <не могут найти такового>

очень любопытно было бы узнать сколько денег дают

P.S. чисто из интереса, не претендую т.к. си не знаю
492 Господин ПЖ
 
06.06.16
12:14
>говорят что не могут найти такового

гинекологи со знанием ухо-горло-носа тоже редки
493 xxTANATORxx
 
06.06.16
12:19
(491)про деньги не заводили разговор
494 Serginio1
 
06.06.16
12:24
(490) Я сейчас только С++ изучаю для использования .Net в NativeAPI.
495 Gary417
 
06.06.16
12:26
(493) жаль, потому что обычно на этом разговор и заканчивается ;))
496 xxTANATORxx
 
06.06.16
12:28
(494)вот эти товарищи звонили workservice.ru с телефона 4956426359
497 Serginio1
 
06.06.16
12:45
(496) Если С то я его знаю на уровне изучения, но не применения.
Большое спасибо за информацию.
498 xxTANATORxx
 
06.06.16
12:50
(497)та мошт им это и нужно

просьба к модераторам: удалите плиз сообщение (496)
499 Serginio1
 
06.06.16
12:53
(498) Там еще внутренний номер нужно знать
500 Serginio1
 
06.06.16
12:54
(498) Ты им письмо напиши
501 Serginio1
 
06.06.16
16:49
Попробовал  вызвать CoreCLr из натива.

создал тестовый класс

public class Program
    {
        public static object ExecuteMethod(object objOrig, string MethodName, params object[] argsOrig)
        {
            object res = null;
           // var obj = objOrig;
            Type T = objOrig.GetType();

            var list = new List<Type>();

            foreach (var obj in argsOrig)
                list.Add(obj.GetType());

            var Method=T.GetMethod(MethodName, list.ToArray());

            res = Method.Invoke(objOrig, argsOrig);

            System.Diagnostics.Debug.WriteLine("ExecuteMethod = " + res.ToString());
            return res;

        }
    
    public static int TestFunction(int i)
    {
        // Console.OutputEncoding = Encoding.UTF8;

        var rn = new Random(i);

         //   int res = rn.Next(1000);
            int res =(int)ExecuteMethod( rn,"Next",10000);
                   return res;

    }
    }
502 Serginio1
 
06.06.16
16:54
Пример взял отсюда http://www.fancy-development.net/hosting-net-core-clr-in-your-own-process

И соответственно вызов

typedef int (STDMETHODCALLTYPE *ManagedMethod)(int);
HRESULT  CreateDelegate2(ICLRRuntimeHost2* pCLRRuntimeHost, DWORD appDomainID, wstring AssemblyName, wstring ClassName, wstring MethodName, INT_PTR *fnPtr)
{

    HRESULT    hr = pCLRRuntimeHost->CreateDelegate(
        appDomainID,
        AssemblyName.c_str(),
        ClassName.c_str(),
        MethodName.c_str(),
        (INT_PTR*)fnPtr);

    return hr;

}


И вызов

ManagedMethod pTestFunction;

    hr = CreateDelegate2(pCLRRuntimeHost, domainId, L"CoreClrDLL", L"CoreClrDLL.Program", L"TestFunction", (INT_PTR*)&pTestFunction);
    if (FAILED(hr))
    {
        printf_s("Failed to create a delegate to the managed entry point: (%d).\n", hr);
    
    }
    else
    printf_s("result method  pTestFunction(555) : (%d).\n", pTestFunction(555));
503 Serginio1
 
06.06.16
17:16
Нет InvokeMember придется вручную искать перегруженную функцию.

Вобщем оболочку можно сделать
504 Serginio1
 
10.06.16
10:11
0

голос против

accept


В поисках замены InvokeMember мне посоветовали использовать DLR http://rsdn.ru/forum/dotnet/6464866.1

Суть такова, что бы заставить искать подходящий метод DLR по количеству аргументов.

Можно нагенерировать методы по количеству параметров например до 16 и для каждого типа и имени метода сохранять и вызывать. http://rsdn.ru/forum/dotnet/6465142.1

Но есть недостаток, этот подход не касается ref и out параметров.

В итоге решил сам искать нужный метод. Здесь набросок того как искать.

http://rsdn.ru/forum/dotnet/6466131.1

И при таком подходе можно добавить для каждого типа типы содержащие методы расширители и их использовать при поиске нужно сигнатуры. Кроме того можно использовать дженерик методы тип которых можно определить по типу параметров.
505 Serginio1
 
15.06.16
12:37
Добил поиск метода
http://rsdn.ru/forum/dotnet/6471273.1

Поэкспериментировал с CallBack


[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
         delegate void myDelegate(IntPtr thisptr);

  public static void TestCallBack(IntPtr Str,IntPtr FuncPtr)
        {

            myDelegate fun = Marshal.GetDelegateForFunctionPointer<myDelegate>(FuncPtr);

            fun(Str);

            var str = Marshal.PtrToStringUni(Str);
        }



На С++

typedef void(STDMETHODCALLTYPE *ManagedTestCallBack)(const wchar_t*, void(*) (const wchar_t*));

    typedef void(STDMETHODCALLTYPE *ManagedTestCallBack)(const wchar_t*, void(*) (const wchar_t*));
    
void TestCallBack(const wchar_t* str)
{

    printf_s("Return string %S.\n", str);
}


    ManagedTestCallBack pTestCallBack;
    
    
    hr = CreateDelegate2(pCLRRuntimeHost, domainId, L"CoreClrDLL", L"CoreClrDLL.Program", L"TestCallBack", (INT_PTR*)&pTestCallBack);
        if (FAILED(hr))
        {
            printf_s("Failed to create a delegate to the managed entry point: (%d).\n", hr);
    
        }
        else
        {
            wchar_t* str = L"Test str from unmanaged";
            pTestCallBack(str, TestCallBack);
        }

ManagedTestCallBack pTestCallBack;


hr = CreateDelegate2(pCLRRuntimeHost, domainId, L"CoreClrDLL", L"CoreClrDLL.Program", L"TestCallBack", (INT_PTR*)&pTestCallBack);
    if (FAILED(hr))
    {
        printf_s("Failed to create a delegate to the managed entry point: (%d).\n", hr);

    }
    else
    {
        wchar_t* str = L"Test str from unmanaged";
        pTestCallBack(str, TestCallBack);
    }


Работает. Так что можно память выделять на стороне натива и использовать обратные вызовы.
506 Serginio1
 
15.06.16
12:38
507 Serginio1
 
16.06.16
14:32
Сделал маршалинг из _tVariant натива в манагед
http://rsdn.ru/forum/dotnet/6472655.1
508 Gary417
 
16.06.16
14:59
пора уж блог заводить, а то на форуме это выгдядит "Тихо сам с собою, я веду беседу" (с)
509 Serginio1
 
16.06.16
15:04
510 Кирпич
 
16.06.16
15:08
(509) а чо такое "Элемент + 44"?
511 Serginio1
 
16.06.16
15:10
(510) Это смещене vt
512 Serginio1
 
22.06.16
10:28
В общем выхожу на финишную прямую
http://rsdn.ru/forum/dotnet/6478527.1
513 Serginio1
 
23.06.16
11:50
Наткнулся на то, что двоичные данные нельзя передать.
Может есть обходной путь?
514 Garykom
 
гуру
23.06.16
11:52
(513) В строку их
515 Serginio1
 
23.06.16
13:00
(514) Это понятно. Интересно а почему ДД то нельзя?
Получить можно, но передать нет?
516 Serginio1
 
24.06.16
10:49
Сделал

Перем   Врап,СсылкаНаДомен;
Функция СоздатьОбъектПоСсылке(Ссылка)

рез = Новый("AddIn.NetObjectToNative.NetObjectToNative");
рез.УстановитьСсылку(СсылкаНаДомен,Ссылка);    
возврат  рез
КонецФункции // СоздатьОбъектПоСсылке()


Процедура КнопкаВыполнитьНажатие(Кнопка)
            
СылкаСБ=Врап.Новый("System.Text.StringBuilder","Первая Строка");
//Сообщить(СылкаСБ);

СсылкаCultureInfo=Врап.ПолучитьТип("System.Globalization.CultureInfo");

    СсылкаCultureInfo=Врап.Новый(СсылкаCultureInfo,"es-ES");

//
    СultureInfo=СоздатьОбъектПоСсылке(СсылкаCultureInfo);
    
    СБ=СоздатьОбъектПоСсылке(СылкаСБ);
    Сообщить(СБ.Capacity);
    Сообщить(СБ.ПолучитьСсылку());
    
    СсылкаInvariantCulture=СultureInfo.InvariantCulture;

    // К сожалению 1С вызывает метод имеющий возвращаемое значение как функцию даже если вызов идет как процедура
    //Нужно очистить ссылку в списке объектов
    ссылка=Сб.Append("Новая Строка"); Врап.ОчиститьСсылку(ссылка);
    ссылка=Сб.AppendLine();   Врап.ОчиститьСсылку(ссылка);
    ссылка=Сб.Append("Вторая Строка"); Врап.ОчиститьСсылку(ссылка);
    ссылка=Сб.AppendLine();     Врап.ОчиститьСсылку(ссылка);

    ссылка=Сб.AppendFormat("AppendFormat {0}, {1}, {2}, {3}, {4},", "Строка", 21, 45.89, ТекущаяДата(),истина );   Врап.ОчиститьСсылку(ссылка);
    ссылка=Сб.AppendLine(); Врап.ОчиститьСсылку(ссылка);

    // Так как в параметрах можно передавать только простые типы закодирум ссылку на объект в строку
    ссылка=Сб.AppendFormat(СсылкаCultureInfo,"AppendFormat {0}, {1}, {2}, {3}, {4},", "Строка", 21, 45.89, ТекущаяДата(),истина );  Врап.ОчиститьСсылку(ссылка);
    ссылка=Сб.AppendLine(); Врап.ОчиститьСсылку(ссылка);

    ссылка=Сб.AppendFormat(СсылкаInvariantCulture,"AppendFormat {0}, {1}, {2}, {3}, {4},", "Строка", 21, 45.89, ТекущаяДата(),истина );
    Врап.ОчиститьСсылку(СсылкаInvariantCulture);





    Сообщить(СБ.ToString());
    СБ.Capacity=40;
    Сообщить(СБ.Capacity);

    // Очистка ссылок СБ и  СultureInfo осуществляется внутри ВК
    КонецПроцедуры

Процедура ПриОткрытии()


ИмяФайла="d:\MyPrograms\VNCOMP83\AddInNetObjectToNative\AddInNetObjectToNative\Debug\AddInNetObjectToNative.dll";

    ПодключитьВнешнююКомпоненту(ИмяФайла, "NetObjectToNative",ТипВнешнейКомпоненты.Native);
    Врап = Новый("AddIn.NetObjectToNative.LoaderCLR");
    CoreClrDir="c:\Program Files\DNX\runtimes\dnx-coreclr-win-x86.1.0.0-rc1-update1\bin\";
    ДиректорияNetObjectToNative="d:\MyPrograms\VNCOMP83\NetObjectToNative\NetObjectToNative\bin\Debug\";
    
    СсылкаНаДомен=Врап.СоздатьОбертку(CoreClrDir,ДиректорияNetObjectToNative,"");
    
КонецПроцедуры
517 Serginio1
 
24.06.16
10:57
Модераторам. Можно код выделить?

Пока сделал для Win. Допилю еще вызовы методов расширений. Вызов дженериков определяемых по типу.

Но по моему никому это не надо. А жалко.
Под линукс проще писать расширения будет.

Чуть позже наришу статью и выложу исходники
518 Кирпич
 
24.06.16
11:08
Я себе сделал типа такое и мне хватает.

Прог = " //
|public static class AddinHelloClass
|{
|    public static int AddinМойМетод(ref string s)
|    {
|        s = ""hello"";
|        return 100500;
|    }           
|}";

Шарп.ДобавитьМодуль(Прог);
Шарп.Компилировать();    
стр = "раз два три";
ч =Шарп.МойМетод(стр);
Сообщить(стр);
Сообщить(ч);
519 Кирпич
 
24.06.16
11:11
т.е. тупо готовую программу в виде текста компилирую и когда надо выполняю. без всяких глазоломательных оберток. текст модулей можно хранить в БД, в макетах или файлах.
520 Garykom
 
гуру
24.06.16
11:12
(518) Давно на это и намекал )) и не надо больше никаких извратов.

Точнее параметры туда и результаты оттуда еще как то и все.
521 Garykom
 
гуру
24.06.16
11:14
(519) ВК NativeAPI и классик и чтобы под linux на mono тоже работало на сервере
И на ИС продавать поддержку или наборы готовых "текстов программы"
522 Кирпич
 
24.06.16
11:15
(520) ну результаты оттуда идут нормально. сделаю на досуге чтобы можно было из шарпа внешнее событие вызывать. больше особо ничего и не требуется.
523 Serginio1
 
24.06.16
11:16
(519) А как события прикручивать?

Ну если ты видел у меня этот подход много где используется.
В том числе и Scripting API
524 Кирпич
 
24.06.16
11:17
(523) "у меня этот подход много где используется" ну и правильно. больше ничего и не надо, имхо.
525 Garykom
 
гуру
24.06.16
11:18
(523) Да у тебя получается мощнее не просто вызов стороннего кода из 1С, а полноценное взаимодействие с этим кодом.
По сути система получается из 2 языков одновременно работающих 1С и .Net
526 Кирпич
 
24.06.16
11:19
(523) события сделаю. там ничего сложного не вижу. только нужно решить как удобнее сделать.
527 Garykom
 
гуру
24.06.16
11:19
(525)+ А в (518) работает только по очереди или 1С или .Net
528 Serginio1
 
24.06.16
11:20
529 Serginio1
 
24.06.16
11:22
(526) Так у меня это все есть.
Да и суть то новой компонеты в том, что это работает без COM и может работать на Линкусе.
530 Кирпич
 
24.06.16
11:26
(529) ну у меня тоже Native API. На счет Линукса не знаю, может и на Линуксе работает. :)
Но писать как в (516) вы меня не заставите. Я лучше напишу и отлажу в VS, а потом скопипастю в 1С.
531 Serginio1
 
24.06.16
11:57
(530)  Ну я никого не заставляю.

Проблемы в архитектуре ВК
1. Вызов метода как процедуры должен и вызвать метод CallAsProc
2. Добавить возможность передавать в параметрах ВК и возвращать ВК что бы обойтись без ссылок.
А так по линуксом это значительно проще  чем писать отдельно ВК
532 Serginio1
 
24.06.16
12:00
533 Serginio1
 
24.06.16
12:40
Кстати в примере ошибка прокралась
СылкаСБ=Врап.Новый("System.Text.StringBuilder","Первая Строка");
//Сообщить(СылкаСБ);

СсылкаCultureInfo=Врап.ПолучитьТип("System.Globalization.CultureInfo");

    СсылкаCultureInfo=Врап.Новый(СсылкаCultureInfo,"es-ES");
// Здесь уже СсылкаCultureInfo указывает на объект

//
    СultureInfo=СоздатьОбъектПоСсылке(СсылкаCultureInfo);

И СultureInfo это не тип а объект СсылкаCultureInfo,"es-ES");  

  
// Вызываем статический метод    
    СсылкаInvariantCulture=СultureInfo.InvariantCulture;

он проходит, так как нет проверки на статик.

Я думаю так и оставить. Можно из объекта как в Delphi вызывать и методы объекта и статические
534 Gary417
 
24.06.16
12:43
(533) <Врап.Новый(СсылкаCultureInfo,"es-ES"); >

Hablo espanol?
535 Gary417
 
24.06.16
12:43
+тьфу habla espanol?
536 Serginio1
 
24.06.16
12:46
Наверное взял из примера

es-ES

Испанский (Испания)

Международная: 0x00000C0A

Традиционные: 0x0000040A
537 Кирпич
 
24.06.16
13:13
(532) и чо там смотреть? опять 8 листов русско-турецкого кода на который я смотреть не могу. а что мне нужно я и так знаю.
538 Кирпич
 
24.06.16
13:14
(531) "Вызов метода как процедуры должен и вызвать метод CallAsProc"

ты хочешь сказать, что 1с не вызывает CallAsProc?
у меня вызывает вроде.
539 Serginio1
 
24.06.16
13:36
(538) Вызывает если HasRetVal возвращает ложь.

Но например если я вызываю
Сб.AppendLine(); // А у него есть возвращаемое значение this

То даже если метод возвращает значение нужно вызывать
CallAsProc

Тогда не нужно оборачивать результат.
540 Кирпич
 
24.06.16
14:20
(539) ну это так и должно быть. как говорил один мой шеф: "если решение некрасивое, то оно обычно и неправильное" :)
541 Garykom
 
гуру
24.06.16
14:25
(540) Даже неправильные решения могут быть востребованными и хорошо оплачиваемыми.
542 Кирпич
 
24.06.16
15:43
(541) это ты намекаешь на сборнуюю РФ по футболу?
543 Кирпич
 
24.06.16
15:50
СсылкаCultureInfo=Врап.ПолучитьТип("System.Globalization.CultureInfo");

Вот автор, например, предлагает после каждой выпитой рюмки, ездить в гараж на электричке за соленым огурцом, а я предлагаю съездить в гараж, привезти банку огурцов и сидеть спокойно выпивать и закусывать. Какой метод правильный? Я думаю мой.
544 Serginio1
 
24.06.16
17:31
Правильны это тот который удобный.
Еще раз у меня используется Scripting Api из Каропки. При этом я могу передавать любые объекты. В том числе и объекты 1С.
Могу пользоваться IronPithon. Только это не относится к теме. А именно кросплатформенная ВК использования классов .Net в 1С.

А твой метод использует Hosting API?
545 Serginio1
 
24.06.16
17:33
(543) Чуть позже сделаю загрузку классов из сторонних сторонних сборок.
546 oleg_km
 
24.06.16
18:11
(543) Твой метод реализует процедурный подход. А метод автора объектный. Ты можешь сохранить объект дот нета допустим в реквизит формы и повторно его использовать в течении жизни формы?
547 Serginio1
 
25.06.16
16:53
(543) На самом деле я начал использовать классы .Net для использования Вэб сервисов неподдерживаемых 1С с кучей классов которые используют данные 1С и записываются. Все построено на классах. Так вот выбор был делать ручную обертку или автоматическу. Твой подход с кимпиляцией текста не подходит. Нужно сериализовывать объекты десериализовывать. Для передачи в методахь и возврата. Это частный подход который используется как при компиляции событий, так и для заполнения данных 1С так и для получения делегатов
548 Serginio1
 
25.06.16
16:53
(543) Для упрощения получения объектов можно создать методы

Функция Ъ(Ссылка)
    рез = Новый("AddIn.NetObjectToNative.NetObjectToNative");
    рез.УстановитьСсылку(СсылкаНаДомен,Ссылка);    
    возврат  рез
КонецФункции // СоздатьОбъектПоСсылке()
Функция ъНовый(стр)
    возврат ъ(Врап.Новый(стр));
КонецФункции

Функция ъТип(стр)
      возврат ъ(Врап.ПолучитьТип(стр));
КонецФункции

Процедура ТестСокпВызоваНажатие(Элемент)
    // Вставить содержимое обработчика.
    СБ=ъНовый("System.Text.StringBuilder");
    CultureInfo=ъТип("System.Globalization.CultureInfo");
    CultureInfoES=ъ(Врап.Новый(CultureInfo.ПолучитьСсылку(),"es-ES"));
    Сообщить(CultureInfoES.ПолучитьСсылку());

    
    Сообщить(СБ.Capacity);
    Сообщить(СБ.ПолучитьСсылку());
    
   InvariantCulture=ъ(CultureInfo.InvariantCulture);
   ссылка= InvariantCulture.ПолучитьСсылку();

    // К сожалению 1С вызывает метод имеющий возвращаемое значение как функцию даже если вызов идет как процедура
    //Нужно очистить ссылку в списке объектов
    ссылка=Сб.Append("Новая Строка"); Врап.ОчиститьСсылку(ссылка);
    ссылка=Сб.AppendLine();   Врап.ОчиститьСсылку(ссылка);
    ссылка=Сб.Append("Вторая Строка"); Врап.ОчиститьСсылку(ссылка);
    ссылка=Сб.AppendLine();     Врап.ОчиститьСсылку(ссылка);
    
    ссылка=Сб.AppendFormat("AppendFormat {0}, {1}, {2}, {3}, {4},", "Строка", 21, 45.89, ТекущаяДата(),истина );   Врап.ОчиститьСсылку(ссылка);
    ссылка=Сб.AppendLine(); Врап.ОчиститьСсылку(ссылка);

    // Так как в параметрах можно передавать только простые типы закодирум ссылку на объект в строку
    
    ссылка=Сб.AppendFormat(InvariantCulture.ПолучитьСсылку(),"AppendFormat {0}, {1}, {2}, {3}, {4},", "Строка", 21, 45.89, ТекущаяДата(),истина );  Врап.ОчиститьСсылку(ссылка);
    ссылка=Сб.AppendLine(); Врап.ОчиститьСсылку(ссылка);
    
    ссылка=Сб.AppendFormat(CultureInfoES.ПолучитьСсылку(),"AppendFormat {0}, {1}, {2}, {3}, {4},", "Строка", 21, 45.89, ТекущаяДата(),истина );
  
    
    
    Сообщить(СБ.ToString());
    СБ.Capacity=40;
    Сообщить(СБ.Capacity);

КонецПроцедуры
549 DES
 
25.06.16
19:43
(518) Я дика извиняюсь, это реальность или фантастика ?
550 DES
 
25.06.16
20:34
(0) Если помнишь, я тебе давно надоедал насчет
врап=новый COMОбъект("NetObjectToIDispatch45");
в 1с 7.7 ?

Теперь я взялся за ум и перешел на 8.3.

И у меня вопрос, есть ли что-то новое по этой теме  для 8?
551 Garykom
 
гуру
25.06.16
21:11
(549) это даже проще даже без вк можно
552 DES
 
25.06.16
21:23
без ВК любой Д сможет
553 Garykom
 
гуру
25.06.16
21:29
(552) Не в этом смысла, динамическая компиляция .net можно через запись файлика и выполнение командасистемы или выполнить
554 DES
 
25.06.16
23:00
(553) в виде примера можно ?
555 Garykom
 
гуру
25.06.16
23:06
556 Serginio1
 
26.06.16
00:11
(549) Смотри 528.
557 Кирпич
 
26.06.16
09:47
(551) можно и без ВК, только данные через файлы передавать и внешнее событие никак не вызвать.
558 Кирпич
 
26.06.16
09:53
(548) "Для упрощения получения объектов можно создать методы"
да у меня претензии к скорости выполнения такого кода и сложности разработки. Я то один раз в VS все напишу и с отладчиком, в нормальной IDE все отлажу, а тебе приходится русско-буржуйскую кашу ковырять прямо в 1С. Это же муторно и некрасиво.

А про передачу объектов 1с в ВК я так и не понял. Оно у тебя работает или нет?
559 Кирпич
 
26.06.16
09:55
(549) я думаю, лет 8 уже как не фантастика.
560 DES
 
26.06.16
11:15
(556) напомни, все еще  нужно что-то регистрировать в винде 2008R2 чтобы заюзать твою обертку в 8.3 ?
561 Serginio1
 
26.06.16
12:07
(559) Да. Вот пример с подгрузкой сборок.

HttpClient=ъТип("System.Net.Http.HttpClient, System.Net.Http, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
HttpClientHandler = ъТип("System.Net.Http.HttpClientHandler, System.Net.Http, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
DecompressionMethods= ъТип("System.Net.DecompressionMethods, System.Net.Primitives, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");


handler = ъНовый(HttpClientHandler.ПолучитьСсылку());
// Можно использовать и так. Только Не соберем ссылки
//handler.AutomaticDecompression=Врап.OR(DecompressionMethods.GZip,DecompressionMethods.Deflate);

ссылкаGZip=DecompressionMethods.GZip;
ссылкаDeflate=DecompressionMethods.Deflate;

handler.AutomaticDecompression=Врап.OR(ссылкаGZip,ссылкаDeflate);
Врап.ОчиститьСсылку(ссылкаGZip);   Врап.ОчиститьСсылку(ссылкаDeflate);

Клиент = ъ(Врап.Новый(HttpClient.ПолучитьСсылку(),handler.ПолучитьСсылку()));

uriSources ="https://msdn.microsoft.com/en-us/library/system.net.decompressionmethods(v=vs.110).aspx";;

Стр=ъ(Клиент.GetStringAsync(uriSources)).Result;
Сообщить(СтрДлина(стр));
562 Serginio1
 
26.06.16
12:12
(560 Инструкция в шапке Использование классов .Net в 1С для новичков

кроме того рядом с NetObjetToIDispatch45.dll лежит RegAsm.bat который нужно запустить от имени администратора
563 Serginio1
 
26.06.16
12:20
(558) У меня разные подходы. В том числе и твой. Я например заполняю ТаблицуЗначений внутри .Net класса. Могу использовать DLL, могу DynamicMethod.
На самом деле, я легко пишу как ты говоришь мешанину и на 1С. Её проще править и отлаживать. Внутри 1С. Еще раз повторю у тебя очень частный случай возможностей моей компоненты. Но она мощнее так как позволяет использовать объекты, в том числе и 1С. Использование событий .Net объектов. Асинхронное программирование.

Но это опять не по теме. Сейчас я говорю о кроссплатформенном использовании классов .Net в 1С.
564 Кирпич
 
26.06.16
17:10
(563) "Я например заполняю ТаблицуЗначений внутри .Net класса"
Такое в NativeAPI возможно? Я от не понимаю как ты это делаешь. Пример есть? Только не надо вываливать листинг на 150 строк :)
565 Serginio1
 
26.06.16
18:20
(564) В NativeAPI нет. А в COM легко.
Но на самом деле можно и через Native. Но только на Виндовс.
Обернуть любой объект через СОМ объекта у которого запросить Long на себя, который можно передавать в параметрах и вызывать на нем методы IDispatch.
566 DES
 
26.06.16
21:46
(565) подскажи почему не присваивается значение структуре ?
newid = Врап.ПолучитьТип("System.Guid").NewGuid().ToString();
ТипRequest = Врап.ПолучитьТип("ServiceEfactura.ServiceReference.InvoicesRequest");
ТипЛист = Врап.ПолучитьТип("System.Collections.Generic.List`1");
ТипInvoiceIndentificator = Врап.ПолучитьТип("ServiceEfactura.ServiceReference.InvoiceIndentificator");
    
Request = Врап.СоздатьОбъект(ТипRequest);
ТипЛистОбъект = Врап.ТипКакОбъект(ТипЛист);
ТипизированныйЛист = ТипЛистОбъект.MakeGenericType(ТипInvoiceIndentificator);
SeriaAndNumbers = Врап.СоздатьОбъект(ТипизированныйЛист);
SeriaAndNumber = Врап.СоздатьОбъект(ТипInvoiceIndentificator);
SeriaAndNumber.Number = "000000001";
SeriaAndNumber.Seria = "EAA";
SeriaAndNumbers.Add(SeriaAndNumber);
    
request.RequestId = newid; // тут нормально присваивается
А тут затык, так как это массив.
request.SeriaAndNumbers = SeriaAndNumbers;
пишет ошибка в методе SeriaAndNumbers  не найден метод *.*.*.*.SeriaAndNumbers.mscorlib
567 Serginio1
 
26.06.16
22:03
Нужно смотреть тип ServiceEfactura.ServiceReference.InvoiceIndentificator

Заведи отдельную ветку.
568 Serginio1
 
26.06.16
22:18
Возможно у тебя тип request.SeriaAndNumbers
ServiceEfactura.ServiceReference.InvoiceIndentificator[]

Тогда
request.SeriaAndNumbers = SeriaAndNumbers.ToArray();
569 DES
 
27.06.16
00:11
да, спс, таки оно.
570 Serginio1
 
27.06.16
12:12
Поработал с интерфейсами и Энумераторами

Функция ПолучитьЭнумератор(Объект)

Перечислимый=ъ(Врап.ПолучитьИнтерфейс(Объект.ПолучитьСсылку(),"IEnumerable"));
ПеречислительСсылка=Перечислимый.GetEnumerator();
// На всякий случай приведем к Интерфейсу IEnumerator
Перечислитель=ъ(Врап.ПолучитьИнтерфейс(ПеречислительСсылка,"IEnumerator"));
Врап.ОчиститьСсылку(ПеречислительСсылка);    
// Можно и так
//IEnumerable=ъТип("System.Collections.IEnumerable");
//IEnumerator=ъТип("System.Collections.IEnumerator")
// Перечислимый=ъ(Врап.ПолучитьИнтерфейс(Объект.ПолучитьСсылку(),IEnumerable));
//ПеречислительСсылка=Перечислимый.GetEnumerator();
// На всякий случай приведем к Интерфейсу IEnumerator
// Перечислитель=ъ(Врап.ПолучитьИнтерфейс(ПеречислительСсылка,IEnumerator));
//Врап.ОчиститьСсылку(ПеречислительСсылка);    

возврат  Перечислитель
КонецФункции // ПолучитьЭнумератор()

Процедура ТестЭнумератораНажатие(Элемент)
    List=ъТип("System.Collections.Generic.List`1[System.String]");
//Сообщить(Врап.ИнформацияОТипе(List.ПолучитьСсылку()));    

//IEnumerable=ъТип("System.Collections.IEnumerable");
//IEnumerator=ъТип("System.Collections.IEnumerator");

Список=ъНовый(List.ПолучитьСсылку());
Для сч=1 По 10 Цикл
Список.Add(строка(сч));    
КонецЦикла;

// Нет поддержки энумераторов. В COM есть
//Для каждого стр   Из Список Цикл

//Сообщить(стр);    

//КонецЦикла;

СписокЭнум=ПолучитьЭнумератор(Список);
  
Пока СписокЭнум.MoveNext() Цикл
//  Врап.ВСтроку вывоит строковое представление всех типов в том числе числовые, строки, неопределено
    Сообщить(СписокЭнум.Current);

КонецЦикла;

КонецПроцедуры
571 Serginio1
 
27.06.16
12:24
Протестировал out параметры
TryGetValue(ключ, out значение))

Процедура TestDictionaryНажатие(Элемент)
    // Вставить содержимое обработчика.
Словарь= ъНовый("System.Collections.Generic.Dictionary`2[System.String,System.Int32]");

Для сч=1 По 10 Цикл
  Словарь.Add(строка(сч),сч);    
КонецЦикла;

зн=0;
Если Словарь.TryGetValue("5",зн) Тогда
  Сообщить(зн);
КонецЕсли;

КонецПроцедуры
572 Serginio1
 
28.06.16
12:03
Проверил производительность
http://rsdn.ru/forum/dotnet/6484358.1

миллион вызовов функции .Net занимает порядка 3 секунд, на моем не можном компе.
573 Serginio1
 
28.06.16
15:20
А вот в 1С
    // Вставить содержимое обработчика.
    КоличествоИтераций=20000;
Тестовый=ъТип("TestDllForCoreClr.Тестовый, TestDllForCoreClr, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");
Тест=ъ(Врап.Новый(Тестовый.ПолучитьСсылку()," Свойство из Конструктора"));

    stopWatch = ъНовый("System.Diagnostics.Stopwatch,System.Runtime.Extensions, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
    
    стр="";
     Тест.ПолучитьЧисло(1);
    
    НачВремя=ТекущаяДата();
    stopWatch.Start();
    
    
    Для сч=1 по КоличествоИтераций Цикл
        Тест.ПолучитьЧисло(сч);

    КонецЦикла;
    
    stopWatch.Stop();
    
    ВремяВыполнения=ТекущаяДата()-НачВремя;
    Сообщить("ПолучитьЧисло ="+ВремяВыполнения);
    ВывестиВремя(stopWatch);

1 секунда на 20 000 вызовов .
против
1 секунда на 300 000.
574 Serginio1
 
28.06.16
15:32
Да еще зачем то хочет установить свойство Elapsed
Хотя никакой установки нет

Процедура ВывестиВремя(знач stopWatch)
     ts = ъ(stopWatch.Elapsed);

    String=ъТип("System.String");
    // Format and display the TimeSpan value.
     Hours=ts.Hours;
     Minutes=ts.Minutes;
     Milliseconds=ts.Milliseconds;
     Seconds=ts.Seconds;
    elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",Hours, Minutes, Seconds,Milliseconds / 10);
    Сообщить(elapsedTime);
КонецПроцедуры
575 Кирпич
 
28.06.16
15:34
(0) вчера студент приходил, вебсервис синтезатора речи Ivona испытывали.
как с помощью врапера его к 1с прикрутить?

ниже работающий пример на С#:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Web.Script.Serialization;
using System.Runtime.InteropServices;


class Program
{
    const string AccessKey = "GDNAJP73IAROH72QWEHA";
    const string SecretKey = "9Q7vSMMvVbMw8t9Ti5HRTSWde1E4cah9N9DV8pG7";

    [DllImport("winmm.dll")]
    private static extern long mciSendString(string strCommand, StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);

    static void Main()
    {
        string errortext = "";

        try
        {
            var path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData) + "1.mp3";
            File.Delete(path);

            byte[] voice = IvonaCreateSpeech("Привет, красавчики!");
            File.WriteAllBytes(path, voice);

            string command = "play " + path + " wait ";
            mciSendString(command, null, 0, IntPtr.Zero);

            File.Delete(path);

            return;
        }
        catch (WebException ex)
        {
            errortext = ex.Message;
        }
        catch (Exception ex)
        {
            errortext = ex.Message;
        }
        Console.WriteLine(errortext);
    }

    //-----------------------------------------------------------------------------
    //-----------------------------------------------------------------------------

    private static byte[] IvonaCreateSpeech(string text)
    {
        var date = DateTime.UtcNow;

        const string algorithm = "AWS4-HMAC-SHA256";
        const string regionName = "eu-west-1";
        const string serviceName = "tts";
        const string method = "POST";
        const string canonicalUri = "/CreateSpeech";
        const string canonicalQueryString = "";
        const string contentType = "application/json";

        const string host = serviceName + "." + regionName + ".ivonacloud.com";

        var obj = new
        {
            Input = new
            {
                Data = text,
                Type = "text/plain"
            },
            OutputFormat = new
            {
                Codec = "MP3",
                SampleRate = 22050
            },
            Parameters = new
            {
                Rate = "medium",
                Volume = "medium",
                SentenceBreak = 500,
                ParagraphBreak = 800
            },
            Voice = new
            {
                Name = "Tatyana",
                Language = "ru-RU",
                Gender = "Female"
            }
        };
        var requestPayload = new JavaScriptSerializer().Serialize(obj);

        var hashedRequestPayload = HexEncode(Hash(ToBytes(requestPayload)));

        var dateStamp = date.ToString("yyyyMMdd");
        var requestDate = date.ToString("yyyyMMddTHHmmss") + "Z";
        var credentialScope = string.Format("{0}/{1}/{2}/aws4_request", dateStamp, regionName, serviceName);

        var headers = new SortedDictionary<string, string>
            {
                {"content-type", contentType},
                {"host", host},
                {"x-amz-date", requestDate}
            };

        string canonicalHeaders =
            string.Join("\n", headers.Select(x => x.Key.ToLowerInvariant() + ":" + x.Value.Trim())) + "\n";
        const string signedHeaders = "content-type;host;x-amz-date";

        var canonicalRequest = method + '\n' + canonicalUri + '\n' + canonicalQueryString +
                               '\n' + canonicalHeaders + '\n' + signedHeaders + '\n' + hashedRequestPayload;

        var hashedCanonicalRequest = HexEncode(Hash(ToBytes(canonicalRequest)));

        var stringToSign = string.Format("{0}\n{1}\n{2}\n{3}", algorithm, requestDate, credentialScope,
            hashedCanonicalRequest);

        byte[] signingKey = GetSignatureKey(SecretKey, dateStamp, regionName, serviceName);

        var signature = HexEncode(HmacSha256(stringToSign, signingKey));

        var authorization =
            string.Format("{0} Credential={1}/{2}/{3}/{4}/aws4_request, SignedHeaders={5}, Signature={6}",
                algorithm, AccessKey, dateStamp, regionName, serviceName, signedHeaders, signature);

        // Send the request

        var webRequest = WebRequest.Create("https://"; + host + canonicalUri);

        byte[] buffer = ToBytes(requestPayload);

        webRequest.Method = method;
        webRequest.Timeout = 20000;
        webRequest.ContentType = contentType;
        webRequest.Headers.Add("X-Amz-date", requestDate);
        webRequest.Headers.Add("Authorization", authorization);
        webRequest.Headers.Add("x-amz-content-sha256", hashedRequestPayload);
        webRequest.ContentLength = buffer.Length;

        using (Stream newStream = webRequest.GetRequestStream())
        {
            newStream.Write(buffer, 0, buffer.Length);
            newStream.Flush();
        }

        var response = (HttpWebResponse)webRequest.GetResponse();

        using (Stream responseStream = response.GetResponseStream())
        {
            if (responseStream != null)
            {
                using (var memoryStream = new MemoryStream())
                {
                    responseStream.CopyTo(memoryStream);
                    return memoryStream.ToArray();
                }
            }
        }
        return new byte[0];
    }

    private static byte[] GetSignatureKey(String key, String dateStamp, String regionName, String serviceName)
    {
        byte[] kDate = HmacSha256(dateStamp, ToBytes("AWS4" + key));
        byte[] kRegion = HmacSha256(regionName, kDate);
        byte[] kService = HmacSha256(serviceName, kRegion);
        return HmacSha256("aws4_request", kService);
    }

    private static byte[] ToBytes(string str)
    {
        return Encoding.UTF8.GetBytes(str);
    }

    private static string HexEncode(byte[] bytes)
    {
        return BitConverter.ToString(bytes).Replace("-", string.Empty).ToLowerInvariant();
    }

    private static byte[] Hash(byte[] bytes)
    {
        return SHA256.Create().ComputeHash(bytes);
    }

    private static byte[] HmacSha256(String data, byte[] key)
    {
        return new HMACSHA256(key).ComputeHash(ToBytes(data));
    }
}
576 Serginio1
 
28.06.16
15:50
И? Нужно каждую сборку регистрировать. Кроме того если нужно подправить на сервере например нужно сервер останавливать, так как DLL не выгружается.
Используй HTTPClient
там есть расширение PostAsJsonAsync.
И зачем мусорить ветку. Я прекрасно все знаю.
577 Serginio1
 
28.06.16
15:51
Я это и на 1С прекрасно напишу. Без всяких DLL и регистрации.
578 Кирпич
 
28.06.16
15:55
(576) я думал ты себе в портфолио запишешь. типа вот 1с человеческим голосом заговорила.
(577) не. на 1с не получится. там какие то хеши, массивы...
579 Кирпич
 
28.06.16
15:58
(576) "так как DLL не выгружается" кстати проблема. NET вк не выгружаются сами, хоть тресни, а обычные выгружаются.
580 Serginio1
 
28.06.16
16:09
(578) Легко. Вот код для 7 ки
Функция ВычислитьHMAC(key,стр)
    врап=СоздатьОбъект("NetObjectToIDispatch45");
    врап.УстЭтоСемерка();
//    если только латиница
//encoding=Врап.ПолучитьТип("System.Text.Encoding").ASCII;
encoding=Врап.ПолучитьТип("System.Text.Encoding").UTF8;

keyByte = encoding.GetBytes(key);

hmacmd5 = Врап.СоздатьОбъект("System.Security.Cryptography.HMACMD5",keyByte);
hmacsha1 = Врап.СоздатьОбъект("System.Security.Cryptography.HMACSHA1",keyByte);

messageBytes = encoding.GetBytes(стр);
hashmessage = hmacmd5.ComputeHash(messageBytes);
hashmessage2 = hmacsha1.ComputeHash(messageBytes);
BitConverter=Врап.ПолучитьТип("System.BitConverter");
Strhashmessage=СтрЗаменить(BitConverter.ToString(hashmessage),"-","");
Strhashmessage2=СтрЗаменить(BitConverter.ToString(hashmessage2),"-","");

Сообщить(Strhashmessage);
Сообщить(Strhashmessage2);
    

КонецФункции// ВычислитьHMAC()
581 Serginio1
 
28.06.16
16:11
Почему в этой ветке нет подсветки кода?
582 Зая Бусечка
 
28.06.16
16:12
(581) Подсветка работает только в разделе 1с. Ибо нефиг
583 Кирпич
 
28.06.16
16:14
(580) это всё вместо двух строчек? ого.

    private static byte[] HmacSha256(String data, byte[] key)
    {
        return new HMACSHA256(key).ComputeHash(ToBytes(data));
    }
584 Serginio1
 
28.06.16
16:17
(582) То есть в поиске работы кода не может быть?
(579) На 1С можно все. В том числе и выполнение асинхронных методов, подключение к событиям.

И все это возможно и на Линукс. Тут все кричали .Net отстой он не кросплатформен. Я даю кроссплатформенный вариант.
Который может выполняться и на Линукс

(584) Там тоже 2 строчки только алгоритмы разные

hmacsha1 = Врап.СоздатьОбъект("System.Security.Cryptography.HMACSHA1",keyByte);
hashmessage2 = hmacsha1.ComputeHash(messageBytes);
585 Serginio1
 
28.06.16
16:19
Или
Врап.СоздатьОбъект("System.Security.Cryptography.HMACSHA1",keyByte).ComputeHash(messageBytes);
586 Кирпич
 
28.06.16
16:21
(585) о. так гораздо лучше
587 Serginio1
 
28.06.16
16:22
(583) И еще раз как это относится к Linux?
Я показываю кроссплатформенный код. Который можно улучшить если 1С предпримет шаги для оптимизации своей Native ВК или введения новой более оптимальной версии.
588 Serginio1
 
28.06.16
16:24
Или можно так
ъНовый("System.Security.Cryptography.HMACSHA1",keyByte).ComputeHash(messageBytes);
589 Зая Бусечка
 
28.06.16
16:25
(587) Если бы 1с "предпринимала шаги", мы бы ещё долго и счастливо сидели на 77
590 Кирпич
 
28.06.16
16:26
(587) "И еще раз как это относится к Linux?"
да никак. я про линукс и не заикался.
591 Serginio1
 
28.06.16
16:30
(589) Дело в том, что Native ВК они сделали. Но уже сейчас много недостатков.
1. Нельзя передать или возвратить объект ВК
2. Метод имеющий возвращаемое значение вызывается как функция не зависимо от тог как вызывается метод. Даже когда он вызывается как процедура ВК требует возвращаемое значение.
3. При возврате bool SetPropVal(const long lPropNum, tVariant* varPropVal) и GetPropVal при возврате ложь исключение не вызывается
4. Зачем то происходит установка свойств там где этого в коде нет. И вызываются по некольку раз.
592 Serginio1
 
28.06.16
16:31
(590) А вся это ветка посвящена Кроссплатформенному использованию классов .Net в 1С.
593 Кирпич
 
28.06.16
16:34
(592) так а я как узнаю, что она посвящена там чему то. написано "Неспешно ищу работу. 1С + .Net"
С названием, кстати, не согласен. Нет такой отрасли народного хозяйства "1С + .Net". Хотя, если цель - создать такую отрасль из голого пальца, то пожалуйста.
594 Serginio1
 
28.06.16
17:05
(593) Дело в том, что 1С может использовать кроссплатформенность .Net на прямую. Можно для определенных типов прописать рускоязычные ресурсы. Это легко сделать.
Например в Microsoft Dynamics AX есть ClrObject.
И 1С ничем не хуже. При этом если в .Net практически ничего не ломается, то 1С постоянно косячит JOB: HTTPСоединение и SSL connect error

И поверь если бы 1С ввела поддержку .Net все прекрасно писали бы используя классы .Net так как из каропки.

А интегрировать на самом деле много. Ко мне сейчас много обращаются, а у меня вот времени нет совсем.
595 Gary417
 
28.06.16
17:25
(594) <При этом если в .Net практически ничего не ломается, то 1С постоянно косячит JOB: HTTPСоединение и SSL connect error>

Ну ненадо, когда начинаются нюансы с алгоритмами шифрования, требованиями FIPS и т.п. всякие глюи и у явы и у .net и вообще с пустого места начинают выползать
596 Serginio1
 
28.06.16
17:44
(595) Ну размер библиотек 1С и .Net несопоставим. А вот твой пример касается нового.
Но аналоги HTTPСоединения никогда не ломались, хотя и значительно мощнее. Помню вэб сервисы слетели и пришлось ждать обновления. Ну и по мелочи там сям.
597 Serginio1
 
28.06.16
17:46
И каксается я так понимаю, что нет поддержки на уровне ОС
https://msdn.microsoft.com/ru-ru/library/aa738624(v=vs.110).aspx
598 Serginio1
 
28.06.16
20:07
Кстати .Net Core релизнули. А Samsung подтвердил поддержку
https://blogs.msdn.microsoft.com/dotnet/2016/06/27/announcing-net-core-1-0/

Samsung присоединяется к .NET Foundation

Повышенный интерес к .NET Ядро также приводится к более глубокому взаимодействию в .NET Foundation , которая в настоящее время управляет более чем 60 проектов.  Сегодня мы объявляя Samsung в качестве нового члена .  В апреле Red Hat, Мозги Jet и Единство приветствовали Руководящей группы технического .NET Foundation.

".NET Является отличным технология , которая значительно повышает производительность труда разработчиков. Samsung вносит свой ??вклад в .NET Ядро на GitHub - особенно в области поддержки ARM - и мы с нетерпением ожидаем дальнейшего содействия в .NET сообщества с открытым исходным кодом. Samsung рада присоединиться к технической руководящей группы .NET Foundation и помочь большему количеству разработчиков пользоваться преимуществами .NET. "Хонг-Сек Ким, вице - президент Samsung Electronics.

Вклады от Samsung были впечатляющими.  У них есть отличная команда разработчиков, которые проявили интерес к .NET Core.  Мы рады иметь их как часть большой команды
599 Serginio1
 
29.06.16
09:57
(575) Кстати давно делал. Есть COM класс
glSpeechApi = Новый COMОбъект("SAPI.SpVoice");
        Для каждого звук из glSpeechApi.GetVoices() Цикл
            Сообщить(Звук.ID);
            Если Найти(Звук.ID,"Alyona22k")>0 Тогда
                glSpeechApi.voice=Звук;
                КонецЕсли;
            КонецЦикла;
и вызов
glSpeechApi.Speak(стр);
600 Serginio1
 
30.06.16
15:38
Выложил статью и исходники
https://habrahabr.ru/post/304482/
601 Serginio1
 
01.07.16
13:27
Выложил статью с исходниками Разработка ? Кроссплатформенное использование классов .Net в 1С через Native ВК. Или замена COM на Linux

https://habrahabr.ru/post/304542/
602 russiavp
 
02.07.16
12:34
Помощь нужна в настроике саита на Битрикс. платно. Сам я не шарю от сова совсем

Проблема такая. Связь с 1С у саита есть. Товар выгружается в инфоблок-элементы, но в каталог-товары не выгружается, хотя раньше се работало. И соответстенно на саите товары не появляются.
Обратился к одному программисту с заданием настроить накопительные скидки, в итоге произошел какои-то сбои, человек слинял и на звонки не отечает. Другои программист по саитам два дня уже не может ничего сделать. Честно говоря устал уже бороться. Услуги оказывают некачественно, обманывают и просто разводят на бабло.

Помогите настроить ради Бога, уже руки опускаются  и плкать хочется. С саитом уже третии месяц вожусь и все никак не могу добиться результатов ни от кого. Оплачу работу,
603 Serginio1
 
02.07.16
15:55
(602) Это не ко мне. Я битриксом не занимаюсь. Да и атеист .
Сделай сдельный топик. Сюда все равно мало кто заглядывает.
604 PR
 
02.07.16
16:05
(602) Судя по уровню твоей грамотности мой опыт подсказывает, что ты нам вешаешь лапшу на уши.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой