OpenERP + skype

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

Посмотреть код:
http://bazaar.launchpad.net/~yelizariev/+junk/openerp-addons-yelizariev/files/head:/res_partner_skype/

Получить из репозитория:
bzr branch lp:~yelizariev/+junk/openerp-addons-yelizariev

OpenERP стихами Чуковского К.И.

Привет всем!
Представляю Вашему вниманию решение нашу разработку по интеграции OpenERP и Asterisk в довольно необычной форме.

Функционал представляет:
Всплывающие уведомления при входящих звонках.
Звонок из правочника парнеров.
Интеграция со справочником партнёров. (При входящем звонке Asterisk определяет номер и OpenERP просматривает текущий справочник партнеров по номеру абонента)
Журнал звонков с записью разговоров
Интеграция с продажами и CRM

Буду раз ответить на все ваши вопросы.

Установка домена для поля many2one

Есть объект «Телефонный звонок».
Есть два поля-списка: «Партнёры» и «Телефонные номера».
«Партнёры» относятся к «Телефонные номера» как one2many (у одного Партнёра может быть n-ное количество Телефонных номеров).
Задача: необходимо, чтобы при выборе Партнёра из списка «Партнёры», в списке «Телефонные номера» отображались только телефонные номера, принадлежащие данному Партнёру. Понимаю, что это возможно выкрутить, но как именно — так и не понял.
P.S. Пока удалось сделать только обратное: при выборе Телефонного номера в списке «Телефонные номера» устанавливается домен для списка «Партнёры», код ниже:

from openerp.osv import fields, osv

class crm_phonecall(osv.osv):

    _inherit = "crm.phonecall"

    _columns = {
        'phonenumber': fields.many2one('phonenumber.phonenumber', 'Phone number', required=True, ondelete='cascade'),

    } 

# Update partner's domain. Leave the only partner that owns selected phonenumber

    def onchange_phonenumber(self, cr, uid, ids, ph_selected):
	if ph_selected > 0:
	    record=self.pool.get('phonenumber.phonenumber').browse(cr, uid, ph_selected, context=None)
	    return {'value': {'partner_id': None},'domain': {'partner_id': [('id','=',record.partner_id.id)]}}  
        return {'value': {'partner_id': None},'domain': {'partner_id':''}} 
 
crm_phonecall();

Фискальный аппарат (ККМ) на OpenERP

Здравствуйте!

Столкнулся с такой проблемой: необходимо «поженить» фискальный аппарат с OpenERP.

Существует проект по подключению «чекового принтера» к OpenERP www.indiegogo.com/projects/opensource-your-shop — проект планируют запустить в январе 14 года. Проект реализуется на основе «железа» (небольшое коммуникационное устройство — называемое PosBOX) и «чекового принтера» с Epson-овским протоколом обмена данными ESC/Pos.

В нашей стране «чековый принтер» можно использовать в организациях работающих на ЕНВД, без упрощенки (а-ля сеть «Пятерочка»). К сожалению в других видах деятельности без ККМ или Фискальника работать нельзя.

Был бы очень признателен, если кто-нибудь поделился своим опытом по подключению Фискального регистратора к OpenERP.

erppeek - утилита для просмотра данных openerp из командной строки

Точнее, это утилита и одноименная библиотека, представляющая обертку поверх стандартного XML-RPC интерфейса openerp. Утилита позволяет быстро получить данные или список полей модели.

Устанавливаем через pip:
pip install erppeek

или через github:
git clone https://github.com/florentx/erppeek/
cd erppeek
python setup.py install


Внимательно читаем документацию, или примеры для ленивых:

Можно получить все поля пользователя с id=1
erppeek -d openerp -u admin -p admin -m res.users 1
{'action_id': False,
  'active': True,
  'alias_defaults': '{}',
  'alias_domain': '',
  'alias_force_thread_id': 1,
  'alias_id': [1, 'admin@'],
  'alias_model_id': [76, 'Users'],
  'alias_name': 'admin',
  'alias_user_id': [1, 'Administrator'],
  'bank_ids': [],
  'birthdate': False,
  'category_id': [],
...

или например, посмотреть активные задания:
erppeek -d openerp -u admin -p admin -m ir.cron -f id -f name 'active=True'
[{'id': 1, 'name': 'AutoVacuum osv_memory objects'},
 {'id': 2, 'name': 'Email Queue Manager'},
 {'id': 4, 'name': 'Garbage Collect Mail Attachments'},
 {'id': 3, 'name': 'Update Notification'}]

посмотреть какие-то параметры:
erppeek -d openerp -u admin -p admin -m ir.config_parameter 'key like database'
[{'id': 2, 'key': 'database.create_date', 'value': '2013-12-24 19:47:55'},
 {'id': 3,
  'key': 'database.uuid',
  'value': '48b49114-6cd4-11e3-aa45-64b9e8c647f8'}]


в целом, эта небольшая утилита очень упрощает жизнь.

Обновление сайта сообщества

Всем привет!

Мы обновили движок сообщества, он содержит ряд новых удобств и функций, также сменился дизайн.

Из главного — появился раздел Форум. Предлагаю перенести общение по вопросам-ответам туда, а в блоги добавлять статьи,  когда есть чем
Читать дальше →

OpenERP в общественной организации

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

Читать дальше →

Разница между Lead и Opportunity

Lead — За рубежом слово «lead» используется в CRM для обозначения потенциального клиента/контракта).
В русском языке аналогов этого слова нет, поэтому часто просто говорят «лид». Например, это общепринятое слово в русскоязычном Microsoft.
Opportunity — потенциальная сделка.
Все много спрашивают: “ Какая разница между lead и opportunity в понятии CRM систем и вообще.” Если вы себе постоянно задаёте этот вопрос, попробуем разобраться в этом. Представьте, что вы, рыбак, который рыбачит в открытом море.

Вы рыбак, берете удочки и пытаетесь поймать рыбу. Ваша цель найти Nemo, это ваш счастливый клиент. Что бы найти Nemo, вам нужно следовать определённой процедуре, сравнимо в последовательность шагов при продаже.

Рыбак = Вы
Удочка = Ваш продукт или сервис.
Море = Ваша территория продаж
Nemo = Ваш счастливый клиент.

Что вы можете найти в море ?

Каждая рыба в море это потенциальный контакт. Более того если рыба плавает с другими рыбам это уже группа или стая рыб и это уже Компания. Поскольку всегда «много рыбы в море», можно сказать что море наводнено от одиночных контактов до больших компаний. Но не многие из них в конце концов станут вашим Nemo.
Читать дальше →