1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Нужен совет по проектированию системы

Тема в разделе "Web Coding", создана пользователем 01K, 20 июл 2014.

Статус темы:
Закрыта.
Модераторы: latteo
  1. 01K

    01K

    Регистр.:
    27 июн 2013
    Сообщения:
    271
    Симпатии:
    40
    Добрый день!
     
  2. BACZ

    BACZ

    Регистр.:
    18 июн 2008
    Сообщения:
    608
    Симпатии:
    381
    А почему вообще изменение цены у моделей влияет на уже обработанные заказы? Там какая-то интеграция с 1С ? Почему они берут цену из свежих товаров? Там же может евро/доллар скакать как угодно, меняться поставщик, использоваться какие-то скидки/акции/распродажные цены.

    У заказов может быть ссылка на вообще свою таблицу с артикулами/заказанным количеством товаров/ценами на момент совершения заказа. Так что создать им таблицу, похожую на таблицу товаров, содержащую только модели, на которые делались заказы, чтобы отвязать от самих товаров. Там ид_строки_в таблице, ид заказа, артикул товара, его цена на момент совершения заказа, дата, может быть количество и тд.
     
  3. 01K

    01K

    Регистр.:
    27 июн 2013
    Сообщения:
    271
    Симпатии:
    40
    Нет, к 1С это никакого отношения не имеет. Проект самописный под спец. цели. и определённые задачи.
    Писался по таким тех. заданиям.
    Цены обработанных заказов ссылаются на основную таблицу с товаром, где они и прописаны. Цены всегда статичны. Вот только сейчас процент наценки изменяется :(
     
  4. Gang

    Gang Создатель

    Регистр.:
    28 янв 2013
    Сообщения:
    19
    Симпатии:
    7
    Почему бы просто в том месте, где добавляется процент не добавить проверку на id заказа. К примеру если id<текущего (старые заказы) 15 %, в противном случае - 20%
     
  5. 01K

    01K

    Регистр.:
    27 июн 2013
    Сообщения:
    271
    Симпатии:
    40
    Как один из вариантов, но это будет,в принципе, как и всё остальное, велосипед: берём цену->проверяем дату заказа->старая->оставляем значение->новая->+ ещё 5% от старой
     
  6. Gang

    Gang Создатель

    Регистр.:
    28 янв 2013
    Сообщения:
    19
    Симпатии:
    7
    Ну да, вы же сами выше спрашивали "Как наипростейшим образом можно решить эту проблему? "
    Самое простое решение - это проверка заказа перед выставлением процента.

    Немного более сложное решение: добавить в таблицу дополнительное поле "финальная стоимость" и заполнить его для старых заказов +15%, для новых +20%
     
    01K нравится это.
  7. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    Это не сложное решение - это единственное верное решение.
    Хранить поле с конечной стоимостью заказа в таблице заказов или связанной с ней таблицей.
    Заполнять это поле надо при формировании заказа, для уже существующих придётся заполнить по существующим правилам.
     
    01K нравится это.
  8. 01K

    01K

    Регистр.:
    27 июн 2013
    Сообщения:
    271
    Симпатии:
    40
    Спасибо за советы!
    Уже пища для размышлений есть. Ближе к реализации, возможно, ещё возникнут вопросы.
     
Статус темы:
Закрыта.