Что будем делать дальше

17 views
Skip to first unread message

Vladimir

unread,
Feb 3, 2012, 2:56:24 AM2/3/12
to qbalance
Кратенько подобью итоги по тому, что сделано и намечу дальнейшие шаги.

Что сделано. Не буду говорить о серверной части. Она почти не
изменяется. Основная работа сейчас идет над клиентской частью.
Если смотреть с точки зрения пользовательского интерфейса, то
приложение имеет три раздела - работа со справочниками, работа с
бухгалтерскими операциями (ввод первичных бухгалтерских документов) и
работа с отчетами. Реализованы пока первые два. Работа с отчетами пока
не сделана, но это самая простая часть приложения, вся необходимая для
нее серверная компонента уже готова. Наиболее сложная - это вторая
часть - работа с операциями. Вся полезность приложения, все его
назначение сосредоточено именно в ней. По умолчанию ядро генерирует
пользовательский интерфейс для бухгалтерской операции (форму ввода
первичного документа) исходя из описания типовой бухгалтерской
операции. Но такая автоматическая генерация не всегда способна
обеспечить весь необходимый набор функций для ввода первичного
документа. Тут необходим скриптовый язык, который позволит "доразвить"
функционал, созданный по умолчанию. Скриптовый движок уже создан, но
требуется развитие его возможностей и постоянная его обкатка на новых
бухгалтерских операциях. Создан так же "мастер", который облегчает
создание новых операций.
Т.к. работа с операциями - это наиболее сложная компонента и работа
над ней еще не завершена, то я планирую сосредоточиться именно на ней.
Я буду добавлять новые бухгалтерские операции одну за другой и
обкатывать эту компоненту, при необходимости писать скрипты. Обкатку я
планирую делать на данных наиболее приближенных к реальным. Поэтому
мне уже нужен фунционал по автоматической загрузке накладных от
поставщика и его прайсов. Отсюда мои разговоры про CommerceML. Это
будет видимо самый распространенный вариант загрузки накладных из 1С.
Вообще автоматическую загрузку я считаю приоритетной вещью.
После того, как будет создан необходимый набор бухгалтерских операций
для работы в розничной торговле запчастями, я займусь третьей
компонентой приложения - отчетами.
Но все эти отчеты и операции останутся только на экране, если мы не
реализуем модуль печати. Им тоже нужно начать уже заниматься.
Из дальнейшего развития я вижу следующее. Необходимо будет более четко
проработать систему разграничения прав пользователей. Надо будет
сделать возможность загрузки-выгрузки конфигурации системы. И очень
желательно сделать систему обновления приложения и конфигурации через
Интернет.
Очень важным считаю развитие пользовательской документации.
В общем, работы еще очень и очень много.

Александр Руденко

unread,
Feb 3, 2012, 3:39:05 PM2/3/12
to qbal...@googlegroups.com
Ок. Я тебя понял, не могу сказать, что со всем согласен, но работать будем.
Свою задачу вижу всё в том же - написать пригодный к употреблению модуль печати, который начал делать перед отъездом.
Оцени приоритеты, и выясни, как скоро необхожим парсер CommerceML. Я рассмотрел формат и схемы - писать его не очень долго, но это тоже время.

Vladimir

unread,
Feb 4, 2012, 12:49:56 AM2/4/12
to qbalance
Я сделаю простейший парсер для CommerceML на скриптах. Большего пока и
не нужно. Но он необходим, чтобы можно было отлаживать приложение на
реальных объемах данных и правильно оценивать быстродействие.

Александр Руденко

unread,
Feb 5, 2012, 10:21:39 AM2/5/12
to qbal...@googlegroups.com
Ок. Я буду делать отчетник и печать. На OpenRPT. Сейчас как раз просматривают, как оно в OpenERP интегрировано.

Drake

unread,
Feb 9, 2012, 7:51:54 AM2/9/12
to qbalance
И, кстати, пока вычитаю уже написанную документацию.
У нас есть красивые картиночки с потоками данных "Ядро-модули" и
"Сервер-клиент"?
Если нет, стоит прямо сейчас плюнуть на все, и озаботиться
картиночками.
Иначе их нарисую я.

Владимир Морозов

unread,
Feb 9, 2012, 11:23:18 AM2/9/12
to qbal...@googlegroups.com
09.02.2012 16:51, Drake О©╫О©╫О©╫О©╫О©╫:
> О©╫, О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
> О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ "О©╫О©╫О©╫О©╫-О©╫О©╫О©╫О©╫О©╫О©╫" О©╫
> "О©╫О©╫О©╫О©╫О©╫О©╫-О©╫О©╫О©╫О©╫О©╫О©╫"?
> О©╫О©╫О©╫О©╫ О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
> О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫.
О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫? О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫
О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫? О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ UML?

Drake

unread,
Feb 10, 2012, 12:19:10 AM2/10/12
to qbalance
Нет.
Я о схеме приложения в целом.
Квадратики, подписи "Ядро-модуль" и надписи "Он делает вот это", и
стрелочки "отсюда это идёт сюда".
Трижды. Для сервера, для клиента, для взаимодействия клиента и
сервера.
И ещё я о документе, в котором будет описаны:
1. Цели разработки (который раз уже об этом говорим)
2. Назначение разработанной софтины, а именно:
2.1. Предполагаемые потребители.
2.2. Вытекающая оттуда предполагаемая среда исполнения.

В общем, о том, о чем мы с тобой разговаривали.
Это называется проектирование.

Vladimir

unread,
Feb 26, 2012, 1:42:07 AM2/26/12
to qbalance
Извиняюсь за долгое молчание. Дела навалились (делал и делаю ремонт).

Чувствую, что настало время сосредоточиться на документации для
разработчика, иначе не будет никакого продвижения вперед, а будем как
лебедь, рак и щука.
У меня конечно нет опыта разработки такой документации, но мне
представляется, что не получится одной схемы приложения в целом. На
одной схеме не отобразить все аспекты взаимодействия модулей. Можно
сделать набор схем, которые будут отображать разные сценарии
взаимодействия модулей (открытие списка документов, создание нового
документа, добавление записи в документ, вызов скриптов и т.п.). Т.е.
тех сценариев, которые наиболее важны для понимания работы программы.
Про цели разработки. Не понимаю, почему этот вопрос мне задают
постоянно. Мол цели не определены, поэтому мы будем топтаться на
месте. Ну вроде бы очевидно же, что не полет на Марс является целью, а
таковой является попытка создать кроссплатформенную бухгалтерскую
платформу. Не будем сравнивать ее с 1С, хотя назначение то же самое. С
помощью этой платформы можно будет создавать конфигурации (термин из
1С за неимением другого), которые и будут определять круг потребителей
"софтины".
В конфигурацию входят:
1. Набор справочников и запросов для предметной области, а так же
специализированных форм для их просмотра и скриптов, если это
необходимо
2. План счетов и список типовых операций
3. Скрипты и формы для тех типовых операций, которые нуждаются в
дополнительном развитии функционала.
4. Набор шаблонов и скриптов для первичных документов
5. Набор шаблонов, запросов и скриптов для отчетов
6. Список пользователей и их полномочий распоряжаться справочниками,
операциями и отчетами.

Первая конфигурация будет для розничной торговли запчастями.

Про среду исполнения - не понял, что имеется в виду.


TI_Eugene

unread,
Feb 27, 2012, 6:33:36 AM2/27/12
to qbal...@googlegroups.com
1. Хорошо бы еще_и/сначала документацию для тестера - как это всё дело
с нуля развернуть. У меня пока не получилось :-(
2. тут мне намедни поступил намек на заказ онлайновой бухгалтерии.
Ничего такого - просто первичка (пока). Если вся бизнес-логика
заключена в PL/SQL в постгресе - пуркуа бы не совместить? Qt-морда /
веб-морда - какая разница?
3. еще хорошо бы скриптование - [и] на питоне. Никакой религии -
просто выразительность, возможности и библиотеки питона несопоставимы
с ECMA-script.

PS. не лаяться - ок? Без холиваров - просто мои пять.

26 февраля 2012 г. 10:42 пользователь Vladimir
<Morozov...@mail.ru> написал:

Drake

unread,
Feb 27, 2012, 9:30:31 AM2/27/12
to qbalance
2TI_Eugene
Гугли LedgerSMB.
3. Несопоставимы. Именно потому питон и не нужен - он до ECMA
недотягивает.

2Vladimir:
Одной схемой, конечно, не обойдёшься.
Потому я и говорил о трёх схемах.
Про очевидные цели - неа. Мне не очевидны. Я вообще все делаю just for
fun. В отсутствие конкретных и прописанных целей мои развлечения будут
рушить весь проект раз за разом.

Среда исполнения. Пример. Локальная сеть небольшого предприятия.
Хорошая пропускная способность, слабые машины, удалось насобирать на
более-менее нормальный сервер, на котором, кроме потсгреса, крутится
еще что-то.
Это нужно для того, чтобы услышав что-то воде "Зачем запрашивать
данные в отчет, ведь они уже в форме. Давайте экономить, вдруг
пользователь работает через интернет" я мог со спокойной совестью
отправить говорящего не к чтению литературы, а к прописанным целям. И
вытекающей среде. Которая кагбе намекает - ну нет там работы в
интернетах. Совсем. А если есть - то с нормальным каналом.

TI_Eugene

unread,
Feb 27, 2012, 9:34:16 AM2/27/12
to qbal...@googlegroups.com
27 февраля 2012 г. 18:30 пользователь Drake <drake...@gmail.com> написал:
> 2TI_Eugene
> Гугли LedgerSMB.

Гуглил пяток лет назад.
1. php. Мне лично - неудобно.
2. несопоставимо с нашим планом счетов (везет же ж людям...)

> 3. Несопоставимы. Именно потому питон и не нужен - он до ECMA недотягивает.

No comments

Drake

unread,
Feb 27, 2012, 10:45:07 AM2/27/12
to qbalance
Насчет Леджера - там, по-моему, именно что вся логика в базе. Если я
их верно понял, конечно. Но вот несопоставимость с планом счетов -
печально, да. Оно совсем не лечится? Ну, там, переписать что-то,
дописать. Я в коде не копался, так, о приложении почитал немного.

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

TI_Eugene

unread,
Feb 27, 2012, 11:01:49 AM2/27/12
to qbal...@googlegroups.com
27 февраля 2012 г. 19:45 пользователь Drake <drake...@gmail.com> написал:

> Насчет Леджера - там, по-моему, именно что вся логика в базе. Если я
> их верно понял, конечно. Но вот несопоставимость с планом счетов -
> печально, да. Оно совсем не лечится? Ну, там, переписать что-то,
> дописать. Я в коде не копался, так, о приложении почитал немного.

Да там немного вообще переписать...
Привести план счетов РФ к общемировым стандартам - и всё.
Т.е. не стопиццот счетов - а "пришло - ушло - осталось".

Drake

unread,
Feb 27, 2012, 11:31:46 AM2/27/12
to qbalance
Сарказм?:)
Я в предметной области не особо, потому и интересуюсь. Можно ли лэджер
приспособить под российский план счетов?

Vladimir

unread,
Feb 27, 2012, 1:12:21 PM2/27/12
to qbalance
On 27 фев, 15:33, TI_Eugene <ti.eug...@gmail.com> wrote:
> 1. Хорошо бы еще_и/сначала документацию для тестера - как это всё дело
> с нуля развернуть. У меня пока не получилось :-(
Тут видимо мне нужно еще поустанавливать приложение на чистой машине и
над README поработать.

> 2. тут мне намедни поступил намек на заказ онлайновой бухгалтерии.
> Ничего такого - просто первичка (пока). Если вся бизнес-логика
> заключена в PL/SQL в постгресе - пуркуа бы не совместить? Qt-морда /
> веб-морда - какая разница?

Идея хорошая насчет совмещения. Но здесь не вся бизнес-логика
обрабатывается сервером. На сервере обрабатывается только чисто
бухгалтерская составляющая. Чтобы понять, как все работает нужно
начать очень подробно разбирать какой-нибудь пример (бизнес-
прецедент).

> 3. еще хорошо бы скриптование - [и] на питоне. Никакой религии -
> просто выразительность, возможности и библиотеки питона несопоставимы
> с ECMA-script.

Возможно. Если есть такой интерпретатор Питона, который можно встроить
в приложение, написанное на С++. Скриптование выделено в отдельный
слой, поэтому приложение не потребуется целиком переписывать. По
крайней мере так задумано, и если что, то этого нужно добиться. Но
пока отвлекаться на Питон мы не будем.

Vladimir

unread,
Feb 27, 2012, 2:05:54 PM2/27/12
to qbalance
> Среда исполнения. Пример. Локальная сеть небольшого предприятия.
> Хорошая пропускная способность, слабые машины, удалось насобирать на
> более-менее нормальный сервер, на котором, кроме потсгреса, крутится
> еще что-то.
> Это нужно для того, чтобы услышав что-то воде "Зачем запрашивать
> данные в отчет, ведь они уже в форме. Давайте экономить, вдруг
> пользователь работает через интернет" я мог со спокойной совестью
> отправить говорящего не к чтению литературы, а к прописанным целям. И
> вытекающей среде. Которая кагбе намекает - ну нет там работы в
> интернетах. Совсем. А если есть - то с нормальным каналом.
Понял, что ты имеешь в виду. Преимущества клиент-серверной архитектуры
как раз в том, что мы имеем возможность работать на узких каналах,
получая от сервера только необходимый минимум данных, а всю
ресурсоемкую прорисовку GUI оставляем клиенту. В таком случае с
легкостью организуется распределенная работа с единой базой через
Интернет. Зачем нам терять такое ценное преимущество? Вон в 1С (если
не рассматривать случай с сервером 1С) этот вопрос решается только
через терминальный сервер. А это уже совсем другая стоимость ОС. Я уже
4 года через Интернет работаю на прототипе нашей программы. Нет, нам
решительно нужно за основной режим брать работу через Интернет,
экономить трафик, а уж в локалке это будет мухой летать.

Eugene Pivnev

unread,
Feb 27, 2012, 10:42:57 PM2/27/12
to qbal...@googlegroups.com
On 27.02.2012 22:12, Vladimir wrote:
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
> О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫++. О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
> О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫, О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫
> О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫.
О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
О©╫О©╫О©╫О©╫О©╫О©╫ - О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫-О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ qt.
PySide, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫. О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ PyQt.

Drake

unread,
Feb 27, 2012, 11:16:30 PM2/27/12
to qbalance
PySide - просто еще один биндинг Qt к Питону, аналогичный PyQt (и даже
неплозо совместимый с ним на уровне API), и разработанный из-за
расхождений в политике лицензирования. Не?

Eugene Pivnev

unread,
Feb 28, 2012, 12:54:59 AM2/28/12
to qbal...@googlegroups.com
On 28.02.2012 08:16, Drake wrote:
> PySide - О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ Qt О©╫ О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ PyQt (О©╫ О©╫О©╫О©╫О©╫
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ API), О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫-О©╫О©╫
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫?
О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ - О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
http://pythonqt.sourceforge.net/

Vladimir

unread,
Feb 28, 2012, 2:55:58 AM2/28/12
to qbalance
> PySide, . , PyQt.
Как у них решается вопрос взаимодействия с объектами С++ основного
приложения во время выполнения скриптов?

Eugene Pivnev

unread,
Feb 28, 2012, 3:02:24 AM2/28/12
to qbal...@googlegroups.com
On 28.02.2012 11:55, Vladimir wrote:
>> PySide, . , PyQt.
> О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫++ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫?
PyQt - О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ Qt. О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ (О©╫О©╫О©╫О©╫О©╫О©╫О©╫
О©╫О©╫О©╫О©╫О©╫О©╫).
О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ - О©╫О©╫ python, О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫
C++-О©╫О©╫О©╫О©╫ (О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ sip) - О©╫ О©╫О©╫О©╫О©╫О©╫О©╫.

О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ C++ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ python, О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ C++... О©╫.О©╫. О©╫О©╫О©╫О©╫
callback... О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫/О©╫О©╫О©╫О©╫О©╫О©╫О©╫

Eugene Pivnev

unread,
Feb 28, 2012, 3:06:20 AM2/28/12
to qbal...@googlegroups.com
On 28.02.2012 11:55, Vladimir wrote:
>> PySide, . , PyQt.
> О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫++ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫?
О©╫О©╫О©╫О©╫О©╫ - О©╫О©╫О©╫-О©╫О©╫ О©╫О©╫О©╫-О©╫О©╫ О©╫О©╫О©╫: http://habrahabr.ru/blogs/qt_software/120479/

Vladimir

unread,
Feb 28, 2012, 3:37:21 AM2/28/12
to qbalance
> - - - :http://habrahabr.ru/blogs/qt_software/120479/
Спасибо за ссылку. Очень интересно, похоже действительно можно
встраивать скрипты на Питоне в приложение на С++. Тут есть над чем
подумать. Я предполагаю сделать так:
1. Выделить весь скриптинг в отдельный слой (фабрику).
2. Обеспечить в приложении возможность выбора типа скриптов -
ECMAScript или Python.
3. В зависимости от типа скриптов фабрика подключает соответствующий
модуль.
4. Сервер соответственно настройкам выдает приложению соответствующие
тексты скриптов
5. Документировать объекты и функции ядра, которые могут
использоваться в скриптах.
Но писать сами скрипты на Питоне нет возможности (времени). Тут я
думаю положиться на тех, у кого такая возможность есть. Со своей
стороны я обеспечу документацию по ядру и ответы на все вопросы.

P.S. Не пишите, пожалуйста, ответы в почтовом клиенте, иначе здесь
(http://groups.google.com/group/qbalance/browse_thread/thread/
abf202ac737d1b14) получается каша.

TI_Eugene

unread,
Feb 28, 2012, 3:55:40 AM2/28/12
to qbalance
Сорри, забыл.

От себя могу добавить, что по моему небольшому опыту разработка
приложения на PyQt, отладка и перепиливание на C++ занимает в
несколько раз меньше времени, чем написание с нуля. Это касается
небольшого приложения с отладкой каких-то тонких моментов (типа http,
базы, эти ваши MVC).
После перепиливания (поиск/замена) получается отлаженная логика и
готовая пачка классов - осталось правильно создавать объекты.
В статье мы видим, как человек

Ненене, это личное мнение. Я могу писать как на C++ так и на питоне,
но в первом случае раздражает, что 90% времени борешься с сегфаултами,
а не с логикой.

Просто если будет возможность _быстро_ включить в qbalance какую-то
свою логику на питоне, потыкать палочкой - а потом передать C++-
программеру - это было бы прекрасно.

TI_Eugene

unread,
Feb 28, 2012, 3:59:03 AM2/28/12
to qbalance
Эть...
...как человек показывает, как можно перекидывать код из питона в C++.
Частями

Vladimir

unread,
Feb 28, 2012, 7:39:56 AM2/28/12
to qbalance
Посмотрел повнимательнее. Во всех подобных примерах приложение на С++
используется в качестве библиотеки и запускается все это хозяйство из
Питона. Т.е. получается, что чтобы иметь возможность скрипты писать на
Питоне, нам все приложение нужно запускать из-под него. Примеров,
когда приложение на С++ запускает Питон и скрипты я пока не нашел.

Eugene Pivnev

unread,
Feb 28, 2012, 10:35:12 AM2/28/12
to qbal...@googlegroups.com
On 28.02.2012 16:39, Vladimir wrote:
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫++
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫
> О©╫О©╫О©╫О©╫О©╫О©╫. О©╫.О©╫. О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫
> О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫-О©╫О©╫О©╫ О©╫О©╫О©╫О©╫. О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫,
> О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫++ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫.
О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ C++, О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫,
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫.
О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ - О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ - PythonQt

Vladimir

unread,
Feb 28, 2012, 11:01:46 AM2/28/12
to qbalance
Да, именно так: Питон запускает прогу на С++, которая запускает
скрипты на Питоне. Это не совсем то, что нужно.

Vladimir

unread,
Feb 28, 2012, 11:11:20 AM2/28/12
to qbalance
А вот PythonQt - это похоже то, что нужно.

Drake

unread,
Mar 5, 2012, 4:21:05 AM3/5/12
to qbal...@googlegroups.com
Так что с картиночками? Будут, нет?

вторник, 28 февраля 2012 г. 20:11:20 UTC+4 пользователь Vladimir написал:

Vladimir

unread,
Mar 5, 2012, 7:51:48 AM3/5/12
to qbalance
Давай конкретизируем, какие именно картиночки нужны в первую очередь.
И я так думаю, что лучше не картиночки, а полноценная документация.
Т.к. самый сложный кусок в работе программы - это работа с
документами, предлагаю пока такой список диаграмм UML:
1. Диаграмма последовательностей при создании нового документа с
примером
2. --"-- при добавлении
новой строки в документ с примером
3. --"-- работы скриптов
в документе с примером скриптов и пользовательской формой
По срокам пока сказать не могу. Но вот только доделаю текущий кусочек
работы (сохранение-восстановление скриптовых переменных в документе),
так и возьмусь за эти диаграммы.
Или диаграммы UML не устраивают?

TI_Eugene

unread,
Mar 5, 2012, 8:09:08 AM3/5/12
to qbal...@googlegroups.com
У меня в гуглегруппе этого письма нет, почему-то.
Пишу из уеб-жмыла, если что - сорри.

Я правильно понимаю, что бизнес-логика делается на PL/SQL?

5 марта 2012 г. 16:51 пользователь Vladimir <Morozov...@mail.ru> написал:

Vladimir

unread,
Mar 5, 2012, 10:21:00 AM3/5/12
to qbalance
> Я правильно понимаю, что бизнес-логика делается на PL/SQL?
Что вы понимаете под бизнес-логикой? Можно пример? Здесь на PL/SQL
делается только "бухгалтерская" логика.

TI_Eugene

unread,
Mar 5, 2012, 10:26:17 AM3/5/12
to qbal...@googlegroups.com
Тогда, видимо, полезно развернуть - ке с ке се "бухгалтерская логика".

5 марта 2012 г. 19:21 пользователь Vladimir <Morozov...@mail.ru> написал:

Александр Руденко

unread,
Mar 5, 2012, 11:03:40 AM3/5/12
to qbal...@googlegroups.com
TI_Eugene:
Бизнес-логика - правила поведения объектов предметной области.

2Vladimir:
Каким образом пользовательские юз-кейсы могут заменить схематическое описание архитектуры приложения? В общем да. Я сам нарисую.

TI_Eugene

unread,
Mar 5, 2012, 11:06:43 AM3/5/12
to qbal...@googlegroups.com
5 марта 2012 г. 20:03 пользователь Александр Руденко
<drake...@gmail.com> написал:

> TI_Eugene:
> Бизнес-логика - правила поведения объектов предметной области.

Это всё понятно.
Вопрос - какими средствами.

Александр Руденко

unread,
Mar 5, 2012, 11:13:27 AM3/5/12
to qbal...@googlegroups.com
Клиентскими. На самом деле, там в коде понамешано так, что не разберёшь, где логика на самом деле находится.
Когда-нибудь перенесём на сервер. А пока так будет.

5 марта 2012 г. 20:06 пользователь TI_Eugene <ti.e...@gmail.com> написал:

TI_Eugene

unread,
Mar 5, 2012, 11:16:54 AM3/5/12
to qbal...@googlegroups.com
Я таки правильно понимаю, что некая часть некой логики - на PL/SQL?

5 марта 2012 г. 20:13 пользователь Александр Руденко

Александр Руденко

unread,
Mar 5, 2012, 11:21:47 AM3/5/12
to qbal...@googlegroups.com
Таки да.

5 марта 2012 г. 20:16 пользователь TI_Eugene <ti.e...@gmail.com> написал:

TI_Eugene

unread,
Mar 5, 2012, 11:35:10 AM3/5/12
to qbal...@googlegroups.com
Пичалька...

Хотя - дело принципа, конечно.

5 марта 2012 г. 20:21 пользователь Александр Руденко
<drake...@gmail.com> написал:

Александр Руденко

unread,
Mar 5, 2012, 11:39:48 AM3/5/12
to qbal...@googlegroups.com
Ох, хотел бы я знать, какого принципа это дело. Ибо именно этот принцип я хочу лицезреть в виде картинок. Но что-то никак.

5 марта 2012 г. 20:35 пользователь TI_Eugene <ti.e...@gmail.com> написал:

TI_Eugene

unread,
Mar 5, 2012, 11:42:11 AM3/5/12
to qbal...@googlegroups.com
Мне кажется, что решение на базе PL/SQL (или других встроенных в RDBMS
языках) будет не слишком популярно среди сторонних девелов...

Мне так кажется...

5 марта 2012 г. 20:39 пользователь Александр Руденко

Александр Руденко

unread,
Mar 5, 2012, 11:44:46 AM3/5/12
to qbal...@googlegroups.com
Сторонних по отношению к чему?
Ну и, опять же, казаться может что угодно.
Плюс, у нас под рукой всегда есть скриптованный интерфейс.
Управлять через него серверной логикой - не проблема.

5 марта 2012 г. 20:42 пользователь TI_Eugene <ti.e...@gmail.com> написал:

TI_Eugene

unread,
Mar 5, 2012, 12:07:33 PM3/5/12
to qbal...@googlegroups.com
По отношению к qbalance.

Видимо - полезно было бы начать сначала:
* цель проекта (что)
* целевая аудитория (кому)
* область детельности (где)
* ключевые преимущества
* финансы (кем)

Если это проект just-4-fun - можно не писать ничего.

5 марта 2012 г. 20:44 пользователь Александр Руденко

Vladimir

unread,
Mar 5, 2012, 12:08:15 PM3/5/12
to qbalance
> Тогда, видимо, полезно развернуть - ке с ке се "бухгалтерская логика".
Это просто сказано в противовес бизнес-логике. Т.е. клиент не
заботится о бухгалтерских транзакциях. Он просто отправляет на сервер
проводку с указанием в ней дебетового счета и кода объекта учета,
кредитового счета и кода объекта учета, количества, цены и суммы, а
сервер сам эту проводку проводит, т.е. считает сальдо дебетового и
кредитового счета. Задача клиента - сформировать такие проводки. Для
этого он открывает все необходимые справочники.

Все же для понимания необходим пример. Назовите пример бизнес-логики.

Александр Руденко

unread,
Mar 5, 2012, 12:10:40 PM3/5/12
to qbal...@googlegroups.com
Ты меня цитируешь.

5 марта 2012 г. 21:07 пользователь TI_Eugene <ti.e...@gmail.com> написал:

Vladimir

unread,
Mar 5, 2012, 12:11:35 PM3/5/12
to qbalance
> На самом деле, там в коде понамешано так, что не разберёшь,
> где логика на самом деле находится.
Поясняю еще раз. Сервер занимается только бухгалтерскими проводками.
Все остальное - задача клиента. Бухгалтерскую проводку еще нужно
правильно сформировать. Вот этим и занимается клиент. Сервер только
проводит эти проводки.

TI_Eugene

unread,
Mar 5, 2012, 12:13:47 PM3/5/12
to qbal...@googlegroups.com
5 марта 2012 г. 21:11 пользователь Vladimir <Morozov...@mail.ru> написал:

>> На самом деле, там в коде понамешано так, что не разберёшь,
>> где логика на самом деле находится.
> Поясняю еще раз. Сервер занимается только бухгалтерскими проводками.

А если мне нужен только оперативный учет?

Vladimir

unread,
Mar 5, 2012, 12:16:08 PM3/5/12
to qbalance
On 5 мар, 21:07, TI_Eugene <ti.eug...@gmail.com> wrote:
> Видимо - полезно было бы начать сначала:
> * цель проекта (что)
> * целевая аудитория (кому)
> * область детельности (где)
> * ключевые преимущества
> * финансы (кем)
>
> Если это проект just-4-fun - можно не писать ничего.

Наверное придется все же когда-нибудь написать F.A.Q. и отсылать к
нему. Последнее высказывание не понял на чем основано.

Vladimir

unread,
Mar 5, 2012, 12:20:41 PM3/5/12
to qbalance
> А если мне нужен только оперативный учет?

Видимо проблема в том, что у вас стереотипы из 1С. Разве оперативный
учет не подразумевает ведение бух.учета (создания проводок)? А как
тогда узнать остатки товара или задолженность перед поставщиками?

Vladimir

unread,
Mar 5, 2012, 12:22:43 PM3/5/12
to qbalance
2TI_Eugene

Настаиваю рассмотреть подробно какой-нибудь бизнес-прецедент (пример
бизнес-логики). Выберите какой.

TI_Eugene

unread,
Mar 5, 2012, 12:26:25 PM3/5/12
to qbal...@googlegroups.com
5 марта 2012 г. 21:20 пользователь Vladimir <Morozov...@mail.ru> написал:

>> А если мне нужен только оперативный учет?
>
> Видимо проблема в том, что у вас стереотипы из 1С. Разве оперативный
> учет не подразумевает ведение бух.учета (создания проводок)?

Ни в коем случае.
Оперативный учет - это когда я хочу знать - сколько у меня _реально_
ресурсов (в деньгах):
1. есть
2. будет
3. не будет

> А как тогда узнать остатки товара или задолженность перед поставщиками?

Ну не из остатков по бухсчетам, ессно.

TI_Eugene

unread,
Mar 5, 2012, 12:28:07 PM3/5/12
to qbal...@googlegroups.com
Я тоже настаиваю.

Например: https://docs.google.com/document/d/1mX8K2puHou1d_uo7Vrou4gc-KPwvS29FlGk9IZFhXG0/edit

5 марта 2012 г. 21:22 пользователь Vladimir <Morozov...@mail.ru> написал:

Александр Руденко

unread,
Mar 5, 2012, 12:59:20 PM3/5/12
to qbal...@googlegroups.com
Воот. Я хочу то же самое, но в картинках:)

5 марта 2012 г. 21:28 пользователь TI_Eugene <ti.e...@gmail.com> написал:

TI_Eugene

unread,
Mar 5, 2012, 1:15:40 PM3/5/12
to qbal...@googlegroups.com
Уже давайте уже тогда начать рисовать в картинках.
Например - в UML :-)

5 марта 2012 г. 21:59 пользователь Александр Руденко
<drake...@gmail.com> написал:

Александр Руденко

unread,
Mar 5, 2012, 3:57:39 PM3/5/12
to qbal...@googlegroups.com
UML здесь не причем.

5 марта 2012 г. 22:15 пользователь TI_Eugene <ti.e...@gmail.com> написал:

Drake

unread,
Mar 6, 2012, 12:07:44 AM3/6/12
to qbal...@googlegroups.com
Упомянутая тобой "бухгалтерская логика" может служить отличным примером бизнес-логики.
Reply all
Reply to author
Forward
0 new messages