Odoo: дублированные строки спецификации после обновления спецификации с помощью CSV

#odoo #odoo-11

#odoo #odoo-11

Вопрос:

Я использую Odoo 11.0 и создал спецификацию комплекта с двумя компонентами с помощью импорта CSV, используя следующую структуру:.

«id», «product_tmpl_id/идентификатор», «bom_line_ids/product_id/идентификатор», «тип»

Если я повторно импортирую CSV, у меня останется одна спецификация, но теперь в ней четыре компонента. Нехорошо! Очевидным решением является добавление внешнего идентификатора к элементу строки спецификации с использованием «bom_line_ids / id», но, похоже, это не работает. Если я использую столбец для внешнего идентификатора, импорт будет жаловаться на то, что внешний идентификатор «mrp_bom_line» с этим идентификатором не существует. Очевидно, что это правда: я просто пытаюсь создать это .. Очевидные естественные ключи product sequence или product bom_line_product, похоже, тоже не работают.

Если я посмотрю на экспорт, он использует «__export__.mrp_bom_line_45_5351bb5a», который, как я предполагаю, является внутренним идентификатором. Это недоступно во время обновления.

Есть идеи, как выполнить обновление спецификации?

Комментарии:

1. Это скорее функциональный вопрос и относится к форумам Odoo . Но я думаю, что новые внешние идентификаторы могут быть «созданы» только при импорте импортируемой модели, или сокращены, если это обычный столбец с заголовком «id». Ваша идея «bom_line_ids / id» не сработает, потому что Odoo не будет создавать там внешний идентификатор, а вместо этого будет искать существующий. Поэтому либо используйте разделенные CSV-файлы для каждой модели, либо попробуйте импортировать с помощью внешнего API.

2. Я понимаю, что вы имеете в виду: теоретически я мог бы сначала создать список «пустых» спецификаций, а затем, используя другой файл, добавить строки спецификации к пустым спецификациям. На практике это не сработает, потому что для строк спецификации нет независимого импорта и, следовательно, импорта нет. Похоже, это настолько распространенный вариант использования, что я считаю это ошибкой.

3. Это особенность 😉

4. @fhossfel Обычно я бы создал отдельное представление списка для строк спецификации и импортировал строки спецификации отдельно от основной спецификации. Вероятно, вы все еще можете использовать ту же электронную таблицу, если вручную измените заголовки на экране импорта.

5. Хорошо, я могу попробовать это сделать. Но у этого есть еще один недостаток: я не могу удалить строки спецификации при таком подходе. Если они не являются частью «нового» листа Excel, я предполагаю, что они вообще не будут затронуты — останутся там неопределенно.