Внешние компоненты для 1С на заказ. #30226


#0 by Василий
Предлагаю Вам значительно расширить возможности 1С с помощью внешних компонент. Любые функции: ускорение сложных математических расчетов, прямое обращение к ЛЮБЫМ БД, связь с Internet, красивые заставки и нестандартные визуальные компоненты, которые сделают жизнь Вашего клиента более приятной, а также многое другое, что сложно реализовать на 1С. Каждый программист, пришедший на 1С, сталкивается с проблемой отсутствия многомерных массивов и других полезных структур для хранения данных. Данная проблема легко решается с помощью внешних компонент, причем скорость обмена информацией с внешними компонентами довольно высокая и приблизительно равна скорости обмена со списком значений. Кто заинтересовался, пишите на мыло: extcomp@rambler.ru .
#1 by Yury Chernov
Неужели обращение к объекту "Многомерный массив" во внешней компоненте удобнее, чем к таблице значений в 1С7.7? Или речь все-таки о 7.5?
#2 by WildHare
Порядок цен?Возьмем для примера самую простую фичу - цветной текст в таблицах (журналах, формах списков и т.п.)
#3 by bird
Ну ты WildHare и загнул ;). Это ты самым простым называешь? Да я вообще сомневаюсь, что это может сделать кто-то, не с фирмы 1С. Это же все просто рисуется самой 1С. Надо ведь знать когда имменно 1С будет рисовать, и в этот момент надо подменить "кисточку" (brush), а потом и назад вернуть. И вообще она может рисовать в MemoryDC, а потом BitBlt'ом "скидывать" на это окошко - тогда ваще... Не говорю что этого нельзя сделать - голь на выдумки хитра (или такое уже есть?) - но задачка может быть не из легких. А вообще принцип расширения функциональности 1С путем создания внешних компонент может быть очень полезен. Любые БД - почти так, "визуальные эффекты" - само-собой (план счетов круглым сделать ;). Про скорость - для InProccess серверов должно быть шустро, OutOfProccess медленнее будет, но зато каки-и-и-е возможности
#4 by WildHare
Это самая простая (из "бантиков") фича, которую требюут _клиенты_. Насколько я понимаю, данный сервис (плагины на заказ) может быть оплачен только конечными пользователями 1С? Вряд ли 1С-программист вот так возьмет и закажет себе "многомерный массив с красивой заставкой" за свои деньги, ему это нафиг не нужно. А клиенту нужны "бантики". Вот я и спрашиваю, сколько будет стоить самый простой (с точки зрения пользователя) бантик.
#5 by Mx
Кстати к вопросу "(или такое уже есть?)" на hippo один товарисч заявлял, что это сделал (правда там был какой-то _спец_ документ в котором раскрашивались строки)Человек этот "Вячеслав Екимов" <ekimoff@mail.ru>, а тема былаВнешние кампыненьты к 1С (уж такая тема)...
#6 by bird
Да не, я прекрасно понял (пардон если показалось, что грублю) - такая вещь только в 2000 Access'е появилась. И штука хорошая, только вот о реализации оной... А разработчику "бантики" и не нужны - и даже нельзя ему их давать, будет сидеть и украшательством заниматься :). Я вот вижу периодически, что люди-то пытаются что-нибудь "прикрутить" к 1С, а вот такие компоненты тогда и нужны.
#7 by Василий
Таблица значений изначально 2-х мерная, я же предлагаю использовать N-мерные структуры. В специфических задачах без этого сложно обойтись. Для развлечения предлагаю сделать таблицу значений размером 10х10000, заполнить её чем-нибудь и попробывать её свернуть. Если хватит памяти то будете ждать 10 мин (если не более). Не понятно, какие алгоритмы реализовала 1С но явно не лучшие. Любому ясно, что во внешней компоненте подобное действие произойдёт почти мгновенно.    Предлогаю написать, какие внешние компонеты для 1С Вы хотели бы использовать в ваших конфигурациях. Фантазию Вам в руки.
#8 by WildHare
О! Фантазии нам не занимать ;-)Например, на той эе хиппо.ру было высказано пожелание через внешнюю компоненту менять текст модулей *.ert, а лучше сразу md.Далее, очень бы пригодилась компонента, умеющая интерпретировать юниксовые регулярные выражения - для обработки текстов и строк.Список можно продолжать бесконечно..Но лучше давайте поговорим об N-мерных структуруах. Таблицы значений действительно жрут память, (правда, если таблицу сворачивать после добавления каждой новой строки, не нужно будет 10 минут ждать мессаги про "недостаточно памяти"). Уважаемый Василий, Ваши слова "предлагаю использовать" - означают ли они, что уже существует такая компонента, пусть и не на 100% готовая?
#9 by Василий
Дорогой WildHare, я понимаю Ваше желание поюзать что-то интересное. Но ведь все мы люди и хотим есть. А что есть, если денег нет? Возможен обмен данной компоненты на клиента, готового за неё заплатить(хотя это и мало вероятно-Вы не согласитесь).А по поводу стоимости (разработки или чего-либо готового), то она естественно обговаривается для каждого конкретно случая. И ещё уточните насчёт "очень бы пригодилась компонента, умеющая интерпретировать юниксовые регулярные выражения".   Возвращаясь к вопросу о прибамбасах. Представьте какую-нибудь прогу с современным дизайном, классной заставкой при загрузке и теперь перенесите его 1С. По-моему получается довольно привлекательная конфетка, которую заглотит любой клиент при демонстрации ему Вашей конфигурации (ведь их в большинстве случаем глазами выбирают и любимое их занятие: смотреть как работает ScanDisc).   А вообще внешние компоненты предназначены, по-моему, для ускорения 1С и решения нестандартных задач, встречающихся почти повседневно. Например, чтение и запись в файл (1С глючит и тормозит, когда файл большой (>1Мг) и не поддерживаются все символы 0-255), чтение и запись в любую внешнюю БД, окна произвольной формы, необычные кнопки (в настройке параметров учёта), прогрессоры (при проведении документа).
#10 by Василий
По поводу изменений .ert и .md пользуютесь FARом. Иногда помогает вытаскивать из этих испорченных файлов ещё не испорченный фрагменты кода или формы.
#11 by WildHare
Уважаемый Василий. Я понимаю, что зарабатывание денег - вполне достойное занятие. И N-мерные массивы меня весьма интересуют. Так что пожалуйста, назовите Вашу цену, опишите более подробно свою разработку. Можно приватно, по почте, но я думаю, это что интересно не мне одному."Юниксовые регулярные выражения" - наверно, нужно было бы скзать "регулярные выражения, как в Perl'е" - я имел в виду, что если б компонента могла выполнить такую, скажем, вещь:AddIn.Execute(InPutString,"m/([^Wa-zа-я0-9_][^WA-ZА-Я0-9_]*)/",OutPutList);(на входе - строка, на выходе - список всех слов из этой строки, начинающихся с большой буквы). А главное, выполнить это быстро и не нагружая процессор - было бы очень здорово, т.к. обработка и анализ текстов на v7 - сущее мучение. Но это, сами понимаете, утопия."По-моему получается довольно привлекательная конфетка, которую заглотит любой клиент при демонстрации ему Вашей конфигурации" - это Вы несколько не по адресу. Я все-таки не рекламный агент ;-) Да и неправда это, клиента всегда больше инретесует "а вот это ваша конфигурация учитывает? а такой отчет я смогу получить?" и прочее в том же духе - это же экономический софт, а не "музыкальная шкатулка" типа RealPlayer'а. Бантики, конечно, нужны, но заставка и дизайн кнопок на продажи конфигурации абсолютно не влияют.
#12 by Василий
Дорогой WildHare конпонента, работающая с n-мерными массивами очень проста:  InitDim("int,50,60,80,10");- инициализация 4-х мерного массива размером 50х60х80х10, состоящего из int-ов.  PutValue("23,45,65,3,-123456");- присвоить значение -123456 соответствующему элементу массива  х=GetValue("2,54,22,9,"); прочитать значение из массива.  Например массив из *char - многомерый аналог объекта "Текст".Возможны вариации на данную тему. Если Вы хотите приобрести данную вещь пишите на мыло точное описание нужной Вам компоненты. Спишемся и я уверен договоримся.
#13 by А.Любимов
Вот помню делал в 1997 году клиенту подбор размеров обуви в накладную в Торговле 7.0. Компонент тогда еще не было, а задача никак стандартными средствами не решалась. Пришлось вспомнить VB. :)А самое интересное, что есть в Компонентах 2.0 - это вывод окна компоненты внутри окна 1С в рамке формы, т.е. с изменяемым размером и немодально.Хочешь - в стандартный журнал пошел поработал, а хочешь - в самодельный разноцветный ;). Или работаешь в справочнике, а рядом в окошке - сигналит, что кончается товар на полке. Красота.Только редко это _действительно_ надо. Окупаемость экономического софта в основном за счет алгоритмов и грамотного внедрения идет, а не из-за красивостей интерфейсных. Ведь продаются же экономические системы с _терминальным_текстовым_интерфейсом_ по сей день.
#14 by Olexa
0: прямое обращение к ЛЮБЫМ БД А ADO чем-то принципиально не устраивает? 12: конпонента, работающая с n-мерными массивами А намного ли медленней, применительно к конкретным реальным задачам, будет работать СписокЗначений.Установить("" + X + "|" + Y + "|" + Z + "|" + T, Значение) и СписокЗначений.Получить("" + X + "|" + Y + "|" + Z + "|" + T)? 13: Окупаемость экономического софта в основном за счет алгоритмов и грамотного внедрения идет, а не из-за красивостей интерфейсных. Согласен. К сожалению, нередко внедренцы создают или используют внешние компоненты лишь потому, что им это интересно, а не потому, что это экономически оправдано. Ещё хуже, если они делают это от незнания стандартных, уже существующих, механизмов или неумения их использовать.
#15 by Василий
RE:А.Любимов. 1С давным-давно ушла из ДОСа (хотя и не совсем) и сейчас почти-то монополист на своём рынке. Вы думаете зря мелкомягкие у Windows всё наварачивают и наварачивают интерфейс. С бух. программами в основном работают женщины, которым приятно увидеть розочку (см. 3.6 и мартовский ИТС 2000) на 8 Марта. Другой вопрос в количестве прибамбасов. По-моему в 1С визуальные возможности развиты слабо. Я предлагаю желающим их расширить.  И ещё. Кто-нибудь пытался на 1С написать отчёты с возможностями прогнозирования. Задача нетривиальная и требует много вычислительных ресурсов. Как по Вашему её лучше реализовать? Естественно не на языке 1С с прожорливыми и глючными таблищами значений.
#16 by Василий
Уже в который раз пытаюсь намекнуть, что "красивости" не главное в возможностях внешних компонент.  Хранить данные в многомерном массиве- тоже не главное. Главное их там быстро обработать. Olexa, напишите на 1С алгоритм сжатия изображения в JPG файл. Памятник Вам обеспечен.  Быстрая обработка строк (то, что нужно WildHare) попробуйте реализовать на VB. Возможно и получиться быстрее, чем на 1С, но всего раз в 2, а не в 22222.
#17 by Лёлик
Кстати господину Любимову Будет интересно зайти на . См. [21-40].
#18 by Василий
Лёлик-очередной халявщик.
#19 by Дракон
А я вот заказал бы компоненту. Есть у меня процедура в глобальном модуле, строчек этак 50, ничего особенного в ней нет - передается контекстом документ и слегка юзается (вообщем вышлю). Т.к. процедура используется часто хотел бы вывести в компоненту. Руки не доходят. Но с поставкой исходников. И хотябы порядок цен???? и каким способом расчет?
#20 by Василий
Уважаемый Дракон, расчет простой: 50% до 50% после. Если хотите с исходниками-пожалуйста. Вашу процедурку я получил. Спасибо. Не могли бы вы прислать всю конфу? А то не очень понятно. Обещаю её не распространять и не использовать код из неё.
#21 by Sheridan
Мля. Позволю и тут себе вставить пять копеек. Собственно бизнес на внешних компонентах построить врядли удасться. Я тут толкаю какой то там "финансы и анализ". посещение, хоть отбавляй. Ни одного заказа.А тут внешние компоненты. мне один день пришлось убить что бы немного разобраться с COM- технологие. Ну еще один день, что бы понять смысл предлагаемых от 1С интерфейсов. Ну на DELPHI - так уж получилось, умею чуток. Народ, кто платит деньги, я вам тоже наваяю что надо.
#22 by bird
И мне, и мне, тьфу, и я, и я наваяю :))
#23 by Василий
Завтра выложу демо-версию одной из моих компонент. Ок? Поюзайте. Понравится, вышлю полную версию.
#24 by Mx
УРА!!!Пошла халява ;0).Василий, ты на них (и меня) не обижайся, но здесь люди редко за что платят ;-)
#25 by Mx
Кстати есть одна задачка: хранить файлы (jpg,gif - сертификаты, картинки) в справочнике, в поле неограниченной длинны. Не то чтобы сильно нужно, но прицепляемые файлики вечно куда-нибудь теряются :-(
#26 by Василий
С "(jpg,gif - сертификаты, картинки)" вопрос решается очень просто. решение завтра. Пока бесплатно (потомучто демо).
#27 by Василий
По поводу цен на разработку. Не выше чем у средних Московких франчей с 50% предоплатой. Коммерческие предложения присылайте по мылу extcomp@rambler.ru .
#28 by Tiger
И я хочу стать тестером!
#29 by Василий
Уже закончил писать. Завтра выложу дге нибудь. тестируйте на здоровье. Надеюсь скорость работы Вас приятно удивит.
#30 by Eugeny
И мне если можно !
#31 by Dich
Если уж Василий решил на таком неблагодарном деле деньги зарабатывать, то он должен быть готов к тому, что его компоненты вскоре появятся на пиратских компактах... Пример - те же Дельфи.А Sheridan прав - тот, кто знает Дельфу, может и сам компоненту под себя написать. Хотя может и стоит писать компоненты за деньги для тех, кто сам не может.Но: если я напишу какую-нибудь компоненту и решу ее обнародовать, то денег (по крайней мере здесь) брать не буду. Причина проста - с меня здесь денег не брали, ну так и я вроде не козел...
#32 by Василий
Вот Вам что обещал.
#33 by :))
Че хыть она делаеть?
#34 by Василий
Читает и пишет в любой файл. "Кстати есть одна задачка: хранить файлы (jpg,gif - сертификаты, картинки) в справочнике, в поле неограниченной длинны. Не то чтобы сильно нужно, но прицепляемые файлики вечно куда-нибудь теряются :-("
#35 by Василий
ау. Mx ты где?
#36 by Mx
Здеся ;-)
#37 by Mx
Скачать-то я скачаю, а вот разбираться буду только в понедельник :-(
#38 by Василий
Чего там разбираться-то. Всё понятно описано. Мне интнресно Ваше мнение. Какие внешние компоненты необходимы чаще всего? и желательно по подробнее.
#39 by Василий
Вы меня удивляете. То столько разговоров, а то ни слова ни пол слова.
#40 by Mx
Ладно, застыдил ты меня...Открываю, запускаю, а оно мне пишетLoadLibrary("MMB.dll")failed - Не найден указаный модульМожет это шутка такая ;-)А вообще у меня W2k и я пошёл спать, всётаки до понедельника, если исправишь - мыльница под ником...
#41 by gosha
2All... мдя... дико извиняюсь... однако зачинство данной темы АФИГЕННО смахивает на рекламу А.Любимовым своего АТТ-ОЛАПа... и даже у него-то фича, пожалуй, покруче была... поелику по общедоступной технологии хто хошь на чём хошь и чего хошь сваять смогёт... а вот отношение доброжелательное к откровенному рвачеству в рамкох данного местовыражения - меня, уж извините, мягко выражаясь, смущает... может и не в тему... уж да извинять меня лица заинтересованные... IMHO...
#42 by Василий
У меня 98-мые и всё регистрится отлично.
#43 by Winter
Василий, я обязательно посмотрю твою дему, так как стоит именно эта проблемма(хранения отсканенных файликов в базе), вообще это частный случай работы с файлами на низком уровне, ума не приложу почему 1С это не реализовало, затрат на копейку, а ясно ребёнку что дело нужное.
#44 by Reder
2Василий: Я думаю что следующая вещь была-бы чрезвычайно полезна. В MS Office есть следующая приблуда - OrgChart (Организационная диаграмма). Один внедренец знакомый к примеру хотел структуру продразделений выдавать не ввиде того что есть в ЗиК, в Организационной диаграмме. Так я немного посмотрел, через OLE Automation она вроде бы не работает, а простой OLE 1.0 нахрен не нужен. Формат файла как бы защищен законом, так в хелпе напитсано. Остается только запускать эту приблуду и передавать этому окну, соответствующие события типа нажатия на клавиши. Сумбурно но все.
#45 by Андрей Бобков
Очень интересно
#46 by АБ
Василий! Очень интересно, а можно ли такой внешней компонентой заполнять таблицу значений в форме? Хочется сделать быструю выборку из БД с разными фильтрами и получить результат в ТЗ в форме..
#47 by Василий
Я не слышы ни каких откликов о нужности продожения начатого дела!
#48 by Василий
У меня спрашивают что такое внешняя компонента, отвечаю.Внешняя компонента представляет из себя DLL(работает чуть быстрее) или EXE файл. Она регистрируеться в Windows и затем вы можете обращаться к ней спомощью методов 1С, например:Компонента=СоздатьОбъект("Имя.Компоненты");ЗначенияСвойстваКомпоненты=Компонента.Свойство2;Cмотри пример на .
#49 by Василий
Я немного обновил дистрибутив компоненты MMB.FileManegment. Надеюсь что теперь ниукого не возникнет проблем с регистрацией компоненты.
#50 by Tiger
Нужна мне скрепка, та которая своим концом у виска куртит в Word 97. Сможеш такую к 1С присобачить. И сколько это будет стоить?
#51 by Василий
2 Андрей Бобков. Зайдите на / и / почерпнёте много интересного.Общая справка:  Внешняя компонента может принимать и возвращать 3 типа данных: Строка, Число и Дата. Получить доступ к таким объектам как ТаблицаЗначений или СписокЗначений или Массив или переменная типа отличного от 3 перечисленных выше внешняя компонента не может. Зато она может напрямую записывать и читать данные из БД (как Вашей, так и любой другой(Paradox, Oracle и т.п)), причём корректно, не нарушая ссылочной целостности. Здесь воистину не паханое поле. Построив СВОЙ запрос к таблицам, а не через интерпретатор 1С, вы получите весьма приличное ускорение работы. Затем хотите, загружайте данные в ТЗ, а хотите, используйте внешнюю компоненту для обработки запроса и получения обобщённых результатов. P.S.  Базу можно навернуть на порядок, если использовать скорость разработки конфы на 1С + быстрый доступ к данным внешней компоненты. Хотя, если Вам нравиться проводить документы по 1 мин и более, то ... P.P.S.   Кстати у меня возникла идея. В OS/2 реализована такая штука как ленивая (или пассивная, не помню как точно) запись данных на диск, т.е. когда процессор "отдыхает" данные из оперативной памяти записываются на винт, а когда он что-то усиленно считает, OS/2 хранит данные в оперативной памяти, если она (память) позволяет.  В 1С пока 1 пользователь проводит документ, остальные его ждут, причём та информация, которая заносится в БД при проведении, не всегда нужна прямо сразу. Вполне можно повертеть некоторое время. Если при проведении данные кидать во внешнюю компоненту, то можно продолжать спокойно работать дальше. Закачка данных во внешнюю компоненту происходит довольно быстро (см. демо-версию компоненты на mmb.narod.ru). Документ за пару сек проводится, и остальные пользователи не замечают никаких тормозов. Затем наступает момент затишья или просто истекает время, через которое данные обязательно должны попасть в БД. За дело берется внешняя компонента и делает своё чёрное дело: записывает все данные в БД. Загруженность базы не скачет вверх-вниз, а плавно распределяется во времени. Я думаю, что решение проблемы тормозов с большими базами налицо.  По поводу отключения питания в самый ответственный, момент можно поступить также, как поступает в подобных случаях SQL, а именно вести журнал открытых транзакций и при включении питания при инициализации внешней компоненты производить корректную отработку аварийной ситуации.
#52 by Ed
Вась, ты с пивом не перемудрил, ты дейсвительно серьезно все это? Может 1С вообще нафиг выкинуть, с твоими компонентами от нее ничего и не останется.
#53 by Tiger
2 Василий: Ответь на мой вопрос. Это не шутка.
#54 by Ed
Вася занят разработкой внешних компонент для 1С на заказ. А по поводу скрепки - почитай статью в "КомпьютерПресс" №7 за 1999 год, стр.69, называется "Microsoft Agent 2.0", там все написано.
#55 by Долопихтис
=>Внешняя компонента может принимать и возвращать 3 типа данных: Строка, Число и Дата. Получить доступ к таким объектам как ТаблицаЗначений или СписокЗначений или Массив или переменная типа отличного от 3 перечисленных выше внешняя компонента не может.А вот здесь ты Василий ты не прав конкретно, может и передавать и принимать ТЗ, как ссылку на OLE объект.Зато она может напрямую записывать и читать данные из БД (как Вашей, так и любой другой(Paradox, Oracle и т.п)), причём корректно, не нарушая ссылочной целостности. Здесь воистину не паханое поле. Построив СВОЙ запрос к таблицам, а не через интерпретатор 1С, вы получите весьма приличное ускорение работы. Затем хотите, загружайте данные в ТЗ, а хотите, используйте внешнюю компоненту для обработки запроса и получения обобщённых результатов.Кстати, я делал что-то подобное и работала она у меня именно через ТЗ и SQL запросы к БД, при этом можно использовать не только ADO но и родные драйверы БД (толькоб они были :-)Если у когото появится желание могу разместить на 1c.HIPPO.ru бесплатно конечно :-)Василий, учитывая то что я процитировал и еще некоторые твои заявления, например по поводу ВК на формах 1С, возникает вопрос ты действительно можешь или просто рынок щупаеш?!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям