LINUX.ORG.RU

Вышла версия 0.9.4 Ананаса - первой учетной платформы для Linux


0

0

Ананас является программной платформой автоматизации учета. Приложения, разработанные на платформе Ананас, позволяют автоматизировать:

  • ведение ежедневно необходимого учета: покупка, продажа, платежи через банк, кассовые операции;
  • получение управленческой информации: по товарным запасам в суммарном и количественном выражении, по расчетам с партнерами;
  • автоматический расчет остатков;
  • генерация отчетов и печать документов;
  • создание документов на основании уже существующих.
О программе можно почитать здесь

>>> Подробности

anonymous

Проверено: anonymous_incognito ()

Ответ на: комментарий от anonymous

>а почему оно не фри? и чем это может быть плохо?

В каком смысле не фри? Это же чистый ОпенСоурс!

anonymous
()
Ответ на: комментарий от Maclaud

>ИМХО 1С за это нужно памятник поставить!

Да, да, гигантский фаллос, рвущийся в небо, закажите у цирители.

Sun-ch
()
Ответ на: комментарий от Sun-ch

а чем 1С не угодил? Между прочим особо страждущих перейти на подобное ПО мало. И не надо бросать камни. Продукт сырой и не для промышленного использования. К тому же 1С под linux можно запустить, пусть и с бубном.

ulyss
()
Ответ на: комментарий от ulyss

> а чем 1С не угодил? <...> Продукт сырой и не для промышленного использования.

Вы сами и ответили. Когда ваше 1С наконец вырастет из своих мокрых ссаных тряпок, тогда и поговорим. А доверять свой бизнес кривой-горбатой поделке латентных неудачников - ищите дураков!

ero-sennin ★★
()
Ответ на: комментарий от ero-sennin

дык Вы и есть то что Вы указали. Ваша компания полностью сидит на MBS/SAP/Oracle? Не врите. 1Су пока альтернативы нет. Нравится Вам это или нет - это факт. Если Вы непосредственно не работали с 1С это не дает Вам право хаять продукт.

ulyss
()

Авторам - наш громадный респект. А вот косяки при установке (если mysql не поднят) раздражают.

Skull ★★★★★
()
Ответ на: комментарий от ero-sennin

Я как одинеснег могу сказать, что "встроенные" в платформу 8 конструкторы запросов бесят переводом select на корявое русское выбрать. Сообщество одинеснегов тупеет из-за не знания элементарных конструкций sql.

p.s: кабы сообщества программистов не срались и не мерялись фаллосами - куда лучше бы жилось, ведь были проекты а-ля 1С и где же? одинеснеги могли бы помочь проекту ananas методологией + многие знают механизмы 1С изнутри как платформы 77, так и 8. Их знание пригодились бы проекту дабы не наступать на одни и те же грабли. Идея проекта с точки зрения одинеснега - убого очень. 1С это скорее framework, коим ananas не является.

ulyss
()
Ответ на: комментарий от ulyss

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

Sun-ch
()
Ответ на: комментарий от Sun-ch

Саныч, не надо тупить. 1С вышла на западный рынок и используется даже в Германии. As idea, 1С неплоха, воплощение, правда кривовато ( я про 8.1). К тому же, собираются client ваять под linux и server-side под opensolaris. Поди плохо? Ну не будут в нашей стране все поголовно сидет на MBS/SAP etc.

ulyss
()
Ответ на: комментарий от ulyss

1С с архитектурной точки зрения убог, как платье сиротки. Уж если говорить про какие-то фреймворки, то нужно смотреть в сторону явы.

Sun-ch
()
Ответ на: комментарий от ulyss

>вышла на западный рынок и используется даже в Германии

Я что про это слышал. Банно-прачечный комбинат им. Розы Люксембург?

Sun-ch
()
Ответ на: комментарий от Sun-ch

1С уже признали стандартом для документооборота????

Система "Дебет Плюс версия 12" - уникальная система на рынке программного обеспечения по управлению предприятием.

# Полную рабочую версию программы можно бесплатно скачать на нашем сайте или получить другими способами # Работает на различных операционных системах, в том числе и на UNIX-подобных # Может работать на любой базе данных (на сегодня - Oracle, MS SQL, MySQL, DB2, Sybase, Derby) # В бесплатную версию программы включена поддержка баз: Derby, MySQL # Язык интерфейса - русский и украинский # Система разрабатывается в Украине с 1991 года и работает на тысячах предприятий Украины # Разработано и внедрено множество конфигураций системы

Система автоматизации предприятия "Дебет Плюс" версия 12 (базовая настройка) распространяется БЕСПЛАТНО.

Лицензию на бесплатню версию можно прочитать здесь Вы можете получить ее следующими способами:

* БЕСПЛАТНО скачать на нашем сайте Перейти к странице закачки * Заказать диск почтой на сайте opensource.com.ua. В этом случае вы оплачиваете стоимость диска 5грн. Перейти к странице заказа * Получить бесплатный диск в нашем офисе. * Доставка диска курьером Стоимость доставки курьером по Киеву - 40 грн Стоимость доставки курьером по Украине - 50 грн * Установка нашим специалистом в Вашем офисе с кратким ознакомительным курсом и 1 месяц email-поддержки Обратите внимание: Вы платите только за работу специалиста - программу Вы получаете БЕСПЛАТНО. o в г. Киеве + На одно рабочее место - 150 грн. + Сетевая - 250 грн + 50 грн за каждое рабочее место

Наши специалисты готовы помочь Вам с установкой и внедрением программы, настройкой конфигурации под Ваш учет.

Почему бесплатно?

* Мы давно мечтали выложить на сайт бесплатную версию. * Для разработки системы Дебет плюс V12 использовалась платформа Eclipse, которая является бесплатной. Фирма IBM затратила 40 миллионов долларов на разработку этой платформы, а затем сделала ее доступной всем бесплатно. * Для разработки системы Дебет плюс V12 использовался JavaScript &#8220;движок&#8221; Rhino (Mozilla), который является бесплатным. * Мы хотим способствоварь развитию бизнеса в Украине. * Мы хотим способствовать снижению уровня пиратства в нашей стране. Чтобы предприниматель не дрожал, что к нему прийдут с проверкой авторских прав. Если на компьютер установить бесплатную ОС LINUX. Бесплатный офисный пакет OpenOffice (аналог MS Office) и бесплатную систему управелния предприятием &#8220;ДЕБЕТ Плюс v12&#8221; вы экономите &#8220;купу грошей&#8221;.

Надолго ли бесплатно?

* Бесплатно &#8211; это надолго! Многие пользователи задают вопрос &#8211; не перестанет ли быть программа бесплатной, когда выйдет новый релиз программы. Вы можете сейчас скачать программу &#8220;Дебет Плюс v12&#8221; бесплатно, бесплатной она останеться и в дальнейшем. То есть Вы сможете скачивать, разворачивать, использовать и обновлять программу &#8220;Дебет Плюс v12&#8221; бесплатно. Так же вы можете бесплатно консультироваться на нашем форуме с другими ползьователями программы. * Более того &#8211; с нашей программой Вы можете зарабатывать! Как? Вы можете o брать деньги за работу по установке программы в офисе заказчика o настраивать и сопровождать программы o давать платные консультации другим фирмам по работе с нашей программой * Еще более того. Вы можете разрабатывать и распространять свои модули (платно или бесплатно), так как наша программа является платформой для разработки. Бизнес-логика программы является открытой. Мы будем стимулировать бесплатный обмен модулями, разработанными сторонними разработчиками, но никто не запрещает Вам продавать Ваши модули.

За счет чего?

* За 15 лет работы на рынке мы приобрели достаточно клиентов, чтобы позволить себе выкладывать программу бесплатно.

KORG
()
Ответ на: комментарий от Maclaud

>>Хорошо хоть по русски операторы писать не нужно, терпеть этого не мог в свое время. >>А чего это мы так не любим родной язык? >>ИМХО 1С за это нужно памятник поставить!

А того. Для некоторых окн как бы не совсем родной. Давай адинэс еще на мову портируем. Прикольно получится. Белорусам тоже как бы подсобить. Инглиш для компьютерщиков то-же самое что латынь для доктора.

ЗЫ А памятник адинэсу паоставить согласен. Дело хорошее. А что он уже таки помер?

anonymous
()
Ответ на: комментарий от anonymous

Интерфейс уже портировали. Пока с встроенным языком вроде борятся.

ulyss
()
Ответ на: комментарий от Sun-ch

>>1С с архитектурной точки зрения убог, как платье сиротки. Уж если говорить про какие-то фреймворки, то нужно смотреть в сторону явы.

Согласен, что убого, что java (j2ee) лучше, что используя тот же hibernate+java+Oo получится более устойчивый и мощный продукт. Почему же ananas это не использует? Самое смешное, что хранение информации 1С ласково сперло из class-loader-ов и многое из проекта 1С++.

Беда в том, что 1С удобно-убог. Т.е. за короткое время (2 недели) можно получить Н-ское количество специалистов-кодеров, что, собственно и происходит. Ananas же освоить "влёт" некому - методология не та. Не промышленная. Сапёров тоже быстро не получишь. Вывод: чем примитивнее среда/framework - с точки зрения настройки и сопровждения - тем легче её внедрять.

ulyss
()
Ответ на: комментарий от ulyss

> Вывод: чем примитивнее среда/framework - с точки зрения настройки и сопровждения - тем легче её внедрять.

И тем труднее с ней потом работать. Внедряют один раз, а работают хрен знает сколько лет. А если бы всё было так просто, как вы говорите, везде бы давно внедрили user-friendly счёты и не парились.

ero-sennin ★★
()
Ответ на: комментарий от Diffor

>на сколько помню кроме мускуля Ананас ничего не умеет;

Ну еще PostgreSQL вроде как можно использовать.

>OpenOffice в инсталлятор не встроили - придётся ставить самому :)

Ну, тогда размер дистрибутива увеличится в десятки раз.

anonymous
()
Ответ на: комментарий от ulyss

Куда она в Германии вышла? В русские магазины и русские бюро путешествий? SAP тута везде..

abcypd
()
Ответ на: комментарий от ulyss

Ну теперь уже (со времён 7-й версии) 1С далеко не "удобно-убог". Тот же джава-программист споткнётся от всего этого зоопарка. Функционал мощный, всякие ананасы конечно сосут. Теперь про "архитектуру": на JAVA НЕ получится гораздо более "лучший" продукт - будет такое же тормозное и глючное говно. Это шило и мыло и менять одно на другое не следует. Теперь по цене - по соотношению цена/функционал у 1С нет конкурентов и вряд ли ещё будут в ближайшем будущем. О пожеланиях - сильно требуется клиент под линукс чтобы выкинуть наконец винду с рабочего стола. Наличие запросов на русском языке не препятствует изучению SQL-запросов для традиционных СУБД. Это не является какой-либо проблемой. Наличие русского языка во встроенном языке - так же не является проблемой, это вполне логично. Есть и английский язык. Проблемой является ужасный процедурный макаронный код, который отчасти связан с общей архитектурой системы. Вот там есть над чем поработать. Теперь о "санычах" - не стал бы подпускать к обсуждению учетных систем фанатика JAVA, не видевщего ни 1С ни JAVA.

srg11
()
Ответ на: комментарий от KORG

> Система "Дебет Плюс версия 12" - уникальная система на рынке программного обеспечения по управлению предприятием.

http://debet.kiev.ua

Достойный продукт, используется на больших предприятиях, но тяжеловат, т.к.:

"Комплекс Дебет плюс V12 написан с ипользованием платформы Eclipse , точнее с использованием RCP платформы (Rich Client Platform) платформы Eclipse . Если платформа Eclipse является расширяемой интегрированной средой разработки, построенной таким образом, что ее компоненты можгут быть использованы для построения практически любого клиентского приложения, то RCP - это некоторое минимальное подмножество компонентов платформы Eclipse, которое необходимо для работы клиентского приложения. Клиентское приложение, как-бы, собирается из тех же компонентов, что и сама среда разработки, но ненужные компонетны не включаются в клиентское приложение. Сама платформа Eclipse написана на языке программирования Java, что обеспечивает возможность работы программного кода на нескольких операционных системах. Помимо платформы Eclipse комплекс Дебет плюс V12 использует JavaScript &#8220;движок&#8221; Rhino (Mozilla). Практически, вся бизнес-логика комплекса Дебет плюс V12 написана на JavaScript, что обеспечивает высокую гибкость систем, с точки зрения внесения изменений в бизнес логику комплекса. Похожая архитектура использовалась в комплексе Дебет плюс 2000, который поставлялся на р&#1110;нок с 2000 года. Ядро комплекса Дебет плюс 2000 б&#1110;ло написано на C++, бизнес логика на JavaScript. Такая архитектура была признана удачной, т.к. обеспечивала высокую гибкость кода. Она например позволяла вносить изменения или дополнять клиентский код непосредственно у клиента или через удаленное подключение по интернету. Бизнес-логика комплекса Дебет плюс V12 является открытой, хотя при необходимости ее можно "спрятать". Все диалоги написаны на XML+JavaScript. В качестве генератора отчетов использкется JasperReport + iReport, выгрузка в форматы MS Exсel, MS Word через OpenOffice. В качестве WEB сервера используется Tomcat, котрый встроен в Eclipse."

asandros ★★
()

Здорово! Но хотелось бы видеть какую-нибудь success story Т.е. где оно внедрено и успешно используется. Любой подобный продукт должен начать обрастать такими данными, чтобы был более заметен для бизнеса.

Eugeny_Balakhonov ★★
()
Ответ на: комментарий от Sun-ch

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

Ну не только российское, но еще и СНГ-овское :) И потом откуда такая уверенность, что западное лучше? Ой ли. Поверьте мне - в том же SAP хватает идиотизмов выше крыши. Особенно, куда лазила шаловливая рука индусского программера. 1С отлично решает задачи для которых предназначена.

Eugeny_Balakhonov ★★
()
Ответ на: комментарий от ulyss

>Я как одинеснег могу сказать, что "встроенные" в платформу 8 конструкторы запросов бесят переводом select на корявое русское выбрать. Сообщество одинеснегов тупеет из-за не знания элементарных конструкций sql.

Известно ли тебе, оденеснег, что в 1С можно писать и код программы, и код запросов на любом, поколением пепси, языке?

"корявое русское выбрать" - мозг у тебя корявый

Maclaud
()
Ответ на: комментарий от Sun-ch

>Открою маленький секрет. 1С - чисто российское явление
Ты это считаешь секретом?


>Нужно переходить на софт, используемый во всем остальном мире.
Весь лечить мозг, пока не позно

Maclaud
()
Ответ на: комментарий от Eugeny_Balakhonov

>Здорово! Но хотелось бы видеть какую-нибудь success story Т.е. где оно >внедрено и успешно используется. Любой подобный продукт должен начать >обрастать такими данными, чтобы был более заметен для бизнеса.

Список форумов Ананас -> История успеха
http://ananas.lrn.ru/phpBB2/viewforum.php?f=9&sid=86eebdf724374cfdfa32ee4...

anonymous
()
Ответ на: комментарий от anonymous

История успеха одна с непонятным концом. Непонятно история успеха или неуспеха? Обрывается на полуслове.

Потом Ананас для чего-то писался же, где-то его нужно было обкатывать. Вопрос - где? Или это на данный момент сугубо теоритическая сущность, не применявшаяся еще на практике?

Eugeny_Balakhonov ★★
()
Ответ на: комментарий от Eugeny_Balakhonov

Кстати вопрос про 1С. точнее, про его замену.

Можно ли в Qt/Gtk как-нибудь сделать аналог табличной части формы 1Сv8?

В смысле, надо чтобы была возможность выбора строки, или по двойному щелчку можно было создать/активировать вложенный элемент.

Первое в Gtk делается в listbox, второе, при некотором ухищрении, в table (внутри table элементы GtkLabel, по двойному щелчку элемент заменяется на hbox с нужной начинкой (label, entry, button)).

Но в table не получается сделать построчную разлиновку и заголовки коолонок.

Как-нибудь можно этого добиться не создавая такой widget с нуля?

monk ★★★★★
()
Ответ на: комментарий от monk

И в первом и во втором случае поможет TreeView. Сам лично пользуюсь в PyGTK. Нажимаете на кнопку, появляется окно с некоторым справочником. IncrementalSearch поддерживается напрямую виджетом.

anonymous
()
Ответ на: комментарий от anonymous

> И в первом и во втором случае поможет TreeView. Сам лично пользуюсь в PyGTK. Нажимаете на кнопку, появляется окно с некоторым справочником

А выложить где-нибудь или выслать можешь?

Я его Listbox'ом и назвал... Вот только не понял, как к нему кнопку вставить. В смысле, хочу в неактивной ячейке просто текст, а в активной hbox(label entry button). Но в TreeView колонки задаются изначально через insert_column_with_attributes. Или свой CellRenderer описывать? Так в него тоже нельзя вроде объекты Gtk вставлять. А рисовать через Gdk нет никакого желания (тогда уж проще вообще всё заново реализовывать на уровне XLib/OpenGL/CLiM)

monk ★★★★★
()
Ответ на: комментарий от monk

Кнопка ставится на замену 1С виджета с тремя точками, типа выбора поставщика. Надпись на этой gtkButton - например, имя поставщика; событие за нажатием - вызов справочника с последующей заменой надписи.
Свой CellRenderer не нужен - сигнал row-activated дает и номер колонки - соотвтетственно если с ней связан справочник, она делается нередактируемой, а обработчик событий, видя её тип, вызывает соответствующий справочник.

Пример кода окна Справочника на Питоне:

import gtk

TYPE_MAP = {"string" : str,
            "integer" : int,
             "float" : float}

class Reference:
    def __init__(self, schema, name="Untitled", ref=None):
        self.__selected = None
        self.name = name
        self.tableRef = ref
        self.fields = schema
        self.model = gtk.ListStore(*[ TYPE_MAP.get(f.get("type", "string"), str) for f in self.fields ])
        self.references = [ f.get("ref", "NULL") for f in self.fields ]

    def load(self, con):
        cur = con.cursor()
        statement = "SELECT %s FROM %s" % ( ",".join(self.references), self.tableRef)
        cur.execute(statement)
        for row in cur:
            self.model.append(row)
            
    def __selector_row_activated(self, widget, path, column, dialog=None):
        try:
            self.__selected = dict(zip(self.references, self.model[path]))
        except:
            self.__selected = None
        dialog.response(gtk.RESPONSE_ACCEPT)
        

    def __call__(self):
        """Показывает окно со справочником и после выбра позиции
           возвращает её как словарь"""
        dialog = gtk.Dialog(buttons=(gtk.STOCK_OK,
                    gtk.RESPONSE_ACCEPT, gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT))
        dialog.set_title(self.name)
        dialog.set_border_width(2)
        dialog.set_default_size(400, 400)
        view = gtk.ScrolledWindow()
        view.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        dialog.vbox.add(view)
        
        list_view = gtk.TreeView()
        list_view.connect("row_activated", self.__selector_row_activated, dialog)
        view.add(list_view)
        
        for index, field in enumerate(self.fields):
            if field.get("visible", "true") == "true":
                column = gtk.TreeViewColumn(field.get("name", "БезНазви"))
                column.set_resizable(True)
                cell = gtk.CellRendererText()
                column.pack_start(cell)
                list_view.append_column(column)
                column.set_attributes(cell, text=index)
                column.set_sort_column_id(index)
                
                if field.get("key", "false") == "true":
                    list_view.set_search_column(index)
                list_view.set_model(gtk.TreeModelSort(self.model))
        dialog.vbox.show_all()
        response = dialog.run()
        dialog.destroy()
        if response == gtk.RESPONSE_ACCEPT:
            return self.__selected
        else:
            return None
        
schema = ({
    "name"      : "rowid",
    "ref"       : "rowid",
    "type"      : "integer",
    "visible"   : "false"
    }, {
    "name"      : "Код",
    "ref"       : "code"
    }, {
    "name"      : "Найменування",
    "ref"       : "name"
    })

anonymous
()
Ответ на: комментарий от anonymous

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

> Кнопка ставится на замену 1С виджета с тремя точками, типа выбора
поставщика. Надпись на этой gtkButton - например, имя поставщика

Вот в этом и вопрос: можно ли как-нибудь запихнуть в ячейку TreeView
GtkButton (а ещё лучше hbox)?

Вот предположим в этом же справочнике есть третья колонка "Вид" и она
является ссылкой на другой справочник. Что сделать с куском

column = gtk.TreeViewColumn(field.get("name", "БезНазви"))
column.set_resizable(True)
cell = gtk.CellRendererText()
column.pack_start(cell)
list_view.append_column(column)
column.set_attributes(cell, text=index)
column.set_sort_column_id(index)

чтоб можно было видеть не только текст, но и кнопку (или несколько) рядом?

monk ★★★★★
()
Ответ на: комментарий от monk

Дело в том, что кнопку видеть не обязательно. Просто на ячейку
вешается callback который вызывает справочник. Это весьма
логично - для изменяемых ячеек щелчок вызывает редактирование,
а для связаных со справочником - окно справочника.

Еще фрагмент кода, который реализует табличную часть документа.
Важен метод bind, который заполняет TreeView согласно схемы:

class TabularControl:
    def __init__(self, name, schema, parent=None):
        self.name = name
        self.schema = schema
        self.parent = parent
        self.names = [ field.get("name", None) for field in self.schema ]
        self.linked = {}
        self.create_model()

    def create_model(self):
        fields = [ TYPE_MAP.get(field.get("type", "string"), str)
                            for field in self.schema ]
        self.model = gtk.ListStore(*fields)


    def cell_changed_cb(self, widget, row, value, column):
        self.model[row][column] = value
        try:
            self.when_changed(row, column, value)
        except:
            pass

    def call_reference_cb(self, widget, row, column, columnidx, reference_name):
        selected = references[reference_name](parent=self.parent)
        if selected is not None:
            self.model[row[0]][columnidx] = selected["name"]
            try:
                for index, val in self.linked[reference_name]:
                    self.model[row[0]][index] = selected[val]
            except:
                pass

    def button_press(self, widget, event):
        if event.type == gtk.gdk.BUTTON_PRESS:
            widget.popup(None, None, None, event.button, event.time)
            return True
        return False

       def bind(self, widget, **kwargs):
        self.widget = widget
        for index, field in enumerate(self.schema):
            if field.get("visible", "true") == "true":
                column = gtk.TreeViewColumn(field.get("title", "БезНазви"))
                column.set_resizable(True)
                cell = gtk.CellRendererText()
                column.pack_start(cell)
                widget.append_column(column)
                column.set_attributes(cell, text=index)
                column.set_sort_column_id(index)
                defvalue = field.get("linked", None)
                if defvalue is not None:
                    refname, reffield = defvalue.split(".")
                    if not self.linked.has_key(refname):
                        self.linked[refname] = []
                    self.linked[refname].append((index, reffield))
                if field.get("type", None) == "link":
                    widget.connect("row-activated", self.call_reference_cb, index,
                            field.get("ref", None))
                elif field.get("editable", "true") == "true":
                    cell.set_property("editable", True)
                    cell.connect("edited", self.cell_changed_cb, index)
        widget.set_model(self.model)

Сюда также необходимо повесить реагирование на Ins и Del и
какое-то контекстное меню.

anonymous
()

Кстати как ананас маштабируеться ? .. сколько реально машин тянет ?. А в качестве базы можно использовать PostgreSQL ?

I_one
()
Ответ на: комментарий от I_one

> А в качестве базы можно использовать PostgreSQL ?

Читайте документацию: можно.

Skull ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.