Перейти к содержимому
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 to handle parent-child, master-detail?

Подписаться

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

Этот вопрос был отмечен
variables
7434 Представления
Аватар
Ehab Mosilhy

I'm writing a warehouse management module and I came to the inventory step.

==========================================

class wh_inventory(osv.osv): _name = 'wh.inventory'

_columns = {
        'date' : fields.datetime('Date),
        'warehouse_id' : fields.many2one('wh.warehouse', 'Warehouse Name,required=True),
        'inventory_line_ids':fields.one2many('wh.inventory.line','inventory_id','Inventory),
        'notes':fields.char('Notes),
        'balance_track':fields.boolean('Balance Track')

}

==========================================

class wh_inventory_line(osv.osv):

_name = 'wh.inventory.line'

_columns = {

        'inventory_id':fields.many2one('wh.inventory', 'Inventory'),

        'warehouse_id':fields.related('inventory_id','warehouse_id'),

        'material_id' : fields.many2one('wh.material' ,'Material Name'),

        'balance':fields.float('Balance'),

        'previous_balance':fields.float('Previous Balance'),

}

I need to make an inventory every now and then for each warehouse separately and each inventory operation will be kept in the database as a master-detail relation, ie:

one record for the basic data such as id, date, warehouse_id etc. and this will be recorded in a table created by (inventory) object.

many records will keep the details of the operation (one record for each material) recording the material id, inventory id, balance, etc. and this will be recorded in the table (inventory_lines).

During the data entry, when the user selects a material, I need to check its current balance and display it in the balance field. In order to do this, I'll need to know the warehouse id because every warehouse shall have separate inventories.


I have many materials stored in many warehouses. For example: I can have a quantity of 5 pens in warehouse A and 10 pens in warehouse B and 6 pens in warehouse C.

First, I select the warehouse (A or B or C) --- let's say warehouse B

Then I select the material (Pen or notebook or whatever) --- let's say Pen

Now, I want to search the database to find the balance of (Pen) in (Warehouse B)

I can write something like this:

select balance from inventory_lines where material_id=mmmmmm and warehouse_id=wwwwww

So, I need to get the material id (mmmmm) and the warehouse id (wwwww)

And that will be done with each material I choose.

The warehouse id is in the column: inventory_id in the object: inventory 'warehouse_id' : fields.many2one('makhazen.warehouse', 'Warehouse Name',required=True),

The material id is in the column: material_id of the object inventory_line as in the picture in the question 'material_id' : fields.many2one('makhazen.material' ,'Material Name'),


I faced the following problem:

I could use the (on_change) method in the form view on the material_id field and could trigger a method to search for the balance in the database but I needed the warehouse_id which I couldn't get. The questions are: - How are this master-detail relationship is handled in openerp? how values are passed between the master table and the details table? - How can we extend the scope of the warehouse_id so that it can be seen from any method in the module? - I could change the values of the fields by calling a method and returning the desired values in a dictionary, but how to do the opposite (read them)?

It's very critical matter to me.

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

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

Регистрация
Похожие посты Ответы Просмотры Активность
There is a bug in Product Variables?
barcode variables
Аватар
Аватар
1
дек. 23
1671
Inquiring about Customization Options in Odoo e-commerce.
ecommerce variables
Аватар
Аватар
2
окт. 23
1767
How to put a contact instead of the partner in email template?
objects variables
Аватар
0
мар. 15
5599
[Odoo16 CE] How to insert -- event.question answer_ids in to email template?
events variables emailtemplate
Аватар
0
янв. 25
1075
How to define a environment variable on Odoo.sh Решено
environment variables odoo.sh
Аватар
Аватар
1
февр. 22
14595
Сообщество
  • Видео уроки
  • Документация
  • Форум
Открытый исходный код
  • Скачать
  • 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