Исправлена передача единиц продажи при создании отложенного заказа из POS

- В terminal.js добавлена передача sales_unit_id в данные черновика заказа

- В order_form.html добавлено заполнение поля sales_unit при предзаполнении из черновика

- Теперь при создании отложенного заказа с товаром в единицах продажи сохраняется корректная единица измерения
This commit is contained in:
2026-01-02 18:33:51 +03:00
parent 9bd06cf5c6
commit 2995710a3e
2 changed files with 30 additions and 6 deletions

View File

@@ -2042,6 +2042,7 @@ document.addEventListener('DOMContentLoaded', function() {
// Находим форму по индексу
const productField = document.querySelector(`[name="items-${index}-product"]`);
const kitField = document.querySelector(`[name="items-${index}-product_kit"]`);
const salesUnitField = document.querySelector(`[name="items-${index}-sales_unit"]`);
const quantityField = document.querySelector(`[name="items-${index}-quantity"]`);
const priceField = document.querySelector(`[name="items-${index}-price"]`);
@@ -2053,15 +2054,27 @@ document.addEventListener('DOMContentLoaded', function() {
console.log(`[Draft Items] 🔍 Поля формы ${index}:`);
console.log(` - productField:`, productField);
console.log(` - kitField:`, kitField);
console.log(` - salesUnitField:`, salesUnitField);
// Устанавливаем значения
if (item.type === 'product') {
productField.value = item.id;
kitField.value = '';
console.log(`[Draft Items] ✅ Установлен product ID: ${item.id}`);
// Устанавливаем sales_unit если есть
if (item.sales_unit_id && salesUnitField) {
salesUnitField.value = item.sales_unit_id;
console.log(`[Draft Items] ✅ Установлен sales_unit ID: ${item.sales_unit_id}`);
} else if (salesUnitField) {
salesUnitField.value = '';
}
} else if (item.type === 'kit' || item.type === 'showcase_kit') {
kitField.value = item.id;
productField.value = '';
if (salesUnitField) {
salesUnitField.value = '';
}
console.log(`[Draft Items] ✅ Установлен kit ID: ${item.id}`);
}

View File

@@ -2679,12 +2679,23 @@ async function createDeferredOrder() {
try {
// Собираем данные для черновика
const items = Array.from(cart.values()).map(item => ({
type: item.type,
id: item.id,
quantity: item.qty,
price: item.price
}));
const items = Array.from(cart.values()).map(item => {
const itemData = {
type: item.type,
id: item.id,
quantity: item.qty,
price: item.price
};
// Для товаров с единицами продажи передаём sales_unit_id
if (item.sales_unit_id) {
itemData.sales_unit_id = item.sales_unit_id;
}
// Для витринных букетов передаём showcase_item_ids
if (item.type === 'showcase_kit' && item.showcase_item_ids) {
itemData.showcase_item_ids = item.showcase_item_ids;
}
return itemData;
});
const customer = selectedCustomer || SYSTEM_CUSTOMER;