Показать сообщение отдельно
Старый 05.06.2014, 08:18   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
Если грубо, получается мне нужно создать новую строку в PriceDiscTable, наполнить ее данными из PriceDisc по строке заказа и записать с корректной датой, так?
Я надеялся что она (строка) у вас там (в прайсе, в таблице PriceDiscTable) уже есть. И в ней только лишь необходимо скорректировать цену. В вопросе просто шла речь про редактирование, а не создание.

Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
А для чего в PriceDisc нужен метод priceTable? Это, случайно, не как раз новая строка для новой цены?
Класс PriceDisc служит для навигации по прайсу, а не для его наполнения. Метод PriceTable возвращает существующую строку прайса, найденную в методе findPriceAgreement.

Если речь идет не о редактировании прайса, а о его создании. То тут ещё большие неопределённости чем с редактированием. Ведь цена может быть заведена как общая (для всех клиентов, для группы клиентов, для ценовой группы и .т.д) так и до определенной степени персональная. Какую именно цену необходимо заводить в каждом конкретном случае?

В общем случае прайс может иметь очень сложную структуру. Вы оперируете термином тариф. возможно в вашем случае решать задачу в общем виде не целесообразно. Для однозначности нужно принять ограничения на структуру прайса. Если прайс будет однородным, то не сложно будет вручную запрограммировать вставку строк в PriceDiscTable.

Как вариант можно заранее нагенерировать автоматически все необходимые позиции прайса, оставив цену нулевой. И тем самым свести задачу создания к задаче редактирования.

Последний раз редактировалось S.Kuskov; 05.06.2014 в 08:28.