Цитата:
Сообщение от
Vasiliusis
Если грубо, получается мне нужно создать новую строку в PriceDiscTable, наполнить ее данными из PriceDisc по строке заказа и записать с корректной датой, так?
Я надеялся что она (строка) у вас там (в прайсе, в таблице PriceDiscTable) уже есть. И в ней только лишь необходимо скорректировать цену. В вопросе просто шла речь про редактирование, а не создание.
Цитата:
Сообщение от
Vasiliusis
А для чего в PriceDisc нужен метод priceTable? Это, случайно, не как раз новая строка для новой цены?
Класс PriceDisc служит для навигации по прайсу, а не для его наполнения. Метод PriceTable возвращает существующую строку прайса, найденную в методе findPriceAgreement.
Если речь идет не о редактировании прайса, а о его создании. То тут ещё большие неопределённости чем с редактированием. Ведь цена может быть заведена как общая (для всех клиентов, для группы клиентов, для ценовой группы и .т.д) так и до определенной степени персональная. Какую именно цену необходимо заводить в каждом конкретном случае?
В общем случае прайс может иметь очень сложную структуру. Вы оперируете термином тариф. возможно в вашем случае решать задачу в общем виде не целесообразно. Для однозначности нужно принять ограничения на структуру прайса. Если прайс будет однородным, то не сложно будет вручную запрограммировать вставку строк в PriceDiscTable.
Как вариант можно заранее нагенерировать автоматически все необходимые позиции прайса, оставив цену нулевой. И тем самым свести задачу создания к задаче редактирования.