Skip to Content
Odoo Меню
  • Увійти
  • Спробуйте це безкоштовно
  • Додатки
    Фінанси
    • Бухоблік
    • Виставлення рахунку
    • Витрати
    • Електронні таблиці (BI)
    • Документи
    • Підпис
    Продажі
    • CRM
    • Продажі
    • POS Магазин
    • POS Ресторан
    • Підписки
    • Оренда
    Веб-сайти
    • Конструктор веб-сайту
    • Електронна комерція
    • Блог
    • Форум
    • Живий чат
    • Електронне навчання
    Ланцюг поставок
    • Склад
    • Виробництво
    • PLM
    • Купівлі
    • Технічне обслуговування
    • Якість
    Кадри
    • Співробітники
    • Рекрутинг
    • Відпустки
    • Оцінювання
    • Рекомендації
    • Автотранспорт
    Маркетинг
    • Маркетинг соцмереж
    • Email-маркетинг
    • SMS-маркетинг
    • Події
    • Автом. маркетингу
    • Опитування
    Послуги
    • Проект
    • Табелі
    • Виїзне обслуговування
    • Служба підтримки
    • Планування
    • Призначення
    Продуктивність
    • Обговорення
    • Схвалення
    • IoT
    • IP-телефонія
    • База знань
    • WhatsApp
    Сторонні модулі Odoo Studio Платформа Odoo Cloud
  • Сфери
    Роздрібна торгівля
    • Книжковий магазин
    • Магазин одягу
    • Магазин меблів
    • Продуктовий магазин
    • Магазин будівельних матеріалів
    • Магазин іграшок
    Food & Hospitality
    • Бар та паб
    • Ресторан
    • Фастфуд
    • Guest House
    • Дистриб'ютор напоїв
    • Hotel
    Нерухомість
    • Real Estate Agency
    • Архітектурна фірма
    • Будівництво
    • Управління нерухомістю
    • Садівництво
    • Асоціація власників нерухомості
    Консалтинг
    • Бухгалтерська компанія
    • Партнер Odoo
    • Агенція маркетингу
    • Юридична фірма
    • Придбання Талантів
    • Аудит та сертифікація
    Виробництво
    • Textile
    • Metal
    • Меблі
    • Їжа
    • Brewery
    • Корпоративні подарунки
    Здоров'я & Фітнес
    • Спортивний клуб
    • Оптика
    • Фітнес-центр
    • Практики здоров'я
    • Аптека
    • Салон краси
    Trades
    • Ремонтник
    • IT-обладнання та Підтримка
    • Системи сонячної енергії
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Інші
    • Nonprofit Organization
    • Екологічна агенція
    • Оренда білбордів
    • Фотографія
    • Лізинг велосипедів
    • Реселлер програмного забезпечення
    Browse all Industries
  • Спільнота
    Навчання
    • Навчальний посібник
    • Документація
    • Сертифікації
    • Тренування
    • Блог
    • Подкаст
    Сприяйте Освіті
    • Програма навчання
    • Бізнес гра Scale Up!
    • Відвідайте Odoo
    Отримайте програмне забезпечення
    • Завантаження
    • Порівняйте версії
    • Релізи
    Співпрацюйте
    • Github
    • Форум
    • Події
    • Переклади
    • Стати партнером
    • Services for Partners
    • Зареєструйте вашу бухгалтерську фірму
    Отримайте послуги
    • Знайдіть партнера
    • Знайдіть бухгалтера
    • Зустріньтеся з консультантом
    • Послуги з впровадження
    • Референси клієнтів
    • Підтримка
    • Оновлення
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Отримати демо
  • Ціни
  • Допомога

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Бухоблік
  • Склад
  • PoS
  • Проект
  • MRP
All apps
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
All Posts Люди Значки
Мітки (View all)
odoo accounting v14 pos v15
Про цей форум
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
All Posts Люди Значки
Мітки (View all)
odoo accounting v14 pos v15
Про цей форум
Допомога

opcode STORE_FAST not allowed ('lambda') error when Incoming Server's Server Action is set with Python code that is writing to a browse object

Підписатися

Отримуйте сповіщення про активність щодо цієї публікації

Це запитання позначене
serveremailopenerp7parsing
2 Відповіді
10128 Переглядів
Аватар
Ivan

We are getting opcode STORE_FAST not allowed ('lambda') error when Incoming Server's Server Action is set with Python code that is writing to a browse object.

We are using python version 2.7.3. OpenERP 7.0 server revno 5281.

From what we have tested, if the Server Action does not call any ORM's write method, the action will be executed OK.  But once it call the write method, although if an empty dictionary is passed to the method, the above error message is raised from line 140 of server/openerp/tools/safe_eval.py (where server is the OpenERP's server directory).

Appreciate if anybody can provide insight to this.

0
Аватар
Відмінити
Аватар
Ivan
Автор Найкраща відповідь

Hi Med Said, thank you for your response.  The following is the Python Code we put into the Server Action:

def parse_description(description):
    fields=['name','company','address','phone','mobile','email','message']
    _dict={}
    description=description.lower()
    for line in description.split('\n'):
        for field in fields:
            if field in line:
                split_line=line.split(':')
                if len(split_line)>1:
                    _dict[field]=line.split(':')[1]
    return _dict

lead=self.browse(cr,uid,context['active_id'],context=context)
description=lead['description']
_dict=parse_description(description)
self.write(cr,uid,context['active_id'],{
                        'name':_dict.get('name'),
                        'partner_name':_dict.get('company'),
                        'phone':_dict.get('phone'),
                        'mobile':_dict.get('mobile'),
                        'contact_name':_dict.get('name'),
                        'email_from':_dict.get('email'),
                        'street':_dict.get('address'),
                        'description':_dict.get('message')}, context=context)

We are not sure which part is causing the STORE_FAST opcode.  We have tested to compile the same string under normal python and the dis of the compile code does not list STORE_FAST either.

 

EDIT:

After further testing, we found out that if the code in Python code contains a named method, it raises the said error.  Further reading into the openerp/tools/safe_eval.py file in OpenERP server lines 143 and 144 seems to support the suspicion.  Any way, refactoring the method from the Python Code (making it into normal calls without methods) seems to resolve the issue.

Also it seems that STORE_FAST, along with LOAD_FAST and DELETE_FAST has been listed as allowable opcode since revno 5290 in launchpad or revision 4836354 in github (28 Apr 2014).

 

0
Аватар
Відмінити
Аватар
Med Said BARA
Найкраща відповідь

Your code is considered as unsafe, probably you've provided a name with two underscore (__name__).

Can you post an example of your code ?

(added after response from John Doe)

The only thing i see in your code that can be related to "dunder" is: _dict=parse_description (maybe putting a space before and after = can resolve this ...).

Another important thing is at line 10: Why are you splitting a second time ? This is done 2 lines above, try to replace with: _dict[field]=split.line[1]

0
Аватар
Відмінити
Ivan
Автор

Med Said BARA, Thank you for your further edits. I've also edited by Questions and the problem does not seems to be from names with underscores. Also thank you for the split hint. Yes, we should've use split _dict[field]=line[1] instead.

Med Said BARA

I will try to test on my side, using your code to see if the error is reproducible.

Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Реєстрація
Related Posts Відповіді Переглядів Дія
[v7] Unable to start properly the openerp server
server openerp7
Аватар
0
груд. 15
3826
Incoming mail marked as read by openerp
email openerp7
Аватар
Аватар
7
бер. 15
7432
Setting up Gmail as External Incoming Mail Server - How to confirm catchall forwarding address Вирішено
server email catchall
Аватар
Аватар
Аватар
Аватар
3
січ. 25
8923
Server Action Email sent in plain text Вирішено
server email actions
Аватар
Аватар
1
лип. 24
9377
Email Alignments not working properly
email openerp7 decode
Аватар
0
лют. 20
3297
Спільнота
  • Навчальний посібник
  • Документація
  • Форум
Open Source
  • Завантаження
  • Github
  • Runbot
  • Переклади
Послуги
  • Хостинг Odoo.sh
  • Підтримка
  • Оновлення
  • Кастомні доробки
  • Навчання
  • Знайдіть бухгалтера
  • Знайдіть партнера
  • Стати партнером
Про нас
  • Наша компанія
  • Торгові активи
  • Зв'яжіться з нами
  • Вакансії
  • Події
  • Подкаст
  • Блог
  • Клієнти
  • Юридичні документи • Конфіденційність
  • Безпека
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo - це набір програм для роботи з відкритим кодом, які охоплюють всі ваші потреби компанії: CRM, електронна комерція, бухгалтерський облік, склад, точка продажу, управління проектами тощо.

Унікальна пропозиція Odoo - це одночасно дуже проста у використанні та повністю інтегрована.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now