Перейти к содержимому
Odoo Меню
  • Войти
  • Попробовать бесплатно
  • Модули
    Финансы
    • Бухгалтерия
    • Выставление счетов
    • Расходы
    • Таблицы
    • Документооборот
    • Подпись
    Продажи
    • CRM
    • Продажи
    • POS Магазин
    • POS Ресторан
    • Подписки
    • Аренда
    Вебсайты
    • Конструктор вебсайтов
    • eCommerce
    • Блог
    • Форум
    • Онлайн-чат
    • Электронное обучение
    Логистика
    • Склад
    • Производство
    • PLM
    • Закупки
    • Обслуживание
    • Качество
    Отдел кадров
    • Сотрудники
    • Подбор персонала
    • Отпуска
    • Оценка персонала
    • Реферальная программа
    • Автопарк
    Маркетинг
    • SMM
    • E-mail рассылки
    • СМС рассылки
    • Мероприятия
    • Автоматизация маркетинга
    • Опросы
    Услуги
    • Проекты
    • Табели
    • Выездной сервис
    • Поддержка
    • Планирование
    • Встречи
    Продуктивность
    • Обсуждения
    • Согласование
    • IoT
    • VoIP-телефония
    • Knowledge
    • WhatsApp
    Сторонние приложения Модуль Студия Odoo Платформа Odoo Cloud
  • Индустрии
    Розничная торговля
    • Книжный магазин
    • Магазин одежды
    • Мебельный магазин
    • Продуктовый магазин
    • Строительный магазин
    • Магазин игрушек
    Гостинично-ресторанный бизнес
    • Бар и паб
    • Ресторан
    • Фастфуд
    • Гостевой дом
    • Дистрибьютор напитков
    • Отель
    Недвижимость
    • Агентство недвижимости
    • Архитектурное бюро
    • Строительство
    • Управление недвижимостью
    • Ландшафтный дизайн
    • Товарищество собственников жилья
    Консалтинг
    • Бухгалтерская фирма
    • Партнер Odoo
    • Маркетинговое агентство
    • Юридическая фирма
    • Подбор персонала
    • Аудиторское бюро
    Производство
    • Текстиль
    • Металл
    • Мебель
    • Продукты питания
    • Пивоварня
    • Корпоративные сувениры
    Здоровье и фитнес
    • Спортивный комплекс
    • Магазин оптики
    • Фитнес-клуб
    • Велнес-центр
    • Аптека
    • Салон красоты
    Услуги
    • Специалист по бытовым услугам
    • Продажа и обслуживание IT-оборудования
    • Солнечные энергосистемы
    • Производство обуви
    • Клининг
    • Системы ОВКВ
    Прочее
    • Некоммерческая организация
    • Консалтинг в сфере устойчивого развития
    • Аренда рекламных щитов
    • Бизнес по фотосъемке
    • Прокат велосипедов
    • Реселлер программного обеспечения
    Все индустрии
  • Community
    Обучение
    • Видео уроки
    • Документация
    • Сертификация
    • Тренинг
    • Блог
    • Подкаст
    Образование и развитие
    • Образовательная программа
    • Деловая игра Scale Up!
    • Экскурсия в офис Odoo
    ПО
    • Скачать
    • Сравнить версии
    • Релизы
    Сотрудничество
    • Github
    • Форум
    • Мероприятия
    • Перевод
    • Стать партнером
    • Услуги для партнеров
    • Зарегистрировать бухгалтерскую фирму
    Услуги
    • Найти партнера
    • Найти бухгалтера
    • Встреча с экспертом
    • Услуги по внедрению
    • Отзывы клиентов
    • Поддержка
    • Обновления
    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
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Помощь

How do I use a field created in sale.order and display it stock.picking.out

Подписаться

Получайте уведомления о появлении активности в этом посте

Этот вопрос был отмечен
3 Ответы
10370 Представления
Аватар
Cameron

Could some please spell this out for me in plain English

  • I want to display a field from sale.order in stock.picking.out

I have search for ages now and found many answers, but because my programming skills are very limited and the people who answer the questions are experts, the answers tend to leave me spinning!

I have created first module - Chuffed as chips!

The module allows the sales man to identify the type of packaging needed for the order)....

from osv import osv, fields
class sale_packaging_type_field(osv.osv):
    _inherit = 'sale.order'
    _columns = {
        'sale_packaging_type': fields.selection((('our', 'Our Packaging'), ('unmark', 'Unmarked Packaging')), 'Sale Packaging Type'),
    }
    _defaults = {
        'sale_packaging_type': 'a',
    }

and xml view for sales.order

<openerp>
    <data>
        <record model="ir.ui.view" id="sale_packaging_type_field">
            <field name="name">sale.order.form</field>
            <field name="model">sale.order</field>
            <!-- Inherits from base.view_partner_form -->
            <field name="inherit_id" ref="sale.view_order_form" />
            <field name="arch" type="xml">
                <!-- Add the textual field after the website field -->
                <field name="partner_shipping_id" position="after">
                    <field name="sale_packaging_type" />
                </field>
            </field>
        </record>
    </data>
</openerp>

This works great! :)

So now I'm trying to display the field sale_packaging_type in stock.picking.out using sale_id as the link (so the store man knows how to package the order)

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>
        <record model="ir.ui.view" id="sale_packaging_type_out_field">
            <field name="name">stock.picking.out.form</field>
            <field name="model">stock.picking.out</field>
            <!-- Inherits from base.view_partner_form -->
            <field name="inherit_id" ref="stock.view_picking_out_form" />
            <field name="arch" type="xml">
                <!-- Add the textual field after the website field -->
                <field name="stock_journal_id" position="after">
                    <field name="sale_id" /> #Creates a on screen link that the store man can follow - not checked if he has perm'n yet
                </field>
            </field>
        </record>
    </data>
</openerp>

This works as far as displaying sale_id and creating a link

Questions

1) Is there a way to display sale_packaging_type from sale.order using sale_id and only this xml - maybe something similar to what I would use in a rml report? - Yes or No please? ..... If Yes how please? - I've tried this...but doesn't work sale_id.sale_packaging_type

2) If No then do I have to create a new class and related field ? - Yes or No please? ..... If Yes I'll try to do it myself only way to learn! - I'll post my results later for marking by the community!

3) If No guidance please?

1
Аватар
Отменить
Аватар
Andreas Brueckl
Лучший ответ

Hello,

  1. To disply sale_packing_type in the view you have to create a related field in stock.picking. In the RML report of the picking you can use [[ picking.sale_id and picking.sale_id.sale_packing_type or '']] to display your field - no related field is required for RML.
  2. Yes you need a related field for views
1
Аватар
Отменить
Аватар
kaynis
Лучший ответ

You have to inherit the stock picking as well for you to do this not just the sale order

         class stock_move(osv.osv): 
             _name = 'stock.move'
            _inherit = 'stock.move'
            _columns = { 'sale_packaging_type':xxxxx}
      stock_move()

Plus you might need to create an onchange function in your stock_move as well for the field to be carried along when sale order is confirmed. You need to make your field selectable in the stock move page assuming a delivery is to be carried out for a product that was not generated from no sales order (I think). If your field is not in the stock picking, what happens to your field when one clicks create new in stock picking? this might give you error

1
Аватар
Отменить
Cameron
Автор

Your code has dragged up a couple more questions.

You use _name as per technical memento which states it compulsory

You also call the class stock_move() - which I have also seen, which if I do it crashes!

Any answers? - are these related - ie it crashes because I dont name it?

kaynis

This is my email. dkaiyewu@fastmail.fm. send me a mail I will send you a module which might be of help. (PS no money involved)

Аватар
AJ Schrafel Paper Corp
Лучший ответ

It is much easier to create 2 products, one "our" and one "unmark" for every product. This method would require little to no custom programming.

If you don't like the solution of 2 products, I would suggest that you create a related field in stock.picking that looks up the sale_packaging_type and displays it at the top of the sheet. As Andreas suggested.

Don't bother with stock.move unless you need to itemize the packaging for every product you are selling.

0
Аватар
Отменить
Cameron
Автор

Many thanks, but I only told you half the story - in trying to keep it simple I simplified the code - Our selection criteria actually has 7 options, hence the product list would grow 7 fold. But it may be an option for someone else.

Half the problem is understanding which bit does what to another bit, but I guess thats part of the fun of coding.

Не оставайтесь в стороне – присоединяйтесь к обсуждению!

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

Регистрация
Сообщество
  • Видео уроки
  • Документация
  • Форум
Открытый исходный код
  • Скачать
  • Github
  • Runbot
  • Перевод
Услуги
  • Хостинг Odoo.sh
  • Поддержка
  • Обновление
  • Индивидуальные решения по доработке
  • Образование
  • Найти бухгалтера
  • Найти партнера
  • Стать партнером
О нас
  • Наша компания
  • Активы бренда
  • Cвяжитесь с нами
  • Вакансии
  • Мероприятия
  • Подкаст
  • Блог
  • Клиенты
  • Правовые документы • Конфиденциальность
  • Безопасность
الْعَرَبيّة 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, E-commerce, Бухгалтерия, Склад, POS, управление проектами и др.

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