Имя: Пароль:
IT
 
Компонента, позволяющая использовать Python скрипты в 1C
🠗 (АЛьФ 20.02.2013 09:35)
, , ,
0 HeroShima
 
19.02.13
11:33
Готова первая версия компоненты, дающей возможность использовать всю полноту средств Python в 1С-предприятии. Основана на .NET DLR IronPython.
В данный момент полностью поддерживается платформа 7.7 и ограниченно 8.x (пока нет поддержки агрегатных типов). Собрано в вариантах NET3.5 и NET4.5, готовится демо.
Если вас это интересует, я углублюсь в детали.
223 HeroShima
 
19.02.13
16:27
(220) потому что windows и технология компонент 2.0
224 rs_trade
 
19.02.13
16:27
(214) Я регулярки через сиквел юзаю. А таблички с результатами запросов цепляешь к 1с как внешние источники, и делай все что хочешь.
225 HeroShima
 
19.02.13
16:28
(222) к стати, дизайнер форм шарпдевелопа запросто генерирует код питона
226 acsent
 
19.02.13
16:28
на сервере 1с 8 будет работать???
227 badboychik
 
19.02.13
16:29
во оказывается бесплатная интеграция с .NET есть
http://www.enterra.ru/enterra-net-sdk-1s.html
228 АЛьФ
 
19.02.13
16:29
2(225) Попробуем с другой стороны... А на фига тогда 1С вообще?
229 Mikeware
 
19.02.13
16:31
(288) "для совместимости"©
совместимости с бухгалтерешками...
230 HeroShima
 
19.02.13
16:33
(226) На данный момент нет. В перспективе запросто.
231 HeroShima
 
19.02.13
16:34
(228) система учета, поддерживающая хранение, обработку и целостность данных
232 АЛьФ
 
19.02.13
16:36
2(231) Мда... С такими ответами ничего-то у тебя не получится.
233 wade25
 
19.02.13
16:39
(231) Норм компании готовые платить за непонятно что, все как правило на 1с сервере. Вашу фичу никто не купит(
234 HeroShima
 
19.02.13
16:40
(233) допилим, если увидим целесообразность
235 wade25
 
19.02.13
16:47
(234) В случае сервера, не 1с-ники должны делать такие вещи, уж точно
236 HeroShima
 
19.02.13
16:50
(235) да я о другом
237 badboychik
 
19.02.13
16:56
лучше бы написали для апача расширение, чтоб код 1С можно было встраивать в веб-страницу на сервере, как РНР
238 Mikeware
 
19.02.13
16:57
(237) и тупые адыэснеги обрушат скриптопейсателям весь рынок...
239 badboychik
 
19.02.13
16:59
кстати а правда что 22го выходит релиз 8.3 ?
240 isarzh
 
19.02.13
17:13
Это решения для интеграции чего то с чем то что выходит за рамки решение средсвами 1С. Например работа с SSL и тд.
241 rs_trade
 
19.02.13
17:21
(239) нет
242 Кирпич
 
19.02.13
17:23
А у меня было с регулярными выражениями. Надо было искать номера договоров и номера карточек в файлах клиент-банка. Каждый день по 500-600 платежей в выписке и надо было каждую выписку привязывать к плательщику.
Обошлось без питона, но без регулярных выражений не обошлось.
243 МегаБум
 
19.02.13
17:29
(223) MONO тоже под Windows есть, он кроссплатформенный
244 Phace
 
19.02.13
17:30
(0) Берешь вилку и начинаешь кушать ей суп, глупо, неудобно, долго? Зато оригинально и не как все. Разрешаю эту идею запатентовать и начинать продавать.
245 HeroShima
 
19.02.13
17:30
(243) я знаю, но не вижу смысла
246 HeroShima
 
19.02.13
17:31
(244) кому как, мне неудобно писать на 1С, оччень!
247 МегаБум
 
19.02.13
17:33
(245) у многих 1С -на под линухом крутится, надо тогда проверять чтобы совместимость была с моно, пусть даже на нэт.
248 HeroShima
 
19.02.13
17:35
На данный момент есть ассемблеры, С/С++, С#/ява и высокоуровневые скрипты вроде python/ruby и подобные. Всё остальное надуманно.
249 isarzh
 
19.02.13
17:36
(244) А если надо связать с платежным гет веем. Допустим из 1с  кредитки за чарджить.
250 АЛьФ
 
19.02.13
17:38
2(248) Спасибо, что раскрыл нам глаза.
251 isarzh
 
19.02.13
17:38
Такие решения намного удобней.
252 АЛьФ
 
19.02.13
17:38
2(246) Так никто не заставляет. Пиши на питоне. Не лезь ты туда, где тебе не нравится.
253 batman69
 
19.02.13
17:38
(246) Вот с этого и начинать нужно, зачем ты тогда в 1С, иди в питонисты.

(248) Это ты про остальные ЯП - надумано? Да, с такими воззрениями ты далеко не уедешь. Молод еще и глуп.
254 CaMoJleT
 
19.02.13
17:41
Вот уж прицепились к питону для 1С :) Это же как минимум прикольно :)
255 HeroShima
 
19.02.13
17:44
(250) вам не нужно
256 rs_trade
 
19.02.13
17:45
(249) для этого есть драйвера платежных систем.
257 HeroShima
 
19.02.13
17:46
(253) картина немножко обобщенная и речь идёт только об алгоритмических яп
258 batman69
 
19.02.13
17:54
(257) Что есть "алгоритмический яп"?
259 batman69
 
19.02.13
17:55
(257) Что-то сильно много путаницы в понятиях.
260 HeroShima
 
19.02.13
18:01
(258) не декларативный
261 HeroShima
 
19.02.13
18:04
Уточню, начальной целью проекта была возможность создания ВК на питоне. Остальное наросло в процессе, т.к. реализовывалось легко.
262 batman69
 
19.02.13
18:09
(260) Не декларативный, а какой?
263 HeroShima
 
19.02.13
18:24
(262) который в большей мере описывает последовательность обработки данных, чем какие-либо другие взаимосвязи
264 batman69
 
19.02.13
18:30
(263) Мдя...
265 acsent
 
19.02.13
18:34
(253) самое страшное, что он уже не молод
266 batman69
 
19.02.13
18:39
(265) Да? )
267 HeroShima
 
19.02.13
18:43
Хорош троллить. Экзамены принимать я и сам могу.
268 HeroShima
 
19.02.13
20:22
269 Сниф
 
19.02.13
20:34
* тихо, сам с собою *
а мне ActionScript нравится
270 orefkov
 
19.02.13
22:03
(268)
ИЧСХ, по приведенной тобой ссылке самая длинная ветка это "провал всех проектов аля 1С". Печально, но факт.
271 HeroShima
 
19.02.13
22:08
(270) там об "ананасах", а они за рамками темы
272 badboychik
 
19.02.13
22:33
из прочтения некоторых статей по ссылкам я понял, что связать питон с 1С пытаются люди, которые 1С только "видели немножко". Или у них была какая то самописная система, а тут бах - поставили какую то чуднУю программу с русским кодом, но вроде говорят к ней можно по COM подключаться...
273 Torquader
 
20.02.13
01:51
Я в одном месте к семёрке прикрутил Internet Explorer, так как компоненту писать было лень, то окно "осла" открывается поверх 1С и закрывает её всю, но пользователи довольны, так как в "осле" можно сделать много чего интересного, что в 1с рисуется только при помощи танцев с бубном.
Только сразу возникает вопрос - что пользователям нужно от 1С, кроме уверенности, что они в ней работают.
Написать можно всё, что угодно, но, прикручивание любого другого языка к 1С - это идеи сами в себе, так как нормальные конфигурации будут писаться на встроенном языке, чтобы можно было получить 1с совместимо, а для остальных проще писать сразу на других языках, чтобы заказчику не приходилось покупать 1с.
274 Privalov
 
20.02.13
09:11
(268) Ну эти ветки собственно не ответ на вопрос, ты там кричал что народу жизненно необходимо скрестить питон и 1С, а учитывая что практически всем веткам возраст уже больше 2-х лет, то эти ссылки , как и твои слова о необходимости, ни о чем.
Ссылки не засчитаны.
(267) P.S. И лучше тебе не принимать экзамены )))
275 HeroShima
 
20.02.13
09:22
(274) Серьёзные люди выше аргументации - это я понял.
276 Privalov
 
20.02.13
09:23
(275) Это не аргументы, это оправдания.
277 HeroShima
 
20.02.13
09:25
(276) о, так ты ещё и иронии не понял?)
278 Privalov
 
20.02.13
09:26
(277) Это ирония ? )))) А нулевой пост - ирония. ))))
279 HeroShima
 
20.02.13
09:31
(278) У тебя что-то личное ко мне, судя по усердным попыткам поддеть. Может лучше покинешь тему?
280 АЛьФ
 
20.02.13
09:32
2(275) Действительно считаешь, что "а нада" - это аргумент? Не, если ты для себя лично делаешь, то вполне сойдет в качестве аргумента. Но ты ведь вот на общественное обсуждение вынес, а зачем это надо объяснить не можешь.
281 HeroShima
 
20.02.13
09:32
В ближайшем времени подготовлю несколько более убедительных примеров.
282 АЛьФ
 
модератор
20.02.13
09:33
2(279) А давай лучше просто закроем ветку, а? Ну, чтоб никто тебя не беспокоил ненужными вопросами и замечаниями.
283 HeroShima
 
20.02.13
09:34
(280) Ок. Зачем перехватывать сообщения к оконному интерфейсу 1С?
284 АЛьФ
 
модератор
20.02.13
09:34
2(281) Будем с нетерпением ждать. Только не забывай, что в следующий раз реклама через (105).
285 АЛьФ
 
модератор
20.02.13
09:34
2(283) Ты меня спрашиваешь? О каких сообщениях речь?
286 HeroShima
 
20.02.13
09:35
(282) буду считать это действие конкурентной ревностью
287 АЛьФ
 
20.02.13
09:35
2(286) Буга-га! Считай как угодно. :)
288 HeroShima
 
20.02.13
09:37
(285) я о фунцкциональности FormEx
289 HeroShima
 
20.02.13
09:41
(280) я несколько раз перечислил цели проекта и преимущества подхода. если сказанное лично вас не устраивает...
290 Rie
 
20.02.13
09:43
(40) Внешние компоненты имеет смысл писать на компилируемых языках. Причём компилируемых в нативный код (даже пишущих ВК на C# я не совсем понимаю). Заменять один скриптовый язык другим? IMHO, нонсенс.
291 АЛьФ
 
20.02.13
09:45
2(289) Да ты фигню порешь всю ветку. Мямлишь что-то к реальной жизни не относящееся и сводящееся к "а нада, нада-нада! и не обижайте меня!".
2(288) И о каких именно сообщениях речь?
292 oleg_km
 
20.02.13
09:46
(290) Точно, на ассемблере
293 Rie
 
модератор
20.02.13
09:46
(18) Регулярку можно и без Python'а подключить.
294 Rie
 
20.02.13
09:47
(290) Если мсьё любит ассемблер - то может и на ассемблере. Однако есть и более другие - и в большинстве случаев более эффективные, кстати (поскольку оптимизация) - языки.
295 oleg_km
 
20.02.13
09:47
(293) Зачем один скриптовый язык другим заменять?
296 rbserg
 
20.02.13
09:48
(83) > У питона гораздо более лаконичный синтаксис и тот же алгоритм будет составлять 30% от объёма кода 1С.

Да ну его нафиг. Код на питоне читать - только спотыкаться на ровном месте.
297 oleg_km
 
20.02.13
09:50
(294) Ассемблер в любом случае нативнее Си, Си нативнее Си++, Си++ нативнее сишарпа. Где тогда православный уровень нативности. Может каждой задаче свой инструмент? Если для меня не имеет значение производительность, но имеют значение богатые возможности дотнета при работе например с криптографией, может мне не заморачиваться к нативностью?
298 Rie
 
20.02.13
09:51
(32) Чем это лучше
Процедура ТестАгрегатных()

  ТЗ = СоздатьОбъект("ТаблицаЗначений");
  ТЗ.НоваяКолонка("Элемент", "Справочник.МойСправочник");
  спр = СоздатьОбъек("Справочник.МойСправочник");
  спр.ВыбратьЭлементы()
  Пока спр.ПолучитьЭлемент() == 1 Цикл
     code = Число(спр.Код.strip);
     Если (code>=3) И (code<=8) Тогда
          ТЗ = .НоваяСтрока();
          ТЗ.Элемент = спр.ТекущийЭлемент();
     КонецЕсли;
  КонецЦикла;
  ТЗ.ВыбратьСтроки();

КонецПроцедуры
299 Rie
 
20.02.13
09:53
(32) Мсьё любитель доводить любую идею до абсурда? :-)
Разумеется, функциональность - на первом месте. Однако смею заметить - .NET-овская криптография не из вакуума изродилась, аналогичные библиотеки имеются и в других системах. Какую использовать - .NET или на "чистом" C - это уже вопрос технический.
300 Rie
 
20.02.13
09:54
+(299) Однако Python и прочие скриптовые языки - только тем и занимаются, по сути, что оборачивают библиотеки. И зачем эта обёртка нужна, если есть возможность найти нативную библиотеку?
301 HeroShima
 
20.02.13
09:54
(290) Не все скриптовые языки равны друг-другу. Питон - мультипарадигменный язык с очень широкими возможностями.
Касаемо компиляции ВК: мне хотелось бы узнать, почему ты так считаешь? Только защита, или что-то ещё? Экономия ресурсов?
302 Кирпич
 
20.02.13
09:54
ну всё. распяли питона.
303 Rie
 
20.02.13
09:56
(301) В первую очередь - экономия ресурсов. Предполагается, что ВК пишется один раз, а использоваться будет часто. Следовательно - bottleneck грядет.
Python же предназначен (в основном) для раз написал - раз исполнил.
304 АЛьФ
 
20.02.13
09:57
2(301) Пиши на питоне. Никто ж не возражает, что это нормальный язык для своих целей.
305 HeroShima
 
20.02.13
09:58
(298) у меня библиотека не дописана. если совсем всё сделать Python-way, там будет 4 строчки, или меньше
306 Rie
 
20.02.13
10:00
(303) Интерпретаторы эффективны, когда задача - организовать прозрачное управление вызовами (быстрых) библиотек/программ.
В данном случае имеется довольно мощный интерпретатор 1Сика.
Что _недоступное_ 1Сику может сделать Python?
307 Rie
 
20.02.13
10:01
(305) "Искусство ради искусства"?
308 Wern
 
20.02.13
10:04
Да ладно вам придираться, ну понравился человеку питон, нравится ему на нем писать, пусть себе пишет лишь бы другим при этом проблемы не создавал своими нетленками. Может быть даже он такой не один и может быть он это сможет кому то продать. Думаю он уже понял что если он это хочет распространять нужен какой то прикладной момент, краткий перечень или еще лучше табличку с описанием как что то делается на 1с, а как то же самое на его компоненте, чтоб было видно что на 1с это делается сложнее и путаней.
309 HeroShima
 
20.02.13
10:20
(300) Питону редко приходится что-л оборачивать, но если приходится... В случае с 1С обёртка ничего не знает ни об объектах ни об их методах. Она знает только что положить в Invoke. Малюсенький класс в 20 строк.
(306) Например, наследование, по которому тут иногда воздыхают, криптография, потоки, прогнозирование, элементы ИИ, работа с изображениями и т.д.
310 АЛьФ
 
20.02.13
10:24
2(308) Просто человек ни питона, ни 1С толком не знает, зато энтузиазм бьет ключом. Ну так и флаг в руки. Никто ж не против.
311 HeroShima
 
20.02.13
10:27
(310) Тоже пальцем в небо? Голословное утверждение.
312 trad
 
20.02.13
10:35
регекспы в v8
v8: Работа с регулярными выражениями в V8
нативней не бывает
313 oleg_km
 
20.02.13
10:39
(299) Че за манера какие-то мсье? Откуда такая безаппеляционность? Мсье знаток всех языков и парадигм. Ты пробовал криптографию например Си и Си шарпе? На Си многоэкранные заполнения структур, вызовы функций по сслыкам, против развитой объектной модели Си-шарпа? Зачем себе создавать трудности на ровном месте? Ради непонятной нативности
314 stix2010
 
20.02.13
10:51
(50) кстати сейчас поддерживаю конфу с англоязычной нотацией - очень непривычно, начинаешь дописки делать, кроме русской нотации ничего в голову не лезет.
315 stix2010
 
20.02.13
10:54
(312) все это хрень, нативный vbs работает с регулярками, ничего ставить не надо
316 HeroShima
 
20.02.13
11:32
(312) orefkov как всегда на высоте
317 trad
 
20.02.13
11:47
(315)спорить не буду, у нас  разные представления о нативности применительно к v8
318 batman69
 
20.02.13
11:57
(316) Ну у него в отличии от тебя есть готовые решения на которых работают люди...
319 oleg_km
 
20.02.13
14:41
(318) Ну он тоже в свое время выходил с предложение оченить и потестировать
320 АЛьФ
 
21.02.13
12:04
2(319) Он всегда может четко объяснить зачем он что-то делает.
321 HeroShima
 
23.02.13
19:29
(298) Текущий вариант:

Процедура ТестАгрегатных()
   ТЗ = СоздатьОбъект("ТаблицаЗначений");
   net.ПитонЗадатьЗначение("vt", ТЗ);
   Код = "
   |with UseNewObjectsProxy(Enterprise, 'Справочник.МойСправочник') as ref:
   |    ToValueTable(Enterprise, vt, [rv.Value for rv in ref if int(rv.свойство.Код.strip()) in range(3, 8)])
   |";
   net.ПитонВыполнить(Код);
   ТЗ.ВыбратьСтроку();
КонецПроцедуры
322 HeroShima
 
11.03.13
12:52
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.