Подскажите как штатными средствами сделать такое:
в документ "установка скидок номенклатуры" добавить группу номенклатуры и при создание нового элемента номенклатуры в определенной группе автоматически дается скидка которая была указана в документе "установка скидок номенклатуры"
делаешь по номенклатурным группам или ценовым категориям. при создании номенклатуры указав номенкл группу она автоматом попадает под усовия. штатный механизм
1 вариант - добавить рн типа СкидкиНаценкиПоГруппам, добавить в перечисление ВидыОперацийУстановкаСкидокНоменклатуры и т.д. вплоть до переделки запроса в ЗапросПоСкидкам. (там по каждой номенклатуре добавляются нПроцент и цПроцент, я приделал гПроцент)
+ сохраняются функционал всех видов скидок
- не говоря о геморрое, пересчет автоматических скидок происходит не для одной строки, а всего таб части, и если в документе много строк и справочник номенклатуры тоже разветвленный, то сильно притормаживает добавление новой строки (в мое случае скидки проставлялись по иерархии групп).
2 вариант похож с предыдущим с тем отличием что перекрываем Ценовые группы , убираем условия скидок и всякое извращение и процент скидки ищем уже в маленькой таблице скидок рекурсивно (т.к. скидки по иерархии групп).
+ тормозов нету
- всякие условия и по дням и по качеству и т.п. пришлось убрать (и не надо было)
3 ша делаю просто при записи номенклатуры в ценовой группе прописывается полное наименование родителя номенклатуры (ищу по наименованию если нет то создаю)
+ с производительностью все нормально стало
- не айс если полное наименование родителя >150 символов (или скоко там); если на верхный уровень прописивать скидку, надо в установке скидок подобрать все ценовые подгруппы; в корень не сохраняем номенклатуру
а ты как решил?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший